4. Commands — RAII creators returning owning handle wrappers

RAII creators — the create_* / allocate_* functions that wrap vkCreate* / vkAllocate* and return an owning handle wrapper from vulkan_handles. Each takes a boost *CreateInfo view (sType filled, arrays instead of count+pointer pairs) and an optional var result : VkResult? — left null it panics on failure, passed non-null it forwards the code for the caller to handle.

4.1. Memory

allocate_memory(device: Device; create_info: MemoryAllocateInfo; result: VkResult? = null ): DeviceMemory

def allocate_memory (device: Device; var create_info: MemoryAllocateInfo; var result: VkResult? = null) : DeviceMemory

Arguments:

4.2. Buffers & images

create_buffer(device: Device; create_info: BufferCreateInfo; result: VkResult? = null ): Buffer

def create_buffer (device: Device; var create_info: BufferCreateInfo; var result: VkResult? = null) : Buffer

Arguments:
create_buffer_view(device: Device; create_info: BufferViewCreateInfo; result: VkResult? = null ): BufferView

def create_buffer_view (device: Device; var create_info: BufferViewCreateInfo; var result: VkResult? = null) : BufferView

Arguments:
create_image(device: Device; create_info: ImageCreateInfo; result: VkResult? = null ): Image

def create_image (device: Device; var create_info: ImageCreateInfo; var result: VkResult? = null) : Image

Arguments:
create_image_view(device: Device; create_info: ImageViewCreateInfo; result: VkResult? = null ): ImageView

def create_image_view (device: Device; var create_info: ImageViewCreateInfo; var result: VkResult? = null) : ImageView

Arguments:
create_sampler(device: Device; create_info: SamplerCreateInfo; result: VkResult? = null ): Sampler

def create_sampler (device: Device; var create_info: SamplerCreateInfo; var result: VkResult? = null) : Sampler

Arguments:
create_sampler_ycbcr_conversion(device: Device; create_info: SamplerYcbcrConversionCreateInfo; result: VkResult? = null ): SamplerYcbcrConversion

def create_sampler_ycbcr_conversion (device: Device; var create_info: SamplerYcbcrConversionCreateInfo; var result: VkResult? = null) : SamplerYcbcrConversion

Arguments:

4.3. Pipelines & shaders

create_data_graph_pipeline_session_a_r_m(device: Device; create_info: DataGraphPipelineSessionCreateInfoARM; result: VkResult? = null ): DataGraphPipelineSessionARM

def create_data_graph_pipeline_session_a_r_m (device: Device; var create_info: DataGraphPipelineSessionCreateInfoARM; var result: VkResult? = null) : DataGraphPipelineSessionARM

Arguments:
create_pipeline_layout(device: Device; create_info: PipelineLayoutCreateInfo; result: VkResult? = null ): PipelineLayout

def create_pipeline_layout (device: Device; var create_info: PipelineLayoutCreateInfo; var result: VkResult? = null) : PipelineLayout

Arguments:
create_shader_instrumentation_a_r_m(device: Device; create_info: ShaderInstrumentationCreateInfoARM; result: VkResult? = null ): ShaderInstrumentationARM

def create_shader_instrumentation_a_r_m (device: Device; var create_info: ShaderInstrumentationCreateInfoARM; var result: VkResult? = null) : ShaderInstrumentationARM

Arguments:

4.4. Descriptors

create_descriptor_pool(device: Device; create_info: DescriptorPoolCreateInfo; result: VkResult? = null ): DescriptorPool

def create_descriptor_pool (device: Device; var create_info: DescriptorPoolCreateInfo; var result: VkResult? = null) : DescriptorPool

Arguments:
create_descriptor_set_layout(device: Device; create_info: DescriptorSetLayoutCreateInfo; result: VkResult? = null ): DescriptorSetLayout

def create_descriptor_set_layout (device: Device; var create_info: DescriptorSetLayoutCreateInfo; var result: VkResult? = null) : DescriptorSetLayout

Arguments:
create_descriptor_update_template(device: Device; create_info: DescriptorUpdateTemplateCreateInfo; result: VkResult? = null ): DescriptorUpdateTemplate

def create_descriptor_update_template (device: Device; var create_info: DescriptorUpdateTemplateCreateInfo; var result: VkResult? = null) : DescriptorUpdateTemplate

Arguments:
create_private_data_slot(device: Device; create_info: PrivateDataSlotCreateInfo; result: VkResult? = null ): PrivateDataSlot

def create_private_data_slot (device: Device; var create_info: PrivateDataSlotCreateInfo; var result: VkResult? = null) : PrivateDataSlot

Arguments:

4.5. Render passes & framebuffers

create_framebuffer(device: Device; create_info: FramebufferCreateInfo; result: VkResult? = null ): Framebuffer

def create_framebuffer (device: Device; var create_info: FramebufferCreateInfo; var result: VkResult? = null) : Framebuffer

Arguments:

4.6. Commands & queries

create_command_pool(device: Device; create_info: CommandPoolCreateInfo; result: VkResult? = null ): CommandPool

def create_command_pool (device: Device; var create_info: CommandPoolCreateInfo; var result: VkResult? = null) : CommandPool

Arguments:
create_indirect_commands_layout_e_x_t(device: Device; create_info: IndirectCommandsLayoutCreateInfoEXT; result: VkResult? = null ): IndirectCommandsLayoutEXT

def create_indirect_commands_layout_e_x_t (device: Device; var create_info: IndirectCommandsLayoutCreateInfoEXT; var result: VkResult? = null) : IndirectCommandsLayoutEXT

Arguments:
create_indirect_execution_set_e_x_t(device: Device; create_info: IndirectExecutionSetCreateInfoEXT; result: VkResult? = null ): IndirectExecutionSetEXT

def create_indirect_execution_set_e_x_t (device: Device; var create_info: IndirectExecutionSetCreateInfoEXT; var result: VkResult? = null) : IndirectExecutionSetEXT

Arguments:
create_query_pool(device: Device; create_info: QueryPoolCreateInfo; result: VkResult? = null ): QueryPool

def create_query_pool (device: Device; var create_info: QueryPoolCreateInfo; var result: VkResult? = null) : QueryPool

Arguments:

4.7. Synchronization

create_event(device: Device; create_info: EventCreateInfo; result: VkResult? = null ): Event

def create_event (device: Device; var create_info: EventCreateInfo; var result: VkResult? = null) : Event

Arguments:
create_fence(device: Device; create_info: FenceCreateInfo; result: VkResult? = null ): Fence

def create_fence (device: Device; var create_info: FenceCreateInfo; var result: VkResult? = null) : Fence

Arguments:
create_semaphore(device: Device; create_info: SemaphoreCreateInfo; result: VkResult? = null ): Semaphore

def create_semaphore (device: Device; var create_info: SemaphoreCreateInfo; var result: VkResult? = null) : Semaphore

Arguments:

4.8. Surfaces & swapchains

create_display_mode_k_h_r(physicalDevice: PhysicalDevice; display: DisplayKHR; create_info: DisplayModeCreateInfoKHR; result: VkResult? = null ): DisplayModeKHR

def create_display_mode_k_h_r (physicalDevice: PhysicalDevice; display: DisplayKHR; var create_info: DisplayModeCreateInfoKHR; var result: VkResult? = null) : DisplayModeKHR

Arguments:
create_display_plane_surface_k_h_r(instance: Instance; create_info: DisplaySurfaceCreateInfoKHR; result: VkResult? = null ): SurfaceKHR

def create_display_plane_surface_k_h_r (instance: Instance; var create_info: DisplaySurfaceCreateInfoKHR; var result: VkResult? = null) : SurfaceKHR

Arguments:
create_headless_surface_e_x_t(instance: Instance; create_info: HeadlessSurfaceCreateInfoEXT; result: VkResult? = null ): SurfaceKHR

def create_headless_surface_e_x_t (instance: Instance; var create_info: HeadlessSurfaceCreateInfoEXT; var result: VkResult? = null) : SurfaceKHR

Arguments:
create_swapchain_k_h_r(device: Device; create_info: SwapchainCreateInfoKHR; result: VkResult? = null ): SwapchainKHR

def create_swapchain_k_h_r (device: Device; var create_info: SwapchainCreateInfoKHR; var result: VkResult? = null) : SwapchainKHR

Arguments:

4.9. Acceleration & advanced

create_acceleration_structure2_k_h_r(device: Device; create_info: AccelerationStructureCreateInfo2KHR; result: VkResult? = null ): AccelerationStructureKHR

def create_acceleration_structure2_k_h_r (device: Device; var create_info: AccelerationStructureCreateInfo2KHR; var result: VkResult? = null) : AccelerationStructureKHR

Arguments:
create_acceleration_structure_k_h_r(device: Device; create_info: AccelerationStructureCreateInfoKHR; result: VkResult? = null ): AccelerationStructureKHR

def create_acceleration_structure_k_h_r (device: Device; var create_info: AccelerationStructureCreateInfoKHR; var result: VkResult? = null) : AccelerationStructureKHR

Arguments:
create_cu_function_n_v_x(device: Device; create_info: CuFunctionCreateInfoNVX; result: VkResult? = null ): CuFunctionNVX

def create_cu_function_n_v_x (device: Device; var create_info: CuFunctionCreateInfoNVX; var result: VkResult? = null) : CuFunctionNVX

Arguments:
create_external_compute_queue_n_v(device: Device; create_info: ExternalComputeQueueCreateInfoNV; result: VkResult? = null ): ExternalComputeQueueNV

def create_external_compute_queue_n_v (device: Device; var create_info: ExternalComputeQueueCreateInfoNV; var result: VkResult? = null) : ExternalComputeQueueNV

Arguments:
create_micromap_e_x_t(device: Device; create_info: MicromapCreateInfoEXT; result: VkResult? = null ): MicromapEXT

def create_micromap_e_x_t (device: Device; var create_info: MicromapCreateInfoEXT; var result: VkResult? = null) : MicromapEXT

Arguments:
create_optical_flow_session_n_v(device: Device; create_info: OpticalFlowSessionCreateInfoNV; result: VkResult? = null ): OpticalFlowSessionNV

def create_optical_flow_session_n_v (device: Device; var create_info: OpticalFlowSessionCreateInfoNV; var result: VkResult? = null) : OpticalFlowSessionNV

Arguments:
create_tensor_view_a_r_m(device: Device; create_info: TensorViewCreateInfoARM; result: VkResult? = null ): TensorViewARM

def create_tensor_view_a_r_m (device: Device; var create_info: TensorViewCreateInfoARM; var result: VkResult? = null) : TensorViewARM

Arguments:
create_video_session_parameters_k_h_r(device: Device; create_info: VideoSessionParametersCreateInfoKHR; result: VkResult? = null ): VideoSessionParametersKHR

def create_video_session_parameters_k_h_r (device: Device; var create_info: VideoSessionParametersCreateInfoKHR; var result: VkResult? = null) : VideoSessionParametersKHR

Arguments: