.. _stdlib_vulkan_handles: =========================================================== Handles — RAII ownership wrappers (one per Vulkan handle) =========================================================== .. das:module:: vulkan_handles RAII ownership wrappers — one struct per Vulkan handle (``Instance``, ``Device``, ``Image``, ``CommandPool``, …). Each wrapper carries its raw handle plus the parent it was created from, and its ``finalize`` calls the matching ``vkDestroy*`` / ``vkFree*`` when the owner goes out of scope. Declare owners with ``var inscope`` so they destroy in reverse order; use ``weak_copy`` from ``vulkan_runtime`` for an intentional non-owning alias. ++++++++++ Structures ++++++++++ .. _struct-vulkan_handles-Instance: .. das:attribute:: Instance struct Instance .. _struct-vulkan_handles-PhysicalDevice: .. das:attribute:: PhysicalDevice struct PhysicalDevice .. _struct-vulkan_handles-Device: .. das:attribute:: Device struct Device .. _struct-vulkan_handles-Queue: .. das:attribute:: Queue struct Queue .. _struct-vulkan_handles-CommandBuffer: .. das:attribute:: CommandBuffer struct CommandBuffer .. _struct-vulkan_handles-DeviceMemory: .. das:attribute:: DeviceMemory struct DeviceMemory .. _struct-vulkan_handles-CommandPool: .. das:attribute:: CommandPool struct CommandPool .. _struct-vulkan_handles-Buffer: .. das:attribute:: Buffer struct Buffer .. _struct-vulkan_handles-BufferView: .. das:attribute:: BufferView struct BufferView .. _struct-vulkan_handles-Image: .. das:attribute:: Image struct Image .. _struct-vulkan_handles-ImageView: .. das:attribute:: ImageView struct ImageView .. _struct-vulkan_handles-ShaderModule: .. das:attribute:: ShaderModule struct ShaderModule .. _struct-vulkan_handles-Pipeline: .. das:attribute:: Pipeline struct Pipeline .. _struct-vulkan_handles-PipelineLayout: .. das:attribute:: PipelineLayout struct PipelineLayout .. _struct-vulkan_handles-Sampler: .. das:attribute:: Sampler struct Sampler .. _struct-vulkan_handles-DescriptorSet: .. das:attribute:: DescriptorSet struct DescriptorSet .. _struct-vulkan_handles-DescriptorSetLayout: .. das:attribute:: DescriptorSetLayout struct DescriptorSetLayout .. _struct-vulkan_handles-DescriptorPool: .. das:attribute:: DescriptorPool struct DescriptorPool .. _struct-vulkan_handles-Fence: .. das:attribute:: Fence struct Fence .. _struct-vulkan_handles-Semaphore: .. das:attribute:: Semaphore struct Semaphore .. _struct-vulkan_handles-Event: .. das:attribute:: Event struct Event .. _struct-vulkan_handles-QueryPool: .. das:attribute:: QueryPool struct QueryPool .. _struct-vulkan_handles-Framebuffer: .. das:attribute:: Framebuffer struct Framebuffer .. _struct-vulkan_handles-RenderPass: .. das:attribute:: RenderPass struct RenderPass .. _struct-vulkan_handles-PipelineCache: .. das:attribute:: PipelineCache struct PipelineCache .. _struct-vulkan_handles-PipelineBinaryKHR: .. das:attribute:: PipelineBinaryKHR struct PipelineBinaryKHR .. _struct-vulkan_handles-IndirectCommandsLayoutNV: .. das:attribute:: IndirectCommandsLayoutNV struct IndirectCommandsLayoutNV .. _struct-vulkan_handles-IndirectCommandsLayoutEXT: .. das:attribute:: IndirectCommandsLayoutEXT struct IndirectCommandsLayoutEXT .. _struct-vulkan_handles-IndirectExecutionSetEXT: .. das:attribute:: IndirectExecutionSetEXT struct IndirectExecutionSetEXT .. _struct-vulkan_handles-DescriptorUpdateTemplate: .. das:attribute:: DescriptorUpdateTemplate struct DescriptorUpdateTemplate .. _struct-vulkan_handles-SamplerYcbcrConversion: .. das:attribute:: SamplerYcbcrConversion struct SamplerYcbcrConversion .. _struct-vulkan_handles-ValidationCacheEXT: .. das:attribute:: ValidationCacheEXT struct ValidationCacheEXT .. _struct-vulkan_handles-AccelerationStructureKHR: .. das:attribute:: AccelerationStructureKHR struct AccelerationStructureKHR .. _struct-vulkan_handles-AccelerationStructureNV: .. das:attribute:: AccelerationStructureNV struct AccelerationStructureNV .. _struct-vulkan_handles-PerformanceConfigurationINTEL: .. das:attribute:: PerformanceConfigurationINTEL struct PerformanceConfigurationINTEL .. _struct-vulkan_handles-DeferredOperationKHR: .. das:attribute:: DeferredOperationKHR struct DeferredOperationKHR .. _struct-vulkan_handles-PrivateDataSlot: .. das:attribute:: PrivateDataSlot struct PrivateDataSlot .. _struct-vulkan_handles-CuModuleNVX: .. das:attribute:: CuModuleNVX struct CuModuleNVX .. _struct-vulkan_handles-CuFunctionNVX: .. das:attribute:: CuFunctionNVX struct CuFunctionNVX .. _struct-vulkan_handles-OpticalFlowSessionNV: .. das:attribute:: OpticalFlowSessionNV struct OpticalFlowSessionNV .. _struct-vulkan_handles-MicromapEXT: .. das:attribute:: MicromapEXT struct MicromapEXT .. _struct-vulkan_handles-ShaderEXT: .. das:attribute:: ShaderEXT struct ShaderEXT .. _struct-vulkan_handles-TensorARM: .. das:attribute:: TensorARM struct TensorARM .. _struct-vulkan_handles-TensorViewARM: .. das:attribute:: TensorViewARM struct TensorViewARM .. _struct-vulkan_handles-DataGraphPipelineSessionARM: .. das:attribute:: DataGraphPipelineSessionARM struct DataGraphPipelineSessionARM .. _struct-vulkan_handles-ShaderInstrumentationARM: .. das:attribute:: ShaderInstrumentationARM struct ShaderInstrumentationARM .. _struct-vulkan_handles-DisplayKHR: .. das:attribute:: DisplayKHR struct DisplayKHR .. _struct-vulkan_handles-DisplayModeKHR: .. das:attribute:: DisplayModeKHR struct DisplayModeKHR .. _struct-vulkan_handles-SurfaceKHR: .. das:attribute:: SurfaceKHR struct SurfaceKHR .. _struct-vulkan_handles-SwapchainKHR: .. das:attribute:: SwapchainKHR struct SwapchainKHR .. _struct-vulkan_handles-DebugReportCallbackEXT: .. das:attribute:: DebugReportCallbackEXT struct DebugReportCallbackEXT .. _struct-vulkan_handles-DebugUtilsMessengerEXT: .. das:attribute:: DebugUtilsMessengerEXT struct DebugUtilsMessengerEXT .. _struct-vulkan_handles-VideoSessionKHR: .. das:attribute:: VideoSessionKHR struct VideoSessionKHR .. _struct-vulkan_handles-VideoSessionParametersKHR: .. das:attribute:: VideoSessionParametersKHR struct VideoSessionParametersKHR .. _struct-vulkan_handles-ExternalComputeQueueNV: .. das:attribute:: ExternalComputeQueueNV struct ExternalComputeQueueNV