vulkan 3.23.4 → 3.24
raw patch · 56 files changed
+5430/−167 lines, 56 filesnew-uploader
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/CStruct/Extends.hs +34/−0
- src/Vulkan/Core10/Buffer.hs +51/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +217/−33
- src/Vulkan/Core10/DescriptorSet.hs +55/−3
- src/Vulkan/Core10/Device.hs +8/−0
- src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs +12/−0
- src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs +32/−0
- src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs +22/−0
- src/Vulkan/Core10/Enums/DescriptorType.hs +1/−0
- src/Vulkan/Core10/Enums/Format.hs +1/−0
- src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs +12/−0
- src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs +15/−3
- src/Vulkan/Core10/Enums/PipelineBindPoint.hs +3/−1
- src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs +14/−0
- src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs +12/−0
- src/Vulkan/Core10/Enums/StructureType.hs +130/−0
- src/Vulkan/Core10/FundamentalTypes.hs +10/−0
- src/Vulkan/Core10/FundamentalTypes.hs-boot +8/−0
- src/Vulkan/Core10/Handles.hs +22/−1
- src/Vulkan/Core10/Image.hs +19/−1
- src/Vulkan/Core10/ImageView.hs +17/−0
- src/Vulkan/Core10/MemoryManagement.hs +18/−0
- src/Vulkan/Core10/Pipeline.hs +35/−0
- src/Vulkan/Core10/PipelineLayout.hs +8/−0
- src/Vulkan/Core10/Sampler.hs +17/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs +20/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs +36/−5
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +8/−0
- src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs +5/−1
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +74/−10
- src/Vulkan/Core13/Enums/AccessFlags2.hs +10/−0
- src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs +48/−0
- src/Vulkan/Dynamic.hs +51/−3
- src/Vulkan/Extensions.hs +2/−0
- src/Vulkan/Extensions/Dependencies.hs +9/−0
- src/Vulkan/Extensions/Handles.hs +2/−0
- src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs +3310/−0
- src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs-boot +430/−0
- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs +112/−16
- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs-boot +1/−1
- src/Vulkan/Extensions/VK_EXT_metal_objects.hs +2/−2
- src/Vulkan/Extensions/VK_EXT_multi_draw.hs +73/−10
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +37/−5
- src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs +37/−5
- src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs +33/−2
- src/Vulkan/Extensions/VK_KHR_pipeline_library.hs +6/−0
- src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs +37/−5
- src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs +73/−10
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +37/−5
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +111/−15
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +78/−22
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot +7/−4
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +2/−1
changelog.md view
@@ -2,6 +2,9 @@ ## WIP +## [3.24] - 2022-12-27+- Bump API version to v1.3.235+ ## [3.23.4] - 2022-12-27 - Bump API version to v1.3.234
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.23.4"+version: "3.24" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
src/Vulkan/CStruct/Extends.hs view
@@ -53,6 +53,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildGeometryInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildRangeInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildSizesInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (AccelerationStructureCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureCreateInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureDeviceAddressInfoKHR)@@ -100,6 +101,7 @@ import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindVertexBufferIndirectCommandNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (BlitImageInfo2)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (BufferCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionBufferCreateInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionConstraintsInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionCreateInfoFUCHSIA)@@ -174,7 +176,11 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationImageCreateInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationMemoryAllocateInfoNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_synchronization2 (DependencyInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorAddressInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorBufferBindingInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorBufferBindingPushDescriptorBufferHandleEXT) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorBufferInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorGetInfoEXT) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorImageInfo) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorPoolCreateInfo) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (DescriptorPoolInlineUniformBlockCreateInfo)@@ -300,6 +306,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageBlit) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (ImageBlit2)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (ImageCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_compression_control (ImageCompressionControlEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_compression_control (ImageCompressionPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImageConstraintsInfoFUCHSIA)@@ -329,6 +336,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (ImageSwapchainCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_astc_decode_mode (ImageViewASTCDecodeModeEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewAddressPropertiesNVX)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (ImageViewCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageViewCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewHandleInfoNVX) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (ImageViewMinLodCreateInfoEXT)@@ -396,6 +404,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mutable_descriptor_type (MutableDescriptorTypeListEXT) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset2D) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Offset3D)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (OpticalFlowExecuteInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (OpticalFlowImageFormatInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (OpticalFlowImageFormatPropertiesNV)@@ -442,6 +451,9 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve (PhysicalDeviceDepthStencilResolveProperties)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferPropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping (PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE)@@ -740,6 +752,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationsInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (SamplerBorderColorComponentMappingCreateInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (SamplerCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Core10.Sampler (SamplerCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (SamplerCustomBorderColorCreateInfoEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax (SamplerReductionModeCreateInfo)@@ -950,7 +963,9 @@ type family Extends (a :: [Type] -> Type) (b :: Type) :: Constraint where+ Extends AccelerationStructureCreateInfoKHR OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends AccelerationStructureCreateInfoKHR AccelerationStructureMotionInfoNV = ()+ Extends AccelerationStructureCreateInfoNV OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends AccelerationStructureGeometryTrianglesDataKHR AccelerationStructureGeometryMotionTrianglesDataNV = () Extends AccelerationStructureGeometryTrianglesDataKHR AccelerationStructureTrianglesOpacityMicromapEXT = () Extends AndroidHardwareBufferPropertiesANDROID AndroidHardwareBufferFormatPropertiesANDROID = ()@@ -967,6 +982,7 @@ Extends BufferCreateInfo ExternalMemoryBufferCreateInfo = () Extends BufferCreateInfo BufferOpaqueCaptureAddressCreateInfo = () Extends BufferCreateInfo BufferDeviceAddressCreateInfoEXT = ()+ Extends BufferCreateInfo OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends BufferCreateInfo BufferCollectionBufferCreateInfoFUCHSIA = () Extends BufferImageCopy2 CopyCommandTransformInfoQCOM = () Extends BufferViewCreateInfo ExportMetalObjectCreateInfoEXT = ()@@ -982,6 +998,7 @@ Extends ComputePipelineCreateInfo PipelineCompilerControlCreateInfoAMD = () Extends ComputePipelineCreateInfo PipelineRobustnessCreateInfoEXT = () Extends DebugUtilsMessengerCallbackDataEXT DeviceAddressBindingCallbackDataEXT = ()+ Extends DescriptorBufferBindingInfoEXT DescriptorBufferBindingPushDescriptorBufferHandleEXT = () Extends DescriptorPoolCreateInfo DescriptorPoolInlineUniformBlockCreateInfo = () Extends DescriptorPoolCreateInfo MutableDescriptorTypeCreateInfoEXT = () Extends DescriptorSetAllocateInfo DescriptorSetVariableDescriptorCountAllocateInfo = ()@@ -1106,6 +1123,7 @@ Extends DeviceCreateInfo PhysicalDeviceInheritedViewportScissorFeaturesNV = () Extends DeviceCreateInfo PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = () Extends DeviceCreateInfo PhysicalDeviceProvokingVertexFeaturesEXT = ()+ Extends DeviceCreateInfo PhysicalDeviceDescriptorBufferFeaturesEXT = () Extends DeviceCreateInfo PhysicalDeviceShaderIntegerDotProductFeatures = () Extends DeviceCreateInfo PhysicalDeviceFragmentShaderBarycentricFeaturesKHR = () Extends DeviceCreateInfo PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()@@ -1174,6 +1192,7 @@ Extends ImageCreateInfo ImageDrmFormatModifierListCreateInfoEXT = () Extends ImageCreateInfo ImageDrmFormatModifierExplicitCreateInfoEXT = () Extends ImageCreateInfo ImageStencilUsageCreateInfo = ()+ Extends ImageCreateInfo OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends ImageCreateInfo BufferCollectionImageCreateInfoFUCHSIA = () Extends ImageCreateInfo ImageCompressionControlEXT = () Extends ImageCreateInfo ExportMetalObjectCreateInfoEXT = ()@@ -1192,6 +1211,7 @@ Extends ImageViewCreateInfo ImageViewUsageCreateInfo = () Extends ImageViewCreateInfo SamplerYcbcrConversionInfo = () Extends ImageViewCreateInfo ImageViewASTCDecodeModeEXT = ()+ Extends ImageViewCreateInfo OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends ImageViewCreateInfo ImageViewMinLodCreateInfoEXT = () Extends ImageViewCreateInfo ExportMetalObjectCreateInfoEXT = () Extends ImageViewCreateInfo ImageViewSampleWeightCreateInfoQCOM = ()@@ -1333,6 +1353,7 @@ Extends PhysicalDeviceFeatures2 PhysicalDeviceInheritedViewportScissorFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDeviceProvokingVertexFeaturesEXT = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceDescriptorBufferFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderIntegerDotProductFeatures = () Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR = () Extends PhysicalDeviceFeatures2 PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()@@ -1426,6 +1447,8 @@ Extends PhysicalDeviceProperties2 PhysicalDeviceFragmentShadingRatePropertiesKHR = () Extends PhysicalDeviceProperties2 PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = () Extends PhysicalDeviceProperties2 PhysicalDeviceProvokingVertexPropertiesEXT = ()+ Extends PhysicalDeviceProperties2 PhysicalDeviceDescriptorBufferPropertiesEXT = ()+ Extends PhysicalDeviceProperties2 PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = () Extends PhysicalDeviceProperties2 PhysicalDeviceShaderIntegerDotProductProperties = () Extends PhysicalDeviceProperties2 PhysicalDeviceDrmPropertiesEXT = () Extends PhysicalDeviceProperties2 PhysicalDeviceFragmentShaderBarycentricPropertiesKHR = ()@@ -1498,6 +1521,7 @@ Extends SamplerCreateInfo SamplerReductionModeCreateInfo = () Extends SamplerCreateInfo SamplerCustomBorderColorCreateInfoEXT = () Extends SamplerCreateInfo SamplerBorderColorComponentMappingCreateInfoEXT = ()+ Extends SamplerCreateInfo OpaqueCaptureDescriptorDataCreateInfoEXT = () Extends SamplerYcbcrConversionCreateInfo ExternalFormatANDROID = () Extends SemaphoreCreateInfo ExportSemaphoreCreateInfo = () Extends SemaphoreCreateInfo ExportSemaphoreWin32HandleInfoKHR = ()@@ -1971,6 +1995,11 @@ STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT -> go @PhysicalDeviceProvokingVertexFeaturesEXT STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT -> go @PhysicalDeviceProvokingVertexPropertiesEXT STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT -> go @PipelineRasterizationProvokingVertexStateCreateInfoEXT+ STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT -> go @PhysicalDeviceDescriptorBufferFeaturesEXT+ STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT -> go @PhysicalDeviceDescriptorBufferPropertiesEXT+ STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT -> go @PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT+ STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT -> go @DescriptorBufferBindingPushDescriptorBufferHandleEXT+ STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT -> go @OpaqueCaptureDescriptorDataCreateInfoEXT STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES -> go @PhysicalDeviceShaderIntegerDotProductFeatures STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES -> go @PhysicalDeviceShaderIntegerDotProductProperties STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT -> go @PhysicalDeviceDrmPropertiesEXT@@ -2432,6 +2461,11 @@ {-# complete (::&) :: PhysicalDeviceProvokingVertexFeaturesEXT #-} {-# complete (::&) :: PhysicalDeviceProvokingVertexPropertiesEXT #-} {-# complete (::&) :: PipelineRasterizationProvokingVertexStateCreateInfoEXT #-}+{-# complete (::&) :: PhysicalDeviceDescriptorBufferFeaturesEXT #-}+{-# complete (::&) :: PhysicalDeviceDescriptorBufferPropertiesEXT #-}+{-# complete (::&) :: PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT #-}+{-# complete (::&) :: DescriptorBufferBindingPushDescriptorBufferHandleEXT #-}+{-# complete (::&) :: OpaqueCaptureDescriptorDataCreateInfoEXT #-} {-# complete (::&) :: PhysicalDeviceShaderIntegerDotProductFeatures #-} {-# complete (::&) :: PhysicalDeviceShaderIntegerDotProductProperties #-} {-# complete (::&) :: PhysicalDeviceDrmPropertiesEXT #-}
src/Vulkan/Core10/Buffer.hs view
@@ -74,6 +74,7 @@ import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..)) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory (ExternalMemoryBufferCreateInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -402,6 +403,54 @@ -- equal to -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties'::@maxBufferSize@ --+-- - #VUID-VkBufferCreateInfo-usage-08097# If @usage@ includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT',+-- creating this 'Vulkan.Core10.Handles.Buffer' /must/ not cause the+-- total required space for all currently valid buffers using this flag+-- on the device to exceed+-- VkPhysicalDeviceDescriptorBufferPropertiesEXT::@samplerDescriptorBufferAddressSpaceSize@+-- or+-- VkPhysicalDeviceDescriptorBufferPropertiesEXT::@descriptorBufferAddressSpaceSize@+--+-- - #VUID-VkBufferCreateInfo-usage-08098# If @usage@ includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT',+-- creating this 'Vulkan.Core10.Handles.Buffer' /must/ not cause the+-- total required space for all currently valid buffers using this flag+-- on the device to exceed+-- VkPhysicalDeviceDescriptorBufferPropertiesEXT::@resourceDescriptorBufferAddressSpaceSize@+-- or+-- VkPhysicalDeviceDescriptorBufferPropertiesEXT::@descriptorBufferAddressSpaceSize@+--+-- - #VUID-VkBufferCreateInfo-flags-08099# If @flags@ includes+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferCaptureReplay descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-VkBufferCreateInfo-pNext-08100# If the @pNext@ chain includes+-- a+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- structure, @flags@ /must/ contain+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+--+-- - #VUID-VkBufferCreateInfo-usage-08101# If @usage@ includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferPushDescriptors descriptorBufferPushDescriptors>+-- feature /must/ be enabled+--+-- - #VUID-VkBufferCreateInfo-usage-08102# If @usage@ includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT'+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-bufferlessPushDescriptors ::bufferlessPushDescriptors>+-- /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE'+--+-- - #VUID-VkBufferCreateInfo-usage-08103# If @usage@ includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT',+-- @usage@ /must/ contain at least one of+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'+-- or+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkBufferCreateInfo-sType-sType# @sType@ /must/ be@@ -415,6 +464,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryBufferCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT', -- or -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --@@ -481,6 +531,7 @@ extends :: forall e b proxy. Typeable e => proxy e -> (Extends BufferCreateInfo e => b) -> Maybe b extends _ f | Just Refl <- eqT @e @BufferCollectionBufferCreateInfoFUCHSIA = Just f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f | Just Refl <- eqT @e @BufferDeviceAddressCreateInfoEXT = Just f | Just Refl <- eqT @e @BufferOpaqueCaptureAddressCreateInfo = Just f | Just Refl <- eqT @e @ExternalMemoryBufferCreateInfo = Just f
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -1395,7 +1395,11 @@ -- [@firstSet@..@firstSet@+@descriptorSetCount@-1] for subsequent -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-bindpoint-commands bound pipeline commands> -- set by @pipelineBindPoint@. Any bindings that were previously applied--- via these sets are no longer valid.+-- via these sets , or calls to+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT'+-- or+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT',+-- are no longer valid. -- -- Once bound, a descriptor set affects rendering of subsequent commands -- that interact with the given pipeline type in the command buffer until@@ -1541,6 +1545,12 @@ -- is not enabled, each element of @pDescriptorSets@ /must/ be a valid -- 'Vulkan.Core10.Handles.DescriptorSet' --+-- - #VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010# Each element of+-- @pDescriptorSets@ /must/ have been allocated with a+-- 'Vulkan.Core10.Handles.DescriptorSetLayout' which was not created+-- with+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkCmdBindDescriptorSets-commandBuffer-parameter#@@ -2071,13 +2081,41 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDraw-None-02699# Descriptors in each bound descriptor--- set, specified via 'cmdBindDescriptorSets', /must/ be valid as--- described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- - #VUID-vkCmdDraw-None-08114# Descriptors in each bound descriptor+-- set, specified via 'cmdBindDescriptorSets', /must/ be valid if they+-- are statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point used by this command and the bound+-- 'Vulkan.Core10.Handles.Pipeline' was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDraw-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDraw-None-08116# Descriptors in bound descriptor buffers,+-- specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDraw-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDraw-None-08119# If a descriptor is dynamically used with+-- a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDraw-None-02700# A valid pipeline /must/ be bound to the -- pipeline bind point used by this command --@@ -3830,13 +3868,42 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndexed-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawIndexed-None-08114# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawIndexed-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexed-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexed-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexed-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawIndexed-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command --@@ -5594,13 +5661,42 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndirect-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawIndirect-None-08114# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawIndirect-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirect-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirect-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirect-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawIndirect-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command --@@ -7368,13 +7464,43 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndexedIndirect-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawIndexedIndirect-None-08114# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawIndexedIndirect-None-08115# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirect-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirect-None-08117# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirect-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawIndexedIndirect-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command --@@ -9144,13 +9270,41 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDispatch-None-02699# Descriptors in each bound descriptor--- set, specified via 'cmdBindDescriptorSets', /must/ be valid as--- described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- - #VUID-vkCmdDispatch-None-08114# Descriptors in each bound descriptor+-- set, specified via 'cmdBindDescriptorSets', /must/ be valid if they+-- are statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point used by this command and the bound+-- 'Vulkan.Core10.Handles.Pipeline' was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDispatch-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatch-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatch-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatch-None-08119# If a descriptor is dynamically used+-- with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDispatch-None-02700# A valid pipeline /must/ be bound to -- the pipeline bind point used by this command --@@ -9621,12 +9775,42 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDispatchIndirect-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDispatchIndirect-None-08114# Descriptors in each bound -- descriptor set, specified via 'cmdBindDescriptorSets', /must/ be--- valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchIndirect-None-08115# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via 'cmdBindDescriptorSets', the bound+-- 'Vulkan.Core10.Handles.Pipeline' /must/ have been created without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchIndirect-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchIndirect-None-08117# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchIndirect-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDispatchIndirect-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command
src/Vulkan/Core10/DescriptorSet.hs view
@@ -1191,6 +1191,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorDataEXT', -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout', -- 'Vulkan.Core10.Handles.ImageView', 'Vulkan.Core10.Handles.Sampler', -- 'WriteDescriptorSet'@@ -2202,12 +2203,31 @@ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK' -- then @descriptorCount@ /must/ be a multiple of @4@ ----- - #VUID-VkDescriptorSetLayoutBinding-descriptorType-02210# If+-- - #VUID-VkDescriptorSetLayoutBinding-descriptorType-08004# If -- @descriptorType@ is--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK'+-- 'Vulkan.Extensions.VK_EXT_inline_uniform_block.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT'+-- and 'DescriptorSetLayoutCreateInfo'::@flags@ does not contain+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' -- then @descriptorCount@ /must/ be less than or equal to--- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockProperties'::@maxInlineUniformBlockSize@+-- 'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT'::@maxInlineUniformBlockSize@ --+-- - #VUID-VkDescriptorSetLayoutBinding-flags-08005# If+-- 'DescriptorSetLayoutCreateInfo'::@flags@ contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT',+-- @descriptorType@ /must/ be+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER'+--+-- - #VUID-VkDescriptorSetLayoutBinding-flags-08006# If+-- 'DescriptorSetLayoutCreateInfo'::@flags@ contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT',+-- @descriptorCount@ /must/ less than or equal to @1@+--+-- - #VUID-VkDescriptorSetLayoutBinding-flags-08007# If+-- 'DescriptorSetLayoutCreateInfo'::@flags@ contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT',+-- and @descriptorCount@ is equal to @1@, @pImmutableSamplers@ /must/+-- not be @NULL@+-- -- - #VUID-VkDescriptorSetLayoutBinding-descriptorCount-00283# If -- @descriptorCount@ is not @0@, @stageFlags@ /must/ be a valid -- combination of@@ -2446,6 +2466,33 @@ -- 'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesEXT'::@mutableDescriptorType@ -- /must/ be enabled --+-- - #VUID-VkDescriptorSetLayoutCreateInfo-flags-08000# If @flags@+-- contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- then all elements of @pBindings@ /must/ not have a @descriptorType@+-- of+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'+-- or+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'+--+-- - #VUID-VkDescriptorSetLayoutCreateInfo-flags-08001# If @flags@+-- contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT',+-- @flags@ /must/ also contain+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-VkDescriptorSetLayoutCreateInfo-flags-08002# If @flags@+-- contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- then @flags@ /must/ not contain+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT'+--+-- - #VUID-VkDescriptorSetLayoutCreateInfo-flags-08003# If @flags@+-- contains+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- then @flags@ /must/ not contain+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkDescriptorSetLayoutCreateInfo-sType-sType# @sType@ /must/ be@@ -2868,6 +2915,11 @@ -- bit set, @descriptorPool@ /must/ have been created with the -- 'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT' -- flag set+--+-- - #VUID-VkDescriptorSetAllocateInfo-pSetLayouts-08009# Each element of+-- @pSetLayouts@ /must/ not have been created with the+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set -- -- == Valid Usage (Implicit) --
src/Vulkan/Core10/Device.hs view
@@ -113,6 +113,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clamp_zero_one (PhysicalDeviceDepthClampZeroOneFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping (PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV)@@ -813,6 +814,11 @@ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderImageFloat32AtomicMinMax shaderImageFloat32AtomicMinMax> -- /must/ be enabled --+-- - #VUID-VkDeviceCreateInfo-None-08095# If+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- is enabled, @ppEnabledExtensionNames@ /must/ not contain+-- @VK_AMD_shader_fragment_mask@+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkDeviceCreateInfo-sType-sType# @sType@ /must/ be@@ -851,6 +857,7 @@ -- 'Vulkan.Extensions.VK_EXT_depth_clamp_zero_one.PhysicalDeviceDepthClampZeroOneFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV',@@ -1078,6 +1085,7 @@ | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderBarycentricFeaturesKHR = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductFeatures = Just f+ | Just Refl <- eqT @e @PhysicalDeviceDescriptorBufferFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceInheritedViewportScissorFeaturesNV = Just f
src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs view
@@ -4,6 +4,7 @@ , BufferCreateFlagBits( BUFFER_CREATE_SPARSE_BINDING_BIT , BUFFER_CREATE_SPARSE_RESIDENCY_BIT , BUFFER_CREATE_SPARSE_ALIASED_BIT+ , BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT , BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT , BUFFER_CREATE_PROTECTED_BIT , ..@@ -58,6 +59,13 @@ -- 'BUFFER_CREATE_SPARSE_BINDING_BIT' flag. pattern BUFFER_CREATE_SPARSE_ALIASED_BIT = BufferCreateFlagBits 0x00000004 +-- | 'BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' specifies that+-- the buffer /can/ be used with descriptor buffers when capturing and+-- replaying (e.g. for trace capture and replay), see+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- for more detail.+pattern BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = BufferCreateFlagBits 0x00000020+ -- | 'BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT' specifies that the -- buffer’s address /can/ be saved and reused on a subsequent run (e.g. for -- trace capture and replay), see@@ -88,6 +96,10 @@ , ( BUFFER_CREATE_SPARSE_ALIASED_BIT , "SPARSE_ALIASED_BIT"+ )+ ,+ ( BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT+ , "DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT" ) , ( BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT
src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs view
@@ -12,6 +12,9 @@ , BUFFER_USAGE_INDIRECT_BUFFER_BIT , BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT , BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT+ , BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT+ , BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT+ , BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT , BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR , BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR , BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR@@ -114,6 +117,23 @@ -- No documentation found for Nested "VkBufferUsageFlagBits" "VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT" pattern BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = BufferUsageFlagBits 0x00800000 +-- | 'BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT' specifies that+-- the buffer, when bound, /can/ be used by the implementation to support+-- push descriptors when using descriptor buffers.+pattern BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = BufferUsageFlagBits 0x04000000++-- | 'BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT' specifies that the+-- buffer is suitable to contain resource descriptors when bound as a+-- descriptor buffer.+pattern BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = BufferUsageFlagBits 0x00400000++-- | 'BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT' specifies that the+-- buffer is suitable to contain sampler and combined image sampler+-- descriptors when bound as a descriptor buffer. Buffers containing+-- combined image sampler descriptors /must/ also specify+-- 'BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'.+pattern BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = BufferUsageFlagBits 0x00200000+ -- | 'BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR' specifies that the buffer is -- suitable for use as a -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#shader-binding-table Shader Binding Table>.@@ -204,6 +224,18 @@ , ( BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT , "MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT"+ )+ ,+ ( BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT+ , "PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT"+ )+ ,+ ( BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT+ , "RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT"+ )+ ,+ ( BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT+ , "SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT" ) , ( BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR
src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs view
@@ -2,6 +2,8 @@ -- No documentation found for Chapter "DescriptorSetLayoutCreateFlagBits" module Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits ( DescriptorSetLayoutCreateFlags , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT+ , DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT+ , DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT , DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR , DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT , ..@@ -43,6 +45,18 @@ -- non-UpdateAfterBind limits, whichever is larger. pattern DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = DescriptorSetLayoutCreateFlagBits 0x00000004 +-- | 'DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT'+-- specifies that this is a layout only containing immutable samplers that+-- /can/ be bound by+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT'.+-- Unlike normal immutable samplers, embedded immutable samplers do not+-- require the application to provide them in a descriptor buffer.+pattern DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = DescriptorSetLayoutCreateFlagBits 0x00000020++-- | 'DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' specifies that+-- this layout /must/ only be used with descriptor buffers.+pattern DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = DescriptorSetLayoutCreateFlagBits 0x00000010+ -- | 'DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR' specifies that -- descriptor sets /must/ not be allocated using this layout, and -- descriptors are instead pushed by@@ -72,6 +86,14 @@ [ ( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT , "HOST_ONLY_POOL_BIT_EXT"+ )+ ,+ ( DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT+ , "EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT"+ )+ ,+ ( DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT+ , "DESCRIPTOR_BUFFER_BIT_EXT" ) , ( DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
src/Vulkan/Core10/Enums/DescriptorType.hs view
@@ -141,6 +141,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorGetInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorPoolSize', -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding', -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry',
src/Vulkan/Core10/Enums/Format.hs view
@@ -272,6 +272,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2', -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV', -- 'Vulkan.Core10.Image.ImageCreateInfo',
src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs view
@@ -9,6 +9,7 @@ , IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM , IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT , IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT+ , IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT , IMAGE_CREATE_SUBSAMPLED_BIT_EXT , IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT , IMAGE_CREATE_CORNER_SAMPLED_BIT_NV@@ -103,6 +104,13 @@ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#multisampled-render-to-single-sampled multisampled rendering as a single-sampled framebuffer attachment> pattern IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = ImageCreateFlagBits 0x00040000 +-- | 'IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' specifies that+-- the image /can/ be used with descriptor buffers when capturing and+-- replaying (e.g. for trace capture and replay), see+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- for more detail.+pattern IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = ImageCreateFlagBits 0x00010000+ -- | 'IMAGE_CREATE_SUBSAMPLED_BIT_EXT' specifies that an image /can/ be in a -- subsampled format which /may/ be more optimal when written as an -- attachment by a render pass that has a fragment density map attachment.@@ -245,6 +253,10 @@ , ( IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT , "MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT"+ )+ ,+ ( IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT+ , "DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT" ) , ( IMAGE_CREATE_SUBSAMPLED_BIT_EXT
src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs view
@@ -2,6 +2,7 @@ -- No documentation found for Chapter "ImageViewCreateFlagBits" module Vulkan.Core10.Enums.ImageViewCreateFlagBits ( ImageViewCreateFlags , ImageViewCreateFlagBits( IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT+ , IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT , IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT , .. )@@ -36,6 +37,13 @@ -- buffer that the render pass is recorded into pattern IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = ImageViewCreateFlagBits 0x00000002 +-- | 'IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' specifies+-- that the image view /can/ be used with descriptor buffers when capturing+-- and replaying (e.g. for trace capture and replay), see+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- for more detail.+pattern IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = ImageViewCreateFlagBits 0x00000004+ -- | 'IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT' specifies that -- the fragment density map will be read by device during -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'@@ -45,17 +53,21 @@ conNameImageViewCreateFlagBits = "ImageViewCreateFlagBits" enumPrefixImageViewCreateFlagBits :: String-enumPrefixImageViewCreateFlagBits = "IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_D"+enumPrefixImageViewCreateFlagBits = "IMAGE_VIEW_CREATE_" showTableImageViewCreateFlagBits :: [(ImageViewCreateFlagBits, String)] showTableImageViewCreateFlagBits = [ ( IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT- , "EFERRED_BIT_EXT"+ , "FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT" ) ,+ ( IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT+ , "DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"+ )+ , ( IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT- , "YNAMIC_BIT_EXT"+ , "FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT" ) ]
src/Vulkan/Core10/Enums/PipelineBindPoint.hs view
@@ -28,10 +28,12 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutCreateInfoNV', -- 'Vulkan.Core10.Pass.SubpassDescription', -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindPipeline', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdBindPipelineShaderGroupNV',--- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR'+-- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT' newtype PipelineBindPoint = PipelineBindPoint Int32 deriving newtype (Eq, Ord, Storable, Zero)
src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs view
@@ -12,6 +12,7 @@ , PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV , PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT , PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT+ , PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT , PIPELINE_CREATE_LIBRARY_BIT_KHR , PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV , PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR@@ -181,6 +182,12 @@ -- necessary to later perform an optimal link with -- 'PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT'. --+-- - 'PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' specifies that a+-- pipeline will be used with+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorbuffers descriptor buffers>,+-- rather than+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets descriptor sets>.+-- -- - 'PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' specifies -- that the pipeline /may/ be used with an attachment feedback loop -- including color attachments.@@ -266,6 +273,9 @@ -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT" pattern PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = PipelineCreateFlagBits 0x00800000 +-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT"+pattern PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = PipelineCreateFlagBits 0x20000000+ -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR" pattern PIPELINE_CREATE_LIBRARY_BIT_KHR = PipelineCreateFlagBits 0x00000800 @@ -371,6 +381,10 @@ , ( PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT , "RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"+ )+ ,+ ( PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT+ , "DESCRIPTOR_BUFFER_BIT_EXT" ) , ( PIPELINE_CREATE_LIBRARY_BIT_KHR
src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs view
@@ -3,6 +3,7 @@ module Vulkan.Core10.Enums.SamplerCreateFlagBits ( SamplerCreateFlags , SamplerCreateFlagBits( SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM , SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT+ , SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT , SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT , SAMPLER_CREATE_SUBSAMPLED_BIT_EXT , ..@@ -55,6 +56,13 @@ -- is not performed. pattern SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = SamplerCreateFlagBits 0x00000004 +-- | 'SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT' specifies that+-- the sampler /can/ be used with descriptor buffers when capturing and+-- replaying (e.g. for trace capture and replay), see+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- for more detail.+pattern SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = SamplerCreateFlagBits 0x00000008+ -- | 'SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT' specifies that -- the implementation /may/ use approximations when reconstructing a full -- color value for texture access from a subsampled image.@@ -81,6 +89,10 @@ , ( SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT , "NON_SEAMLESS_CUBE_MAP_BIT_EXT"+ )+ ,+ ( SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT+ , "DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT" ) , ( SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -187,6 +187,19 @@ , STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT+ , STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT+ , STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT+ , STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT , STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV , STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV , STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT@@ -682,6 +695,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.AccelerationStructureCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR',@@ -721,6 +735,7 @@ -- 'Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkBindVideoSessionMemoryInfoKHR VkBindVideoSessionMemoryInfoKHR>, -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BlitImageInfo2',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.BufferCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA', -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA', -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA',@@ -781,6 +796,10 @@ -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.DependencyInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingPushDescriptorBufferHandleEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorGetInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorPoolCreateInfo', -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfo', -- 'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo',@@ -879,6 +898,7 @@ -- 'Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT', -- 'Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.ImageCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_EXT_image_compression_control.ImageCompressionControlEXT', -- 'Vulkan.Extensions.VK_EXT_image_compression_control.ImageCompressionPropertiesEXT', -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA',@@ -902,6 +922,7 @@ -- 'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR', -- 'Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.ImageViewCaptureDescriptorDataInfoEXT', -- 'Vulkan.Core10.ImageView.ImageViewCreateInfo', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX', -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT',@@ -956,6 +977,7 @@ -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT', -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX', -- 'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.MutableDescriptorTypeCreateInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowExecuteInfoNV', -- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowImageFormatInfoNV', -- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowImageFormatPropertiesNV',@@ -1000,6 +1022,9 @@ -- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE',@@ -1282,6 +1307,7 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ResolveImageInfo2', -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT', -- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.SamplerCaptureDescriptorDataInfoEXT', -- 'Vulkan.Core10.Sampler.SamplerCreateInfo', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo',@@ -1966,6 +1992,45 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = StructureType 1000320000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+pattern STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = StructureType 1000316009++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT"+pattern STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = StructureType 1000316012++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT"+pattern STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = StructureType 1000316011++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT"+pattern STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = StructureType 1000316010++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+pattern STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = StructureType 1000316008++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+pattern STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = StructureType 1000316007++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+pattern STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = StructureType 1000316006++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+pattern STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = StructureType 1000316005++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT"+pattern STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = StructureType 1000316004++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT"+pattern STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = StructureType 1000316003++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = StructureType 1000316002++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = StructureType 1000316001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = StructureType 1000316000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV" pattern STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = StructureType 1000314009 @@ -3582,6 +3647,19 @@ , STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT+ , STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT+ , STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT+ , STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT+ , STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT , STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV , STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV , STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT@@ -4804,6 +4882,58 @@ , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT , "PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT"+ )+ ,+ ( STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , "ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT+ , "DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT"+ )+ ,+ ( STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT+ , "DESCRIPTOR_BUFFER_BINDING_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT+ , "OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , "SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , "IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , "IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT+ , "BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT+ , "DESCRIPTOR_GET_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT+ , "DESCRIPTOR_ADDRESS_INFO_EXT"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT+ , "PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT+ , "PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT"+ )+ ,+ ( STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT+ , "PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT" ) , ( STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -454,6 +454,8 @@ -- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE',@@ -844,6 +846,7 @@ -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT',@@ -862,6 +865,7 @@ -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildSizesInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapCreateInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',@@ -907,10 +911,13 @@ -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer', -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdWriteBufferMarker2AMD', -- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutBindingOffsetEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutSizeEXT', -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment', -- 'Vulkan.Core10.Query.getQueryPoolResults', -- 'Vulkan.Core10.Memory.mapMemory'@@ -929,6 +936,9 @@ -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR',
src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -72,6 +72,9 @@ -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR',@@ -116,6 +119,7 @@ -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT',@@ -134,6 +138,7 @@ -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildSizesInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapCreateInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',@@ -179,10 +184,13 @@ -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer', -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdWriteBufferMarker2AMD', -- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutBindingOffsetEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutSizeEXT', -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment', -- 'Vulkan.Core10.Query.getQueryPoolResults', -- 'Vulkan.Core10.Memory.mapMemory'
src/Vulkan/Core10/Handles.hs view
@@ -343,6 +343,7 @@ -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.getAccelerationStructureDeviceAddressKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureHandleNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureMemoryRequirementsNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getAccelerationStructureOpaqueCaptureDescriptorDataEXT', -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.getAndroidHardwareBufferPropertiesANDROID', -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferDeviceAddress',@@ -353,11 +354,15 @@ -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getBufferMemoryRequirements2KHR', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferOpaqueCaptureAddress', -- 'Vulkan.Extensions.VK_KHR_buffer_device_address.getBufferOpaqueCaptureAddressKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getBufferOpaqueCaptureDescriptorDataEXT', -- 'Vulkan.Extensions.VK_EXT_calibrated_timestamps.getCalibratedTimestampsEXT', -- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.getDeferredOperationMaxConcurrencyKHR', -- 'Vulkan.Extensions.VK_KHR_deferred_host_operations.getDeferredOperationResultKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorEXT', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.getDescriptorSetHostMappingVALVE',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutBindingOffsetEXT', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.getDescriptorSetLayoutHostMappingInfoVALVE',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutSizeEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.getDescriptorSetLayoutSupport', -- 'Vulkan.Extensions.VK_KHR_maintenance3.getDescriptorSetLayoutSupportKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.getDeviceAccelerationStructureCompatibilityKHR',@@ -392,6 +397,7 @@ -- 'Vulkan.Core10.MemoryManagement.getImageMemoryRequirements', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.getImageMemoryRequirements2', -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageMemoryRequirements2KHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getImageOpaqueCaptureDescriptorDataEXT', -- 'Vulkan.Core10.SparseResourceMemoryManagement.getImageSparseMemoryRequirements', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.getImageSparseMemoryRequirements2', -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageSparseMemoryRequirements2KHR',@@ -399,6 +405,7 @@ -- 'Vulkan.Extensions.VK_EXT_image_compression_control.getImageSubresourceLayout2EXT', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.getImageViewAddressNVX', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.getImageViewHandleNVX',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getImageViewOpaqueCaptureDescriptorDataEXT', -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.getMemoryAndroidHardwareBufferANDROID', -- 'Vulkan.Extensions.VK_KHR_external_memory_fd.getMemoryFdKHR', -- 'Vulkan.Extensions.VK_KHR_external_memory_fd.getMemoryFdPropertiesKHR',@@ -426,6 +433,7 @@ -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.getRayTracingShaderGroupStackSizeKHR', -- 'Vulkan.Extensions.VK_GOOGLE_display_timing.getRefreshCycleDurationGOOGLE', -- 'Vulkan.Core10.Pass.getRenderAreaGranularity',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getSamplerOpaqueCaptureDescriptorDataEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.getSemaphoreCounterValue', -- 'Vulkan.Extensions.VK_KHR_timeline_semaphore.getSemaphoreCounterValueKHR', -- 'Vulkan.Extensions.VK_KHR_external_semaphore_fd.getSemaphoreFdKHR',@@ -555,6 +563,8 @@ -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.cmdBeginRenderingKHR', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR>,+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.cmdBindInvocationMaskHUAWEI',@@ -696,6 +706,7 @@ -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.cmdSetDeviceMask', -- 'Vulkan.Extensions.VK_KHR_device_group.cmdSetDeviceMaskKHR', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT',@@ -853,6 +864,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.BufferCaptureDescriptorDataInfoEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo', -- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.BufferMemoryBarrier2',@@ -863,6 +875,7 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.CopyBufferToImageInfo2', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.CopyImageToBufferInfo2', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingPushDescriptorBufferHandleEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV',@@ -948,6 +961,7 @@ -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV', -- 'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalIOSurfaceInfoEXT', -- 'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalTextureInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.ImageCaptureDescriptorDataInfoEXT', -- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.ImageMemoryBarrier2', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.ImageMemoryRequirementsInfo2',@@ -990,6 +1004,7 @@ -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo', -- 'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalTextureInfoEXT', -- 'Vulkan.Core10.Pass.FramebufferCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.ImageViewCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.RenderPassAttachmentBeginInfo', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingAttachmentInfo',@@ -1077,10 +1092,12 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', -- 'Vulkan.Core10.CommandBufferBuilding.cmdPushConstants', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetWithTemplateKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Core10.PipelineLayout.createPipelineLayout', -- 'Vulkan.Core10.PipelineLayout.destroyPipelineLayout' newtype PipelineLayout = PipelineLayout Word64@@ -1097,9 +1114,11 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorDataEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo', -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.SamplerCaptureDescriptorDataInfoEXT', -- 'Vulkan.Core10.Sampler.createSampler', -- 'Vulkan.Core10.Sampler.destroySampler' newtype Sampler = Sampler Word64@@ -1143,7 +1162,9 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo', -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo', -- 'Vulkan.Core10.DescriptorSet.createDescriptorSetLayout',--- 'Vulkan.Core10.DescriptorSet.destroyDescriptorSetLayout'+-- 'Vulkan.Core10.DescriptorSet.destroyDescriptorSetLayout',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutBindingOffsetEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutSizeEXT' newtype DescriptorSetLayout = DescriptorSetLayout Word64 deriving newtype (Eq, Ord, Storable, Zero) deriving anyclass (IsHandle)
src/Vulkan/Core10/Image.hs view
@@ -90,6 +90,7 @@ import Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_objects (ImportMetalIOSurfaceInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_objects (ImportMetalTextureInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (OpticalFlowImageFormatInfoNV) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..))@@ -161,6 +162,8 @@ -- -- - 'Vulkan.Core10.Enums.Result.ERROR_COMPRESSION_EXHAUSTED_EXT' --+-- - 'Vulkan.Extensions.VK_KHR_buffer_device_address.ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR'+-- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,@@ -1376,7 +1379,9 @@ -- @samples@ /must/ be -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT' ----- - #VUID-VkImageCreateInfo-tiling-02084# If @usage@ includes+-- - #VUID-VkImageCreateInfo-shadingRateImage-07727# If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>+-- feature is enabled and @usage@ includes -- 'Vulkan.Extensions.VK_NV_shading_rate_image.IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV', -- @tiling@ /must/ be -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL'@@ -1511,6 +1516,17 @@ -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT' -- structure --+-- - #VUID-VkImageCreateInfo-flags-08104# If @flags@ includes+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferCaptureReplay descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-VkImageCreateInfo-pNext-08105# If the @pNext@ chain includes a+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- structure, @flags@ /must/ contain+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- -- - #VUID-VkImageCreateInfo-pNext-06783# If the @pNext@ chain includes a -- 'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT' -- structure, its @exportObjectType@ member /must/ be either@@ -1563,6 +1579,7 @@ -- 'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR', -- 'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalIOSurfaceInfoEXT', -- 'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowImageFormatInfoNV', -- or -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>@@ -1686,6 +1703,7 @@ | Just Refl <- eqT @e @ExportMetalObjectCreateInfoEXT = Just f | Just Refl <- eqT @e @ImageCompressionControlEXT = Just f | Just Refl <- eqT @e @BufferCollectionImageCreateInfoFUCHSIA = Just f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f | Just Refl <- eqT @e @ImageStencilUsageCreateInfo = Just f | Just Refl <- eqT @e @ImageDrmFormatModifierExplicitCreateInfoEXT = Just f | Just Refl <- eqT @e @ImageDrmFormatModifierListCreateInfoEXT = Just f
src/Vulkan/Core10/ImageView.hs view
@@ -75,6 +75,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_image_processing (ImageViewSampleWeightCreateInfoQCOM) import Vulkan.Core10.Enums.ImageViewType (ImageViewType) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance2 (ImageViewUsageCreateInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -128,6 +129,8 @@ -- -- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY' --+-- - 'Vulkan.Extensions.VK_KHR_buffer_device_address.ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR'+-- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,@@ -1206,6 +1209,18 @@ -- members of @components@ /must/ have the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> --+-- - #VUID-VkImageViewCreateInfo-flags-08106# If @flags@ includes+-- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferCaptureReplay descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-VkImageViewCreateInfo-pNext-08107# If the @pNext@ chain+-- includes a+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- structure, @flags@ /must/ contain+-- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- -- - #VUID-VkImageViewCreateInfo-pNext-06787# If the @pNext@ chain -- includes a -- 'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'@@ -1330,6 +1345,7 @@ -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT', -- 'Vulkan.Extensions.VK_QCOM_image_processing.ImageViewSampleWeightCreateInfoQCOM', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT', -- or -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo' --@@ -1406,6 +1422,7 @@ | Just Refl <- eqT @e @ImageViewSampleWeightCreateInfoQCOM = Just f | Just Refl <- eqT @e @ExportMetalObjectCreateInfoEXT = Just f | Just Refl <- eqT @e @ImageViewMinLodCreateInfoEXT = Just f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f | Just Refl <- eqT @e @ImageViewASTCDecodeModeEXT = Just f | Just Refl <- eqT @e @SamplerYcbcrConversionInfo = Just f | Just Refl <- eqT @e @ImageViewUsageCreateInfo = Just f
src/Vulkan/Core10/MemoryManagement.hs view
@@ -227,6 +227,15 @@ -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA' -- chained to 'Vulkan.Core10.Memory.MemoryAllocateInfo'::@pNext@ --+-- - #VUID-vkBindBufferMemory-descriptorBufferCaptureReplay-08112# If the+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT'+-- ::@descriptorBufferCaptureReplay@ feature is enabled and @buffer@+-- was created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- bit set, @memory@ /must/ have been allocated with the+-- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'+-- bit set+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkBindBufferMemory-device-parameter# @device@ /must/ be a@@ -470,6 +479,15 @@ -- /must/ also have been set in -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo'::@handleTypes@ -- when @image@ was created+--+-- - #VUID-vkBindImageMemory-descriptorBufferCaptureReplay-08113# If the+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT'+-- ::@descriptorBufferCaptureReplay@ feature is enabled and @image@ was+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- bit set, @memory@ /must/ have been allocated with the+-- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'+-- bit set -- -- - #VUID-vkBindImageMemory-image-01608# @image@ /must/ not have been -- created with the
src/Vulkan/Core10/Pipeline.hs view
@@ -3982,6 +3982,41 @@ -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_PATCH_LIST', -- @pStages@ /must/ include tessellation shader stages --+-- - #VUID-VkGraphicsPipelineCreateInfo-Vertex-07722# If the pipeline is+-- being created with a @Vertex@ @Execution@ @Model@ and no+-- @TessellationEvaluation@ or @Geometry@ @Execution@ @Model@, and the+-- @topology@ member of @pInputAssembly@ is+-- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_POINT_LIST',+-- a @PointSize@ decorated variable /must/ be written to+--+-- - #VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07723# If+-- the pipeline is being created with a @TessellationEvaluation@+-- @Execution@ @Model@, no @Geometry@ @Execution@ @Model@, uses the+-- @PointMode@ @Execution@ @Mode@, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderTessellationAndGeometryPointSize shaderTessellationAndGeometryPointSize>+-- is enabled, a @PointSize@ decorated variable /must/ be written to+--+-- - #VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07724# If+-- the pipeline is being created with a @TessellationEvaluation@+-- @Execution@ @Model@, no @Geometry@ @Execution@ @Model@, uses the+-- @PointMode@ @Execution@ @Mode@, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderTessellationAndGeometryPointSize shaderTessellationAndGeometryPointSize>+-- is not enabled, a @PointSize@ decorated variable /must/ not be+-- written to+--+-- - #VUID-VkGraphicsPipelineCreateInfo-Geometry-07725# If the pipeline+-- is being created with a @Geometry@ @Execution@ @Model@, uses the+-- @OutputPoints@ @Execution@ @Mode@, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderTessellationAndGeometryPointSize shaderTessellationAndGeometryPointSize>+-- is enabled, a @PointSize@ decorated variable /must/ be written to+--+-- - #VUID-VkGraphicsPipelineCreateInfo-Geometry-07726# If the pipeline+-- is being created with a @Geometry@ @Execution@ @Model@, uses the+-- @OutputPoints@ @Execution@ @Mode@, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderTessellationAndGeometryPointSize shaderTessellationAndGeometryPointSize>+-- is not enabled, a @PointSize@ decorated variable /must/ not be+-- written to+-- -- - #VUID-VkGraphicsPipelineCreateInfo-pStages-00738# If the pipeline is -- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>
src/Vulkan/Core10/PipelineLayout.hs view
@@ -688,6 +688,14 @@ -- is not enabled, elements of @pSetLayouts@ /must/ be valid -- 'Vulkan.Core10.Handles.DescriptorSetLayout' objects --+-- - #VUID-VkPipelineLayoutCreateInfo-pSetLayouts-08008# If any element+-- of @pSetLayouts@ was created with the+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set, all elements of @pSetLayouts@ /must/ have been created with+-- the+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkPipelineLayoutCreateInfo-sType-sType# @sType@ /must/ be
src/Vulkan/Core10/Sampler.hs view
@@ -69,6 +69,7 @@ import Vulkan.CStruct.Extends (Extendss) import Vulkan.CStruct.Extends (Extensible(..)) import Vulkan.Core10.Enums.Filter (Filter)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -140,6 +141,8 @@ -- -- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY' --+-- - 'Vulkan.Extensions.VK_KHR_buffer_device_address.ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR'+-- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,@@ -503,6 +506,18 @@ -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT' -- structure --+-- - #VUID-VkSamplerCreateInfo-flags-08110# If @flags@ includes+-- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferCaptureReplay descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-VkSamplerCreateInfo-pNext-08111# If the @pNext@ chain includes+-- a+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- structure, @flags@ /must/ contain+-- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- -- - #VUID-VkSamplerCreateInfo-flags-06964# If @flags@ includes -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM', -- then @minFilter@ and @magFilter@ /must/ be@@ -549,6 +564,7 @@ -- - #VUID-VkSamplerCreateInfo-pNext-pNext# Each @pNext@ member of any -- structure (including this one) in the @pNext@ chain /must/ be either -- @NULL@ or a pointer to a valid instance of+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT', -- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo',@@ -705,6 +721,7 @@ getNext SamplerCreateInfo{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends SamplerCreateInfo e => b) -> Maybe b extends _ f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f | Just Refl <- eqT @e @SamplerBorderColorComponentMappingCreateInfoEXT = Just f | Just Refl <- eqT @e @SamplerCustomBorderColorCreateInfoEXT = Just f | Just Refl <- eqT @e @SamplerReductionModeCreateInfo = Just f
src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs view
@@ -333,6 +333,16 @@ -- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA' -- chained to 'Vulkan.Core10.Memory.MemoryAllocateInfo'::@pNext@ --+-- - #VUID-VkBindBufferMemoryInfo-descriptorBufferCaptureReplay-08112# If+-- the+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT'+-- ::@descriptorBufferCaptureReplay@ feature is enabled and @buffer@+-- was created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- bit set, @memory@ /must/ have been allocated with the+-- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'+-- bit set+-- -- - #VUID-VkBindBufferMemoryInfo-pNext-01605# If the @pNext@ chain -- includes a -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo'@@ -541,6 +551,16 @@ -- /must/ also have been set in -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo'::@handleTypes@ -- when @image@ was created+--+-- - #VUID-VkBindImageMemoryInfo-descriptorBufferCaptureReplay-08113# If+-- the+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT'+-- ::@descriptorBufferCaptureReplay@ feature is enabled and @image@ was+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- bit set, @memory@ /must/ have been allocated with the+-- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'+-- bit set -- -- - #VUID-VkBindImageMemoryInfo-pNext-01615# If the @pNext@ chain does -- not include a
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -398,13 +398,44 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDispatchBase-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDispatchBase-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchBase-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchBase-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchBase-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDispatchBase-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDispatchBase-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -127,6 +127,9 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve (PhysicalDeviceDepthStencilResolveProperties)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (PhysicalDeviceDescriptorBufferPropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping (PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE)@@ -874,6 +877,7 @@ | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderBarycentricFeaturesKHR = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductFeatures = Just f+ | Just Refl <- eqT @e @PhysicalDeviceDescriptorBufferFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceInheritedViewportScissorFeaturesNV = Just f@@ -1044,6 +1048,8 @@ -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT',@@ -1148,6 +1154,8 @@ | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderBarycentricPropertiesKHR = Just f | Just Refl <- eqT @e @PhysicalDeviceDrmPropertiesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductProperties = Just f+ | Just Refl <- eqT @e @PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = Just f+ | Just Refl <- eqT @e @PhysicalDeviceDescriptorBufferPropertiesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexPropertiesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRatePropertiesKHR = Just f
src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs view
@@ -96,7 +96,11 @@ -- the purposes of counting against limits such as @maxDescriptorSet@* and -- @maxPerStageDescriptor@*, the full value of @descriptorCount@ is -- counted, except for descriptor bindings with a descriptor type of--- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK'.+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK',+-- when+-- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo'::@flags@+-- does not contain+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'. -- In this case, @descriptorCount@ specifies the upper bound on the byte -- size of the binding; thus it counts against the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxInlineUniformBlockSize maxInlineUniformBlockSize>
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -173,14 +173,46 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndirectCount-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawIndirectCount-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawIndirectCount-None-08115# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectCount-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectCount-None-08117# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectCount-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawIndirectCount-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command --@@ -1986,13 +2018,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndexedIndirectCount-None-02699# Descriptors in each+-- - #VUID-vkCmdDrawIndexedIndirectCount-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirectCount-None-08115# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirectCount-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirectCount-None-08117# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndexedIndirectCount-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDrawIndexedIndirectCount-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command
src/Vulkan/Core13/Enums/AccessFlags2.hs view
@@ -49,6 +49,7 @@ , ACCESS_2_MICROMAP_READ_BIT_EXT , ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR , ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI+ , ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT , ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT , ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT , ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR@@ -407,6 +408,11 @@ -- pipeline stage. pattern ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = AccessFlagBits2 0x0000008000000000 +-- | 'ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT' specifies read access to a+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorbuffers descriptor buffer>+-- in any shader pipeline stage.+pattern ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = AccessFlagBits2 0x0000020000000000+ -- | 'ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT' specifies read -- access to -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass color attachments>,@@ -577,6 +583,10 @@ , ( ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI , "INVOCATION_MASK_READ_BIT_HUAWEI"+ )+ ,+ ( ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT+ , "DESCRIPTOR_BUFFER_READ_BIT_EXT" ) , ( ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs view
@@ -1800,6 +1800,14 @@ -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' --+-- - #VUID-VkMemoryBarrier2-srcAccessMask-08118# If @srcAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @srcStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages+-- -- - #VUID-VkMemoryBarrier2-dstStageMask-03929# If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometryShader> -- feature is not enabled, @dstStageMask@ /must/ not contain@@ -2176,6 +2184,14 @@ -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' --+-- - #VUID-VkMemoryBarrier2-dstAccessMask-08118# If @dstAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @dstStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkMemoryBarrier2-sType-sType# @sType@ /must/ be@@ -2732,6 +2748,14 @@ -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' --+-- - #VUID-VkImageMemoryBarrier2-srcAccessMask-08118# If @srcAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @srcStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages+-- -- - #VUID-VkImageMemoryBarrier2-dstStageMask-03929# If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometryShader> -- feature is not enabled, @dstStageMask@ /must/ not contain@@ -3108,6 +3132,14 @@ -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' --+-- - #VUID-VkImageMemoryBarrier2-dstAccessMask-08118# If @dstAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @dstStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages+-- -- - #VUID-VkImageMemoryBarrier2-subresourceRange-01486# -- @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@ -- specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was@@ -4043,6 +4075,14 @@ -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' --+-- - #VUID-VkBufferMemoryBarrier2-srcAccessMask-08118# If @srcAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @srcStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages+-- -- - #VUID-VkBufferMemoryBarrier2-dstStageMask-03929# If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometryShader> -- feature is not enabled, @dstStageMask@ /must/ not contain@@ -4418,6 +4458,14 @@ -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT' -- or -- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'+--+-- - #VUID-VkBufferMemoryBarrier2-dstAccessMask-08118# If @dstAccessMask@+-- includes+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT',+-- @dstStageMask@ /must/ include+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_GRAPHICS_BIT',+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_ALL_COMMANDS_BIT',+-- or one of @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages -- -- - #VUID-VkBufferMemoryBarrier2-offset-01187# @offset@ /must/ be less -- than the size of @buffer@
src/Vulkan/Dynamic.hs view
@@ -30,6 +30,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildRangeInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildSizesInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureBuildTypeKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (AccelerationStructureCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureCompatibilityKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (AccelerationStructureCreateInfoNV)@@ -52,6 +53,7 @@ import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (BlitImageInfo2) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Bool32) import {-# SOURCE #-} Vulkan.Core10.Handles (Buffer)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (BufferCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionCreateInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Extensions.Handles (BufferCollectionFUCHSIA) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionPropertiesFUCHSIA)@@ -128,6 +130,8 @@ import {-# SOURCE #-} Vulkan.Extensions.Handles (DeferredOperationKHR) import {-# SOURCE #-} Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlags) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_synchronization2 (DependencyInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorBufferBindingInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (DescriptorGetInfoEXT) import {-# SOURCE #-} Vulkan.Core10.Handles (DescriptorPool) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (DescriptorPoolCreateInfo) import {-# SOURCE #-} Vulkan.Core10.Enums.DescriptorPoolResetFlags (DescriptorPoolResetFlags)@@ -206,6 +210,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK) import {-# SOURCE #-} Vulkan.Core10.Handles (Image) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageBlit)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (ImageCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImageConstraintsInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageCopy) import {-# SOURCE #-} Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)@@ -228,6 +233,7 @@ import {-# SOURCE #-} Vulkan.Core10.Enums.ImageUsageFlagBits (ImageUsageFlags) import {-# SOURCE #-} Vulkan.Core10.Handles (ImageView) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewAddressPropertiesNVX)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (ImageViewCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageViewCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewHandleInfoNVX) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_fd (ImportFenceFdInfoKHR)@@ -352,6 +358,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationsInfoEXT) import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (SampleMask) import {-# SOURCE #-} Vulkan.Core10.Handles (Sampler)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (SamplerCaptureDescriptorDataInfoEXT) import {-# SOURCE #-} Vulkan.Core10.Sampler (SamplerCreateInfo) import {-# SOURCE #-} Vulkan.Core11.Handles (SamplerYcbcrConversion) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (SamplerYcbcrConversionCreateInfo)@@ -1060,7 +1067,7 @@ , pVkCmdDrawMeshTasksIndirectEXT :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) , pVkCmdDrawMeshTasksIndirectCountEXT :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) , pVkCompileDeferredNV :: FunPtr (Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result)- , pVkCreateAccelerationStructureNV :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result)+ , pVkCreateAccelerationStructureNV :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) , pVkCmdBindInvocationMaskHUAWEI :: FunPtr (Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) , pVkDestroyAccelerationStructureKHR :: FunPtr (Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) , pVkDestroyAccelerationStructureNV :: FunPtr (Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())@@ -1201,6 +1208,17 @@ , pVkDestroyCuModuleNVX :: FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) , pVkDestroyCuFunctionNVX :: FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) , pVkCmdCuLaunchKernelNVX :: FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ())+ , pVkGetDescriptorSetLayoutSizeEXT :: FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("pLayoutSizeInBytes" ::: Ptr DeviceSize) -> IO ())+ , pVkGetDescriptorSetLayoutBindingOffsetEXT :: FunPtr (Ptr Device_T -> DescriptorSetLayout -> ("binding" ::: Word32) -> ("pOffset" ::: Ptr DeviceSize) -> IO ())+ , pVkGetDescriptorEXT :: FunPtr (Ptr Device_T -> ("pDescriptorInfo" ::: Ptr DescriptorGetInfoEXT) -> ("dataSize" ::: CSize) -> ("pDescriptor" ::: Ptr ()) -> IO ())+ , pVkCmdBindDescriptorBuffersEXT :: FunPtr (Ptr CommandBuffer_T -> ("bufferCount" ::: Word32) -> ("pBindingInfos" ::: Ptr (SomeStruct DescriptorBufferBindingInfoEXT)) -> IO ())+ , pVkCmdSetDescriptorBufferOffsetsEXT :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("setCount" ::: Word32) -> ("pBufferIndices" ::: Ptr Word32) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ())+ , pVkCmdBindDescriptorBufferEmbeddedSamplersEXT :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> IO ())+ , pVkGetBufferOpaqueCaptureDescriptorDataEXT :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result)+ , pVkGetImageOpaqueCaptureDescriptorDataEXT :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result)+ , pVkGetImageViewOpaqueCaptureDescriptorDataEXT :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageViewCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result)+ , pVkGetSamplerOpaqueCaptureDescriptorDataEXT :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr SamplerCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result)+ , pVkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) , pVkSetDeviceMemoryPriorityEXT :: FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) , pVkWaitForPresentKHR :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) , pVkCreateBufferCollectionFUCHSIA :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result)@@ -1668,7 +1686,15 @@ nullFunPtr nullFunPtr nullFunPtr- nullFunPtr nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr+ nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -2143,6 +2169,17 @@ vkDestroyCuModuleNVX <- getDeviceProcAddr' handle (Ptr "vkDestroyCuModuleNVX"#) vkDestroyCuFunctionNVX <- getDeviceProcAddr' handle (Ptr "vkDestroyCuFunctionNVX"#) vkCmdCuLaunchKernelNVX <- getDeviceProcAddr' handle (Ptr "vkCmdCuLaunchKernelNVX"#)+ vkGetDescriptorSetLayoutSizeEXT <- getDeviceProcAddr' handle (Ptr "vkGetDescriptorSetLayoutSizeEXT"#)+ vkGetDescriptorSetLayoutBindingOffsetEXT <- getDeviceProcAddr' handle (Ptr "vkGetDescriptorSetLayoutBindingOffsetEXT"#)+ vkGetDescriptorEXT <- getDeviceProcAddr' handle (Ptr "vkGetDescriptorEXT"#)+ vkCmdBindDescriptorBuffersEXT <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorBuffersEXT"#)+ vkCmdSetDescriptorBufferOffsetsEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDescriptorBufferOffsetsEXT"#)+ vkCmdBindDescriptorBufferEmbeddedSamplersEXT <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorBufferEmbeddedSamplersEXT"#)+ vkGetBufferOpaqueCaptureDescriptorDataEXT <- getDeviceProcAddr' handle (Ptr "vkGetBufferOpaqueCaptureDescriptorDataEXT"#)+ vkGetImageOpaqueCaptureDescriptorDataEXT <- getDeviceProcAddr' handle (Ptr "vkGetImageOpaqueCaptureDescriptorDataEXT"#)+ vkGetImageViewOpaqueCaptureDescriptorDataEXT <- getDeviceProcAddr' handle (Ptr "vkGetImageViewOpaqueCaptureDescriptorDataEXT"#)+ vkGetSamplerOpaqueCaptureDescriptorDataEXT <- getDeviceProcAddr' handle (Ptr "vkGetSamplerOpaqueCaptureDescriptorDataEXT"#)+ vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT <- getDeviceProcAddr' handle (Ptr "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"#) vkSetDeviceMemoryPriorityEXT <- getDeviceProcAddr' handle (Ptr "vkSetDeviceMemoryPriorityEXT"#) vkWaitForPresentKHR <- getDeviceProcAddr' handle (Ptr "vkWaitForPresentKHR"#) vkCreateBufferCollectionFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkCreateBufferCollectionFUCHSIA"#)@@ -2430,7 +2467,7 @@ (castFunPtr @_ @(Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) vkCmdDrawMeshTasksIndirectEXT) (castFunPtr @_ @(Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("countBuffer" ::: Buffer) -> ("countBufferOffset" ::: DeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) vkCmdDrawMeshTasksIndirectCountEXT) (castFunPtr @_ @(Ptr Device_T -> Pipeline -> ("shader" ::: Word32) -> IO Result) vkCompileDeferredNV)- (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr AccelerationStructureCreateInfoNV) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) vkCreateAccelerationStructureNV)+ (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoNV)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureNV) -> IO Result) vkCreateAccelerationStructureNV) (castFunPtr @_ @(Ptr CommandBuffer_T -> ImageView -> ImageLayout -> IO ()) vkCmdBindInvocationMaskHUAWEI) (castFunPtr @_ @(Ptr Device_T -> AccelerationStructureKHR -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyAccelerationStructureKHR) (castFunPtr @_ @(Ptr Device_T -> AccelerationStructureNV -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyAccelerationStructureNV)@@ -2571,6 +2608,17 @@ (castFunPtr @_ @(Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyCuModuleNVX) (castFunPtr @_ @(Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyCuFunctionNVX) (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ()) vkCmdCuLaunchKernelNVX)+ (castFunPtr @_ @(Ptr Device_T -> DescriptorSetLayout -> ("pLayoutSizeInBytes" ::: Ptr DeviceSize) -> IO ()) vkGetDescriptorSetLayoutSizeEXT)+ (castFunPtr @_ @(Ptr Device_T -> DescriptorSetLayout -> ("binding" ::: Word32) -> ("pOffset" ::: Ptr DeviceSize) -> IO ()) vkGetDescriptorSetLayoutBindingOffsetEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pDescriptorInfo" ::: Ptr DescriptorGetInfoEXT) -> ("dataSize" ::: CSize) -> ("pDescriptor" ::: Ptr ()) -> IO ()) vkGetDescriptorEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("bufferCount" ::: Word32) -> ("pBindingInfos" ::: Ptr (SomeStruct DescriptorBufferBindingInfoEXT)) -> IO ()) vkCmdBindDescriptorBuffersEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("firstSet" ::: Word32) -> ("setCount" ::: Word32) -> ("pBufferIndices" ::: Ptr Word32) -> ("pOffsets" ::: Ptr DeviceSize) -> IO ()) vkCmdSetDescriptorBufferOffsetsEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> ("set" ::: Word32) -> IO ()) vkCmdBindDescriptorBufferEmbeddedSamplersEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr BufferCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) vkGetBufferOpaqueCaptureDescriptorDataEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr ImageCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) vkGetImageOpaqueCaptureDescriptorDataEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr ImageViewCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) vkGetImageViewOpaqueCaptureDescriptorDataEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr SamplerCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) vkGetSamplerOpaqueCaptureDescriptorDataEXT)+ (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr AccelerationStructureCaptureDescriptorDataInfoEXT) -> ("pData" ::: Ptr ()) -> IO Result) vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT) (castFunPtr @_ @(Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) vkSetDeviceMemoryPriorityEXT) (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) vkWaitForPresentKHR) (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result) vkCreateBufferCollectionFUCHSIA)
src/Vulkan/Extensions.hs view
@@ -47,6 +47,7 @@ , module Vulkan.Extensions.VK_EXT_depth_clip_control , module Vulkan.Extensions.VK_EXT_depth_clip_enable , module Vulkan.Extensions.VK_EXT_depth_range_unrestricted+ , module Vulkan.Extensions.VK_EXT_descriptor_buffer , module Vulkan.Extensions.VK_EXT_descriptor_indexing , module Vulkan.Extensions.VK_EXT_device_address_binding_report , module Vulkan.Extensions.VK_EXT_device_fault@@ -352,6 +353,7 @@ import Vulkan.Extensions.VK_EXT_depth_clip_control import Vulkan.Extensions.VK_EXT_depth_clip_enable import Vulkan.Extensions.VK_EXT_depth_range_unrestricted+import Vulkan.Extensions.VK_EXT_descriptor_buffer import Vulkan.Extensions.VK_EXT_descriptor_indexing import Vulkan.Extensions.VK_EXT_device_address_binding_report import Vulkan.Extensions.VK_EXT_device_fault
src/Vulkan/Extensions/Dependencies.hs view
@@ -30,6 +30,7 @@ import Vulkan.Extensions.VK_EXT_debug_report (pattern EXT_DEBUG_REPORT_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_debug_utils (pattern EXT_DEBUG_UTILS_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_depth_clip_control (pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME)+import Vulkan.Extensions.VK_EXT_descriptor_buffer (pattern EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_device_address_binding_report (pattern EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_device_fault (pattern EXT_DEVICE_FAULT_EXTENSION_NAME)@@ -630,6 +631,13 @@ ] NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME] KHR_SYNCHRONIZATION_2_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+ EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME ->+ [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ , KHR_SYNCHRONIZATION_2_EXTENSION_NAME+ , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ , KHR_MAINTENANCE_3_EXTENSION_NAME+ ] EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME -> [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME , KHR_PIPELINE_LIBRARY_EXTENSION_NAME@@ -860,6 +868,7 @@ KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0 NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0 KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0+ EXT_MESH_SHADER_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0 KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0 KHR_MAINTENANCE_4_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0 _ -> API_VERSION_1_0
src/Vulkan/Extensions/Handles.hs view
@@ -144,6 +144,7 @@ -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>, -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR',+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.AccelerationStructureCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureToMemoryInfoKHR',@@ -169,6 +170,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.AccelerationStructureCaptureDescriptorDataInfoEXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV',
+ src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs view
@@ -0,0 +1,3310 @@+{-# 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+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_descriptor_buffer] @tobski%0A*Here describe the issue or question you have about the VK_EXT_descriptor_buffer extension* >+--+-- [__Extension Proposal__]+-- <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_descriptor_buffer.adoc VK_EXT_descriptor_buffer>+--+-- == 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_EXT_descriptor_buffer Vulkan Specification>+--+-- 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 ( getDescriptorSetLayoutSizeEXT+ , getDescriptorSetLayoutBindingOffsetEXT+ , getDescriptorEXT+ , cmdBindDescriptorBuffersEXT+ , cmdSetDescriptorBufferOffsetsEXT+ , cmdBindDescriptorBufferEmbeddedSamplersEXT+ , getBufferOpaqueCaptureDescriptorDataEXT+ , getImageOpaqueCaptureDescriptorDataEXT+ , getImageViewOpaqueCaptureDescriptorDataEXT+ , getSamplerOpaqueCaptureDescriptorDataEXT+ , getAccelerationStructureOpaqueCaptureDescriptorDataEXT+ , PhysicalDeviceDescriptorBufferFeaturesEXT(..)+ , PhysicalDeviceDescriptorBufferPropertiesEXT(..)+ , PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(..)+ , DescriptorAddressInfoEXT(..)+ , DescriptorBufferBindingInfoEXT(..)+ , DescriptorBufferBindingPushDescriptorBufferHandleEXT(..)+ , DescriptorGetInfoEXT(..)+ , BufferCaptureDescriptorDataInfoEXT(..)+ , ImageCaptureDescriptorDataInfoEXT(..)+ , ImageViewCaptureDescriptorDataInfoEXT(..)+ , SamplerCaptureDescriptorDataInfoEXT(..)+ , AccelerationStructureCaptureDescriptorDataInfoEXT(..)+ , OpaqueCaptureDescriptorDataCreateInfoEXT(..)+ , DescriptorDataEXT(..)+ , peekDescriptorDataEXT+ , EXT_DESCRIPTOR_BUFFER_SPEC_VERSION+ , pattern EXT_DESCRIPTOR_BUFFER_SPEC_VERSION+ , EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME+ , pattern EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME+ , AccelerationStructureKHR(..)+ , AccelerationStructureNV(..)+ , AccelerationStructureCreateFlagBitsKHR(..)+ , AccelerationStructureCreateFlagsKHR+ ) where++import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Exception.Base (bracket)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Data.Typeable (eqT)+import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Marshal.Alloc (callocBytes)+import Foreign.Marshal.Alloc (free)+import Foreign.Marshal.Utils (maybePeek)+import Foreign.Marshal.Utils (with)+import GHC.Base (when)+import GHC.IO (throwIO)+import GHC.Ptr (castPtr)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Data.Coerce (coerce)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import Control.Monad.Trans.Cont (runContT)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import Foreign.C.Types (CSize(..))+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Control.Monad.IO.Class (MonadIO)+import Data.String (IsString)+import Data.Type.Equality ((:~:)(Refl))+import Data.Typeable (Typeable)+import Foreign.C.Types (CSize)+import Foreign.C.Types (CSize(..))+import Foreign.C.Types (CSize(CSize))+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import GHC.IO.Exception (IOErrorType(..))+import GHC.IO.Exception (IOException(..))+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import Data.Word (Word32)+import Data.Word (Word64)+import Data.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.CStruct.Extends (forgetExtensions)+import Vulkan.CStruct.Extends (pokeSomeCStruct)+import Vulkan.NamedType ((:::))+import Vulkan.Extensions.Handles (AccelerationStructureKHR)+import Vulkan.Extensions.Handles (AccelerationStructureNV)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Handles (Buffer)+import Vulkan.Core10.Enums.BufferUsageFlagBits (BufferUsageFlags)+import Vulkan.CStruct.Extends (Chain)+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Core10.DescriptorSet (DescriptorImageInfo)+import Vulkan.Core10.Handles (DescriptorSetLayout)+import Vulkan.Core10.Handles (DescriptorSetLayout(..))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType)+import Vulkan.Core10.Handles (Device)+import Vulkan.Core10.Handles (Device(..))+import Vulkan.Core10.Handles (Device(Device))+import Vulkan.Core10.FundamentalTypes (DeviceAddress)+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorBufferEmbeddedSamplersEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorBuffersEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDescriptorBufferOffsetsEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetBufferOpaqueCaptureDescriptorDataEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetDescriptorEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetDescriptorSetLayoutBindingOffsetEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetDescriptorSetLayoutSizeEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetImageOpaqueCaptureDescriptorDataEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetImageViewOpaqueCaptureDescriptorDataEXT))+import Vulkan.Dynamic (DeviceCmds(pVkGetSamplerOpaqueCaptureDescriptorDataEXT))+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.Core10.Handles (Device_T)+import Vulkan.CStruct.Extends (Extends)+import Vulkan.CStruct.Extends (Extendss)+import Vulkan.CStruct.Extends (Extensible(..))+import Vulkan.Core10.Enums.Format (Format)+import Vulkan.Core10.Handles (Image)+import Vulkan.Core10.Handles (ImageView)+import Vulkan.CStruct.Extends (PeekChain)+import Vulkan.CStruct.Extends (PeekChain(..))+import Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint)+import Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint(..))+import Vulkan.Core10.Handles (PipelineLayout)+import Vulkan.Core10.Handles (PipelineLayout(..))+import Vulkan.CStruct.Extends (PokeChain)+import Vulkan.CStruct.Extends (PokeChain(..))+import Vulkan.Core10.Enums.Result (Result)+import Vulkan.Core10.Enums.Result (Result(..))+import Vulkan.Core10.Handles (Sampler)+import Vulkan.CStruct.Extends (SomeStruct)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Exception (VulkanException(..))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_INPUT_ATTACHMENT))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_SAMPLED_IMAGE))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_SAMPLER))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_STORAGE_BUFFER))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_STORAGE_IMAGE))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_UNIFORM_BUFFER))+import Vulkan.Core10.Enums.DescriptorType (DescriptorType(DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT))+import Vulkan.Core10.Enums.Result (Result(SUCCESS))+import Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureCreateFlagBitsKHR(..))+import Vulkan.Extensions.VK_KHR_acceleration_structure (AccelerationStructureCreateFlagsKHR)+import Vulkan.Extensions.Handles (AccelerationStructureKHR(..))+import Vulkan.Extensions.Handles (AccelerationStructureNV(..))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetDescriptorSetLayoutSizeEXT+ :: FunPtr (Ptr Device_T -> DescriptorSetLayout -> Ptr DeviceSize -> IO ()) -> Ptr Device_T -> DescriptorSetLayout -> Ptr DeviceSize -> IO ()++-- | vkGetDescriptorSetLayoutSizeEXT - Get the size of a descriptor set+-- layout in memory+--+-- = Description+--+-- The size of a descriptor set layout will be at least as large as the sum+-- total of the size of all descriptors in the layout, and /may/ be larger.+-- This size represents the amount of memory that will be required to store+-- all of the descriptors for this layout in memory, when placed according+-- to the layout’s offsets as obtained by+-- 'getDescriptorSetLayoutBindingOffsetEXT'.+--+-- If any @binding@ in @layout@ is+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',+-- the returned size includes space for the maximum @descriptorCount@+-- descriptors as declared for that @binding@. To compute the required size+-- of a descriptor set with a+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT':+--+-- - size = offset + descriptorSize × variableDescriptorCount+--+-- where offset is obtained by 'getDescriptorSetLayoutBindingOffsetEXT' and+-- descriptorSize is the size of the relevant descriptor as obtained from+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT', and+-- variableDescriptorCount is the equivalent of+-- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::@pDescriptorCounts@.+-- For+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK',+-- variableDescriptorCount is the size in bytes for the inline uniform+-- block, and descriptorSize is 1.+--+-- If+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSingleArray@+-- is 'Vulkan.Core10.FundamentalTypes.FALSE' and the variable descriptor+-- type is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+-- variableDescriptorCount is always considered to be the upper bound.+--+-- == Valid Usage+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-None-08011# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-layout-08012# @layout@ /must/+-- have been created with the+-- VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT flag set+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-device-parameter# @device@+-- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parameter# @layout@+-- /must/ be a valid 'Vulkan.Core10.Handles.DescriptorSetLayout' handle+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-pLayoutSizeInBytes-parameter#+-- @pLayoutSizeInBytes@ /must/ be a valid pointer to a+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' value+--+-- - #VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parent# @layout@ /must/+-- have been created, allocated, or retrieved from @device@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.DescriptorSetLayout',+-- 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize'+getDescriptorSetLayoutSizeEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the size.+ Device+ -> -- | @layout@ is the descriptor set layout being queried.+ DescriptorSetLayout+ -> io (("layoutSizeInBytes" ::: DeviceSize))+getDescriptorSetLayoutSizeEXT device layout = liftIO . evalContT $ do+ let vkGetDescriptorSetLayoutSizeEXTPtr = pVkGetDescriptorSetLayoutSizeEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetDescriptorSetLayoutSizeEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDescriptorSetLayoutSizeEXT is null" Nothing Nothing+ let vkGetDescriptorSetLayoutSizeEXT' = mkVkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXTPtr+ pPLayoutSizeInBytes <- ContT $ bracket (callocBytes @DeviceSize 8) free+ lift $ traceAroundEvent "vkGetDescriptorSetLayoutSizeEXT" (vkGetDescriptorSetLayoutSizeEXT'+ (deviceHandle (device))+ (layout)+ (pPLayoutSizeInBytes))+ pLayoutSizeInBytes <- lift $ peek @DeviceSize pPLayoutSizeInBytes+ pure $ (pLayoutSizeInBytes)+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetDescriptorSetLayoutBindingOffsetEXT+ :: FunPtr (Ptr Device_T -> DescriptorSetLayout -> Word32 -> Ptr DeviceSize -> IO ()) -> Ptr Device_T -> DescriptorSetLayout -> Word32 -> Ptr DeviceSize -> IO ()++-- | vkGetDescriptorSetLayoutBindingOffsetEXT - Get the offset of a binding+-- within a descriptor set layout+--+-- = Description+--+-- Each binding in a descriptor set layout is assigned an offset in memory+-- by the implementation. When a shader accesses a resource with that+-- binding, it will access the bound descriptor buffer from that offset to+-- look for its descriptor. This command provides an application with that+-- offset, so that descriptors can be placed in the correct locations. The+-- precise location accessed by a shader for a given descriptor is as+-- follows:+--+-- - location = bufferAddress + setOffset + descriptorOffset+-- (arrayElement * descriptorSize)+--+-- where bufferAddress and setOffset are the base address and offset for+-- the identified descriptor set as specified by+-- 'cmdBindDescriptorBuffersEXT' and 'cmdSetDescriptorBufferOffsetsEXT',+-- descriptorOffset is the offset for the binding returned by this command,+-- arrayElement is the index into the array specified in the shader, and+-- descriptorSize is the size of the relevant descriptor as obtained from+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'. Applications are+-- responsible for placing valid descriptors at the expected location in+-- order for a shader to access it. The overall offset added to+-- bufferAddress to calculate location /must/ be less than+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxSamplerDescriptorBufferRange@+-- for samplers and+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxResourceDescriptorBufferRange@+-- for resources.+--+-- If any @binding@ in @layout@ is+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',+-- that @binding@ /must/ have the largest offset of any @binding@.+--+-- A descriptor @binding@ with type+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.DESCRIPTOR_TYPE_MUTABLE_VALVE'+-- /can/ be used. Any potential types in+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'::@pDescriptorTypes@+-- for @binding@ share the same offset. If the size of the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-mutable mutable descriptor>+-- is larger than the size of a concrete descriptor type being accessed,+-- the padding area is ignored by the implementation.+--+-- == Valid Usage+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-None-08013# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-08014#+-- @layout@ /must/ have been created with the+-- VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT flag set+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-parameter#+-- @layout@ /must/ be a valid+-- 'Vulkan.Core10.Handles.DescriptorSetLayout' handle+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-pOffset-parameter#+-- @pOffset@ /must/ be a valid pointer to a+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' value+--+-- - #VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-parent#+-- @layout@ /must/ have been created, allocated, or retrieved from+-- @device@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.DescriptorSetLayout',+-- 'Vulkan.Core10.Handles.Device',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize'+getDescriptorSetLayoutBindingOffsetEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the offset.+ Device+ -> -- | @layout@ is the descriptor set layout being queried.+ DescriptorSetLayout+ -> -- | @binding@ is the binding number being queried.+ ("binding" ::: Word32)+ -> io (("offset" ::: DeviceSize))+getDescriptorSetLayoutBindingOffsetEXT device+ layout+ binding = liftIO . evalContT $ do+ let vkGetDescriptorSetLayoutBindingOffsetEXTPtr = pVkGetDescriptorSetLayoutBindingOffsetEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetDescriptorSetLayoutBindingOffsetEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDescriptorSetLayoutBindingOffsetEXT is null" Nothing Nothing+ let vkGetDescriptorSetLayoutBindingOffsetEXT' = mkVkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXTPtr+ pPOffset <- ContT $ bracket (callocBytes @DeviceSize 8) free+ lift $ traceAroundEvent "vkGetDescriptorSetLayoutBindingOffsetEXT" (vkGetDescriptorSetLayoutBindingOffsetEXT'+ (deviceHandle (device))+ (layout)+ (binding)+ (pPOffset))+ pOffset <- lift $ peek @DeviceSize pPOffset+ pure $ (pOffset)+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetDescriptorEXT+ :: FunPtr (Ptr Device_T -> Ptr DescriptorGetInfoEXT -> CSize -> Ptr () -> IO ()) -> Ptr Device_T -> Ptr DescriptorGetInfoEXT -> CSize -> Ptr () -> IO ()++-- | vkGetDescriptorEXT - To get a descriptor to place in a buffer+--+-- = Description+--+-- The size of the data for each descriptor type is determined by the value+-- in 'PhysicalDeviceDescriptorBufferPropertiesEXT'. This value also+-- defines the stride in bytes for arrays of that descriptor type.+--+-- If the+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSingleArray@+-- property is 'Vulkan.Core10.FundamentalTypes.FALSE' the implementation+-- requires an array of+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+-- descriptors to be written into a descriptor buffer as an array of image+-- descriptors, immediately followed by an array of sampler descriptors.+-- Applications /must/ write the first+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@sampledImageDescriptorSize@+-- bytes of the data returned through @pDescriptor@ to the first array, and+-- the remaining+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@samplerDescriptorSize@+-- bytes of the data to the second array. For variable-sized descriptor+-- bindings of+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+-- descriptors, the two arrays each have a size equal to the upper bound+-- @descriptorCount@ of that binding.+--+-- A descriptor obtained by this command references the underlying+-- 'Vulkan.Core10.Handles.ImageView' or 'Vulkan.Core10.Handles.Sampler',+-- and these objects /must/ not be destroyed before the last time a+-- descriptor is dynamically accessed. For descriptor types which consume+-- an address instead of an object, the underlying+-- 'Vulkan.Core10.Handles.Buffer' is referenced instead.+--+-- == Valid Usage+--+-- - #VUID-vkGetDescriptorEXT-None-08015# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkGetDescriptorEXT-dataSize-08125# @dataSize@ /must/ equal the+-- size of a descriptor of type 'DescriptorGetInfoEXT'::@type@+-- determined by the value in+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT', or+-- 'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT'::@combinedImageSamplerDensityMapDescriptorSize@+-- if @pDescriptorInfo@ specifies a+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+-- whose 'Vulkan.Core10.Handles.Sampler' was created with+-- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT'+-- set+--+-- - #VUID-vkGetDescriptorEXT-pDescriptor-08016# @pDescriptor@ /must/ be+-- a valid pointer to an array of at least @dataSize@ bytes+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetDescriptorEXT-device-parameter# @device@ /must/ be a+-- valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetDescriptorEXT-pDescriptorInfo-parameter#+-- @pDescriptorInfo@ /must/ be a valid pointer to a valid+-- 'DescriptorGetInfoEXT' structure+--+-- - #VUID-vkGetDescriptorEXT-pDescriptor-parameter# @pDescriptor@ /must/+-- be a valid pointer to an array of @dataSize@ bytes+--+-- - #VUID-vkGetDescriptorEXT-dataSize-arraylength# @dataSize@ /must/ be+-- greater than @0@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'DescriptorGetInfoEXT', 'Vulkan.Core10.Handles.Device'+getDescriptorEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the descriptor.+ Device+ -> -- | @pDescriptorInfo@ is a pointer to a 'DescriptorGetInfoEXT' structure+ -- specifying the parameters of the descriptor to get.+ ("descriptorInfo" ::: DescriptorGetInfoEXT)+ -> -- | @dataSize@ is the amount of the descriptor data to get in bytes.+ ("dataSize" ::: Word64)+ -> -- | @pDescriptor@ is a pointer to a user-allocated buffer where the+ -- descriptor will be written.+ ("descriptor" ::: Ptr ())+ -> io ()+getDescriptorEXT device+ descriptorInfo+ dataSize+ descriptor = liftIO . evalContT $ do+ let vkGetDescriptorEXTPtr = pVkGetDescriptorEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetDescriptorEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDescriptorEXT is null" Nothing Nothing+ let vkGetDescriptorEXT' = mkVkGetDescriptorEXT vkGetDescriptorEXTPtr+ pDescriptorInfo <- ContT $ withCStruct (descriptorInfo)+ lift $ traceAroundEvent "vkGetDescriptorEXT" (vkGetDescriptorEXT'+ (deviceHandle (device))+ pDescriptorInfo+ (CSize (dataSize))+ (descriptor))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdBindDescriptorBuffersEXT+ :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr (SomeStruct DescriptorBufferBindingInfoEXT) -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr (SomeStruct DescriptorBufferBindingInfoEXT) -> IO ()++-- | vkCmdBindDescriptorBuffersEXT - Binding descriptor buffers to a command+-- buffer+--+-- = Description+--+-- 'cmdBindDescriptorBuffersEXT' causes any offsets previously set by+-- 'cmdSetDescriptorBufferOffsetsEXT' that use the bindings numbered [@0@..+-- @bufferCount@-1] to be no longer valid for subsequent bound pipeline+-- commands. Any previously bound buffers at binding points greater than or+-- equal to @bufferCount@ are unbound.+--+-- == Valid Usage+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-None-08047# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-maxSamplerDescriptorBufferBindings-08048#+-- There /must/ be no more than+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxSamplerDescriptorBufferBindings@+-- descriptor buffers containing sampler descriptor data bound+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-maxResourceDescriptorBufferBindings-08049#+-- There /must/ be no more than+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxResourceDescriptorBufferBindings@+-- descriptor buffers containing resource descriptor data bound+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-None-08050# There /must/ be no+-- more than @1@ descriptor buffer bound that was created with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-bufferCount-08051# @bufferCount@+-- /must/ be less than or equal to+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxDescriptorBufferBindings@+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08052# For any+-- element of @pBindingInfos@, if the buffer from which @address@ was+-- queried is non-sparse then it /must/ be bound completely and+-- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08053# For any+-- element of @pBindingInfos@, the buffer from which @address@ was+-- queried /must/ have been created with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set if it contains sampler descriptor data+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08054# For any+-- element of @pBindingInfos@, the buffer from which @address@ was+-- queried /must/ have been created with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'+-- bit set if it contains resource descriptor data+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08055# For any+-- element of @pBindingInfos@, @usage@ /must/ match the buffer from+-- which @address@ was queried.+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-parameter#+-- @pBindingInfos@ /must/ be a valid pointer to an array of+-- @bufferCount@ valid 'DescriptorBufferBindingInfoEXT' structures+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-cmdpool# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics, or compute operations+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-videocoding# This command /must/+-- only be called outside of a video coding scope+--+-- - #VUID-vkCmdBindDescriptorBuffersEXT-bufferCount-arraylength#+-- @bufferCount@ /must/ be greater than @0@+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Both | Outside | Graphics | State |+-- | Secondary | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.CommandBuffer', 'DescriptorBufferBindingInfoEXT'+cmdBindDescriptorBuffersEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer that the descriptor buffers will+ -- be bound to.+ CommandBuffer+ -> -- | @pBindingInfos@ is a pointer to an array of+ -- 'DescriptorBufferBindingInfoEXT' structures.+ ("bindingInfos" ::: Vector (SomeStruct DescriptorBufferBindingInfoEXT))+ -> io ()+cmdBindDescriptorBuffersEXT commandBuffer bindingInfos = liftIO . evalContT $ do+ let vkCmdBindDescriptorBuffersEXTPtr = pVkCmdBindDescriptorBuffersEXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ lift $ unless (vkCmdBindDescriptorBuffersEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorBuffersEXT is null" Nothing Nothing+ let vkCmdBindDescriptorBuffersEXT' = mkVkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXTPtr+ pPBindingInfos <- ContT $ allocaBytes @(DescriptorBufferBindingInfoEXT _) ((Data.Vector.length (bindingInfos)) * 32)+ Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPBindingInfos `plusPtr` (32 * (i)) :: Ptr (DescriptorBufferBindingInfoEXT _))) (e) . ($ ())) (bindingInfos)+ lift $ traceAroundEvent "vkCmdBindDescriptorBuffersEXT" (vkCmdBindDescriptorBuffersEXT'+ (commandBufferHandle (commandBuffer))+ ((fromIntegral (Data.Vector.length $ (bindingInfos)) :: Word32))+ (forgetExtensions (pPBindingInfos)))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetDescriptorBufferOffsetsEXT+ :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> Word32 -> Word32 -> Ptr Word32 -> Ptr DeviceSize -> IO ()) -> Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> Word32 -> Word32 -> Ptr Word32 -> Ptr DeviceSize -> IO ()++-- | vkCmdSetDescriptorBufferOffsetsEXT - Setting descriptor buffer offsets+-- in a command buffer+--+-- = Description+--+-- 'cmdSetDescriptorBufferOffsetsEXT' binds @setCount@ pairs of descriptor+-- buffers, specified by indices into the binding points bound using+-- 'cmdBindDescriptorBuffersEXT', and buffer offsets to set numbers+-- [@firstSet@..@firstSet@+@descriptorSetCount@-1] for subsequent+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-bindpoint-commands bound pipeline commands>+-- set by @pipelineBindPoint@. Set [@firstSet@ + i] is bound to the+-- descriptor buffer at binding @pBufferIndices@[i] at an offset of+-- @pOffsets@[i]. Any bindings that were previously applied via these sets,+-- or calls to 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets',+-- are no longer valid. Other sets will also be invalidated upon calling+-- this command if @layout@ differs from the pipeline layout used to bind+-- those other sets, as described in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-compatibility Pipeline Layout Compatibility>.+--+-- After binding descriptors, applications /can/ modify descriptor memory+-- either by performing writes on the host or with device commands. When+-- descriptor memory is updated with device commands, visibility for the+-- shader stage accessing a descriptor is ensured with the+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT'+-- access flag. Implementations /must/ not access resources referenced by+-- these descriptors unless they are dynamically accessed by shaders.+-- Descriptors bound with this call /can/ be undefined if they are not+-- dynamically accessed by shaders.+--+-- Implementations /may/ read descriptor data for any statically accessed+-- descriptor if the @binding@ in @layout@ is not declared with the+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT'+-- flag. If the @binding@ in @layout@ is declared with+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',+-- implementations /must/ not read descriptor data that is not dynamically+-- accessed.+--+-- Applications /must/ ensure that any descriptor which the implementation+-- /may/ read /must/ be in-bounds of the underlying descriptor buffer+-- binding.+--+-- Note+--+-- Applications can freely decide how large a variable descriptor buffer+-- binding is, so it may not be safe to read such descriptor payloads+-- statically. The intention of these rules is to allow implementations to+-- speculatively prefetch descriptor payloads where feasible.+--+-- Dynamically accessing a resource through descriptor data from an unbound+-- region of a+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#sparsememory-partially-resident-buffers sparse partially-resident buffer>+-- will result in invalid descriptor data being read, and therefore+-- undefined behavior.+--+-- Note+--+-- For descriptors written by the host, visibility is implied through the+-- automatic visibility operation on queue submit, and there is no need to+-- consider @VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT@. Explicit+-- synchronization for descriptors is only required when descriptors are+-- updated on the device.+--+-- Note+--+-- The requirements above imply that all descriptor bindings have been+-- defined with the equivalent of+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT',+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT'+-- and+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT',+-- but enabling those features is not required to get this behavior.+--+-- == Valid Usage+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08061# The offsets+-- in @pOffsets@ /must/ be aligned to+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@descriptorBufferOffsetAlignment@+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063# The offsets+-- in @pOffsets@ /must/ be small enough such that any descriptor+-- binding referenced by @layout@ without the+-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT'+-- flag computes a valid address inside the underlying+-- 'Vulkan.Core10.Handles.Buffer'+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08126# The offsets+-- in @pOffsets@ /must/ be small enough such that any location accessed+-- by a shader as a sampler descriptor /must/ be within+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxSamplerDescriptorBufferRange@+-- of the sampler descriptor buffer binding+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08127# The offsets+-- in @pOffsets@ /must/ be small enough such that any location accessed+-- by a shader as a resource descriptor /must/ be within+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxResourceDescriptorBufferRange@+-- of the resource descriptor buffer binding+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-08064# Each+-- element of @pBufferIndices@ /must/ be less than+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxDescriptorBufferBindings@+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-08065# Each+-- element of @pBufferIndices@ /must/ reference a valid descriptor+-- buffer binding set by a previous call to+-- 'cmdBindDescriptorBuffersEXT' in @commandBuffer@+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-08066# The sum of+-- @firstSet@ and @setCount@ /must/ be less than or equal to+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+-- provided when @layout@ was created+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067#+-- @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s+-- parent 'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-parameter#+-- @pipelineBindPoint@ /must/ be a valid+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' value+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-layout-parameter# @layout@+-- /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-parameter#+-- @pBufferIndices@ /must/ be a valid pointer to an array of @setCount@+-- @uint32_t@ values+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-parameter#+-- @pOffsets@ /must/ be a valid pointer to an array of @setCount@+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' values+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-cmdpool# The+-- 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics, or compute operations+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-videocoding# This command+-- /must/ only be called outside of a video coding scope+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-setCount-arraylength#+-- @setCount@ /must/ be greater than @0@+--+-- - #VUID-vkCmdSetDescriptorBufferOffsetsEXT-commonparent# Both of+-- @commandBuffer@, and @layout@ /must/ have been created, allocated,+-- or retrieved from the same 'Vulkan.Core10.Handles.Device'+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Both | Outside | Graphics | State |+-- | Secondary | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',+-- 'Vulkan.Core10.Handles.PipelineLayout'+cmdSetDescriptorBufferOffsetsEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer in which the descriptor buffer+ -- offsets will be set.+ CommandBuffer+ -> -- | @pipelineBindPoint@ is a+ -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' indicating the+ -- type of the pipeline that will use the descriptors.+ PipelineBindPoint+ -> -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+ -- program the bindings.+ PipelineLayout+ -> -- | @firstSet@ is the number of the first set to be bound.+ ("firstSet" ::: Word32)+ -> -- | @pBufferIndices@ is a pointer to an array of indices into the descriptor+ -- buffer binding points set by 'cmdBindDescriptorBuffersEXT'.+ ("bufferIndices" ::: Vector Word32)+ -> -- | @pOffsets@ is a pointer to an array of+ -- 'Vulkan.Core10.FundamentalTypes.DeviceSize' offsets to apply to the+ -- bound descriptor buffers.+ ("offsets" ::: Vector DeviceSize)+ -> io ()+cmdSetDescriptorBufferOffsetsEXT commandBuffer+ pipelineBindPoint+ layout+ firstSet+ bufferIndices+ offsets = liftIO . evalContT $ do+ let vkCmdSetDescriptorBufferOffsetsEXTPtr = pVkCmdSetDescriptorBufferOffsetsEXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ lift $ unless (vkCmdSetDescriptorBufferOffsetsEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDescriptorBufferOffsetsEXT is null" Nothing Nothing+ let vkCmdSetDescriptorBufferOffsetsEXT' = mkVkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXTPtr+ let pBufferIndicesLength = Data.Vector.length $ (bufferIndices)+ lift $ unless ((Data.Vector.length $ (offsets)) == pBufferIndicesLength) $+ throwIO $ IOError Nothing InvalidArgument "" "pOffsets and pBufferIndices must have the same length" Nothing Nothing+ pPBufferIndices <- ContT $ allocaBytes @Word32 ((Data.Vector.length (bufferIndices)) * 4)+ lift $ Data.Vector.imapM_ (\i e -> poke (pPBufferIndices `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (bufferIndices)+ pPOffsets <- ContT $ allocaBytes @DeviceSize ((Data.Vector.length (offsets)) * 8)+ lift $ Data.Vector.imapM_ (\i e -> poke (pPOffsets `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (offsets)+ lift $ traceAroundEvent "vkCmdSetDescriptorBufferOffsetsEXT" (vkCmdSetDescriptorBufferOffsetsEXT'+ (commandBufferHandle (commandBuffer))+ (pipelineBindPoint)+ (layout)+ (firstSet)+ ((fromIntegral pBufferIndicesLength :: Word32))+ (pPBufferIndices)+ (pPOffsets))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdBindDescriptorBufferEmbeddedSamplersEXT+ :: FunPtr (Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> PipelineBindPoint -> PipelineLayout -> Word32 -> IO ()++-- | vkCmdBindDescriptorBufferEmbeddedSamplersEXT - Setting embedded+-- immutable samplers offsets in a command buffer+--+-- = Description+--+-- 'cmdBindDescriptorBufferEmbeddedSamplersEXT' binds the embedded+-- immutable samplers in @set@ of @layout@ to @set@ for the command buffer+-- for subsequent+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-bindpoint-commands bound pipeline commands>+-- set by @pipelineBindPoint@. Any previous binding to this set by+-- 'cmdSetDescriptorBufferOffsetsEXT' or this command is overwritten. Any+-- sets that were last bound by a call to+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets' are+-- invalidated upon calling this command. Other sets will also be+-- invalidated upon calling this command if @layout@ differs from the+-- pipeline layout used to bind those other sets, as described in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets-compatibility Pipeline Layout Compatibility>.+--+-- == Valid Usage+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+-- feature /must/ be enabled+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069#+-- @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s+-- parent 'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08070# The+-- 'Vulkan.Core10.Handles.DescriptorSetLayout' at index @set@ when+-- @layout@ was created /must/ have been created with the+-- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT'+-- bit set+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08071# @set@+-- /must/ be less than or equal to+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+-- provided when @layout@ was created+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter#+-- @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-parameter#+-- @pipelineBindPoint@ /must/ be a valid+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' value+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-layout-parameter#+-- @layout@ /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout'+-- handle+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-recording#+-- @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-cmdpool#+-- The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics, or compute operations+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-videocoding# This+-- command /must/ only be called outside of a video coding scope+--+-- - #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commonparent#+-- Both of @commandBuffer@, and @layout@ /must/ have been created,+-- allocated, or retrieved from the same 'Vulkan.Core10.Handles.Device'+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================++-- | Primary | Both | Outside | Graphics | State |+-- | Secondary | | | Compute | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',+-- 'Vulkan.Core10.Handles.PipelineLayout'+cmdBindDescriptorBufferEmbeddedSamplersEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer that the embedded immutable+ -- samplers will be bound to.+ CommandBuffer+ -> -- | @pipelineBindPoint@ is a+ -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' indicating the+ -- type of the pipeline that will use the embedded immutable samplers.+ PipelineBindPoint+ -> -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+ -- program the bindings.+ PipelineLayout+ -> -- | @set@ is the number of the set to be bound.+ ("set" ::: Word32)+ -> io ()+cmdBindDescriptorBufferEmbeddedSamplersEXT commandBuffer+ pipelineBindPoint+ layout+ set = liftIO $ do+ let vkCmdBindDescriptorBufferEmbeddedSamplersEXTPtr = pVkCmdBindDescriptorBufferEmbeddedSamplersEXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+ unless (vkCmdBindDescriptorBufferEmbeddedSamplersEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorBufferEmbeddedSamplersEXT is null" Nothing Nothing+ let vkCmdBindDescriptorBufferEmbeddedSamplersEXT' = mkVkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXTPtr+ traceAroundEvent "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" (vkCmdBindDescriptorBufferEmbeddedSamplersEXT'+ (commandBufferHandle (commandBuffer))+ (pipelineBindPoint)+ (layout)+ (set))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetBufferOpaqueCaptureDescriptorDataEXT+ :: FunPtr (Ptr Device_T -> Ptr BufferCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result) -> Ptr Device_T -> Ptr BufferCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result++-- | vkGetBufferOpaqueCaptureDescriptorDataEXT - Get buffer opaque capture+-- descriptor data+--+-- == Valid Usage+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-None-08072# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pData-08073# @pData@+-- /must/ point to a buffer that is at least+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@bufferCaptureReplayDescriptorDataSize@+-- bytes in size+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-device-08074# If+-- @device@ was created with multiple physical devices, then the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pInfo-parameter#+-- @pInfo@ /must/ be a valid pointer to a valid+-- 'BufferCaptureDescriptorDataInfoEXT' structure+--+-- - #VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pData-parameter#+-- @pData@ /must/ be a pointer value+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+-- - 'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'BufferCaptureDescriptorDataInfoEXT', 'Vulkan.Core10.Handles.Device'+getBufferOpaqueCaptureDescriptorDataEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the data.+ Device+ -> -- | @pInfo@ is a pointer to a 'BufferCaptureDescriptorDataInfoEXT' structure+ -- specifying the buffer.+ BufferCaptureDescriptorDataInfoEXT+ -> -- | @pData@ is a pointer to a user-allocated buffer where the data will be+ -- written.+ ("data" ::: Ptr ())+ -> io ()+getBufferOpaqueCaptureDescriptorDataEXT device+ info+ data' = liftIO . evalContT $ do+ let vkGetBufferOpaqueCaptureDescriptorDataEXTPtr = pVkGetBufferOpaqueCaptureDescriptorDataEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetBufferOpaqueCaptureDescriptorDataEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetBufferOpaqueCaptureDescriptorDataEXT is null" Nothing Nothing+ let vkGetBufferOpaqueCaptureDescriptorDataEXT' = mkVkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXTPtr+ pInfo <- ContT $ withCStruct (info)+ r <- lift $ traceAroundEvent "vkGetBufferOpaqueCaptureDescriptorDataEXT" (vkGetBufferOpaqueCaptureDescriptorDataEXT'+ (deviceHandle (device))+ pInfo+ (data'))+ lift $ when (r < SUCCESS) (throwIO (VulkanException r))+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetImageOpaqueCaptureDescriptorDataEXT+ :: FunPtr (Ptr Device_T -> Ptr ImageCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result) -> Ptr Device_T -> Ptr ImageCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result++-- | vkGetImageOpaqueCaptureDescriptorDataEXT - Get image opaque capture+-- descriptor data+--+-- == Valid Usage+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-None-08076# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pData-08077# @pData@+-- /must/ point to a buffer that is at least+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@imageCaptureReplayDescriptorDataSize@+-- bytes in size+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-device-08078# If+-- @device@ was created with multiple physical devices, then the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pInfo-parameter#+-- @pInfo@ /must/ be a valid pointer to a valid+-- 'ImageCaptureDescriptorDataInfoEXT' structure+--+-- - #VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pData-parameter#+-- @pData@ /must/ be a pointer value+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+-- - 'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Device', 'ImageCaptureDescriptorDataInfoEXT'+getImageOpaqueCaptureDescriptorDataEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the data.+ Device+ -> -- | @pInfo@ is a pointer to a 'ImageCaptureDescriptorDataInfoEXT' structure+ -- specifying the image.+ ImageCaptureDescriptorDataInfoEXT+ -> -- | @pData@ is a pointer to a user-allocated buffer where the data will be+ -- written.+ ("data" ::: Ptr ())+ -> io ()+getImageOpaqueCaptureDescriptorDataEXT device+ info+ data' = liftIO . evalContT $ do+ let vkGetImageOpaqueCaptureDescriptorDataEXTPtr = pVkGetImageOpaqueCaptureDescriptorDataEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetImageOpaqueCaptureDescriptorDataEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageOpaqueCaptureDescriptorDataEXT is null" Nothing Nothing+ let vkGetImageOpaqueCaptureDescriptorDataEXT' = mkVkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXTPtr+ pInfo <- ContT $ withCStruct (info)+ r <- lift $ traceAroundEvent "vkGetImageOpaqueCaptureDescriptorDataEXT" (vkGetImageOpaqueCaptureDescriptorDataEXT'+ (deviceHandle (device))+ pInfo+ (data'))+ lift $ when (r < SUCCESS) (throwIO (VulkanException r))+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetImageViewOpaqueCaptureDescriptorDataEXT+ :: FunPtr (Ptr Device_T -> Ptr ImageViewCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result) -> Ptr Device_T -> Ptr ImageViewCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result++-- | vkGetImageViewOpaqueCaptureDescriptorDataEXT - Get image view opaque+-- capture descriptor data+--+-- == Valid Usage+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-None-08080# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pData-08081#+-- @pData@ /must/ point to a buffer that is at least+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@imageViewCaptureReplayDescriptorDataSize@+-- bytes in size+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-device-08082# If+-- @device@ was created with multiple physical devices, then the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pInfo-parameter#+-- @pInfo@ /must/ be a valid pointer to a valid+-- 'ImageViewCaptureDescriptorDataInfoEXT' structure+--+-- - #VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pData-parameter#+-- @pData@ /must/ be a pointer value+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+-- - 'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Device', 'ImageViewCaptureDescriptorDataInfoEXT'+getImageViewOpaqueCaptureDescriptorDataEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the data.+ Device+ -> -- | @pInfo@ is a pointer to a 'ImageViewCaptureDescriptorDataInfoEXT'+ -- structure specifying the image view.+ ImageViewCaptureDescriptorDataInfoEXT+ -> -- | @pData@ is a pointer to a user-allocated buffer where the data will be+ -- written.+ ("data" ::: Ptr ())+ -> io ()+getImageViewOpaqueCaptureDescriptorDataEXT device+ info+ data' = liftIO . evalContT $ do+ let vkGetImageViewOpaqueCaptureDescriptorDataEXTPtr = pVkGetImageViewOpaqueCaptureDescriptorDataEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetImageViewOpaqueCaptureDescriptorDataEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetImageViewOpaqueCaptureDescriptorDataEXT is null" Nothing Nothing+ let vkGetImageViewOpaqueCaptureDescriptorDataEXT' = mkVkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXTPtr+ pInfo <- ContT $ withCStruct (info)+ r <- lift $ traceAroundEvent "vkGetImageViewOpaqueCaptureDescriptorDataEXT" (vkGetImageViewOpaqueCaptureDescriptorDataEXT'+ (deviceHandle (device))+ pInfo+ (data'))+ lift $ when (r < SUCCESS) (throwIO (VulkanException r))+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetSamplerOpaqueCaptureDescriptorDataEXT+ :: FunPtr (Ptr Device_T -> Ptr SamplerCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result) -> Ptr Device_T -> Ptr SamplerCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result++-- | vkGetSamplerOpaqueCaptureDescriptorDataEXT - Get sampler opaque capture+-- descriptor data+--+-- == Valid Usage+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-None-08084# The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pData-08085#+-- @pData@ /must/ point to a buffer that is at least+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@samplerCaptureReplayDescriptorDataSize@+-- bytes in size+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-device-08086# If+-- @device@ was created with multiple physical devices, then the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pInfo-parameter#+-- @pInfo@ /must/ be a valid pointer to a valid+-- 'SamplerCaptureDescriptorDataInfoEXT' structure+--+-- - #VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pData-parameter#+-- @pData@ /must/ be a pointer value+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+-- - 'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Device', 'SamplerCaptureDescriptorDataInfoEXT'+getSamplerOpaqueCaptureDescriptorDataEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the data.+ Device+ -> -- | @pInfo@ is a pointer to a 'SamplerCaptureDescriptorDataInfoEXT'+ -- structure specifying the sampler.+ SamplerCaptureDescriptorDataInfoEXT+ -> -- | @pData@ is a pointer to a user-allocated buffer where the data will be+ -- written.+ ("data" ::: Ptr ())+ -> io ()+getSamplerOpaqueCaptureDescriptorDataEXT device+ info+ data' = liftIO . evalContT $ do+ let vkGetSamplerOpaqueCaptureDescriptorDataEXTPtr = pVkGetSamplerOpaqueCaptureDescriptorDataEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetSamplerOpaqueCaptureDescriptorDataEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetSamplerOpaqueCaptureDescriptorDataEXT is null" Nothing Nothing+ let vkGetSamplerOpaqueCaptureDescriptorDataEXT' = mkVkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXTPtr+ pInfo <- ContT $ withCStruct (info)+ r <- lift $ traceAroundEvent "vkGetSamplerOpaqueCaptureDescriptorDataEXT" (vkGetSamplerOpaqueCaptureDescriptorDataEXT'+ (deviceHandle (device))+ pInfo+ (data'))+ lift $ when (r < SUCCESS) (throwIO (VulkanException r))+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT+ :: FunPtr (Ptr Device_T -> Ptr AccelerationStructureCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result) -> Ptr Device_T -> Ptr AccelerationStructureCaptureDescriptorDataInfoEXT -> Ptr () -> IO Result++-- | vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT - Get+-- acceleration structure opaque capture descriptor data+--+-- == Valid Usage+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-None-08088#+-- The+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pData-08089#+-- @pData@ /must/ point to a buffer that is at least+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@accelerationStructureCaptureReplayDescriptorDataSize@+-- bytes in size+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-device-08090#+-- If @device@ was created with multiple physical devices, then the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-device-parameter#+-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pInfo-parameter#+-- @pInfo@ /must/ be a valid pointer to a valid+-- 'AccelerationStructureCaptureDescriptorDataInfoEXT' structure+--+-- - #VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pData-parameter#+-- @pData@ /must/ be a pointer value+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+-- - 'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+-- - 'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,+-- 'AccelerationStructureCaptureDescriptorDataInfoEXT',+-- 'Vulkan.Core10.Handles.Device'+getAccelerationStructureOpaqueCaptureDescriptorDataEXT :: forall io+ . (MonadIO io)+ => -- | @device@ is the logical device that gets the data.+ Device+ -> -- | @pInfo@ is a pointer to a+ -- 'AccelerationStructureCaptureDescriptorDataInfoEXT' structure specifying+ -- the acceleration structure.+ AccelerationStructureCaptureDescriptorDataInfoEXT+ -> -- | @pData@ is a pointer to a user-allocated buffer where the data will be+ -- written.+ ("data" ::: Ptr ())+ -> io ()+getAccelerationStructureOpaqueCaptureDescriptorDataEXT device+ info+ data' = liftIO . evalContT $ do+ let vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXTPtr = pVkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT (case device of Device{deviceCmds} -> deviceCmds)+ lift $ unless (vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT is null" Nothing Nothing+ let vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT' = mkVkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXTPtr+ pInfo <- ContT $ withCStruct (info)+ r <- lift $ traceAroundEvent "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" (vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT'+ (deviceHandle (device))+ pInfo+ (data'))+ lift $ when (r < SUCCESS) (throwIO (VulkanException r))+++-- | VkPhysicalDeviceDescriptorBufferFeaturesEXT - Structure describing the+-- descriptor buffer features that can be supported by an implementation+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceDescriptorBufferFeaturesEXT' structure is included+-- in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',+-- it is filled in to indicate whether each corresponding feature is+-- supported. 'PhysicalDeviceDescriptorBufferFeaturesEXT' /can/ also be+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to+-- selectively enable these features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceDescriptorBufferFeaturesEXT = PhysicalDeviceDescriptorBufferFeaturesEXT+ { -- | #features-descriptorBuffer# @descriptorBuffer@ indicates that the+ -- implementation supports putting shader-accessible descriptors directly+ -- in memory.+ descriptorBuffer :: Bool+ , -- | #features-descriptorBufferCaptureReplay# @descriptorBufferCaptureReplay@+ -- indicates that the implementation supports capture and replay when using+ -- descriptor buffers. If this is 'Vulkan.Core10.FundamentalTypes.TRUE',+ -- all resources created with+ -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+ -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+ -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+ -- or+ -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+ -- /must/ be created before resources of the same types without those+ -- flags.+ descriptorBufferCaptureReplay :: Bool+ , -- | #features-descriptorBufferImageLayoutIgnored#+ -- @descriptorBufferImageLayoutIgnored@ indicates that the implementation+ -- will ignore @imageLayout@ in+ -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' when calling+ -- 'getDescriptorEXT'.+ descriptorBufferImageLayoutIgnored :: Bool+ , -- | #features-descriptorBufferPushDescriptors#+ -- @descriptorBufferPushDescriptors@ indicates that the implementation+ -- supports using push descriptors with descriptor buffers.+ descriptorBufferPushDescriptors :: Bool+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceDescriptorBufferFeaturesEXT)+#endif+deriving instance Show PhysicalDeviceDescriptorBufferFeaturesEXT++instance ToCStruct PhysicalDeviceDescriptorBufferFeaturesEXT where+ withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceDescriptorBufferFeaturesEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (descriptorBuffer))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (descriptorBufferCaptureReplay))+ poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (descriptorBufferImageLayoutIgnored))+ poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (descriptorBufferPushDescriptors))+ f+ cStructSize = 32+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceDescriptorBufferFeaturesEXT where+ peekCStruct p = do+ descriptorBuffer <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ descriptorBufferCaptureReplay <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+ descriptorBufferImageLayoutIgnored <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))+ descriptorBufferPushDescriptors <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))+ pure $ PhysicalDeviceDescriptorBufferFeaturesEXT+ (bool32ToBool descriptorBuffer)+ (bool32ToBool descriptorBufferCaptureReplay)+ (bool32ToBool descriptorBufferImageLayoutIgnored)+ (bool32ToBool descriptorBufferPushDescriptors)++instance Storable PhysicalDeviceDescriptorBufferFeaturesEXT where+ sizeOf ~_ = 32+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceDescriptorBufferFeaturesEXT where+ zero = PhysicalDeviceDescriptorBufferFeaturesEXT+ zero+ zero+ zero+ zero+++-- | VkPhysicalDeviceDescriptorBufferPropertiesEXT - Structure describing+-- descriptor buffer properties supported by an implementation+--+-- = Description+--+-- A descriptor binding with type+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.DESCRIPTOR_TYPE_MUTABLE_VALVE'+-- has a descriptor size which is implied by the descriptor types included+-- in the+-- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.MutableDescriptorTypeCreateInfoVALVE'::@pDescriptorTypes@+-- list. The descriptor size is equal to the maximum size of any descriptor+-- type included in the @pDescriptorTypes@ list.+--+-- As there is no way to request robust and non-robust descriptors+-- separately, or specify robust\/non-robust descriptors in the set layout,+-- if+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>+-- is enabled then robust descriptors are always used.+--+-- If the 'PhysicalDeviceDescriptorBufferPropertiesEXT' structure is+-- included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceDescriptorBufferPropertiesEXT = PhysicalDeviceDescriptorBufferPropertiesEXT+ { -- | #limits-combinedImageSamplerDescriptorSingleArray#+ -- @combinedImageSamplerDescriptorSingleArray@ indicates that the+ -- implementation does not require an array of+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+ -- descriptors to be written into a descriptor buffer as an array of image+ -- descriptors, immediately followed by an array of sampler descriptors.+ combinedImageSamplerDescriptorSingleArray :: Bool+ , -- | #limits-bufferlessPushDescriptors# @bufferlessPushDescriptors@ indicates+ -- that the implementation does not require a buffer created with+ -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT'+ -- to be bound when using push descriptors.+ bufferlessPushDescriptors :: Bool+ , -- | #limits-allowSamplerImageViewPostSubmitCreation#+ -- @allowSamplerImageViewPostSubmitCreation@ indicates that the+ -- implementation does not restrict when the+ -- 'Vulkan.Core10.Handles.Sampler' or 'Vulkan.Core10.Handles.ImageView'+ -- objects used to retrieve descriptor data /can/ be created in relation to+ -- command buffer submission. If this value is+ -- 'Vulkan.Core10.FundamentalTypes.FALSE', then the application /must/+ -- create any 'Vulkan.Core10.Handles.Sampler' or+ -- 'Vulkan.Core10.Handles.ImageView' objects whose descriptor data is+ -- accessed during the execution of a command buffer, before the+ -- 'Vulkan.Core10.Queue.queueSubmit' , or+ -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.queueSubmit2', call+ -- that submits that command buffer.+ allowSamplerImageViewPostSubmitCreation :: Bool+ , -- | #limits-descriptorBufferOffsetAlignment#+ -- @descriptorBufferOffsetAlignment@ indicates the /required/ alignment in+ -- bytes when setting offsets into the descriptor buffer.+ descriptorBufferOffsetAlignment :: DeviceSize+ , -- | #limits-maxDescriptorBufferBindings# @maxDescriptorBufferBindings@+ -- indicates the maximum sum total number of descriptor buffers and+ -- embedded immutable sampler sets that /can/ be bound.+ maxDescriptorBufferBindings :: Word32+ , -- | #limits-maxResourceDescriptorBufferBindings#+ -- @maxResourceDescriptorBufferBindings@ indicates the maximum number of+ -- resource descriptor buffers that /can/ be bound.+ maxResourceDescriptorBufferBindings :: Word32+ , -- | #limits-maxSamplerDescriptorBufferBindings#+ -- @maxSamplerDescriptorBufferBindings@ indicates the maximum number of+ -- sampler descriptor buffers that /can/ be bound.+ maxSamplerDescriptorBufferBindings :: Word32+ , -- | #limits-maxEmbeddedImmutableSamplerBindings#+ -- @maxEmbeddedImmutableSamplerBindings@ indicates the maximum number of+ -- embedded immutable sampler sets that /can/ be bound.+ maxEmbeddedImmutableSamplerBindings :: Word32+ , -- | #limits-maxEmbeddedImmutableSamplers# @maxEmbeddedImmutableSamplers@+ -- indicates the maximum number of unique immutable samplers in descriptor+ -- set layouts created with+ -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT',+ -- and pipeline layouts created from them, which /can/ simultaneously exist+ -- on a device.+ maxEmbeddedImmutableSamplers :: Word32+ , -- | #limits-bufferCaptureReplayDescriptorDataSize#+ -- @bufferCaptureReplayDescriptorDataSize@ indicates the maximum size in+ -- bytes of the opaque data used for capture and replay with buffers.+ bufferCaptureReplayDescriptorDataSize :: Word64+ , -- | #limits-imageCaptureReplayDescriptorDataSize#+ -- @imageCaptureReplayDescriptorDataSize@ indicates the maximum size in+ -- bytes of the opaque data used for capture and replay with images.+ imageCaptureReplayDescriptorDataSize :: Word64+ , -- | #limits-imageViewCaptureReplayDescriptorDataSize#+ -- @imageViewCaptureReplayDescriptorDataSize@ indicates the maximum size in+ -- bytes of the opaque data used for capture and replay with image views.+ imageViewCaptureReplayDescriptorDataSize :: Word64+ , -- | #limits-samplerCaptureReplayDescriptorDataSize#+ -- @samplerCaptureReplayDescriptorDataSize@ indicates the maximum size in+ -- bytes of the opaque data used for capture and replay with samplers.+ samplerCaptureReplayDescriptorDataSize :: Word64+ , -- | #limits-accelerationStructureCaptureReplayDescriptorDataSize#+ -- @accelerationStructureCaptureReplayDescriptorDataSize@ indicates the+ -- maximum size in bytes of the opaque data used for capture and replay+ -- with acceleration structures.+ accelerationStructureCaptureReplayDescriptorDataSize :: Word64+ , -- | #limits-samplerDescriptorSize# @samplerDescriptorSize@ indicates the+ -- size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER' descriptor.+ samplerDescriptorSize :: Word64+ , -- | #limits-combinedImageSamplerDescriptorSize#+ -- @combinedImageSamplerDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+ -- descriptor.+ combinedImageSamplerDescriptorSize :: Word64+ , -- | #limits-sampledImageDescriptorSize# @sampledImageDescriptorSize@+ -- indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE'+ -- descriptor.+ sampledImageDescriptorSize :: Word64+ , -- | #limits-storageImageDescriptorSize# @storageImageDescriptorSize@+ -- indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE'+ -- descriptor.+ storageImageDescriptorSize :: Word64+ , -- | #limits-uniformTexelBufferDescriptorSize#+ -- @uniformTexelBufferDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is not enabled.+ uniformTexelBufferDescriptorSize :: Word64+ , -- | #limits-robustUniformTexelBufferDescriptorSize#+ -- @robustUniformTexelBufferDescriptorSize@ indicates the size in bytes of+ -- a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is enabled.+ robustUniformTexelBufferDescriptorSize :: Word64+ , -- | #limits-storageTexelBufferDescriptorSize#+ -- @storageTexelBufferDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is not enabled.+ storageTexelBufferDescriptorSize :: Word64+ , -- | #limits-robustStorageTexelBufferDescriptorSize#+ -- @robustStorageTexelBufferDescriptorSize@ indicates the size in bytes of+ -- a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is enabled.+ robustStorageTexelBufferDescriptorSize :: Word64+ , -- | #limits-uniformBufferDescriptorSize# @uniformBufferDescriptorSize@+ -- indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'+ -- descriptor.+ uniformBufferDescriptorSize :: Word64+ , -- | #limits-robustUniformBufferDescriptorSize#+ -- @robustUniformBufferDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is enabled.+ robustUniformBufferDescriptorSize :: Word64+ , -- | #limits-storageBufferDescriptorSize# @storageBufferDescriptorSize@+ -- indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER'+ -- descriptor.+ storageBufferDescriptorSize :: Word64+ , -- | #limits-robustStorageBufferDescriptorSize#+ -- @robustStorageBufferDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER'+ -- descriptor if the+ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>+ -- feature is enabled.+ robustStorageBufferDescriptorSize :: Word64+ , -- | #limits-inputAttachmentDescriptorSize# @inputAttachmentDescriptorSize@+ -- indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT'+ -- descriptor.+ inputAttachmentDescriptorSize :: Word64+ , -- | #limits-accelerationStructureDescriptorSize#+ -- @accelerationStructureDescriptorSize@ indicates the size in bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR'+ -- or+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV'+ -- descriptor.+ accelerationStructureDescriptorSize :: Word64+ , -- | #limits-maxSamplerDescriptorBufferRange#+ -- @maxSamplerDescriptorBufferRange@ indicates the maximum range in bytes+ -- from the address of a sampler descriptor buffer binding that is+ -- accessible to a shader.+ maxSamplerDescriptorBufferRange :: DeviceSize+ , -- | #limits-maxResourceDescriptorBufferRange#+ -- @maxResourceDescriptorBufferRange@ indicates the maximum range in bytes+ -- from the address of a resource descriptor buffer binding that is+ -- accessible to a shader.+ maxResourceDescriptorBufferRange :: DeviceSize+ , -- | #limits-samplerDescriptorBufferAddressSpaceSize#+ -- @samplerDescriptorBufferAddressSpaceSize@ indicates the total size in+ -- bytes of the address space available for descriptor buffers created with+ -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'.+ samplerDescriptorBufferAddressSpaceSize :: DeviceSize+ , -- | #limits-resourceDescriptorBufferAddressSpaceSize#+ -- @resourceDescriptorBufferAddressSpaceSize@ indicates the total size in+ -- bytes of the address space available for descriptor buffers created with+ -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'.+ resourceDescriptorBufferAddressSpaceSize :: DeviceSize+ , -- | #limits-descriptorBufferAddressSpaceSize#+ -- @descriptorBufferAddressSpaceSize@ indicates the total size in bytes of+ -- the address space available for descriptor buffers created with both+ -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'+ -- and+ -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'.+ descriptorBufferAddressSpaceSize :: DeviceSize+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceDescriptorBufferPropertiesEXT)+#endif+deriving instance Show PhysicalDeviceDescriptorBufferPropertiesEXT++instance ToCStruct PhysicalDeviceDescriptorBufferPropertiesEXT where+ withCStruct x f = allocaBytes 256 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceDescriptorBufferPropertiesEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (combinedImageSamplerDescriptorSingleArray))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (bufferlessPushDescriptors))+ poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (allowSamplerImageViewPostSubmitCreation))+ poke ((p `plusPtr` 32 :: Ptr DeviceSize)) (descriptorBufferOffsetAlignment)+ poke ((p `plusPtr` 40 :: Ptr Word32)) (maxDescriptorBufferBindings)+ poke ((p `plusPtr` 44 :: Ptr Word32)) (maxResourceDescriptorBufferBindings)+ poke ((p `plusPtr` 48 :: Ptr Word32)) (maxSamplerDescriptorBufferBindings)+ poke ((p `plusPtr` 52 :: Ptr Word32)) (maxEmbeddedImmutableSamplerBindings)+ poke ((p `plusPtr` 56 :: Ptr Word32)) (maxEmbeddedImmutableSamplers)+ poke ((p `plusPtr` 64 :: Ptr CSize)) (CSize (bufferCaptureReplayDescriptorDataSize))+ poke ((p `plusPtr` 72 :: Ptr CSize)) (CSize (imageCaptureReplayDescriptorDataSize))+ poke ((p `plusPtr` 80 :: Ptr CSize)) (CSize (imageViewCaptureReplayDescriptorDataSize))+ poke ((p `plusPtr` 88 :: Ptr CSize)) (CSize (samplerCaptureReplayDescriptorDataSize))+ poke ((p `plusPtr` 96 :: Ptr CSize)) (CSize (accelerationStructureCaptureReplayDescriptorDataSize))+ poke ((p `plusPtr` 104 :: Ptr CSize)) (CSize (samplerDescriptorSize))+ poke ((p `plusPtr` 112 :: Ptr CSize)) (CSize (combinedImageSamplerDescriptorSize))+ poke ((p `plusPtr` 120 :: Ptr CSize)) (CSize (sampledImageDescriptorSize))+ poke ((p `plusPtr` 128 :: Ptr CSize)) (CSize (storageImageDescriptorSize))+ poke ((p `plusPtr` 136 :: Ptr CSize)) (CSize (uniformTexelBufferDescriptorSize))+ poke ((p `plusPtr` 144 :: Ptr CSize)) (CSize (robustUniformTexelBufferDescriptorSize))+ poke ((p `plusPtr` 152 :: Ptr CSize)) (CSize (storageTexelBufferDescriptorSize))+ poke ((p `plusPtr` 160 :: Ptr CSize)) (CSize (robustStorageTexelBufferDescriptorSize))+ poke ((p `plusPtr` 168 :: Ptr CSize)) (CSize (uniformBufferDescriptorSize))+ poke ((p `plusPtr` 176 :: Ptr CSize)) (CSize (robustUniformBufferDescriptorSize))+ poke ((p `plusPtr` 184 :: Ptr CSize)) (CSize (storageBufferDescriptorSize))+ poke ((p `plusPtr` 192 :: Ptr CSize)) (CSize (robustStorageBufferDescriptorSize))+ poke ((p `plusPtr` 200 :: Ptr CSize)) (CSize (inputAttachmentDescriptorSize))+ poke ((p `plusPtr` 208 :: Ptr CSize)) (CSize (accelerationStructureDescriptorSize))+ poke ((p `plusPtr` 216 :: Ptr DeviceSize)) (maxSamplerDescriptorBufferRange)+ poke ((p `plusPtr` 224 :: Ptr DeviceSize)) (maxResourceDescriptorBufferRange)+ poke ((p `plusPtr` 232 :: Ptr DeviceSize)) (samplerDescriptorBufferAddressSpaceSize)+ poke ((p `plusPtr` 240 :: Ptr DeviceSize)) (resourceDescriptorBufferAddressSpaceSize)+ poke ((p `plusPtr` 248 :: Ptr DeviceSize)) (descriptorBufferAddressSpaceSize)+ f+ cStructSize = 256+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 32 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 40 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 44 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 48 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 52 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 56 :: Ptr Word32)) (zero)+ poke ((p `plusPtr` 64 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 72 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 80 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 88 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 96 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 104 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 112 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 120 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 128 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 136 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 144 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 152 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 160 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 168 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 176 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 184 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 192 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 200 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 208 :: Ptr CSize)) (CSize (zero))+ poke ((p `plusPtr` 216 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 224 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 232 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 240 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 248 :: Ptr DeviceSize)) (zero)+ f++instance FromCStruct PhysicalDeviceDescriptorBufferPropertiesEXT where+ peekCStruct p = do+ combinedImageSamplerDescriptorSingleArray <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ bufferlessPushDescriptors <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+ allowSamplerImageViewPostSubmitCreation <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))+ descriptorBufferOffsetAlignment <- peek @DeviceSize ((p `plusPtr` 32 :: Ptr DeviceSize))+ maxDescriptorBufferBindings <- peek @Word32 ((p `plusPtr` 40 :: Ptr Word32))+ maxResourceDescriptorBufferBindings <- peek @Word32 ((p `plusPtr` 44 :: Ptr Word32))+ maxSamplerDescriptorBufferBindings <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))+ maxEmbeddedImmutableSamplerBindings <- peek @Word32 ((p `plusPtr` 52 :: Ptr Word32))+ maxEmbeddedImmutableSamplers <- peek @Word32 ((p `plusPtr` 56 :: Ptr Word32))+ bufferCaptureReplayDescriptorDataSize <- peek @CSize ((p `plusPtr` 64 :: Ptr CSize))+ imageCaptureReplayDescriptorDataSize <- peek @CSize ((p `plusPtr` 72 :: Ptr CSize))+ imageViewCaptureReplayDescriptorDataSize <- peek @CSize ((p `plusPtr` 80 :: Ptr CSize))+ samplerCaptureReplayDescriptorDataSize <- peek @CSize ((p `plusPtr` 88 :: Ptr CSize))+ accelerationStructureCaptureReplayDescriptorDataSize <- peek @CSize ((p `plusPtr` 96 :: Ptr CSize))+ samplerDescriptorSize <- peek @CSize ((p `plusPtr` 104 :: Ptr CSize))+ combinedImageSamplerDescriptorSize <- peek @CSize ((p `plusPtr` 112 :: Ptr CSize))+ sampledImageDescriptorSize <- peek @CSize ((p `plusPtr` 120 :: Ptr CSize))+ storageImageDescriptorSize <- peek @CSize ((p `plusPtr` 128 :: Ptr CSize))+ uniformTexelBufferDescriptorSize <- peek @CSize ((p `plusPtr` 136 :: Ptr CSize))+ robustUniformTexelBufferDescriptorSize <- peek @CSize ((p `plusPtr` 144 :: Ptr CSize))+ storageTexelBufferDescriptorSize <- peek @CSize ((p `plusPtr` 152 :: Ptr CSize))+ robustStorageTexelBufferDescriptorSize <- peek @CSize ((p `plusPtr` 160 :: Ptr CSize))+ uniformBufferDescriptorSize <- peek @CSize ((p `plusPtr` 168 :: Ptr CSize))+ robustUniformBufferDescriptorSize <- peek @CSize ((p `plusPtr` 176 :: Ptr CSize))+ storageBufferDescriptorSize <- peek @CSize ((p `plusPtr` 184 :: Ptr CSize))+ robustStorageBufferDescriptorSize <- peek @CSize ((p `plusPtr` 192 :: Ptr CSize))+ inputAttachmentDescriptorSize <- peek @CSize ((p `plusPtr` 200 :: Ptr CSize))+ accelerationStructureDescriptorSize <- peek @CSize ((p `plusPtr` 208 :: Ptr CSize))+ maxSamplerDescriptorBufferRange <- peek @DeviceSize ((p `plusPtr` 216 :: Ptr DeviceSize))+ maxResourceDescriptorBufferRange <- peek @DeviceSize ((p `plusPtr` 224 :: Ptr DeviceSize))+ samplerDescriptorBufferAddressSpaceSize <- peek @DeviceSize ((p `plusPtr` 232 :: Ptr DeviceSize))+ resourceDescriptorBufferAddressSpaceSize <- peek @DeviceSize ((p `plusPtr` 240 :: Ptr DeviceSize))+ descriptorBufferAddressSpaceSize <- peek @DeviceSize ((p `plusPtr` 248 :: Ptr DeviceSize))+ pure $ PhysicalDeviceDescriptorBufferPropertiesEXT+ (bool32ToBool combinedImageSamplerDescriptorSingleArray)+ (bool32ToBool bufferlessPushDescriptors)+ (bool32ToBool allowSamplerImageViewPostSubmitCreation)+ descriptorBufferOffsetAlignment+ maxDescriptorBufferBindings+ maxResourceDescriptorBufferBindings+ maxSamplerDescriptorBufferBindings+ maxEmbeddedImmutableSamplerBindings+ maxEmbeddedImmutableSamplers+ (coerce @CSize @Word64 bufferCaptureReplayDescriptorDataSize)+ (coerce @CSize @Word64 imageCaptureReplayDescriptorDataSize)+ (coerce @CSize @Word64 imageViewCaptureReplayDescriptorDataSize)+ (coerce @CSize @Word64 samplerCaptureReplayDescriptorDataSize)+ (coerce @CSize @Word64 accelerationStructureCaptureReplayDescriptorDataSize)+ (coerce @CSize @Word64 samplerDescriptorSize)+ (coerce @CSize @Word64 combinedImageSamplerDescriptorSize)+ (coerce @CSize @Word64 sampledImageDescriptorSize)+ (coerce @CSize @Word64 storageImageDescriptorSize)+ (coerce @CSize @Word64 uniformTexelBufferDescriptorSize)+ (coerce @CSize @Word64 robustUniformTexelBufferDescriptorSize)+ (coerce @CSize @Word64 storageTexelBufferDescriptorSize)+ (coerce @CSize @Word64 robustStorageTexelBufferDescriptorSize)+ (coerce @CSize @Word64 uniformBufferDescriptorSize)+ (coerce @CSize @Word64 robustUniformBufferDescriptorSize)+ (coerce @CSize @Word64 storageBufferDescriptorSize)+ (coerce @CSize @Word64 robustStorageBufferDescriptorSize)+ (coerce @CSize @Word64 inputAttachmentDescriptorSize)+ (coerce @CSize @Word64 accelerationStructureDescriptorSize)+ maxSamplerDescriptorBufferRange+ maxResourceDescriptorBufferRange+ samplerDescriptorBufferAddressSpaceSize+ resourceDescriptorBufferAddressSpaceSize+ descriptorBufferAddressSpaceSize++instance Storable PhysicalDeviceDescriptorBufferPropertiesEXT where+ sizeOf ~_ = 256+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceDescriptorBufferPropertiesEXT where+ zero = PhysicalDeviceDescriptorBufferPropertiesEXT+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+ zero+++-- | VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT - Structure+-- describing descriptor buffer density map properties supported by an+-- implementation+--+-- = Description+--+-- If the 'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT' structure+-- is included in the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',+-- it is filled in with each corresponding implementation-dependent+-- property.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT+ { -- | #limits-combinedImageSamplerDensityMapDescriptorSize#+ -- @combinedImageSamplerDensityMapDescriptorSize@ indicates the size in+ -- bytes of a+ -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+ -- descriptor when creating the descriptor with+ -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT'+ -- set.+ combinedImageSamplerDensityMapDescriptorSize :: Word64 }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT)+#endif+deriving instance Show PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT++instance ToCStruct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr CSize)) (CSize (combinedImageSamplerDensityMapDescriptorSize))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr CSize)) (CSize (zero))+ f++instance FromCStruct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT where+ peekCStruct p = do+ combinedImageSamplerDensityMapDescriptorSize <- peek @CSize ((p `plusPtr` 16 :: Ptr CSize))+ pure $ PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT+ (coerce @CSize @Word64 combinedImageSamplerDensityMapDescriptorSize)++instance Storable PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT where+ zero = PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT+ zero+++-- | VkDescriptorAddressInfoEXT - Structure specifying descriptor buffer+-- address info+--+-- == Valid Usage+--+-- - #VUID-VkDescriptorAddressInfoEXT-address-08043# If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is not enabled, @address@ /must/ not be zero+--+-- - #VUID-VkDescriptorAddressInfoEXT-None-08044# If @address@ is not+-- zero, @address@ /must/ be a valid device address at an offset within+-- a 'Vulkan.Core10.Handles.Buffer'+--+-- - #VUID-VkDescriptorAddressInfoEXT-range-08045# @range@ /must/ be less+-- than or equal to the size of the buffer containing @address@ minus+-- the offset of @address@ from the base address of the buffer+--+-- - #VUID-VkDescriptorAddressInfoEXT-range-08046# @range@ must not be+-- 'Vulkan.Core10.APIConstants.WHOLE_SIZE'+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkDescriptorAddressInfoEXT-sType-sType# @sType@ /must/ be+-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT'+--+-- - #VUID-VkDescriptorAddressInfoEXT-pNext-pNext# @pNext@ /must/ be+-- @NULL@+--+-- - #VUID-VkDescriptorAddressInfoEXT-format-parameter# @format@ /must/+-- be a valid 'Vulkan.Core10.Enums.Format.Format' value+--+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is enabled, @address@ /can/ be zero. Loads from a null+-- descriptor return zero values and stores and atomics to a null+-- descriptor are discarded.+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'DescriptorDataEXT', 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Enums.Format.Format',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data DescriptorAddressInfoEXT = DescriptorAddressInfoEXT+ { -- | @address@ is either @0@ or a device address at an offset in a buffer,+ -- where the base address can be queried from+ -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferDeviceAddress'.+ address :: DeviceAddress+ , -- | @range@ is the size in bytes of the buffer or buffer view used by the+ -- descriptor.+ range :: DeviceSize+ , -- | @format@ is the format of the data elements in the buffer view and is+ -- ignored for buffers.+ format :: Format+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DescriptorAddressInfoEXT)+#endif+deriving instance Show DescriptorAddressInfoEXT++instance ToCStruct DescriptorAddressInfoEXT where+ withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p DescriptorAddressInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr DeviceAddress)) (address)+ poke ((p `plusPtr` 24 :: Ptr DeviceSize)) (range)+ poke ((p `plusPtr` 32 :: Ptr Format)) (format)+ f+ cStructSize = 40+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr DeviceAddress)) (zero)+ poke ((p `plusPtr` 24 :: Ptr DeviceSize)) (zero)+ poke ((p `plusPtr` 32 :: Ptr Format)) (zero)+ f++instance FromCStruct DescriptorAddressInfoEXT where+ peekCStruct p = do+ address <- peek @DeviceAddress ((p `plusPtr` 16 :: Ptr DeviceAddress))+ range <- peek @DeviceSize ((p `plusPtr` 24 :: Ptr DeviceSize))+ format <- peek @Format ((p `plusPtr` 32 :: Ptr Format))+ pure $ DescriptorAddressInfoEXT+ address range format++instance Storable DescriptorAddressInfoEXT where+ sizeOf ~_ = 40+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero DescriptorAddressInfoEXT where+ zero = DescriptorAddressInfoEXT+ zero+ zero+ zero+++-- | VkDescriptorBufferBindingInfoEXT - Structure specifying descriptor+-- buffer binding information+--+-- == Valid Usage+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056#+-- If+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-bufferlessPushDescriptors ::bufferlessPushDescriptors>+-- is 'Vulkan.Core10.FundamentalTypes.FALSE', and @usage@ contains+-- VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, then the+-- @pNext@ chain /must/ include a+-- 'DescriptorBufferBindingPushDescriptorBufferHandleEXT' structure+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-address-08057# @address@+-- /must/ be aligned to+-- 'PhysicalDeviceDescriptorBufferPropertiesEXT'::@descriptorBufferOffsetAlignment@+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-usage-08122# If @usage@+-- includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT',+-- @address@ /must/ be an address within a valid buffer that was+-- created with+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-usage-08123# If @usage@+-- includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT',+-- @address@ /must/ be an address within a valid buffer that was+-- created with+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-usage-08124# If @usage@+-- includes+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT',+-- @address@ /must/ be an address within a valid buffer that was+-- created with+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-sType-sType# @sType@ /must/+-- be+-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT'+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext# @pNext@ /must/+-- be @NULL@ or a pointer to a valid instance of+-- 'DescriptorBufferBindingPushDescriptorBufferHandleEXT'+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-sType-unique# The @sType@+-- value of each struct in the @pNext@ chain /must/ be unique+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-usage-parameter# @usage@+-- /must/ be a valid combination of+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values+--+-- - #VUID-VkDescriptorBufferBindingInfoEXT-usage-requiredbitmask#+-- @usage@ /must/ not be @0@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlags',+-- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdBindDescriptorBuffersEXT'+data DescriptorBufferBindingInfoEXT (es :: [Type]) = DescriptorBufferBindingInfoEXT+ { -- No documentation found for Nested "VkDescriptorBufferBindingInfoEXT" "pNext"+ next :: Chain es+ , -- No documentation found for Nested "VkDescriptorBufferBindingInfoEXT" "address"+ address :: DeviceAddress+ , -- No documentation found for Nested "VkDescriptorBufferBindingInfoEXT" "usage"+ usage :: BufferUsageFlags+ }+ deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DescriptorBufferBindingInfoEXT (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (DescriptorBufferBindingInfoEXT es)++instance Extensible DescriptorBufferBindingInfoEXT where+ extensibleTypeName = "DescriptorBufferBindingInfoEXT"+ setNext DescriptorBufferBindingInfoEXT{..} next' = DescriptorBufferBindingInfoEXT{next = next', ..}+ getNext DescriptorBufferBindingInfoEXT{..} = next+ extends :: forall e b proxy. Typeable e => proxy e -> (Extends DescriptorBufferBindingInfoEXT e => b) -> Maybe b+ extends _ f+ | Just Refl <- eqT @e @DescriptorBufferBindingPushDescriptorBufferHandleEXT = Just f+ | otherwise = Nothing++instance ( Extendss DescriptorBufferBindingInfoEXT es+ , PokeChain es ) => ToCStruct (DescriptorBufferBindingInfoEXT es) where+ withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p DescriptorBufferBindingInfoEXT{..} f = evalContT $ do+ lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT)+ pNext'' <- fmap castPtr . ContT $ withChain (next)+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+ lift $ poke ((p `plusPtr` 16 :: Ptr DeviceAddress)) (address)+ lift $ poke ((p `plusPtr` 24 :: Ptr BufferUsageFlags)) (usage)+ lift $ f+ cStructSize = 32+ cStructAlignment = 8+ pokeZeroCStruct p f = evalContT $ do+ lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT)+ pNext' <- fmap castPtr . ContT $ withZeroChain @es+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+ lift $ poke ((p `plusPtr` 16 :: Ptr DeviceAddress)) (zero)+ lift $ poke ((p `plusPtr` 24 :: Ptr BufferUsageFlags)) (zero)+ lift $ f++instance ( Extendss DescriptorBufferBindingInfoEXT es+ , PeekChain es ) => FromCStruct (DescriptorBufferBindingInfoEXT es) where+ peekCStruct p = do+ pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+ next <- peekChain (castPtr pNext)+ address <- peek @DeviceAddress ((p `plusPtr` 16 :: Ptr DeviceAddress))+ usage <- peek @BufferUsageFlags ((p `plusPtr` 24 :: Ptr BufferUsageFlags))+ pure $ DescriptorBufferBindingInfoEXT+ next address usage++instance es ~ '[] => Zero (DescriptorBufferBindingInfoEXT es) where+ zero = DescriptorBufferBindingInfoEXT+ ()+ zero+ zero+++-- | VkDescriptorBufferBindingPushDescriptorBufferHandleEXT - Structure+-- specifying push descriptor buffer binding information+--+-- == Valid Usage+--+-- - #VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-bufferlessPushDescriptors-08059#+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-bufferlessPushDescriptors ::bufferlessPushDescriptors>+-- /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE'+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data DescriptorBufferBindingPushDescriptorBufferHandleEXT = DescriptorBufferBindingPushDescriptorBufferHandleEXT+ { -- | #VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-buffer-parameter#+ -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle+ buffer :: Buffer }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DescriptorBufferBindingPushDescriptorBufferHandleEXT)+#endif+deriving instance Show DescriptorBufferBindingPushDescriptorBufferHandleEXT++instance ToCStruct DescriptorBufferBindingPushDescriptorBufferHandleEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p DescriptorBufferBindingPushDescriptorBufferHandleEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Buffer)) (buffer)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)+ f++instance FromCStruct DescriptorBufferBindingPushDescriptorBufferHandleEXT where+ peekCStruct p = do+ buffer <- peek @Buffer ((p `plusPtr` 16 :: Ptr Buffer))+ pure $ DescriptorBufferBindingPushDescriptorBufferHandleEXT+ buffer++instance Storable DescriptorBufferBindingPushDescriptorBufferHandleEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero DescriptorBufferBindingPushDescriptorBufferHandleEXT where+ zero = DescriptorBufferBindingPushDescriptorBufferHandleEXT+ zero+++-- | VkDescriptorGetInfoEXT - Structure specifying parameters of descriptor+-- to get+--+-- == Valid Usage+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08018# @type@ /must/ not be+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'+-- or+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08019# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+-- the @pCombinedImageSampler->sampler@ member of @data@ /must/ be a+-- 'Vulkan.Core10.Handles.Sampler' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08020# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+-- the @pCombinedImageSampler->imageView@ member of @data@ /must/ be a+-- 'Vulkan.Core10.Handles.ImageView' created on @device@, or+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08021# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+-- the @pInputAttachmentImage->imageView@ member of @data@ /must/ be a+-- 'Vulkan.Core10.Handles.ImageView' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08022# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',+-- and if @pSampledImage@ is not @NULL@, the @pSampledImage->imageView@+-- member of @data@ /must/ be a 'Vulkan.Core10.Handles.ImageView'+-- created on @device@, or 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08023# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE',+-- and if @pStorageImage@ is not @NULL@, the @pStorageImage->imageView@+-- member of @data@ /must/ be a 'Vulkan.Core10.Handles.ImageView'+-- created on @device@, or 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08024# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER',+-- @pUniformTexelBuffer@ is not @NULL@ and+-- @pUniformTexelBuffer->address@ is not zero,+-- @pUniformTexelBuffer->address@ must be an address within a+-- 'Vulkan.Core10.Handles.Buffer' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08025# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER',+-- @pStorageTexelBuffer@ is not @NULL@ and+-- @pStorageTexelBuffer->address@ is not zero,+-- @pStorageTexelBuffer->address@ must be an address within a+-- 'Vulkan.Core10.Handles.Buffer' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08026# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER',+-- @pUniformBuffer@ is not @NULL@ and @pUniformBuffer->address@ is not+-- zero, @pUniformBuffer->address@ must be an address within a+-- 'Vulkan.Core10.Handles.Buffer' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08027# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER',+-- @pStorageBuffer@ is not @NULL@ and @pStorageBuffer->address@ is not+-- zero, @pStorageBuffer->address@ must be an address within a+-- 'Vulkan.Core10.Handles.Buffer' created on @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08028# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR'+-- and @accelerationStructure@ is not @0@, @accelerationStructure@+-- /must/ contain the address of a+-- 'Vulkan.Extensions.Handles.AccelerationStructureKHR' created on+-- @device@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-08029# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV'+-- and @accelerationStructure@ is not @0@, @accelerationStructure@+-- /must/ contain the handle of a+-- 'Vulkan.Extensions.Handles.AccelerationStructureNV' created on+-- @device@, returned by+-- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureHandleNV'+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkDescriptorGetInfoEXT-sType-sType# @sType@ /must/ be+-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT'+--+-- - #VUID-VkDescriptorGetInfoEXT-pNext-pNext# @pNext@ /must/ be @NULL@+--+-- - #VUID-VkDescriptorGetInfoEXT-type-parameter# @type@ /must/ be a+-- valid 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' value+--+-- - #VUID-VkDescriptorGetInfoEXT-pSampler-parameter# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER', the+-- @pSampler@ member of @data@ /must/ be a valid pointer to a valid+-- 'Vulkan.Core10.Handles.Sampler' handle+--+-- - #VUID-VkDescriptorGetInfoEXT-pCombinedImageSampler-parameter# If+-- @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+-- the @pCombinedImageSampler@ member of @data@ /must/ be a valid+-- pointer to a valid 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo'+-- structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pInputAttachmentImage-parameter# If+-- @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+-- the @pInputAttachmentImage@ member of @data@ /must/ be a valid+-- pointer to a valid 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo'+-- structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pSampledImage-parameter# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',+-- and if @pSampledImage@ is not @NULL@, the @pSampledImage@ member of+-- @data@ /must/ be a valid pointer to a valid+-- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pStorageImage-parameter# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE',+-- and if @pStorageImage@ is not @NULL@, the @pStorageImage@ member of+-- @data@ /must/ be a valid pointer to a valid+-- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pUniformTexelBuffer-parameter# If+-- @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER',+-- and if @pUniformTexelBuffer@ is not @NULL@, the+-- @pUniformTexelBuffer@ member of @data@ /must/ be a valid pointer to+-- a valid 'DescriptorAddressInfoEXT' structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pStorageTexelBuffer-parameter# If+-- @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER',+-- and if @pStorageTexelBuffer@ is not @NULL@, the+-- @pStorageTexelBuffer@ member of @data@ /must/ be a valid pointer to+-- a valid 'DescriptorAddressInfoEXT' structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pUniformBuffer-parameter# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER',+-- and if @pUniformBuffer@ is not @NULL@, the @pUniformBuffer@ member+-- of @data@ /must/ be a valid pointer to a valid+-- 'DescriptorAddressInfoEXT' structure+--+-- - #VUID-VkDescriptorGetInfoEXT-pStorageBuffer-parameter# If @type@ is+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER',+-- and if @pStorageBuffer@ is not @NULL@, the @pStorageBuffer@ member+-- of @data@ /must/ be a valid pointer to a valid+-- 'DescriptorAddressInfoEXT' structure+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'DescriptorDataEXT',+-- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',+-- 'Vulkan.Core10.Enums.StructureType.StructureType', 'getDescriptorEXT'+data DescriptorGetInfoEXT = DescriptorGetInfoEXT+ { -- | @type@ is the type of descriptor to get.+ type' :: DescriptorType+ , -- | @data@ is a structure containing the information needed to get the+ -- descriptor.+ data' :: DescriptorDataEXT+ }+ deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (DescriptorGetInfoEXT)+#endif+deriving instance Show DescriptorGetInfoEXT++instance ToCStruct DescriptorGetInfoEXT where+ withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p DescriptorGetInfoEXT{..} f = evalContT $ do+ lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT)+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorType)) (type')+ ContT $ pokeCStruct ((p `plusPtr` 24 :: Ptr DescriptorDataEXT)) (data') . ($ ())+ lift $ f+ cStructSize = 32+ cStructAlignment = 8+ pokeZeroCStruct p f = evalContT $ do+ lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT)+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorType)) (zero)+ ContT $ pokeCStruct ((p `plusPtr` 24 :: Ptr DescriptorDataEXT)) (zero) . ($ ())+ lift $ f++instance FromCStruct DescriptorGetInfoEXT where+ peekCStruct p = do+ type' <- peek @DescriptorType ((p `plusPtr` 16 :: Ptr DescriptorType))+ data' <- peekDescriptorDataEXT type' ((p `plusPtr` 24 :: Ptr DescriptorDataEXT))+ pure $ DescriptorGetInfoEXT+ type' data'++instance Zero DescriptorGetInfoEXT where+ zero = DescriptorGetInfoEXT+ zero+ zero+++-- | VkBufferCaptureDescriptorDataInfoEXT - Structure specifying a buffer for+-- descriptor capture+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Buffer',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'getBufferOpaqueCaptureDescriptorDataEXT'+data BufferCaptureDescriptorDataInfoEXT = BufferCaptureDescriptorDataInfoEXT+ { -- | @buffer@ is the 'Vulkan.Core10.Handles.Buffer' handle of the buffer to+ -- get opaque capture data for.+ --+ -- #VUID-VkBufferCaptureDescriptorDataInfoEXT-buffer-08075# @buffer@ /must/+ -- have been created with+ -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+ -- set in 'Vulkan.Core10.Buffer.BufferCreateInfo'::@flags@+ --+ -- #VUID-VkBufferCaptureDescriptorDataInfoEXT-buffer-parameter# @buffer@+ -- /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle+ buffer :: Buffer }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (BufferCaptureDescriptorDataInfoEXT)+#endif+deriving instance Show BufferCaptureDescriptorDataInfoEXT++instance ToCStruct BufferCaptureDescriptorDataInfoEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p BufferCaptureDescriptorDataInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Buffer)) (buffer)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Buffer)) (zero)+ f++instance FromCStruct BufferCaptureDescriptorDataInfoEXT where+ peekCStruct p = do+ buffer <- peek @Buffer ((p `plusPtr` 16 :: Ptr Buffer))+ pure $ BufferCaptureDescriptorDataInfoEXT+ buffer++instance Storable BufferCaptureDescriptorDataInfoEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero BufferCaptureDescriptorDataInfoEXT where+ zero = BufferCaptureDescriptorDataInfoEXT+ zero+++-- | VkImageCaptureDescriptorDataInfoEXT - Structure specifying an image for+-- descriptor capture+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Image',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'getImageOpaqueCaptureDescriptorDataEXT'+data ImageCaptureDescriptorDataInfoEXT = ImageCaptureDescriptorDataInfoEXT+ { -- | @image@ is the 'Vulkan.Core10.Handles.Image' handle of the image to get+ -- opaque capture data for.+ --+ -- #VUID-VkImageCaptureDescriptorDataInfoEXT-image-08079# @image@ /must/+ -- have been created with+ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+ -- set in 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@+ --+ -- #VUID-VkImageCaptureDescriptorDataInfoEXT-image-parameter# @image@+ -- /must/ be a valid 'Vulkan.Core10.Handles.Image' handle+ image :: Image }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageCaptureDescriptorDataInfoEXT)+#endif+deriving instance Show ImageCaptureDescriptorDataInfoEXT++instance ToCStruct ImageCaptureDescriptorDataInfoEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p ImageCaptureDescriptorDataInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Image)) (image)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Image)) (zero)+ f++instance FromCStruct ImageCaptureDescriptorDataInfoEXT where+ peekCStruct p = do+ image <- peek @Image ((p `plusPtr` 16 :: Ptr Image))+ pure $ ImageCaptureDescriptorDataInfoEXT+ image++instance Storable ImageCaptureDescriptorDataInfoEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageCaptureDescriptorDataInfoEXT where+ zero = ImageCaptureDescriptorDataInfoEXT+ zero+++-- | VkImageViewCaptureDescriptorDataInfoEXT - Structure specifying an image+-- view for descriptor capture+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.ImageView',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'getImageViewOpaqueCaptureDescriptorDataEXT'+data ImageViewCaptureDescriptorDataInfoEXT = ImageViewCaptureDescriptorDataInfoEXT+ { -- | @imageView@ is the 'Vulkan.Core10.Handles.ImageView' handle of the image+ -- view to get opaque capture data for.+ --+ -- #VUID-VkImageViewCaptureDescriptorDataInfoEXT-imageView-08083#+ -- @imageView@ /must/ have been created with+ -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+ -- set in 'Vulkan.Core10.ImageView.ImageViewCreateInfo'::@flags@+ --+ -- #VUID-VkImageViewCaptureDescriptorDataInfoEXT-imageView-parameter#+ -- @imageView@ /must/ be a valid 'Vulkan.Core10.Handles.ImageView' handle+ imageView :: ImageView }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageViewCaptureDescriptorDataInfoEXT)+#endif+deriving instance Show ImageViewCaptureDescriptorDataInfoEXT++instance ToCStruct ImageViewCaptureDescriptorDataInfoEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p ImageViewCaptureDescriptorDataInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr ImageView)) (imageView)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr ImageView)) (zero)+ f++instance FromCStruct ImageViewCaptureDescriptorDataInfoEXT where+ peekCStruct p = do+ imageView <- peek @ImageView ((p `plusPtr` 16 :: Ptr ImageView))+ pure $ ImageViewCaptureDescriptorDataInfoEXT+ imageView++instance Storable ImageViewCaptureDescriptorDataInfoEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageViewCaptureDescriptorDataInfoEXT where+ zero = ImageViewCaptureDescriptorDataInfoEXT+ zero+++-- | VkSamplerCaptureDescriptorDataInfoEXT - Structure specifying a sampler+-- for descriptor capture+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Handles.Sampler',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'getSamplerOpaqueCaptureDescriptorDataEXT'+data SamplerCaptureDescriptorDataInfoEXT = SamplerCaptureDescriptorDataInfoEXT+ { -- | @sampler@ is the 'Vulkan.Core10.Handles.Sampler' handle of the sampler+ -- to get opaque capture data for.+ --+ -- #VUID-VkSamplerCaptureDescriptorDataInfoEXT-sampler-08087# @sampler@+ -- /must/ have been created with+ -- 'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+ -- set in 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@flags@+ --+ -- #VUID-VkSamplerCaptureDescriptorDataInfoEXT-sampler-parameter# @sampler@+ -- /must/ be a valid 'Vulkan.Core10.Handles.Sampler' handle+ sampler :: Sampler }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (SamplerCaptureDescriptorDataInfoEXT)+#endif+deriving instance Show SamplerCaptureDescriptorDataInfoEXT++instance ToCStruct SamplerCaptureDescriptorDataInfoEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p SamplerCaptureDescriptorDataInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Sampler)) (sampler)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Sampler)) (zero)+ f++instance FromCStruct SamplerCaptureDescriptorDataInfoEXT where+ peekCStruct p = do+ sampler <- peek @Sampler ((p `plusPtr` 16 :: Ptr Sampler))+ pure $ SamplerCaptureDescriptorDataInfoEXT+ sampler++instance Storable SamplerCaptureDescriptorDataInfoEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero SamplerCaptureDescriptorDataInfoEXT where+ zero = SamplerCaptureDescriptorDataInfoEXT+ zero+++-- | VkAccelerationStructureCaptureDescriptorDataInfoEXT - Structure+-- specifying an acceleration structure for descriptor capture+--+-- == Valid Usage+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-08091#+-- If @accelerationStructure@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' then+-- @accelerationStructure@ /must/ have been created with+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- set in+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR'::@createFlags@+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-08092#+-- If @accelerationStructureNV@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' then+-- @accelerationStructureNV@ /must/ have been created with+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- set in+-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV'::info::@flags@+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-08093#+-- If @accelerationStructure@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' then+-- @accelerationStructureNV@ /must/ be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-08094#+-- If @accelerationStructureNV@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' then+-- @accelerationStructure@ /must/ be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- == Valid Usage (Implicit)+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-sType-sType#+-- @sType@ /must/ be+-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT'+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-pNext-pNext#+-- @pNext@ /must/ be @NULL@+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-parameter#+-- If @accelerationStructure@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', @accelerationStructure@+-- /must/ be a valid+-- 'Vulkan.Extensions.Handles.AccelerationStructureKHR' handle+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-parameter#+-- If @accelerationStructureNV@ is not+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', @accelerationStructureNV@+-- /must/ be a valid+-- 'Vulkan.Extensions.Handles.AccelerationStructureNV' handle+--+-- - #VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-commonparent#+-- Both of @accelerationStructure@, and @accelerationStructureNV@ that+-- are valid handles of non-ignored parameters /must/ have been+-- created, allocated, or retrieved from the same+-- 'Vulkan.Core10.Handles.Device'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,+-- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',+-- 'Vulkan.Extensions.Handles.AccelerationStructureNV',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'getAccelerationStructureOpaqueCaptureDescriptorDataEXT'+data AccelerationStructureCaptureDescriptorDataInfoEXT = AccelerationStructureCaptureDescriptorDataInfoEXT+ { -- | @accelerationStructure@ is the+ -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR' handle of the+ -- acceleration structure to get opaque capture data for.+ accelerationStructure :: AccelerationStructureKHR+ , -- | @accelerationStructureNV@ is the+ -- 'Vulkan.Extensions.Handles.AccelerationStructureNV' handle of the+ -- acceleration structure to get opaque capture data for.+ accelerationStructureNV :: AccelerationStructureNV+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (AccelerationStructureCaptureDescriptorDataInfoEXT)+#endif+deriving instance Show AccelerationStructureCaptureDescriptorDataInfoEXT++instance ToCStruct AccelerationStructureCaptureDescriptorDataInfoEXT where+ withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p AccelerationStructureCaptureDescriptorDataInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr AccelerationStructureKHR)) (accelerationStructure)+ poke ((p `plusPtr` 24 :: Ptr AccelerationStructureNV)) (accelerationStructureNV)+ f+ cStructSize = 32+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ f++instance FromCStruct AccelerationStructureCaptureDescriptorDataInfoEXT where+ peekCStruct p = do+ accelerationStructure <- peek @AccelerationStructureKHR ((p `plusPtr` 16 :: Ptr AccelerationStructureKHR))+ accelerationStructureNV <- peek @AccelerationStructureNV ((p `plusPtr` 24 :: Ptr AccelerationStructureNV))+ pure $ AccelerationStructureCaptureDescriptorDataInfoEXT+ accelerationStructure accelerationStructureNV++instance Storable AccelerationStructureCaptureDescriptorDataInfoEXT where+ sizeOf ~_ = 32+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero AccelerationStructureCaptureDescriptorDataInfoEXT where+ zero = AccelerationStructureCaptureDescriptorDataInfoEXT+ zero+ zero+++-- | VkOpaqueCaptureDescriptorDataCreateInfoEXT - Structure specifying opaque+-- capture descriptor data+--+-- = Description+--+-- During replay, opaque descriptor capture data /can/ be specified by+-- adding a 'OpaqueCaptureDescriptorDataCreateInfoEXT' structure to the+-- relevant @pNext@ chain of a 'Vulkan.Core10.Buffer.BufferCreateInfo',+-- 'Vulkan.Core10.Image.ImageCreateInfo',+-- 'Vulkan.Core10.ImageView.ImageViewCreateInfo',+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo',+-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV'+-- or+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR'+-- structure.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data OpaqueCaptureDescriptorDataCreateInfoEXT = OpaqueCaptureDescriptorDataCreateInfoEXT+ { -- | @opaqueCaptureDescriptorData@ is a pointer to a user-allocated buffer+ -- containing opaque capture data retrieved using+ -- 'getBufferOpaqueCaptureDescriptorDataEXT',+ -- 'getImageOpaqueCaptureDescriptorDataEXT',+ -- 'getImageViewOpaqueCaptureDescriptorDataEXT',+ -- 'getSamplerOpaqueCaptureDescriptorDataEXT', or+ -- 'getAccelerationStructureOpaqueCaptureDescriptorDataEXT'.+ --+ -- #VUID-VkOpaqueCaptureDescriptorDataCreateInfoEXT-opaqueCaptureDescriptorData-parameter#+ -- @opaqueCaptureDescriptorData@ /must/ be a pointer value+ opaqueCaptureDescriptorData :: Ptr () }+ deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (OpaqueCaptureDescriptorDataCreateInfoEXT)+#endif+deriving instance Show OpaqueCaptureDescriptorDataCreateInfoEXT++instance ToCStruct OpaqueCaptureDescriptorDataCreateInfoEXT where+ withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p OpaqueCaptureDescriptorDataCreateInfoEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr (Ptr ()))) (opaqueCaptureDescriptorData)+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr (Ptr ()))) (zero)+ f++instance FromCStruct OpaqueCaptureDescriptorDataCreateInfoEXT where+ peekCStruct p = do+ opaqueCaptureDescriptorData <- peek @(Ptr ()) ((p `plusPtr` 16 :: Ptr (Ptr ())))+ pure $ OpaqueCaptureDescriptorDataCreateInfoEXT+ opaqueCaptureDescriptorData++instance Storable OpaqueCaptureDescriptorDataCreateInfoEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero OpaqueCaptureDescriptorDataCreateInfoEXT where+ zero = OpaqueCaptureDescriptorDataCreateInfoEXT+ zero+++data DescriptorDataEXT+ = ASampler Sampler+ | ACombinedImageSampler DescriptorImageInfo+ | AnInputAttachmentImage DescriptorImageInfo+ | ASampledImage (Maybe DescriptorImageInfo)+ | AStorageImage (Maybe DescriptorImageInfo)+ | AnUniformTexelBuffer (Maybe DescriptorAddressInfoEXT)+ | AStorageTexelBuffer (Maybe DescriptorAddressInfoEXT)+ | AnUniformBuffer (Maybe DescriptorAddressInfoEXT)+ | AStorageBuffer (Maybe DescriptorAddressInfoEXT)+ | AnAccelerationStructure DeviceAddress+ deriving (Show)++instance ToCStruct DescriptorDataEXT where+ withCStruct x f = allocaBytes 8 $ \p -> pokeCStruct p x (f p)+ pokeCStruct :: Ptr DescriptorDataEXT -> DescriptorDataEXT -> IO a -> IO a+ pokeCStruct p = (. const) . runContT . \case+ ASampler v -> do+ pSampler <- ContT $ with (v)+ lift $ poke (castPtr @_ @(Ptr Sampler) p) pSampler+ ACombinedImageSampler v -> do+ pCombinedImageSampler <- ContT $ withCStruct (v)+ lift $ poke (castPtr @_ @(Ptr DescriptorImageInfo) p) pCombinedImageSampler+ AnInputAttachmentImage v -> do+ pInputAttachmentImage <- ContT $ withCStruct (v)+ lift $ poke (castPtr @_ @(Ptr DescriptorImageInfo) p) pInputAttachmentImage+ ASampledImage v -> do+ pSampledImage <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorImageInfo) p) pSampledImage+ AStorageImage v -> do+ pStorageImage <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorImageInfo) p) pStorageImage+ AnUniformTexelBuffer v -> do+ pUniformTexelBuffer <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p) pUniformTexelBuffer+ AStorageTexelBuffer v -> do+ pStorageTexelBuffer <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p) pStorageTexelBuffer+ AnUniformBuffer v -> do+ pUniformBuffer <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p) pUniformBuffer+ AStorageBuffer v -> do+ pStorageBuffer <- case (v) of+ Nothing -> pure nullPtr+ Just j -> ContT $ withCStruct (j)+ lift $ poke (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p) pStorageBuffer+ AnAccelerationStructure v -> lift $ poke (castPtr @_ @DeviceAddress p) (v)+ pokeZeroCStruct :: Ptr DescriptorDataEXT -> IO b -> IO b+ pokeZeroCStruct _ f = f+ cStructSize = 8+ cStructAlignment = 8++instance Zero DescriptorDataEXT where+ zero = ASampler zero++peekDescriptorDataEXT :: DescriptorType -> Ptr DescriptorDataEXT -> IO DescriptorDataEXT+peekDescriptorDataEXT tag p = case tag of+ DESCRIPTOR_TYPE_SAMPLER -> ASampler <$> (peek @Sampler =<< peek (castPtr @_ @(Ptr Sampler) p))+ DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER -> ACombinedImageSampler <$> (peekCStruct @DescriptorImageInfo =<< peek (castPtr @_ @(Ptr DescriptorImageInfo) p))+ DESCRIPTOR_TYPE_INPUT_ATTACHMENT -> AnInputAttachmentImage <$> (peekCStruct @DescriptorImageInfo =<< peek (castPtr @_ @(Ptr DescriptorImageInfo) p))+ DESCRIPTOR_TYPE_SAMPLED_IMAGE -> ASampledImage <$> (do+ pSampledImage <- peek @(Ptr DescriptorImageInfo) (castPtr @_ @(Ptr DescriptorImageInfo) p)+ maybePeek (\j -> peekCStruct @DescriptorImageInfo (j)) pSampledImage)+ DESCRIPTOR_TYPE_STORAGE_IMAGE -> AStorageImage <$> (do+ pStorageImage <- peek @(Ptr DescriptorImageInfo) (castPtr @_ @(Ptr DescriptorImageInfo) p)+ maybePeek (\j -> peekCStruct @DescriptorImageInfo (j)) pStorageImage)+ DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER -> AnUniformTexelBuffer <$> (do+ pUniformTexelBuffer <- peek @(Ptr DescriptorAddressInfoEXT) (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p)+ maybePeek (\j -> peekCStruct @DescriptorAddressInfoEXT (j)) pUniformTexelBuffer)+ DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER -> AStorageTexelBuffer <$> (do+ pStorageTexelBuffer <- peek @(Ptr DescriptorAddressInfoEXT) (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p)+ maybePeek (\j -> peekCStruct @DescriptorAddressInfoEXT (j)) pStorageTexelBuffer)+ DESCRIPTOR_TYPE_UNIFORM_BUFFER -> AnUniformBuffer <$> (do+ pUniformBuffer <- peek @(Ptr DescriptorAddressInfoEXT) (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p)+ maybePeek (\j -> peekCStruct @DescriptorAddressInfoEXT (j)) pUniformBuffer)+ DESCRIPTOR_TYPE_STORAGE_BUFFER -> AStorageBuffer <$> (do+ pStorageBuffer <- peek @(Ptr DescriptorAddressInfoEXT) (castPtr @_ @(Ptr DescriptorAddressInfoEXT) p)+ maybePeek (\j -> peekCStruct @DescriptorAddressInfoEXT (j)) pStorageBuffer)+ DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR -> AnAccelerationStructure <$> (peek @DeviceAddress (castPtr @_ @DeviceAddress p))+++type EXT_DESCRIPTOR_BUFFER_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION"+pattern EXT_DESCRIPTOR_BUFFER_SPEC_VERSION :: forall a . Integral a => a+pattern EXT_DESCRIPTOR_BUFFER_SPEC_VERSION = 1+++type EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME = "VK_EXT_descriptor_buffer"++-- No documentation found for TopLevel "VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME"+pattern EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME = "VK_EXT_descriptor_buffer"+
+ src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs-boot view
@@ -0,0 +1,430 @@+{-# 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+-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_descriptor_buffer] @tobski%0A*Here describe the issue or question you have about the VK_EXT_descriptor_buffer extension* >+--+-- [__Extension Proposal__]+-- <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_descriptor_buffer.adoc VK_EXT_descriptor_buffer>+--+-- == 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>+-- 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+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_EXT_descriptor_buffer Vulkan Specification>+--+-- 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+
src/Vulkan/Extensions/VK_EXT_mesh_shader.hs view
@@ -19,7 +19,7 @@ -- -- [__Extension and Version Dependencies__] ----- - Requires support for Vulkan 1.0+-- - Requires support for Vulkan 1.1 -- -- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled -- for any device-level functionality@@ -461,14 +461,46 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksEXT-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawMeshTasksEXT-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawMeshTasksEXT-None-08115# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksEXT-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksEXT-None-08117# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksEXT-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawMeshTasksEXT-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command --@@ -2170,14 +2202,46 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02699# Descriptors in each+-- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08115# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08117# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command --@@ -3870,13 +3934,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02699# Descriptors in+-- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08114# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08115# If the+-- descriptors used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08116# Descriptors in+-- bound descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08117# If the+-- descriptors used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08119# If a descriptor+-- is dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02700# A valid -- pipeline /must/ be bound to the pipeline bind point used by this
src/Vulkan/Extensions/VK_EXT_mesh_shader.hs-boot view
@@ -19,7 +19,7 @@ -- -- [__Extension and Version Dependencies__] ----- - Requires support for Vulkan 1.0+-- - Requires support for Vulkan 1.1 -- -- - Requires @VK_KHR_get_physical_device_properties2@ to be enabled -- for any device-level functionality
src/Vulkan/Extensions/VK_EXT_metal_objects.hs view
@@ -1283,8 +1283,8 @@ -- 'Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo' structure includes -- both 'ImportMetalSharedEventInfoEXT' and -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo',--- the @signaledValue@ property of the imported @MTLSharedEvent@ object--- will be set to @initialValue@ of+-- the @signaledValue@ property of the imported @id\<MTLSharedEvent>@+-- object will be set to @initialValue@ of -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo'. -- -- == Valid Usage (Implicit)
src/Vulkan/Extensions/VK_EXT_multi_draw.hs view
@@ -327,14 +327,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMultiEXT-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawMultiEXT-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawMultiEXT-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiEXT-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiEXT-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiEXT-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawMultiEXT-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command --@@ -2099,13 +2130,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMultiIndexedEXT-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawMultiIndexedEXT-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiIndexedEXT-None-08115# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiIndexedEXT-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiIndexedEXT-None-08117# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMultiIndexedEXT-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDrawMultiIndexedEXT-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -1513,13 +1513,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawIndirectByteCountEXT-None-02699# Descriptors in each+-- - #VUID-vkCmdDrawIndirectByteCountEXT-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectByteCountEXT-None-08115# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectByteCountEXT-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectByteCountEXT-None-08117# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawIndirectByteCountEXT-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDrawIndirectByteCountEXT-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs view
@@ -623,13 +623,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdSubpassShadingHUAWEI-None-02699# Descriptors in each+-- - #VUID-vkCmdSubpassShadingHUAWEI-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdSubpassShadingHUAWEI-None-08115# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdSubpassShadingHUAWEI-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdSubpassShadingHUAWEI-None-08117# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdSubpassShadingHUAWEI-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdSubpassShadingHUAWEI-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -1224,6 +1224,7 @@ , AccelerationStructureCreateFlagsKHR , AccelerationStructureCreateFlagBitsKHR( ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR , ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV+ , ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT , .. ) , CopyAccelerationStructureModeKHR( COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR@@ -1387,6 +1388,7 @@ import Vulkan.Core10.FundamentalTypes (Flags) import Vulkan.Core10.Enums.Format (Format) import Vulkan.Core10.Enums.IndexType (IndexType)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.CStruct.Extends (PokeChain)@@ -6043,15 +6045,31 @@ -- then @flags@ /must/ contain -- 'ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV' --+-- - #VUID-VkAccelerationStructureCreateInfoKHR-createFlags-08108# If+-- @createFlags@ includes+-- 'ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',+-- the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBufferCaptureReplay descriptorBufferCaptureReplay>+-- feature /must/ be enabled+--+-- - #VUID-VkAccelerationStructureCreateInfoKHR-pNext-08109# If the+-- @pNext@ chain includes a+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- structure, @createFlags@ /must/ contain+-- 'ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkAccelerationStructureCreateInfoKHR-sType-sType# @sType@ -- /must/ be -- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR' ----- - #VUID-VkAccelerationStructureCreateInfoKHR-pNext-pNext# @pNext@--- /must/ be @NULL@ or a pointer to a valid instance of+-- - #VUID-VkAccelerationStructureCreateInfoKHR-pNext-pNext# Each @pNext@+-- member of any structure (including this one) in the @pNext@ chain+-- /must/ be either @NULL@ or a pointer to a valid instance of -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInfoNV'+-- or+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT' -- -- - #VUID-VkAccelerationStructureCreateInfoKHR-sType-unique# The @sType@ -- value of each struct in the @pNext@ chain /must/ be unique@@ -6112,6 +6130,7 @@ extends :: forall e b proxy. Typeable e => proxy e -> (Extends AccelerationStructureCreateInfoKHR e => b) -> Maybe b extends _ f | Just Refl <- eqT @e @AccelerationStructureMotionInfoNV = Just f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f | otherwise = Nothing instance ( Extendss AccelerationStructureCreateInfoKHR es@@ -7337,6 +7356,14 @@ -- No documentation found for Nested "VkAccelerationStructureCreateFlagBitsKHR" "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV" pattern ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = AccelerationStructureCreateFlagBitsKHR 0x00000004 +-- | 'ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT'+-- specifies that the acceleration structure /can/ be used with descriptor+-- buffers when capturing and replaying (e.g. for trace capture and+-- replay), see+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT'+-- for more detail.+pattern ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = AccelerationStructureCreateFlagBitsKHR 0x00000008+ conNameAccelerationStructureCreateFlagBitsKHR :: String conNameAccelerationStructureCreateFlagBitsKHR = "AccelerationStructureCreateFlagBitsKHR" @@ -7352,6 +7379,10 @@ , ( ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV , "MOTION_BIT_NV"+ )+ ,+ ( ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT+ , "DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT" ) ]
src/Vulkan/Extensions/VK_KHR_pipeline_library.hs view
@@ -135,6 +135,12 @@ -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT' -- flag set --+-- - #VUID-VkPipelineLibraryCreateInfoKHR-pLibraries-08096# If any+-- element of @pLibraries@ was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- all elements /must/ have been created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+-- -- - #VUID-VkPipelineLibraryCreateInfoKHR-pipeline-07404# If @pipeline@ -- is being created with -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT',
src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs view
@@ -397,13 +397,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdTraceRaysIndirect2KHR-None-02699# Descriptors in each+-- - #VUID-vkCmdTraceRaysIndirect2KHR-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirect2KHR-None-08115# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirect2KHR-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirect2KHR-None-08117# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirect2KHR-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdTraceRaysIndirect2KHR-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -1020,14 +1020,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdTraceRaysKHR-None-02699# Descriptors in each bound+-- - #VUID-vkCmdTraceRaysKHR-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdTraceRaysKHR-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysKHR-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysKHR-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysKHR-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdTraceRaysKHR-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command --@@ -2105,13 +2136,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdTraceRaysIndirectKHR-None-02699# Descriptors in each+-- - #VUID-vkCmdTraceRaysIndirectKHR-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirectKHR-None-08115# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirectKHR-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirectKHR-None-08117# If the descriptors used+-- by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysIndirectKHR-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdTraceRaysIndirectKHR-None-02700# A valid pipeline /must/ -- be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -844,13 +844,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-02699# Descriptors in+-- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-08114# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-08115# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-08116# Descriptors in+-- bound descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-08117# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -472,14 +472,46 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksNV-None-02699# Descriptors in each bound+-- - #VUID-vkCmdDrawMeshTasksNV-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawMeshTasksNV-None-08115# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksNV-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksNV-None-08117# If the descriptors used by+-- the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind+-- point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksNV-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawMeshTasksNV-None-02700# A valid pipeline /must/ be -- bound to the pipeline bind point used by this command --@@ -2154,14 +2186,46 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-02699# Descriptors in each+-- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-08114# Descriptors in each -- bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-08115# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-08116# Descriptors in bound+-- descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-08117# If the descriptors+-- used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline+-- bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-08119# If a descriptor is+-- dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command --@@ -3889,13 +3953,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02699# Descriptors in+-- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08114# Descriptors in -- each bound descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08115# If the+-- descriptors used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08116# Descriptors in+-- bound descriptor buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08117# If the+-- descriptors used by the 'Vulkan.Core10.Handles.Pipeline' bound to+-- the pipeline bind point were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08119# If a descriptor+-- is dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident. -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02700# A valid pipeline -- /must/ be bound to the pipeline bind point used by this command
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -679,6 +679,7 @@ import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryTypeKHR) import Vulkan.Core10.Enums.IndexType (IndexType) import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (MemoryRequirements2KHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_descriptor_buffer (OpaqueCaptureDescriptorDataCreateInfoEXT) import Vulkan.CStruct.Extends (PeekChain) import Vulkan.CStruct.Extends (PeekChain(..)) import Vulkan.Core10.Handles (Pipeline)@@ -859,7 +860,7 @@ unsafe #endif "dynamic" mkVkCreateAccelerationStructureNV- :: FunPtr (Ptr Device_T -> Ptr AccelerationStructureCreateInfoNV -> Ptr AllocationCallbacks -> Ptr AccelerationStructureNV -> IO Result) -> Ptr Device_T -> Ptr AccelerationStructureCreateInfoNV -> Ptr AllocationCallbacks -> Ptr AccelerationStructureNV -> IO Result+ :: FunPtr (Ptr Device_T -> Ptr (SomeStruct AccelerationStructureCreateInfoNV) -> Ptr AllocationCallbacks -> Ptr AccelerationStructureNV -> IO Result) -> Ptr Device_T -> Ptr (SomeStruct AccelerationStructureCreateInfoNV) -> Ptr AllocationCallbacks -> Ptr AccelerationStructureNV -> IO Result -- | vkCreateAccelerationStructureNV - Create a new acceleration structure -- object@@ -911,14 +912,16 @@ -- 'Vulkan.Extensions.Handles.AccelerationStructureNV', -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks', -- 'Vulkan.Core10.Handles.Device'-createAccelerationStructureNV :: forall io- . (MonadIO io)+createAccelerationStructureNV :: forall a io+ . ( Extendss AccelerationStructureCreateInfoNV a+ , PokeChain a+ , MonadIO io ) => -- | @device@ is the logical device that creates the buffer object. Device -> -- | @pCreateInfo@ is a pointer to a 'AccelerationStructureCreateInfoNV' -- structure containing parameters affecting creation of the acceleration -- structure.- AccelerationStructureCreateInfoNV+ (AccelerationStructureCreateInfoNV a) -> -- | @pAllocator@ controls host memory allocation as described in the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#memory-allocation Memory Allocation> -- chapter.@@ -938,7 +941,7 @@ pPAccelerationStructure <- ContT $ bracket (callocBytes @AccelerationStructureNV 8) free r <- lift $ traceAroundEvent "vkCreateAccelerationStructureNV" (vkCreateAccelerationStructureNV' (deviceHandle (device))- pCreateInfo+ (forgetExtensions pCreateInfo) pAllocator (pPAccelerationStructure)) lift $ when (r < SUCCESS) (throwIO (VulkanException r))@@ -953,7 +956,7 @@ -- favourite resource management library) as the last argument. -- To just extract the pair pass '(,)' as the last argument. ---withAccelerationStructureNV :: forall io r . MonadIO io => Device -> AccelerationStructureCreateInfoNV -> Maybe AllocationCallbacks -> (io AccelerationStructureNV -> (AccelerationStructureNV -> io ()) -> r) -> r+withAccelerationStructureNV :: forall a io r . (Extendss AccelerationStructureCreateInfoNV a, PokeChain a, MonadIO io) => Device -> AccelerationStructureCreateInfoNV a -> Maybe AllocationCallbacks -> (io AccelerationStructureNV -> (AccelerationStructureNV -> io ()) -> r) -> r withAccelerationStructureNV device pCreateInfo pAllocator b = b (createAccelerationStructureNV device pCreateInfo pAllocator) (\(o0) -> destroyAccelerationStructureNV device o0 pAllocator)@@ -1823,14 +1826,45 @@ -- create the current 'Vulkan.Core10.Handles.Pipeline', as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???> ----- - #VUID-vkCmdTraceRaysNV-None-02699# Descriptors in each bound+-- - #VUID-vkCmdTraceRaysNV-None-08114# Descriptors in each bound -- descriptor set, specified via -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/--- be valid as described by--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptor-validity descriptor validity>--- if they are statically used by the 'Vulkan.Core10.Handles.Pipeline'--- bound to the pipeline bind point used by this command+-- be valid if they are statically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was not created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --+-- - #VUID-vkCmdTraceRaysNV-None-08115# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', the+-- bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- without+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysNV-None-08116# Descriptors in bound descriptor+-- buffers, specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- /must/ be valid if they are dynamically used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- used by this command and the bound 'Vulkan.Core10.Handles.Pipeline'+-- was created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysNV-None-08117# If the descriptors used by the+-- 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point+-- were specified via+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',+-- the bound 'Vulkan.Core10.Handles.Pipeline' /must/ have been created+-- with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--+-- - #VUID-vkCmdTraceRaysNV-None-08119# If a descriptor is dynamically+-- used with a 'Vulkan.Core10.Handles.Pipeline' created with+-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',+-- the descriptor memory /must/ be resident.+-- -- - #VUID-vkCmdTraceRaysNV-None-02700# A valid pipeline /must/ be bound -- to the pipeline bind point used by this command --@@ -3736,8 +3770,12 @@ -- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV' -- -- - #VUID-VkAccelerationStructureCreateInfoNV-pNext-pNext# @pNext@--- /must/ be @NULL@+-- /must/ be @NULL@ or a pointer to a valid instance of+-- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.OpaqueCaptureDescriptorDataCreateInfoEXT' --+-- - #VUID-VkAccelerationStructureCreateInfoNV-sType-unique# The @sType@+-- value of each struct in the @pNext@ chain /must/ be unique+-- -- - #VUID-VkAccelerationStructureCreateInfoNV-info-parameter# @info@ -- /must/ be a valid 'AccelerationStructureInfoNV' structure --@@ -3748,8 +3786,10 @@ -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'createAccelerationStructureNV'-data AccelerationStructureCreateInfoNV = AccelerationStructureCreateInfoNV- { -- | @compactedSize@ is the size from the result of+data AccelerationStructureCreateInfoNV (es :: [Type]) = AccelerationStructureCreateInfoNV+ { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+ next :: Chain es+ , -- | @compactedSize@ is the size from the result of -- 'cmdWriteAccelerationStructuresPropertiesNV' if this acceleration -- structure is going to be the target of a compacting copy. compactedSize :: DeviceSize@@ -3759,15 +3799,26 @@ } deriving (Typeable) #if defined(GENERIC_INSTANCES)-deriving instance Generic (AccelerationStructureCreateInfoNV)+deriving instance Generic (AccelerationStructureCreateInfoNV (es :: [Type])) #endif-deriving instance Show AccelerationStructureCreateInfoNV+deriving instance Show (Chain es) => Show (AccelerationStructureCreateInfoNV es) -instance ToCStruct AccelerationStructureCreateInfoNV where+instance Extensible AccelerationStructureCreateInfoNV where+ extensibleTypeName = "AccelerationStructureCreateInfoNV"+ setNext AccelerationStructureCreateInfoNV{..} next' = AccelerationStructureCreateInfoNV{next = next', ..}+ getNext AccelerationStructureCreateInfoNV{..} = next+ extends :: forall e b proxy. Typeable e => proxy e -> (Extends AccelerationStructureCreateInfoNV e => b) -> Maybe b+ extends _ f+ | Just Refl <- eqT @e @OpaqueCaptureDescriptorDataCreateInfoEXT = Just f+ | otherwise = Nothing++instance ( Extendss AccelerationStructureCreateInfoNV es+ , PokeChain es ) => ToCStruct (AccelerationStructureCreateInfoNV es) where withCStruct x f = allocaBytes 64 $ \p -> pokeCStruct p x (f p) pokeCStruct p AccelerationStructureCreateInfoNV{..} f = evalContT $ do lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV)- lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ pNext'' <- fmap castPtr . ContT $ withChain (next)+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'' lift $ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (compactedSize) ContT $ pokeCStruct ((p `plusPtr` 24 :: Ptr AccelerationStructureInfoNV)) (info) . ($ ()) lift $ f@@ -3775,20 +3826,25 @@ cStructAlignment = 8 pokeZeroCStruct p f = evalContT $ do lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV)- lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ pNext' <- fmap castPtr . ContT $ withZeroChain @es+ lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext' lift $ poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (zero) ContT $ pokeCStruct ((p `plusPtr` 24 :: Ptr AccelerationStructureInfoNV)) (zero) . ($ ()) lift $ f -instance FromCStruct AccelerationStructureCreateInfoNV where+instance ( Extendss AccelerationStructureCreateInfoNV es+ , PeekChain es ) => FromCStruct (AccelerationStructureCreateInfoNV es) where peekCStruct p = do+ pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+ next <- peekChain (castPtr pNext) compactedSize <- peek @DeviceSize ((p `plusPtr` 16 :: Ptr DeviceSize)) info <- peekCStruct @AccelerationStructureInfoNV ((p `plusPtr` 24 :: Ptr AccelerationStructureInfoNV)) pure $ AccelerationStructureCreateInfoNV- compactedSize info+ next compactedSize info -instance Zero AccelerationStructureCreateInfoNV where+instance es ~ '[] => Zero (AccelerationStructureCreateInfoNV es) where zero = AccelerationStructureCreateInfoNV+ () zero zero
src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot view
@@ -488,12 +488,15 @@ import {-# SOURCE #-} Vulkan.CStruct.Extends (Extendss) import {-# SOURCE #-} Vulkan.CStruct.Extends (PeekChain) import {-# SOURCE #-} Vulkan.CStruct.Extends (PokeChain)-data AccelerationStructureCreateInfoNV+type role AccelerationStructureCreateInfoNV nominal+data AccelerationStructureCreateInfoNV (es :: [Type]) -instance ToCStruct AccelerationStructureCreateInfoNV-instance Show AccelerationStructureCreateInfoNV+instance ( Extendss AccelerationStructureCreateInfoNV es+ , PokeChain es ) => ToCStruct (AccelerationStructureCreateInfoNV es)+instance Show (Chain es) => Show (AccelerationStructureCreateInfoNV es) -instance FromCStruct AccelerationStructureCreateInfoNV+instance ( Extendss AccelerationStructureCreateInfoNV es+ , PeekChain es ) => FromCStruct (AccelerationStructureCreateInfoNV es) data AccelerationStructureInfoNV
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 234+pattern HEADER_VERSION = 235 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 234+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 235 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: vulkan-version: 3.23.4+version: 3.24 synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics@@ -330,6 +330,7 @@ Vulkan.Extensions.VK_EXT_depth_clip_control Vulkan.Extensions.VK_EXT_depth_clip_enable Vulkan.Extensions.VK_EXT_depth_range_unrestricted+ Vulkan.Extensions.VK_EXT_descriptor_buffer Vulkan.Extensions.VK_EXT_descriptor_indexing Vulkan.Extensions.VK_EXT_device_address_binding_report Vulkan.Extensions.VK_EXT_device_fault