{-# language CPP #-} -- | = Name -- -- VK_EXT_descriptor_buffer - device extension -- -- == VK_EXT_descriptor_buffer -- -- [__Name String__] -- @VK_EXT_descriptor_buffer@ -- -- [__Extension Type__] -- Device extension -- -- [__Registered Extension Number__] -- 317 -- -- [__Revision__] -- 1 -- -- [__Extension and Version Dependencies__] -- -- - Requires support for Vulkan 1.0 -- -- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled -- for any device-level functionality -- -- - Requires @VK_KHR_buffer_device_address@ to be enabled for any -- device-level functionality -- -- - Requires @VK_KHR_synchronization2@ to be enabled for any -- device-level functionality -- -- - Requires @VK_EXT_descriptor_indexing@ to be enabled for any -- device-level functionality -- -- [__Contact__] -- -- - Tobias Hector -- -- -- [__Extension Proposal__] -- -- -- == Other Extension Metadata -- -- [__Last Modified Date__] -- 2021-06-07 -- -- [__IP Status__] -- No known IP claims. -- -- [__Contributors__] -- -- - Tobias Hector, AMD -- -- - Stu Smith, AMD -- -- - Maciej Jesionowski, AMD -- -- - Boris Zanin, AMD -- -- - Hans-Kristian Arntzen, Valve -- -- - Connor Abbott, Valve -- -- - Baldur Karlsson, Valve -- -- - Mike Blumenkrantz, Valve -- -- - Graeme Leese, Broadcom -- -- - Jan-Harald Fredriksen, Arm -- -- - Rodrigo Locatti, NVIDIA -- -- - Jeff Bolz, NVIDIA -- -- - Piers Daniell, NVIDIA -- -- - Jeff Leger, QUALCOMM -- -- - Lionel Landwerlin, Intel -- -- - Slawomir Grajewski, Intel -- -- == Description -- -- This extension introduces new commands to put shader-accessible -- descriptors directly in memory, making the management of descriptor data -- more explicit. -- -- == New Commands -- -- - 'cmdBindDescriptorBufferEmbeddedSamplersEXT' -- -- - 'cmdBindDescriptorBuffersEXT' -- -- - 'cmdSetDescriptorBufferOffsetsEXT' -- -- - 'getBufferOpaqueCaptureDescriptorDataEXT' -- -- - 'getDescriptorEXT' -- -- - 'getDescriptorSetLayoutBindingOffsetEXT' -- -- - 'getDescriptorSetLayoutSizeEXT' -- -- - 'getImageOpaqueCaptureDescriptorDataEXT' -- -- - 'getImageViewOpaqueCaptureDescriptorDataEXT' -- -- - 'getSamplerOpaqueCaptureDescriptorDataEXT' -- -- If -- -- or -- -- is supported: -- -- - 'getAccelerationStructureOpaqueCaptureDescriptorDataEXT' -- -- == New Structures -- -- - 'BufferCaptureDescriptorDataInfoEXT' -- -- - 'DescriptorAddressInfoEXT' -- -- - 'DescriptorBufferBindingInfoEXT' -- -- - 'DescriptorGetInfoEXT' -- -- - 'ImageCaptureDescriptorDataInfoEXT' -- -- - 'ImageViewCaptureDescriptorDataInfoEXT' -- -- - 'SamplerCaptureDescriptorDataInfoEXT' -- -- - Extending 'Vulkan.Core10.Buffer.BufferCreateInfo', -- 'Vulkan.Core10.Image.ImageCreateInfo', -- 'Vulkan.Core10.ImageView.ImageViewCreateInfo', -- 'Vulkan.Core10.Sampler.SamplerCreateInfo', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV': -- -- - 'OpaqueCaptureDescriptorDataCreateInfoEXT' -- -- - Extending 'DescriptorBufferBindingInfoEXT': -- -- - 'DescriptorBufferBindingPushDescriptorBufferHandleEXT' -- -- - Extending -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', -- 'Vulkan.Core10.Device.DeviceCreateInfo': -- -- - 'PhysicalDeviceDescriptorBufferFeaturesEXT' -- -- - Extending -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2': -- -- - 'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT' -- -- - 'PhysicalDeviceDescriptorBufferPropertiesEXT' -- -- If -- -- or -- -- is supported: -- -- - 'AccelerationStructureCaptureDescriptorDataInfoEXT' -- -- == New Unions -- -- - 'DescriptorDataEXT' -- -- == New Enum Constants -- -- - 'EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME' -- -- - 'EXT_DESCRIPTOR_BUFFER_SPEC_VERSION' -- -- - Extending -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateFlagBitsKHR': -- -- - 'Vulkan.Extensions.VK_KHR_acceleration_structure.ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' -- -- - Extending 'Vulkan.Core13.Enums.AccessFlags2.AccessFlagBits2': -- -- - 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits': -- -- - 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT' -- -- - 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT' -- -- - 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' -- -- - 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' -- -- - Extending -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SamplerCreateFlagBits': -- -- - 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' -- -- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT' -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT' -- -- If -- -- or -- -- is supported: -- -- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT' -- -- == Version History -- -- - Revision 1, 2021-06-07 (Stu Smith) -- -- - Initial revision -- -- == See Also -- -- 'BufferCaptureDescriptorDataInfoEXT', 'DescriptorAddressInfoEXT', -- 'DescriptorBufferBindingInfoEXT', -- 'DescriptorBufferBindingPushDescriptorBufferHandleEXT', -- 'DescriptorDataEXT', 'DescriptorGetInfoEXT', -- 'ImageCaptureDescriptorDataInfoEXT', -- 'ImageViewCaptureDescriptorDataInfoEXT', -- 'OpaqueCaptureDescriptorDataCreateInfoEXT', -- 'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT', -- 'PhysicalDeviceDescriptorBufferFeaturesEXT', -- 'PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'SamplerCaptureDescriptorDataInfoEXT', -- 'cmdBindDescriptorBufferEmbeddedSamplersEXT', -- 'cmdBindDescriptorBuffersEXT', 'cmdSetDescriptorBufferOffsetsEXT', -- 'getBufferOpaqueCaptureDescriptorDataEXT', 'getDescriptorEXT', -- 'getDescriptorSetLayoutBindingOffsetEXT', -- 'getDescriptorSetLayoutSizeEXT', -- 'getImageOpaqueCaptureDescriptorDataEXT', -- 'getImageViewOpaqueCaptureDescriptorDataEXT', -- 'getSamplerOpaqueCaptureDescriptorDataEXT' -- -- == Document Notes -- -- For more information, see the -- -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly. module Vulkan.Extensions.VK_EXT_descriptor_buffer ( AccelerationStructureCaptureDescriptorDataInfoEXT , BufferCaptureDescriptorDataInfoEXT , DescriptorAddressInfoEXT , DescriptorBufferBindingInfoEXT , DescriptorBufferBindingPushDescriptorBufferHandleEXT , DescriptorGetInfoEXT , ImageCaptureDescriptorDataInfoEXT , ImageViewCaptureDescriptorDataInfoEXT , OpaqueCaptureDescriptorDataCreateInfoEXT , PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT , PhysicalDeviceDescriptorBufferFeaturesEXT , PhysicalDeviceDescriptorBufferPropertiesEXT , SamplerCaptureDescriptorDataInfoEXT ) where import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (ToCStruct) import Data.Kind (Type) import {-# SOURCE #-} Vulkan.CStruct.Extends (Chain) import {-# SOURCE #-} Vulkan.CStruct.Extends (Extendss) import {-# SOURCE #-} Vulkan.CStruct.Extends (PeekChain) import {-# SOURCE #-} Vulkan.CStruct.Extends (PokeChain) data AccelerationStructureCaptureDescriptorDataInfoEXT instance ToCStruct AccelerationStructureCaptureDescriptorDataInfoEXT instance Show AccelerationStructureCaptureDescriptorDataInfoEXT instance FromCStruct AccelerationStructureCaptureDescriptorDataInfoEXT data BufferCaptureDescriptorDataInfoEXT instance ToCStruct BufferCaptureDescriptorDataInfoEXT instance Show BufferCaptureDescriptorDataInfoEXT instance FromCStruct BufferCaptureDescriptorDataInfoEXT data DescriptorAddressInfoEXT instance ToCStruct DescriptorAddressInfoEXT instance Show DescriptorAddressInfoEXT instance FromCStruct DescriptorAddressInfoEXT type role DescriptorBufferBindingInfoEXT nominal data DescriptorBufferBindingInfoEXT (es :: [Type]) instance ( Extendss DescriptorBufferBindingInfoEXT es , PokeChain es ) => ToCStruct (DescriptorBufferBindingInfoEXT es) instance Show (Chain es) => Show (DescriptorBufferBindingInfoEXT es) instance ( Extendss DescriptorBufferBindingInfoEXT es , PeekChain es ) => FromCStruct (DescriptorBufferBindingInfoEXT es) data DescriptorBufferBindingPushDescriptorBufferHandleEXT instance ToCStruct DescriptorBufferBindingPushDescriptorBufferHandleEXT instance Show DescriptorBufferBindingPushDescriptorBufferHandleEXT instance FromCStruct DescriptorBufferBindingPushDescriptorBufferHandleEXT data DescriptorGetInfoEXT instance ToCStruct DescriptorGetInfoEXT instance Show DescriptorGetInfoEXT instance FromCStruct DescriptorGetInfoEXT data ImageCaptureDescriptorDataInfoEXT instance ToCStruct ImageCaptureDescriptorDataInfoEXT instance Show ImageCaptureDescriptorDataInfoEXT instance FromCStruct ImageCaptureDescriptorDataInfoEXT data ImageViewCaptureDescriptorDataInfoEXT instance ToCStruct ImageViewCaptureDescriptorDataInfoEXT instance Show ImageViewCaptureDescriptorDataInfoEXT instance FromCStruct ImageViewCaptureDescriptorDataInfoEXT data OpaqueCaptureDescriptorDataCreateInfoEXT instance ToCStruct OpaqueCaptureDescriptorDataCreateInfoEXT instance Show OpaqueCaptureDescriptorDataCreateInfoEXT instance FromCStruct OpaqueCaptureDescriptorDataCreateInfoEXT data PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT instance ToCStruct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT instance Show PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT instance FromCStruct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT data PhysicalDeviceDescriptorBufferFeaturesEXT instance ToCStruct PhysicalDeviceDescriptorBufferFeaturesEXT instance Show PhysicalDeviceDescriptorBufferFeaturesEXT instance FromCStruct PhysicalDeviceDescriptorBufferFeaturesEXT data PhysicalDeviceDescriptorBufferPropertiesEXT instance ToCStruct PhysicalDeviceDescriptorBufferPropertiesEXT instance Show PhysicalDeviceDescriptorBufferPropertiesEXT instance FromCStruct PhysicalDeviceDescriptorBufferPropertiesEXT data SamplerCaptureDescriptorDataInfoEXT instance ToCStruct SamplerCaptureDescriptorDataInfoEXT instance Show SamplerCaptureDescriptorDataInfoEXT instance FromCStruct SamplerCaptureDescriptorDataInfoEXT