diff options
Diffstat (limited to 'thirdparty/vulkan/include/vulkan/vulkan_shared.hpp')
-rw-r--r-- | thirdparty/vulkan/include/vulkan/vulkan_shared.hpp | 156 |
1 files changed, 124 insertions, 32 deletions
diff --git a/thirdparty/vulkan/include/vulkan/vulkan_shared.hpp b/thirdparty/vulkan/include/vulkan/vulkan_shared.hpp index 7b1bb2338c..0843fe2296 100644 --- a/thirdparty/vulkan/include/vulkan/vulkan_shared.hpp +++ b/thirdparty/vulkan/include/vulkan/vulkan_shared.hpp @@ -1,4 +1,4 @@ -// Copyright 2015-2023 The Khronos Group Inc. +// Copyright 2015-2024 The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 OR MIT // @@ -88,7 +88,8 @@ namespace VULKAN_HPP_NAMESPACE ReferenceCounter( Args &&... control_args ) : m_header( std::forward<Args>( control_args )... ) { } - ReferenceCounter( const ReferenceCounter & ) = delete; + + ReferenceCounter( const ReferenceCounter & ) = delete; ReferenceCounter & operator=( const ReferenceCounter & ) = delete; public: @@ -427,7 +428,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = NoDestructor; using deleter = ObjectDestroyShared<Instance>; }; + using SharedInstance = SharedHandle<Instance>; + template <> class SharedHandleTraits<Device> { @@ -435,7 +438,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = NoDestructor; using deleter = ObjectDestroyShared<Device>; }; + using SharedDevice = SharedHandle<Device>; + template <> class SharedHandleTraits<DeviceMemory> { @@ -443,7 +448,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectFreeShared<DeviceMemory>; }; + using SharedDeviceMemory = SharedHandle<DeviceMemory>; + template <> class SharedHandleTraits<Fence> { @@ -451,7 +458,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Fence>; }; + using SharedFence = SharedHandle<Fence>; + template <> class SharedHandleTraits<Semaphore> { @@ -459,7 +468,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Semaphore>; }; + using SharedSemaphore = SharedHandle<Semaphore>; + template <> class SharedHandleTraits<Event> { @@ -467,7 +478,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Event>; }; + using SharedEvent = SharedHandle<Event>; + template <> class SharedHandleTraits<QueryPool> { @@ -475,7 +488,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<QueryPool>; }; + using SharedQueryPool = SharedHandle<QueryPool>; + template <> class SharedHandleTraits<Buffer> { @@ -483,7 +498,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Buffer>; }; + using SharedBuffer = SharedHandle<Buffer>; + template <> class SharedHandleTraits<BufferView> { @@ -491,7 +508,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<BufferView>; }; + using SharedBufferView = SharedHandle<BufferView>; + template <> class SharedHandleTraits<Image> { @@ -499,7 +518,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Image>; }; + using SharedImage = SharedHandle<Image>; + template <> class SharedHandleTraits<ImageView> { @@ -507,7 +528,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<ImageView>; }; + using SharedImageView = SharedHandle<ImageView>; + template <> class SharedHandleTraits<ShaderModule> { @@ -515,7 +538,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<ShaderModule>; }; + using SharedShaderModule = SharedHandle<ShaderModule>; + template <> class SharedHandleTraits<PipelineCache> { @@ -523,7 +548,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<PipelineCache>; }; + using SharedPipelineCache = SharedHandle<PipelineCache>; + template <> class SharedHandleTraits<Pipeline> { @@ -531,7 +558,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Pipeline>; }; + using SharedPipeline = SharedHandle<Pipeline>; + template <> class SharedHandleTraits<PipelineLayout> { @@ -539,7 +568,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<PipelineLayout>; }; + using SharedPipelineLayout = SharedHandle<PipelineLayout>; + template <> class SharedHandleTraits<Sampler> { @@ -547,7 +578,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Sampler>; }; + using SharedSampler = SharedHandle<Sampler>; + template <> class SharedHandleTraits<DescriptorPool> { @@ -555,7 +588,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<DescriptorPool>; }; + using SharedDescriptorPool = SharedHandle<DescriptorPool>; + template <> class SharedHandleTraits<DescriptorSet> { @@ -563,7 +598,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = PoolFreeShared<DescriptorSet, DescriptorPool>; }; + using SharedDescriptorSet = SharedHandle<DescriptorSet>; + template <> class SharedHandleTraits<DescriptorSetLayout> { @@ -571,7 +608,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<DescriptorSetLayout>; }; + using SharedDescriptorSetLayout = SharedHandle<DescriptorSetLayout>; + template <> class SharedHandleTraits<Framebuffer> { @@ -579,7 +618,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<Framebuffer>; }; + using SharedFramebuffer = SharedHandle<Framebuffer>; + template <> class SharedHandleTraits<RenderPass> { @@ -587,7 +628,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<RenderPass>; }; + using SharedRenderPass = SharedHandle<RenderPass>; + template <> class SharedHandleTraits<CommandPool> { @@ -595,7 +638,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<CommandPool>; }; + using SharedCommandPool = SharedHandle<CommandPool>; + template <> class SharedHandleTraits<CommandBuffer> { @@ -603,6 +648,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = PoolFreeShared<CommandBuffer, CommandPool>; }; + using SharedCommandBuffer = SharedHandle<CommandBuffer>; //=== VK_VERSION_1_1 === @@ -613,8 +659,10 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<SamplerYcbcrConversion>; }; + using SharedSamplerYcbcrConversion = SharedHandle<SamplerYcbcrConversion>; using SharedSamplerYcbcrConversionKHR = SharedHandle<SamplerYcbcrConversion>; + template <> class SharedHandleTraits<DescriptorUpdateTemplate> { @@ -622,8 +670,10 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<DescriptorUpdateTemplate>; }; + using SharedDescriptorUpdateTemplate = SharedHandle<DescriptorUpdateTemplate>; using SharedDescriptorUpdateTemplateKHR = SharedHandle<DescriptorUpdateTemplate>; + //=== VK_VERSION_1_3 === template <> class SharedHandleTraits<PrivateDataSlot> @@ -632,8 +682,10 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<PrivateDataSlot>; }; + using SharedPrivateDataSlot = SharedHandle<PrivateDataSlot>; using SharedPrivateDataSlotEXT = SharedHandle<PrivateDataSlot>; + //=== VK_KHR_surface === template <> class SharedHandleTraits<SurfaceKHR> @@ -642,6 +694,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Instance; using deleter = ObjectDestroyShared<SurfaceKHR>; }; + using SharedSurfaceKHR = SharedHandle<SurfaceKHR>; //=== VK_KHR_swapchain === @@ -652,8 +705,20 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<SwapchainKHR>; }; + using SharedSwapchainKHR = SharedHandle<SwapchainKHR>; + //=== VK_KHR_display === + template <> + class SharedHandleTraits<DisplayKHR> + { + public: + using DestructorType = PhysicalDevice; + using deleter = ObjectDestroyShared<DisplayKHR>; + }; + + using SharedDisplayKHR = SharedHandle<DisplayKHR>; + //=== VK_EXT_debug_report === template <> class SharedHandleTraits<DebugReportCallbackEXT> @@ -662,6 +727,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Instance; using deleter = ObjectDestroyShared<DebugReportCallbackEXT>; }; + using SharedDebugReportCallbackEXT = SharedHandle<DebugReportCallbackEXT>; //=== VK_KHR_video_queue === @@ -672,7 +738,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<VideoSessionKHR>; }; + using SharedVideoSessionKHR = SharedHandle<VideoSessionKHR>; + template <> class SharedHandleTraits<VideoSessionParametersKHR> { @@ -680,6 +748,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<VideoSessionParametersKHR>; }; + using SharedVideoSessionParametersKHR = SharedHandle<VideoSessionParametersKHR>; //=== VK_NVX_binary_import === @@ -690,7 +759,9 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<CuModuleNVX>; }; + using SharedCuModuleNVX = SharedHandle<CuModuleNVX>; + template <> class SharedHandleTraits<CuFunctionNVX> { @@ -698,6 +769,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<CuFunctionNVX>; }; + using SharedCuFunctionNVX = SharedHandle<CuFunctionNVX>; //=== VK_EXT_debug_utils === @@ -708,6 +780,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Instance; using deleter = ObjectDestroyShared<DebugUtilsMessengerEXT>; }; + using SharedDebugUtilsMessengerEXT = SharedHandle<DebugUtilsMessengerEXT>; //=== VK_KHR_acceleration_structure === @@ -718,6 +791,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<AccelerationStructureKHR>; }; + using SharedAccelerationStructureKHR = SharedHandle<AccelerationStructureKHR>; //=== VK_EXT_validation_cache === @@ -728,6 +802,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<ValidationCacheEXT>; }; + using SharedValidationCacheEXT = SharedHandle<ValidationCacheEXT>; //=== VK_NV_ray_tracing === @@ -738,8 +813,20 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<AccelerationStructureNV>; }; + using SharedAccelerationStructureNV = SharedHandle<AccelerationStructureNV>; + //=== VK_INTEL_performance_query === + template <> + class SharedHandleTraits<PerformanceConfigurationINTEL> + { + public: + using DestructorType = Device; + using deleter = ObjectDestroyShared<PerformanceConfigurationINTEL>; + }; + + using SharedPerformanceConfigurationINTEL = SharedHandle<PerformanceConfigurationINTEL>; + //=== VK_KHR_deferred_host_operations === template <> class SharedHandleTraits<DeferredOperationKHR> @@ -748,6 +835,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<DeferredOperationKHR>; }; + using SharedDeferredOperationKHR = SharedHandle<DeferredOperationKHR>; //=== VK_NV_device_generated_commands === @@ -758,8 +846,32 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<IndirectCommandsLayoutNV>; }; + using SharedIndirectCommandsLayoutNV = SharedHandle<IndirectCommandsLayoutNV>; +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + //=== VK_NV_cuda_kernel_launch === + template <> + class SharedHandleTraits<CudaModuleNV> + { + public: + using DestructorType = Device; + using deleter = ObjectDestroyShared<CudaModuleNV>; + }; + + using SharedCudaModuleNV = SharedHandle<CudaModuleNV>; + + template <> + class SharedHandleTraits<CudaFunctionNV> + { + public: + using DestructorType = Device; + using deleter = ObjectDestroyShared<CudaFunctionNV>; + }; + + using SharedCudaFunctionNV = SharedHandle<CudaFunctionNV>; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + # if defined( VK_USE_PLATFORM_FUCHSIA ) //=== VK_FUCHSIA_buffer_collection === template <> @@ -769,6 +881,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<BufferCollectionFUCHSIA>; }; + using SharedBufferCollectionFUCHSIA = SharedHandle<BufferCollectionFUCHSIA>; # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -780,6 +893,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<MicromapEXT>; }; + using SharedMicromapEXT = SharedHandle<MicromapEXT>; //=== VK_NV_optical_flow === @@ -790,6 +904,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<OpticalFlowSessionNV>; }; + using SharedOpticalFlowSessionNV = SharedHandle<OpticalFlowSessionNV>; //=== VK_EXT_shader_object === @@ -800,6 +915,7 @@ namespace VULKAN_HPP_NAMESPACE using DestructorType = Device; using deleter = ObjectDestroyShared<ShaderEXT>; }; + using SharedShaderEXT = SharedHandle<ShaderEXT>; enum class SwapchainOwns @@ -920,11 +1036,13 @@ namespace VULKAN_HPP_NAMESPACE public: SharedHandle() = default; + explicit SharedHandle( PhysicalDevice handle, SharedInstance parent ) noexcept : SharedHandleBaseNoDestroy<PhysicalDevice, SharedInstance>( handle, std::move( parent ) ) { } }; + using SharedPhysicalDevice = SharedHandle<PhysicalDevice>; template <> @@ -934,55 +1052,29 @@ namespace VULKAN_HPP_NAMESPACE public: SharedHandle() = default; + explicit SharedHandle( Queue handle, SharedDevice parent ) noexcept : SharedHandleBaseNoDestroy<Queue, SharedDevice>( handle, std::move( parent ) ) {} }; + using SharedQueue = SharedHandle<Queue>; //=== VK_KHR_display === template <> - class SharedHandle<DisplayKHR> : public SharedHandleBaseNoDestroy<DisplayKHR, SharedPhysicalDevice> - { - friend SharedHandleBase<DisplayKHR, SharedPhysicalDevice>; - - public: - SharedHandle() = default; - explicit SharedHandle( DisplayKHR handle, SharedPhysicalDevice parent ) noexcept - : SharedHandleBaseNoDestroy<DisplayKHR, SharedPhysicalDevice>( handle, std::move( parent ) ) - { - } - }; - using SharedDisplayKHR = SharedHandle<DisplayKHR>; - - template <> class SharedHandle<DisplayModeKHR> : public SharedHandleBaseNoDestroy<DisplayModeKHR, SharedDisplayKHR> { friend SharedHandleBase<DisplayModeKHR, SharedDisplayKHR>; public: SharedHandle() = default; + explicit SharedHandle( DisplayModeKHR handle, SharedDisplayKHR parent ) noexcept : SharedHandleBaseNoDestroy<DisplayModeKHR, SharedDisplayKHR>( handle, std::move( parent ) ) { } }; - using SharedDisplayModeKHR = SharedHandle<DisplayModeKHR>; - - //=== VK_INTEL_performance_query === - - template <> - class SharedHandle<PerformanceConfigurationINTEL> : public SharedHandleBaseNoDestroy<PerformanceConfigurationINTEL, SharedDevice> - { - friend SharedHandleBase<PerformanceConfigurationINTEL, SharedDevice>; - public: - SharedHandle() = default; - explicit SharedHandle( PerformanceConfigurationINTEL handle, SharedDevice parent ) noexcept - : SharedHandleBaseNoDestroy<PerformanceConfigurationINTEL, SharedDevice>( handle, std::move( parent ) ) - { - } - }; - using SharedPerformanceConfigurationINTEL = SharedHandle<PerformanceConfigurationINTEL>; + using SharedDisplayModeKHR = SharedHandle<DisplayModeKHR>; #endif // !VULKAN_HPP_NO_SMART_HANDLE } // namespace VULKAN_HPP_NAMESPACE #endif // VULKAN_SHARED_HPP |