packages feed

vulkan 3.26.4 → 3.26.5

raw patch · 138 files changed

+10423/−2145 lines, 138 files

Files

changelog.md view
@@ -1,6 +1,13 @@ # Change Log -## WIP+## [3.26.5] - 2026-03-05++- Bump API version to v1.3.274+- Bump API version to v1.3.275+- Bump API version to v1.3.276+  - A minor breaking change that debugMessage text is now Maybe.+- Bump API version to v1.3.277+  ## [3.26.4] - 2025-05-31 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.26.4"+version: "3.26.5" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
readme.md view
@@ -461,7 +461,21 @@ ## Current Status  All the core Vulkan 1.0, 1.1, 1.2, and 1.3 functionality is here as well as all the-extensions (except the video ones).+extensions, with the exception of the video extensions listed below which are+currently disabled in the generator:++- `VK_KHR_video_queue`+- `VK_KHR_video_decode_queue`+- `VK_KHR_video_encode_queue`+- `VK_KHR_video_decode_av1`+- `VK_KHR_video_decode_h264`, `VK_EXT_video_decode_h264`+- `VK_KHR_video_encode_h264`, `VK_EXT_video_encode_h264`+- `VK_KHR_video_decode_h265`, `VK_EXT_video_decode_h265`+- `VK_KHR_video_encode_h265`, `VK_EXT_video_encode_h265`+- `VK_KHR_video_maintenance1`++The list is maintained in `forceDisabledExtensions` in+[`generate-new/src/Bespoke.hs`](./generate-new/src/Bespoke.hs).  This is currently a 64 bit only library. 
src/Vulkan/CStruct/Extends.hs view
@@ -94,11 +94,14 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (BindAccelerationStructureMemoryInfoNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindBufferMemoryDeviceGroupInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorBufferEmbeddedSamplersInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorSetsInfoKHR) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindImageMemoryDeviceGroupInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (BindImageMemorySwapchainInfoKHR) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (BindImagePlaneMemoryInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindIndexBufferIndirectCommandNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindMemoryStatusKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands_compute (BindPipelineIndirectCommandNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindShaderGroupIndirectCommandNV) import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)@@ -524,6 +527,7 @@ import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_physical_device_drm (PhysicalDeviceDrmPropertiesEXT) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)@@ -582,7 +586,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockProperties)@@ -590,14 +594,16 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_MSFT_layered_driver (PhysicalDeviceLayeredDriverPropertiesMSFT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT) import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceLimits)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5PropertiesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6PropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV)@@ -626,6 +632,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures)@@ -689,19 +696,24 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD) import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX) import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueuePropertiesAMDX)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)@@ -777,7 +789,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_properties (PipelinePropertiesIdentifierEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PipelineRasterizationConservativeStateCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PipelineRasterizationDepthClipStateCreateInfoEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PipelineRasterizationLineStateCreateInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PipelineRasterizationProvokingVertexStateCreateInfoEXT) import {-# SOURCE #-} Vulkan.Core10.Pipeline (PipelineRasterizationStateCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_rasterization_order (PipelineRasterizationStateRasterizationOrderAMD)@@ -811,6 +823,9 @@ import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_private_data (PrivateDataSlotCreateInfo) import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (ProtectedSubmitInfo) import {-# SOURCE #-} Vulkan.Core10.PipelineLayout (PushConstantRange)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushConstantsInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetWithTemplateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency (QueryLowLatencySupportNV) import {-# SOURCE #-} Vulkan.Core10.Query (QueryPoolCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (QueryPoolPerformanceCreateInfoKHR)@@ -848,9 +863,11 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_render_pass_transform (RenderPassTransformBeginInfoQCOM) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (RenderingAreaInfoKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingAttachmentInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering (RenderingFragmentDensityMapAttachmentInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering (RenderingFragmentShadingRateAttachmentInfoKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (ResolveImageInfo2) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (SRTDataNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationEXT)@@ -877,6 +894,7 @@ import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_synchronization2 (SemaphoreSubmitInfo) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreTypeCreateInfo) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreWaitInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (SetDescriptorBufferOffsetsInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency2 (SetLatencyMarkerInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (SetStateFlagsIndirectCommandNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (ShaderCreateInfoEXT)@@ -1096,9 +1114,13 @@   Extends AttachmentDescription2 AttachmentDescriptionStencilLayout = ()   Extends AttachmentReference2 AttachmentReferenceStencilLayout = ()   Extends BindBufferMemoryInfo BindBufferMemoryDeviceGroupInfo = ()+  Extends BindBufferMemoryInfo BindMemoryStatusKHR = ()+  Extends BindDescriptorBufferEmbeddedSamplersInfoEXT PipelineLayoutCreateInfo = ()+  Extends BindDescriptorSetsInfoKHR PipelineLayoutCreateInfo = ()   Extends BindImageMemoryInfo BindImageMemoryDeviceGroupInfo = ()   Extends BindImageMemoryInfo BindImageMemorySwapchainInfoKHR = ()   Extends BindImageMemoryInfo BindImagePlaneMemoryInfo = ()+  Extends BindImageMemoryInfo BindMemoryStatusKHR = ()   Extends BindSparseInfo DeviceGroupBindSparseInfo = ()   Extends BindSparseInfo TimelineSemaphoreSubmitInfo = ()   Extends BindSparseInfo FrameBoundaryEXT = ()@@ -1123,6 +1145,8 @@   Extends CommandBufferInheritanceInfo CommandBufferInheritanceRenderingInfo = ()   Extends CommandBufferInheritanceInfo AttachmentSampleCountInfoAMD = ()   Extends CommandBufferInheritanceInfo MultiviewPerViewAttributesInfoNVX = ()+  Extends CommandBufferInheritanceInfo RenderingAttachmentLocationInfoKHR = ()+  Extends CommandBufferInheritanceInfo RenderingInputAttachmentIndexInfoKHR = ()   Extends CommandBufferSubmitInfo RenderPassStripeSubmitInfoARM = ()   Extends ComputePipelineCreateInfo PipelineCreateFlags2CreateInfoKHR = ()   Extends ComputePipelineCreateInfo PipelineCreationFeedbackCreateInfo = ()@@ -1158,6 +1182,7 @@   Extends DeviceCreateInfo PhysicalDeviceInlineUniformBlockFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceMaintenance4Features = ()   Extends DeviceCreateInfo PhysicalDeviceMaintenance5FeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceMaintenance6FeaturesKHR = ()   Extends DeviceCreateInfo PhysicalDeviceShaderDrawParametersFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceShaderFloat16Int8Features = ()   Extends DeviceCreateInfo PhysicalDeviceHostQueryResetFeatures = ()@@ -1211,7 +1236,7 @@   Extends DeviceCreateInfo PhysicalDeviceCoverageReductionModeFeaturesNV = ()   Extends DeviceCreateInfo PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = ()   Extends DeviceCreateInfo PhysicalDeviceShaderClockFeaturesKHR = ()-  Extends DeviceCreateInfo PhysicalDeviceIndexTypeUint8FeaturesEXT = ()+  Extends DeviceCreateInfo PhysicalDeviceIndexTypeUint8FeaturesKHR = ()   Extends DeviceCreateInfo PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()   Extends DeviceCreateInfo PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()   Extends DeviceCreateInfo PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()@@ -1220,7 +1245,7 @@   Extends DeviceCreateInfo PhysicalDeviceShaderDemoteToHelperInvocationFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()   Extends DeviceCreateInfo PhysicalDeviceSubgroupSizeControlFeatures = ()-  Extends DeviceCreateInfo PhysicalDeviceLineRasterizationFeaturesEXT = ()+  Extends DeviceCreateInfo PhysicalDeviceLineRasterizationFeaturesKHR = ()   Extends DeviceCreateInfo PhysicalDevicePipelineCreationCacheControlFeatures = ()   Extends DeviceCreateInfo PhysicalDeviceVulkan11Features = ()   Extends DeviceCreateInfo PhysicalDeviceVulkan12Features = ()@@ -1314,12 +1339,19 @@   Extends DeviceCreateInfo PhysicalDeviceCubicWeightsFeaturesQCOM = ()   Extends DeviceCreateInfo PhysicalDeviceImageProcessing2FeaturesQCOM = ()   Extends DeviceCreateInfo PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = ()+  Extends DeviceCreateInfo PhysicalDevicePerStageDescriptorSetFeaturesNV = ()   Extends DeviceCreateInfo PhysicalDeviceExternalFormatResolveFeaturesANDROID = ()   Extends DeviceCreateInfo PhysicalDeviceCudaKernelLaunchFeaturesNV = ()   Extends DeviceCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = ()   Extends DeviceCreateInfo PhysicalDeviceSchedulingControlsFeaturesARM = ()   Extends DeviceCreateInfo PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = ()   Extends DeviceCreateInfo PhysicalDeviceRenderPassStripedFeaturesARM = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderSubgroupRotateFeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderExpectAssumeFeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderFloatControls2FeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceShaderQuadControlFeaturesKHR = ()   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = ()   Extends DeviceQueueCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = ()   Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = ()@@ -1354,6 +1386,8 @@   Extends GraphicsPipelineCreateInfo MultiviewPerViewAttributesInfoNVX = ()   Extends GraphicsPipelineCreateInfo GraphicsPipelineLibraryCreateInfoEXT = ()   Extends GraphicsPipelineCreateInfo PipelineRobustnessCreateInfoEXT = ()+  Extends GraphicsPipelineCreateInfo RenderingAttachmentLocationInfoKHR = ()+  Extends GraphicsPipelineCreateInfo RenderingInputAttachmentIndexInfoKHR = ()   Extends ImageBlit2 CopyCommandTransformInfoQCOM = ()   Extends ImageCreateInfo DedicatedAllocationImageCreateInfoNV = ()   Extends ImageCreateInfo ExternalMemoryImageCreateInfoNV = ()@@ -1439,6 +1473,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceInlineUniformBlockFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance4Features = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance5FeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance6FeaturesKHR = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDrawParametersFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloat16Int8Features = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceHostQueryResetFeatures = ()@@ -1490,7 +1525,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceCoverageReductionModeFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderClockFeaturesKHR = ()-  Extends PhysicalDeviceFeatures2 PhysicalDeviceIndexTypeUint8FeaturesEXT = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceIndexTypeUint8FeaturesKHR = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()@@ -1499,7 +1534,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDemoteToHelperInvocationFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceSubgroupSizeControlFeatures = ()-  Extends PhysicalDeviceFeatures2 PhysicalDeviceLineRasterizationFeaturesEXT = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceLineRasterizationFeaturesKHR = ()   Extends PhysicalDeviceFeatures2 PhysicalDevicePipelineCreationCacheControlFeatures = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan11Features = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan12Features = ()@@ -1592,11 +1627,18 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceCubicWeightsFeaturesQCOM = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceImageProcessing2FeaturesQCOM = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = ()+  Extends PhysicalDeviceFeatures2 PhysicalDevicePerStageDescriptorSetFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceExternalFormatResolveFeaturesANDROID = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceCudaKernelLaunchFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceSchedulingControlsFeaturesARM = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceRenderPassStripedFeaturesARM = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderSubgroupRotateFeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderExpectAssumeFeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloatControls2FeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderQuadControlFeaturesKHR = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1623,6 +1665,7 @@   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance3Properties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance4Properties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance5PropertiesKHR = ()+  Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance6PropertiesKHR = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceFloatControlsProperties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceExternalMemoryHostPropertiesEXT = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceConservativeRasterizationPropertiesEXT = ()@@ -1653,7 +1696,7 @@   Extends PhysicalDeviceProperties2 PhysicalDeviceSubgroupSizeControlProperties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceSubpassShadingPropertiesHUAWEI = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceClusterCullingShaderPropertiesHUAWEI = ()-  Extends PhysicalDeviceProperties2 PhysicalDeviceLineRasterizationPropertiesEXT = ()+  Extends PhysicalDeviceProperties2 PhysicalDeviceLineRasterizationPropertiesKHR = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan11Properties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan12Properties = ()   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan13Properties = ()@@ -1705,7 +1748,7 @@   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationConservativeStateCreateInfoEXT = ()   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationStateStreamCreateInfoEXT = ()   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationDepthClipStateCreateInfoEXT = ()-  Extends PipelineRasterizationStateCreateInfo PipelineRasterizationLineStateCreateInfoEXT = ()+  Extends PipelineRasterizationStateCreateInfo PipelineRasterizationLineStateCreateInfoKHR = ()   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationProvokingVertexStateCreateInfoEXT = ()   Extends PipelineRasterizationStateCreateInfo DepthBiasRepresentationInfoEXT = ()   Extends PipelineShaderStageCreateInfo (ShaderModuleCreateInfo '[]) = ()@@ -1732,6 +1775,9 @@   Extends PresentInfoKHR FrameBoundaryEXT = ()   Extends PresentInfoKHR SwapchainPresentFenceInfoEXT = ()   Extends PresentInfoKHR SwapchainPresentModeInfoEXT = ()+  Extends PushConstantsInfoKHR PipelineLayoutCreateInfo = ()+  Extends PushDescriptorSetInfoKHR PipelineLayoutCreateInfo = ()+  Extends PushDescriptorSetWithTemplateInfoKHR PipelineLayoutCreateInfo = ()   Extends QueryPoolCreateInfo QueryPoolPerformanceCreateInfoKHR = ()   Extends QueryPoolCreateInfo QueryPoolPerformanceQueryCreateInfoINTEL = ()   Extends QueueFamilyProperties2 QueueFamilyGlobalPriorityPropertiesKHR = ()@@ -1778,6 +1824,7 @@   Extends SemaphoreCreateInfo ExportMetalObjectCreateInfoEXT = ()   Extends SemaphoreCreateInfo ImportMetalSharedEventInfoEXT = ()   Extends SemaphoreCreateInfo QueryLowLatencySupportNV = ()+  Extends SetDescriptorBufferOffsetsInfoEXT PipelineLayoutCreateInfo = ()   Extends ShaderCreateInfoEXT PipelineShaderStageRequiredSubgroupSizeCreateInfo = ()   Extends ShaderModuleCreateInfo ShaderModuleValidationCacheCreateInfoEXT = ()   Extends SubmitInfo Win32KeyedMutexAcquireReleaseInfoNV = ()@@ -1932,6 +1979,7 @@   STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR -> go @BufferUsageFlags2CreateInfoKHR   STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO -> go @(ShaderModuleCreateInfo '[])   STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR -> go @PipelineCreateFlags2CreateInfoKHR+  STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO -> go @PipelineLayoutCreateInfo   STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR -> go @DisplayPresentInfoKHR   STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT -> go @DebugReportCallbackCreateInfoEXT   STRUCTURE_TYPE_VALIDATION_FLAGS_EXT -> go @ValidationFlagsEXT@@ -2044,6 +2092,8 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES -> go @PhysicalDeviceMaintenance4Properties   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR -> go @PhysicalDeviceMaintenance5FeaturesKHR   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR -> go @PhysicalDeviceMaintenance5PropertiesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR -> go @PhysicalDeviceMaintenance6FeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR -> go @PhysicalDeviceMaintenance6PropertiesKHR   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES -> go @PhysicalDeviceShaderDrawParametersFeatures   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES -> go @PhysicalDeviceShaderFloat16Int8Features   STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES -> go @PhysicalDeviceFloatControlsProperties@@ -2177,7 +2227,7 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL -> go @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL   STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL -> go @QueryPoolPerformanceQueryCreateInfoINTEL   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR -> go @PhysicalDeviceShaderClockFeaturesKHR-  STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT -> go @PhysicalDeviceIndexTypeUint8FeaturesEXT+  STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR -> go @PhysicalDeviceIndexTypeUint8FeaturesKHR   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV -> go @PhysicalDeviceShaderSMBuiltinsPropertiesNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV -> go @PhysicalDeviceShaderSMBuiltinsFeaturesNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT -> go @PhysicalDeviceFragmentShaderInterlockFeaturesEXT@@ -2196,9 +2246,9 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI -> go @PhysicalDeviceSubpassShadingPropertiesHUAWEI   STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI -> go @PhysicalDeviceClusterCullingShaderPropertiesHUAWEI   STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO -> go @MemoryOpaqueCaptureAddressAllocateInfo-  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT -> go @PhysicalDeviceLineRasterizationFeaturesEXT-  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT -> go @PhysicalDeviceLineRasterizationPropertiesEXT-  STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT -> go @PipelineRasterizationLineStateCreateInfoEXT+  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR -> go @PhysicalDeviceLineRasterizationFeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR -> go @PhysicalDeviceLineRasterizationPropertiesKHR+  STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR -> go @PipelineRasterizationLineStateCreateInfoKHR   STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES -> go @PhysicalDevicePipelineCreationCacheControlFeatures   STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES -> go @PhysicalDeviceVulkan11Features   STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES -> go @PhysicalDeviceVulkan11Properties@@ -2401,6 +2451,7 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX -> go @PhysicalDeviceShaderEnqueuePropertiesAMDX   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX -> go @PhysicalDeviceShaderEnqueueFeaturesAMDX   STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX -> go @PipelineShaderStageNodeCreateInfoAMDX+  STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR -> go @BindMemoryStatusKHR   STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM -> go @PhysicalDeviceCubicClampFeaturesQCOM   STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM -> go @PhysicalDeviceYcbcrDegammaFeaturesQCOM   STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM -> go @SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM@@ -2412,6 +2463,7 @@   STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM -> go @SamplerBlockMatchWindowCreateInfoQCOM   STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV -> go @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT -> go @PhysicalDeviceLayeredDriverPropertiesMSFT+  STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV -> go @PhysicalDevicePerStageDescriptorSetFeaturesNV   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID -> go @PhysicalDeviceExternalFormatResolveFeaturesANDROID   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID -> go @PhysicalDeviceExternalFormatResolvePropertiesANDROID   STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID -> go @AndroidHardwareBufferFormatResolvePropertiesANDROID@@ -2428,6 +2480,14 @@   STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM -> go @PhysicalDeviceRenderPassStripedPropertiesARM   STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM -> go @RenderPassStripeBeginInfoARM   STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM -> go @RenderPassStripeSubmitInfoARM+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR -> go @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR -> go @PhysicalDeviceShaderSubgroupRotateFeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR -> go @PhysicalDeviceShaderExpectAssumeFeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR -> go @PhysicalDeviceShaderFloatControls2FeaturesKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR -> go @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+  STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR -> go @RenderingAttachmentLocationInfoKHR+  STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR -> go @RenderingInputAttachmentIndexInfoKHR+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR -> go @PhysicalDeviceShaderQuadControlFeaturesKHR   t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing  where   go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b@@ -2484,6 +2544,7 @@ {-# complete (::&) :: BufferUsageFlags2CreateInfoKHR #-} {-# complete (::&) :: ShaderModuleCreateInfo #-} {-# complete (::&) :: PipelineCreateFlags2CreateInfoKHR #-}+{-# complete (::&) :: PipelineLayoutCreateInfo #-} {-# complete (::&) :: DisplayPresentInfoKHR #-} {-# complete (::&) :: DebugReportCallbackCreateInfoEXT #-} {-# complete (::&) :: ValidationFlagsEXT #-}@@ -2596,6 +2657,8 @@ {-# complete (::&) :: PhysicalDeviceMaintenance4Properties #-} {-# complete (::&) :: PhysicalDeviceMaintenance5FeaturesKHR #-} {-# complete (::&) :: PhysicalDeviceMaintenance5PropertiesKHR #-}+{-# complete (::&) :: PhysicalDeviceMaintenance6FeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceMaintenance6PropertiesKHR #-} {-# complete (::&) :: PhysicalDeviceShaderDrawParametersFeatures #-} {-# complete (::&) :: PhysicalDeviceShaderFloat16Int8Features #-} {-# complete (::&) :: PhysicalDeviceFloatControlsProperties #-}@@ -2729,7 +2792,7 @@ {-# complete (::&) :: PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL #-} {-# complete (::&) :: QueryPoolPerformanceQueryCreateInfoINTEL #-} {-# complete (::&) :: PhysicalDeviceShaderClockFeaturesKHR #-}-{-# complete (::&) :: PhysicalDeviceIndexTypeUint8FeaturesEXT #-}+{-# complete (::&) :: PhysicalDeviceIndexTypeUint8FeaturesKHR #-} {-# complete (::&) :: PhysicalDeviceShaderSMBuiltinsPropertiesNV #-} {-# complete (::&) :: PhysicalDeviceShaderSMBuiltinsFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT #-}@@ -2748,9 +2811,9 @@ {-# complete (::&) :: PhysicalDeviceSubpassShadingPropertiesHUAWEI #-} {-# complete (::&) :: PhysicalDeviceClusterCullingShaderPropertiesHUAWEI #-} {-# complete (::&) :: MemoryOpaqueCaptureAddressAllocateInfo #-}-{-# complete (::&) :: PhysicalDeviceLineRasterizationFeaturesEXT #-}-{-# complete (::&) :: PhysicalDeviceLineRasterizationPropertiesEXT #-}-{-# complete (::&) :: PipelineRasterizationLineStateCreateInfoEXT #-}+{-# complete (::&) :: PhysicalDeviceLineRasterizationFeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceLineRasterizationPropertiesKHR #-}+{-# complete (::&) :: PipelineRasterizationLineStateCreateInfoKHR #-} {-# complete (::&) :: PhysicalDevicePipelineCreationCacheControlFeatures #-} {-# complete (::&) :: PhysicalDeviceVulkan11Features #-} {-# complete (::&) :: PhysicalDeviceVulkan11Properties #-}@@ -2953,6 +3016,7 @@ {-# complete (::&) :: PhysicalDeviceShaderEnqueuePropertiesAMDX #-} {-# complete (::&) :: PhysicalDeviceShaderEnqueueFeaturesAMDX #-} {-# complete (::&) :: PipelineShaderStageNodeCreateInfoAMDX #-}+{-# complete (::&) :: BindMemoryStatusKHR #-} {-# complete (::&) :: PhysicalDeviceCubicClampFeaturesQCOM #-} {-# complete (::&) :: PhysicalDeviceYcbcrDegammaFeaturesQCOM #-} {-# complete (::&) :: SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM #-}@@ -2964,6 +3028,7 @@ {-# complete (::&) :: SamplerBlockMatchWindowCreateInfoQCOM #-} {-# complete (::&) :: PhysicalDeviceDescriptorPoolOverallocationFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceLayeredDriverPropertiesMSFT #-}+{-# complete (::&) :: PhysicalDevicePerStageDescriptorSetFeaturesNV #-} {-# complete (::&) :: PhysicalDeviceExternalFormatResolveFeaturesANDROID #-} {-# complete (::&) :: PhysicalDeviceExternalFormatResolvePropertiesANDROID #-} {-# complete (::&) :: AndroidHardwareBufferFormatResolvePropertiesANDROID #-}@@ -2980,6 +3045,14 @@ {-# complete (::&) :: PhysicalDeviceRenderPassStripedPropertiesARM #-} {-# complete (::&) :: RenderPassStripeBeginInfoARM #-} {-# complete (::&) :: RenderPassStripeSubmitInfoARM #-}+{-# complete (::&) :: PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceShaderSubgroupRotateFeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceShaderExpectAssumeFeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceShaderFloatControls2FeaturesKHR #-}+{-# complete (::&) :: PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR #-}+{-# complete (::&) :: RenderingAttachmentLocationInfoKHR #-}+{-# complete (::&) :: RenderingInputAttachmentIndexInfoKHR #-}+{-# complete (::&) :: PhysicalDeviceShaderQuadControlFeaturesKHR #-}  -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/APIConstants.hs view
@@ -52,6 +52,8 @@                                    , pattern MAX_GLOBAL_PRIORITY_SIZE_KHR                                    , MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT                                    , pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT+                                   , MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR+                                   , pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR                                    , SHADER_INDEX_UNUSED_AMDX                                    , pattern SHADER_INDEX_UNUSED_AMDX                                    , pattern NULL_HANDLE@@ -360,6 +362,13 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_module_identifier VK_EXT_shader_module_identifier> pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: forall a . Integral a => a pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT = 32+++type MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7++-- No documentation found for TopLevel "VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR"+pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR :: forall a . Integral a => a+pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7   type SHADER_INDEX_UNUSED_AMDX = 0xffffffff
src/Vulkan/Core10/Buffer.hs view
@@ -321,6 +321,17 @@ -- -- == Valid Usage --+-- -   #VUID-VkBufferCreateInfo-None-09499# If the @pNext@ chain does not+--     include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must be a valid combination of+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values+--+-- -   #VUID-VkBufferCreateInfo-None-09500# If the @pNext@ chain does not+--     include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must not be 0+-- -- -   #VUID-VkBufferCreateInfo-size-00912# @size@ /must/ be greater than --     @0@ --@@ -419,8 +430,9 @@ -- -- -   #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes --     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or---     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain---     /must/ include a+--     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, and @flags@ does not+--     include @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     the @pNext@ chain /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one@@ -430,8 +442,9 @@ -- -- -   #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes --     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or---     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain---     /must/ include a+--     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, and @flags@ does not+--     include @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     the @pNext@ chain /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one@@ -439,6 +452,11 @@ --     structure with a @videoCodecOperation@ member specifying an encode --     operation --+-- -   #VUID-VkBufferCreateInfo-flags-08325# If @flags@ includes+--     @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-videoMaintenance1 videoMaintenance1>+--     /must/ be enabled+-- -- -   #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or --     equal to --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties'::@maxBufferSize@@@ -490,17 +508,6 @@ --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT' --     or --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'------ -   #VUID-VkBufferCreateInfo-None-09205# If the @pNext@ chain does not---     include a---     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'---     structure, @usage@ must be a valid combination of---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values------ -   #VUID-VkBufferCreateInfo-None-09206# If the @pNext@ chain does not---     include a---     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'---     structure, @usage@ /must/ not be @0@ -- -- == Valid Usage (Implicit) --
src/Vulkan/Core10/CommandBuffer.hs view
@@ -108,6 +108,8 @@ import Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags) import Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits (QueryPipelineStatisticFlags) import Vulkan.Core10.Handles (RenderPass)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.CStruct.Extends (SomeStruct)@@ -756,8 +758,10 @@ --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfo', --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV', --     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR', --     or---     'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX'+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR' -- -- -   #VUID-VkCommandBufferInheritanceInfo-sType-unique# The @sType@ value --     of each struct in the @pNext@ chain /must/ be unique@@ -839,6 +843,8 @@   getNext CommandBufferInheritanceInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends CommandBufferInheritanceInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @RenderingInputAttachmentIndexInfoKHR = Just f+    | Just Refl <- eqT @e @RenderingAttachmentLocationInfoKHR = Just f     | Just Refl <- eqT @e @MultiviewPerViewAttributesInfoNVX = Just f     | Just Refl <- eqT @e @AttachmentSampleCountInfoAMD = Just f     | Just Refl <- eqT @e @CommandBufferInheritanceRenderingInfo = Just f
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -1497,10 +1497,6 @@ --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@ --     provided when @layout@ was created ----- -   #VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361#---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family--- -- -   #VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01971# Each element of --     @pDynamicOffsets@ which corresponds to a descriptor binding with --     type@@ -1518,7 +1514,7 @@ -- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979# For each --     dynamic uniform or storage buffer binding in @pDescriptorSets@, the --     sum of the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#dynamic-effective-offset effective offset>+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#dynamic-effective-offset effective offset> --     and the range of the binding /must/ be less than or equal to the --     size of the buffer --@@ -1534,11 +1530,21 @@ --     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT' --     flag set ----- -   #VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754# If---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary>+-- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-06563# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary> --     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'+--+-- -   #VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361#+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBindDescriptorSets-commandBuffer-parameter#@@ -1665,6 +1671,16 @@  -- | vkCmdBindIndexBuffer - Bind an index buffer to a command buffer --+-- = Description+--+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>+-- feature is enabled, @buffer@ /can/ be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'. If @buffer@ is+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is enabled, every index fetched results in a value of zero.+-- -- == Valid Usage -- -- -   #VUID-vkCmdBindIndexBuffer-offset-08782# @offset@ /must/ be less@@ -1688,17 +1704,26 @@ --     be 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_NONE_KHR' -- -- -   #VUID-vkCmdBindIndexBuffer-indexType-08787# If @indexType@ is---     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', the+--     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-indexTypeUint8 indexTypeUint8> --     feature /must/ be enabled --+-- -   #VUID-vkCmdBindIndexBuffer-None-09493# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, @buffer@ /must/ not be+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- -   #VUID-vkCmdBindIndexBuffer-buffer-09494# If @buffer@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', offset /must/ be zero+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBindIndexBuffer-commandBuffer-parameter# @commandBuffer@ --     /must/ be a valid 'Vulkan.Core10.Handles.CommandBuffer' handle ----- -   #VUID-vkCmdBindIndexBuffer-buffer-parameter# @buffer@ /must/ be a---     valid 'Vulkan.Core10.Handles.Buffer' handle+-- -   #VUID-vkCmdBindIndexBuffer-buffer-parameter# If @buffer@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @buffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.Buffer' handle -- -- -   #VUID-vkCmdBindIndexBuffer-indexType-parameter# @indexType@ /must/ --     be a valid 'Vulkan.Core10.Enums.IndexType.IndexType' value@@ -1715,8 +1740,9 @@ --     called outside of a video coding scope -- -- -   #VUID-vkCmdBindIndexBuffer-commonparent# Both of @buffer@, and---     @commandBuffer@ /must/ have been created, allocated, or retrieved---     from the same 'Vulkan.Core10.Handles.Device'+--     @commandBuffer@ that are valid handles of non-ignored parameters+--     /must/ have been created, allocated, or retrieved from the same+--     'Vulkan.Core10.Handles.Device' -- -- == Host Synchronization --@@ -4315,9 +4341,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08666# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object is bound to any graphics---     stage, and the most recent call to+-- -   #VUID-vkCmdDraw-None-08666# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object is bound to any graphics stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -4328,8 +4354,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08667# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object is bound to the+-- -   #VUID-vkCmdDraw-None-08667# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -4342,9 +4369,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08668# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object that outputs line---     primitives is bound to the+-- -   #VUID-vkCmdDraw-None-08668# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object that outputs line primitives is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -4364,9 +4391,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08669# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object is bound to any graphics---     stage, and the most recent call to+-- -   #VUID-vkCmdDraw-None-08669# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object is bound to any graphics stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -4377,8 +4404,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08670# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object is bound to the+-- -   #VUID-vkCmdDraw-None-08670# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -4391,9 +4419,9 @@ --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08671# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object that outputs line---     primitives is bound to the+-- -   #VUID-vkCmdDraw-None-08671# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object that outputs line primitives is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -4407,15 +4435,15 @@ -- -- -   #VUID-vkCmdDraw-None-07849# If the bound graphics pipeline state was --     created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command ----- -   #VUID-vkCmdDraw-None-08672# If the @VK_EXT_line_rasterization@---     extension is enabled, and a shader object is bound to any graphics---     stage, and the most recent call to+-- -   #VUID-vkCmdDraw-None-08672# If the @VK_KHR_line_rasterization@ or+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader+--     object is bound to any graphics stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -5093,7 +5121,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -5106,7 +5134,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -5119,7 +5147,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -5132,7 +5160,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -5386,6 +5414,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDraw-None-09548# If the current render pass was begun+--     with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDraw-None-09549# If the current render pass was begun+--     with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDraw-commandBuffer-02712# If @commandBuffer@ is a --     protected command buffer and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>@@ -5696,7 +5743,7 @@ -- Subsequent index values are retrieved from consecutive locations in the -- index buffer. Indices are first compared to the primitive restart value, -- then zero extended to 32 bits (if the @indexType@ is--- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT' or+-- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR' or -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT16') and have -- @vertexOffset@ added to them, before being supplied as the @vertexIndex@ -- value.@@ -8101,8 +8148,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -8114,8 +8162,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -8129,8 +8177,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -8151,8 +8200,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -8164,8 +8214,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -8179,8 +8229,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -8194,15 +8245,16 @@ -- -- -   #VUID-vkCmdDrawIndexed-None-07849# If the bound graphics pipeline --     state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndexed-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -8881,7 +8933,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -8894,7 +8946,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -8907,7 +8959,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -8920,7 +8972,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -9176,6 +9228,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndexed-None-09548# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndexed-None-09549# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndexed-commandBuffer-02712# If @commandBuffer@ is a --     protected command buffer and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>@@ -9365,7 +9436,9 @@ --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_EXT' --     stages ----- -   #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound+-- -   #VUID-vkCmdDrawIndexed-None-07312# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, a valid index buffer /must/ be bound -- -- -   #VUID-vkCmdDrawIndexed-robustBufferAccess2-07825# If --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>@@ -11907,8 +11980,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -11920,8 +11994,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -11935,8 +12009,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -11957,8 +12032,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -11970,8 +12046,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -11985,8 +12061,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -12000,15 +12077,16 @@ -- -- -   #VUID-vkCmdDrawIndirect-None-07849# If the bound graphics pipeline --     state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndirect-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -12687,7 +12765,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -12700,7 +12778,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -12713,7 +12791,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -12726,7 +12804,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -12982,6 +13060,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndirect-None-09548# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndirect-None-09549# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndirect-None-04007# All vertex input bindings --     accessed via vertex input variables declared in the vertex shader --     entry point’s interface /must/ have either valid or@@ -15686,8 +15783,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -15699,8 +15797,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -15714,8 +15812,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -15736,8 +15835,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -15749,8 +15849,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -15764,8 +15864,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -15779,15 +15880,16 @@ -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirect-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -16467,7 +16569,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -16480,7 +16582,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -16493,7 +16595,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -16506,7 +16608,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -16767,6 +16869,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndexedIndirect-None-09548# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndexedIndirect-None-09549# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndexedIndirect-None-04007# All vertex input bindings --     accessed via vertex input variables declared in the vertex shader --     entry point’s interface /must/ have either valid or@@ -16957,8 +17078,9 @@ --     be less than or equal to --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxDrawIndirectCount@ ----- -   #VUID-vkCmdDrawIndexedIndirect-None-07312# An index buffer /must/ be---     bound+-- -   #VUID-vkCmdDrawIndexedIndirect-None-07312# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, a valid index buffer /must/ be bound -- -- -   #VUID-vkCmdDrawIndexedIndirect-robustBufferAccess2-07825# If --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>@@ -21174,6 +21296,13 @@ --     instance this is recorded in uses multiview, then @baseArrayLayer@ --     /must/ be zero and @layerCount@ /must/ be one --+-- -   #VUID-vkCmdClearAttachments-colorAttachment-09503# The+--     @colorAttachment@ member of each element of @pAttachments@ /must/+--     not identify a color attachment that is currently mapped to+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' in @commandBuffer@+--     via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'+-- -- -   #VUID-vkCmdClearAttachments-aspectMask-09298# If the subpass this is --     recorded in performs an external format resolve, the @aspectMask@ --     member of any element of @pAttachments@ /must/ not include@@ -22757,7 +22886,7 @@ -- -- -   #VUID-vkCmdPipelineBarrier-dependencyFlags-07891# If --     'cmdPipelineBarrier' is called within a render pass instance, and---     and the source stage masks of any memory barriers include+--     the source stage masks of any memory barriers include --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>, --     then @dependencyFlags@ /must/ include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_BY_REGION_BIT'@@ -22777,22 +22906,41 @@ --     view in the current subpass, dependency flags /must/ include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT' ----- -   #VUID-vkCmdPipelineBarrier-shaderTileImageColorReadAccess-08718# If---     'cmdPipelineBarrier' is called within a render pass instance and---     none of the+-- -   #VUID-vkCmdPipelineBarrier-None-09553# If none of the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageColorReadAccess shaderTileImageColorReadAccess>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>---     features are enabled, the render pass /must/ not have been started---     with+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>,+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>+--     features are enabled, and the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, 'cmdPipelineBarrier' /must/ not be called+--     within a render pass instance started with --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering' ----- -   #VUID-vkCmdPipelineBarrier-None-08719# If 'cmdPipelineBarrier' is+-- -   #VUID-vkCmdPipelineBarrier-None-09554# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, and 'cmdPipelineBarrier' is called within a+--     render pass instance started with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     there /must/ be no buffer or image memory barriers specified by this+--     command+--+-- -   #VUID-vkCmdPipelineBarrier-image-09555# If 'cmdPipelineBarrier' is --     called within a render pass instance started with --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',---     it /must/ adhere to the restrictions in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-explicit-renderpass-tileimage Explicit Render Pass Tile Image Access Synchronization>+--     and the @image@ member of any image memory barrier is used as an+--     attachment in the current render pass instance, it /must/ be in the+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     or 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' layout --+-- -   #VUID-vkCmdPipelineBarrier-srcStageMask-09556# If+--     'cmdPipelineBarrier' is called within a render pass instance started+--     with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     this command /must/ only specify+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>+--     in @srcStageMask@ and @dstStageMask@+-- -- -   #VUID-vkCmdPipelineBarrier-srcStageMask-06461# Any pipeline stage --     included in @srcStageMask@ /must/ be supported by the capabilities --     of the queue family specified by the @queueFamilyIndex@ member of@@ -23089,6 +23237,10 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active> --     queries --+-- -   #VUID-vkCmdBeginQuery-None-08370# If there is a bound video session,+--     then it /must/ not have been created with+--     @VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR@+-- -- -   #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to --     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and --     there is a bound video session, then @queryPool@ /must/ have been@@ -23100,12 +23252,6 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@ --     the bound video session was created with ----- -   #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to---     create @queryPool@ was @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@,---     then the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@---     was allocated from /must/ support---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>--- -- -   #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to --     create @queryPool@ was @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@, --     then there /must/ be a bound video session@@ -23379,10 +23525,6 @@ --     render pass instance, the corresponding 'cmdBeginQuery'* command --     /must/ have been called previously within the same subpass ----- -   #VUID-vkCmdEndQuery-None-07008# If called outside of a render pass---     instance, the corresponding 'cmdBeginQuery'* command /must/ have---     been called outside of a render pass instance--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdEndQuery-commandBuffer-parameter# @commandBuffer@ /must/@@ -23887,6 +24029,11 @@ -- defines specific meaning for values returned here, though -- implementations are free to return other values. --+-- If the status value written is negative, indicating that the operations+-- within the query completed unsuccessfully, then all other results+-- written by this command are undefined unless otherwise specified for any+-- of the results of the used query type.+-- -- Results for any available query written by this command are final and -- represent the final result of the query. If -- 'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_PARTIAL_BIT' is@@ -24484,6 +24631,24 @@ --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' --     usage bit --+-- -   #VUID-vkCmdBeginRenderPass-initialLayout-09537# If any of the+--     @initialLayout@ or @finalLayout@ member of the+--     'Vulkan.Core10.Pass.AttachmentDescription' structures or the+--     @layout@ member of the 'Vulkan.Core10.Pass.AttachmentReference'+--     structures specified when creating the render pass specified in the+--     @renderPass@ member of @pRenderPassBegin@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     then the corresponding attachment image view of the framebuffer+--     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/+--     have been created with a @usage@ value including either+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or+--     both+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+--     and either of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+--     or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBeginRenderPass-commandBuffer-parameter# @commandBuffer@@@ -25333,6 +25498,24 @@ --     each element of @pCommandBuffers@ /must/ not have been recorded with --     'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT' --+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-09504# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     the color attachment mapping state specified by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'+--     in the inheritance info of each element of @pCommandBuffers@ and in+--     the current state of @commandBuffer@ /must/ match+--+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-09505# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     the input attachment mapping state specified by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+--     in the inheritance info of each element of @pCommandBuffers@ and in+--     the current state of @commandBuffer@ /must/ match+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdExecuteCommands-commandBuffer-parameter# @commandBuffer@@@ -26418,7 +26601,10 @@ --     'Vulkan.Extensions.VK_QCOM_multiview_per_view_render_areas.MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM' --     structure included in the @pNext@ chain is not @0@, then --     @renderArea@ /must/ specify a render area that includes the union of---     all per view render areas. If the @pNext@ chain contains a+--     all per view render areas.+--+-- -   #VUID-VkRenderPassBeginInfo-pNext-09539# If the @pNext@ chain+--     contains a --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeBeginInfoARM' --     structure, the union of stripe areas defined by the elements of --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeInfoARM'::@pStripeInfos@
src/Vulkan/Core10/DescriptorSet.hs view
@@ -1525,6 +1525,15 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo' --     to the corresponding immutable sampler --+-- -   #VUID-VkWriteDescriptorSet-descriptorType-09506# If @descriptorType@+--     is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+--     @dstSet@ was allocated with a layout that included immutable+--     samplers for @dstBinding@, and those samplers enable+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,+--     then @imageView@ /must/ not be+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'+-- -- -   #VUID-VkWriteDescriptorSet-descriptorType-00327# If @descriptorType@ --     is --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'@@ -1619,7 +1628,8 @@ --     or --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT', --     the @imageView@ member of each element of @pImageInfo@ /must/ have---     been created with the identity swizzle+--     been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- -   #VUID-VkWriteDescriptorSet-descriptorType-00337# If @descriptorType@ --     is@@ -1742,6 +1752,7 @@ -- 'Vulkan.Core10.Handles.BufferView', 'DescriptorBufferInfo', -- 'DescriptorImageInfo', 'Vulkan.Core10.Handles.DescriptorSet', -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR', -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR', -- 'updateDescriptorSets'@@ -2248,9 +2259,10 @@ --     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+-- -   #VUID-VkDescriptorSetLayoutBinding-descriptorCount-09465# If+--     @descriptorCount@ is not @0@, @stageFlags@ /must/ be+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_ALL' or a+--     valid combination of other --     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values -- -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-01510# If@@ -2270,6 +2282,20 @@ --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_EXT', --     then @pImmutableSamplers@ /must/ be @NULL@ --+-- -   #VUID-VkDescriptorSetLayoutBinding-flags-09466# If+--     'DescriptorSetLayoutCreateInfo'::@flags@ contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',+--     and @descriptorCount@ is not @0@, then @stageFlags@ /must/ be a+--     valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT'+--     and+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT'+--     values+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-parameter#@@ -2402,9 +2428,12 @@ -- -- == Valid Usage ----- -   #VUID-VkDescriptorSetLayoutCreateInfo-binding-00279# The---     'DescriptorSetLayoutBinding'::@binding@ members of the elements of---     the @pBindings@ array /must/ each have different values+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-binding-00279# If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-perStageDescriptorSet perStageDescriptorSet>+--     feature is not enabled, or @flags@ does not contain+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',+--     then the 'DescriptorSetLayoutBinding'::@binding@ members of the+--     elements of the @pBindings@ array /must/ each have different values -- -- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-00280# If @flags@ --     contains@@ -2513,6 +2542,21 @@ --     then @flags@ /must/ not contain --     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE' --+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-09463# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',+--     then+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-perStageDescriptorSet perStageDescriptorSet>+--     /must/ be enabled+--+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-09464# If @flags@+--     contains+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',+--     then there /must/ not be any two elements of the @pBindings@ array+--     with the same 'DescriptorSetLayoutBinding'::@binding@ value and+--     their 'DescriptorSetLayoutBinding'::@stageFlags@ containing the same+--     bit+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkDescriptorSetLayoutCreateInfo-sType-sType# @sType@ /must/ be@@ -2626,6 +2670,12 @@ -- @descriptorCount@ value, as indicated by -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties'::@combinedImageSamplerDescriptorCount@. --+-- For simplicity the application /can/ use the+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR'::@maxCombinedImageSamplerDescriptorCount@+-- property, which is sized to accommodate any and all+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>+-- supported by the implementation.+-- -- == Valid Usage -- -- -   #VUID-VkDescriptorPoolSize-descriptorCount-00302# @descriptorCount@@@ -2973,10 +3023,10 @@ --     is included in the @pNext@ chain, and --     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::@descriptorSetCount@ --     is not zero, then---     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::pDescriptorCounts[i]+--     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::@pDescriptorCounts@[i] --     /must/ be less than or equal to---     'DescriptorSetLayoutBinding'::descriptorCount for the corresponding---     binding used to create @pSetLayouts@[i]+--     'DescriptorSetLayoutBinding'::@descriptorCount@ for the+--     corresponding binding used to create @pSetLayouts@[i] -- -- -   #VUID-VkDescriptorSetAllocateInfo-pSetLayouts-04610# If any element --     of @pSetLayouts@ was created with the
src/Vulkan/Core10/Device.hs view
@@ -131,6 +131,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_displacement_micromap (PhysicalDeviceDisplacementMicromapFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)@@ -164,15 +165,16 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d (PhysicalDeviceImageSlicedViewOf3DFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_invocation_mask (PhysicalDeviceInvocationMaskFeaturesHUAWEI) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mesh_shader (PhysicalDeviceMeshShaderFeaturesEXT)@@ -188,6 +190,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (PhysicalDeviceOpacityMicromapFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR)@@ -229,15 +232,20 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD) import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)@@ -940,6 +948,7 @@ --     'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', --     'Vulkan.Extensions.VK_NV_displacement_micromap.PhysicalDeviceDisplacementMicromapFeaturesNV', --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR', --     'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT', --     'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', --     'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',@@ -972,15 +981,16 @@ --     'Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d.PhysicalDeviceImageSlicedViewOf3DFeaturesEXT', --     'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', --     'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',---     'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',+--     'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR', --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV', --     'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures', --     'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI', --     'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT',---     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR', --     'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features', --     'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR',+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR', --     'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', --     'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', --     'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT',@@ -996,6 +1006,7 @@ --     'Vulkan.Extensions.VK_EXT_opacity_micromap.PhysicalDeviceOpacityMicromapFeaturesEXT', --     'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowFeaturesNV', --     'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',+--     'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV', --     'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', --     'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures', --     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',@@ -1037,15 +1048,20 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', --     'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD', --     'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX',+--     'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR', --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+--     'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR', --     'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', --     'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', --     'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures', --     'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',+--     'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR', --     'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT', --     'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT',+--     'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR', --     'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV', --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',+--     'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR', --     'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR', --     'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures', --     'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',@@ -1064,6 +1080,7 @@ --     'Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures', --     'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesKHR', --     'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT',+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>, --     'Vulkan.Core12.PhysicalDeviceVulkan11Features', --     'Vulkan.Core12.PhysicalDeviceVulkan12Features', --     'Vulkan.Core13.PhysicalDeviceVulkan13Features',@@ -1154,12 +1171,19 @@   getNext DeviceCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceShaderQuadControlFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderFloatControls2FeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderExpectAssumeFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderSubgroupRotateFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceRenderPassStripedFeaturesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f     | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f     | Just Refl <- eqT @e @DeviceQueueShaderCoreControlCreateInfoARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceExternalFormatResolveFeaturesANDROID = Just f+    | Just Refl <- eqT @e @PhysicalDevicePerStageDescriptorSetFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceImageProcessing2FeaturesQCOM = Just f     | Just Refl <- eqT @e @PhysicalDeviceCubicWeightsFeaturesQCOM = Just f@@ -1253,7 +1277,7 @@     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Features = Just f     | Just Refl <- eqT @e @PhysicalDevicePipelineCreationCacheControlFeatures = Just f-    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeatures = Just f@@ -1262,7 +1286,7 @@     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f-    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderClockFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = Just f     | Just Refl <- eqT @e @PhysicalDeviceCoverageReductionModeFeaturesNV = Just f@@ -1316,6 +1340,7 @@     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance6FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeatures = Just f
src/Vulkan/Core10/DeviceInitialization.hs view
@@ -4655,7 +4655,7 @@   , -- | #limits-maxCombinedClipAndCullDistances#     -- @maxCombinedClipAndCullDistances@ is the maximum combined number of clip     -- and cull distances that /can/ be used in a single shader stage. The sum-    -- of the sizes of any pair of arrays declared with the @ClipDistance@ and+    -- of the sizes of all arrays declared with the @ClipDistance@ and     -- @CullDistance@ built-in decoration used by a single shader stage in a     -- shader module /must/ be less than or equal to this limit.     maxCombinedClipAndCullDistances :: Word32
src/Vulkan/Core10/Enums/AttachmentLoadOp.hs view
@@ -3,7 +3,7 @@ module Vulkan.Core10.Enums.AttachmentLoadOp  (AttachmentLoadOp( ATTACHMENT_LOAD_OP_LOAD                                                               , ATTACHMENT_LOAD_OP_CLEAR                                                               , ATTACHMENT_LOAD_OP_DONT_CARE-                                                              , ATTACHMENT_LOAD_OP_NONE_EXT+                                                              , ATTACHMENT_LOAD_OP_NONE_KHR                                                               , ..                                                               )) where @@ -54,16 +54,16 @@ -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_WRITE_BIT'. pattern ATTACHMENT_LOAD_OP_DONT_CARE = AttachmentLoadOp 2 --- | 'ATTACHMENT_LOAD_OP_NONE_EXT' specifies that the previous contents of+-- | 'ATTACHMENT_LOAD_OP_NONE_KHR' specifies that the previous contents of -- the image will be undefined inside the render pass. No access type is -- used as the image is not accessed.-pattern ATTACHMENT_LOAD_OP_NONE_EXT = AttachmentLoadOp 1000400000+pattern ATTACHMENT_LOAD_OP_NONE_KHR = AttachmentLoadOp 1000400000  {-# COMPLETE   ATTACHMENT_LOAD_OP_LOAD   , ATTACHMENT_LOAD_OP_CLEAR   , ATTACHMENT_LOAD_OP_DONT_CARE-  , ATTACHMENT_LOAD_OP_NONE_EXT ::+  , ATTACHMENT_LOAD_OP_NONE_KHR ::     AttachmentLoadOp   #-} @@ -78,7 +78,7 @@   [ (ATTACHMENT_LOAD_OP_LOAD, "LOAD")   , (ATTACHMENT_LOAD_OP_CLEAR, "CLEAR")   , (ATTACHMENT_LOAD_OP_DONT_CARE, "DONT_CARE")-  , (ATTACHMENT_LOAD_OP_NONE_EXT, "NONE_EXT")+  , (ATTACHMENT_LOAD_OP_NONE_KHR, "NONE_KHR")   ]  instance Show AttachmentLoadOp where
src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs view
@@ -1,7 +1,8 @@ {-# language CPP #-} -- No documentation found for Chapter "DescriptorSetLayoutCreateFlagBits" module Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits  ( DescriptorSetLayoutCreateFlags-                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT+                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV+                                                                                                 , DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT@@ -34,6 +35,11 @@ newtype DescriptorSetLayoutCreateFlagBits = DescriptorSetLayoutCreateFlagBits Flags   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits) +-- | 'DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV' specifies that binding+-- numbers in descriptor sets using this layout /may/ represent different+-- resources and\/or types of resources in each stage.+pattern DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = DescriptorSetLayoutCreateFlagBits 0x00000040+ -- | 'DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT' specifies that -- descriptor sets using this layout /must/ be allocated from a descriptor -- pool created with the@@ -93,6 +99,10 @@ showTableDescriptorSetLayoutCreateFlagBits :: [(DescriptorSetLayoutCreateFlagBits, String)] showTableDescriptorSetLayoutCreateFlagBits =   [+    ( DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV+    , "PER_STAGE_BIT_NV"+    )+  ,     ( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT     , "HOST_ONLY_POOL_BIT_EXT"     )
src/Vulkan/Core10/Enums/DynamicState.hs view
@@ -9,6 +9,7 @@                                                       , DYNAMIC_STATE_STENCIL_COMPARE_MASK                                                       , DYNAMIC_STATE_STENCIL_WRITE_MASK                                                       , DYNAMIC_STATE_STENCIL_REFERENCE+                                                      , DYNAMIC_STATE_LINE_STIPPLE_KHR                                                       , DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT                                                       , DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV                                                       , DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV@@ -30,6 +31,7 @@                                                       , DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT                                                       , DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT                                                       , DYNAMIC_STATE_RASTERIZATION_STREAM_EXT+                                                      , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT                                                       , DYNAMIC_STATE_COLOR_WRITE_MASK_EXT                                                       , DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT                                                       , DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT@@ -40,12 +42,10 @@                                                       , DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT                                                       , DYNAMIC_STATE_POLYGON_MODE_EXT                                                       , DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT-                                                      , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT                                                       , DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                                                       , DYNAMIC_STATE_LOGIC_OP_EXT                                                       , DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT                                                       , DYNAMIC_STATE_VERTEX_INPUT_EXT-                                                      , DYNAMIC_STATE_LINE_STIPPLE_EXT                                                       , DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR                                                       , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                                                       , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV@@ -126,7 +126,7 @@ -- the @depthBiasConstantFactor@, @depthBiasClamp@ and -- @depthBiasSlopeFactor@ states in -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' will be--- ignored and /must/ be set dynamically with either+-- ignored and /must/ be set dynamically with -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBias' or -- 'Vulkan.Extensions.VK_EXT_depth_bias_control.cmdSetDepthBias2EXT' before -- any draws are performed with@@ -181,6 +181,9 @@ -- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_STENCIL_REFERENCE = DynamicState 8 +-- No documentation found for Nested "VkDynamicState" "VK_DYNAMIC_STATE_LINE_STIPPLE_KHR"+pattern DYNAMIC_STATE_LINE_STIPPLE_KHR = DynamicState 1000259000+ -- | 'DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT' specifies that the -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' -- and@@ -280,7 +283,7 @@  -- | 'DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT' specifies that the -- @stippledLineEnable@ state in--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR' -- will be ignored and /must/ be set dynamically with -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT' -- before any draw call.@@ -288,7 +291,7 @@  -- | 'DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT' specifies that the -- @lineRasterizationMode@ state in--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR' -- will be ignored and /must/ be set dynamically with -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT' -- before any draw call.@@ -352,6 +355,14 @@ -- before any draw call. pattern DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = DynamicState 1000455013 +-- | 'DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT' specifies that the+-- @domainOrigin@ state in+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo'+-- will be ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetTessellationDomainOriginEXT'+-- before any draw call.+pattern DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = DynamicState 1000455002+ -- | 'DYNAMIC_STATE_COLOR_WRITE_MASK_EXT' specifies that the @colorWriteMask@ -- state in 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState' will -- be ignored and /must/ be set dynamically with@@ -428,14 +439,6 @@ -- before any draw call. pattern DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = DynamicState 1000455003 --- | 'DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT' specifies that the--- @domainOrigin@ state in--- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo'--- will be ignored and /must/ be set dynamically with--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetTessellationDomainOriginEXT'--- before any draw call.-pattern DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = DynamicState 1000455002- -- | 'DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT' specifies that the -- @pColorWriteEnables@ state in -- 'Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT'@@ -465,17 +468,6 @@ -- before any drawing commands pattern DYNAMIC_STATE_VERTEX_INPUT_EXT = DynamicState 1000352000 --- | 'DYNAMIC_STATE_LINE_STIPPLE_EXT' specifies that the @lineStippleFactor@--- and @lineStipplePattern@ state in--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'--- will be ignored and /must/ be set dynamically with--- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'--- before any draws are performed with a pipeline state with--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'--- member @stippledLineEnable@ set to--- 'Vulkan.Core10.FundamentalTypes.TRUE'.-pattern DYNAMIC_STATE_LINE_STIPPLE_EXT = DynamicState 1000259000- -- | 'DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR' specifies that state in -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR' -- and@@ -495,8 +487,8 @@ -- before any drawing commands. pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = DynamicState 1000205001 --- | 'DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV' specifies that the the--- exclusive scissors /must/ be explicitly enabled with+-- | 'DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV' specifies that the exclusive+-- scissors /must/ be explicitly enabled with -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorEnableNV' -- and the @exclusiveScissorCount@ value in -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV'@@ -707,6 +699,7 @@   , DYNAMIC_STATE_STENCIL_COMPARE_MASK   , DYNAMIC_STATE_STENCIL_WRITE_MASK   , DYNAMIC_STATE_STENCIL_REFERENCE+  , DYNAMIC_STATE_LINE_STIPPLE_KHR   , DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT   , DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV   , DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV@@ -728,6 +721,7 @@   , DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT   , DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT   , DYNAMIC_STATE_RASTERIZATION_STREAM_EXT+  , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT   , DYNAMIC_STATE_COLOR_WRITE_MASK_EXT   , DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT   , DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT@@ -738,12 +732,10 @@   , DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT   , DYNAMIC_STATE_POLYGON_MODE_EXT   , DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT-  , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT   , DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT   , DYNAMIC_STATE_LOGIC_OP_EXT   , DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT   , DYNAMIC_STATE_VERTEX_INPUT_EXT-  , DYNAMIC_STATE_LINE_STIPPLE_EXT   , DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR   , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV   , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV@@ -796,6 +788,7 @@     , "STENCIL_WRITE_MASK"     )   , (DYNAMIC_STATE_STENCIL_REFERENCE, "STENCIL_REFERENCE")+  , (DYNAMIC_STATE_LINE_STIPPLE_KHR, "LINE_STIPPLE_KHR")   ,     ( DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT     , "ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT"@@ -881,6 +874,10 @@     , "RASTERIZATION_STREAM_EXT"     )   ,+    ( DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT+    , "TESSELLATION_DOMAIN_ORIGIN_EXT"+    )+  ,     ( DYNAMIC_STATE_COLOR_WRITE_MASK_EXT     , "COLOR_WRITE_MASK_EXT"     )@@ -915,10 +912,6 @@     , "DEPTH_CLAMP_ENABLE_EXT"     )   ,-    ( DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT-    , "TESSELLATION_DOMAIN_ORIGIN_EXT"-    )-  ,     ( DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT     , "COLOR_WRITE_ENABLE_EXT"     )@@ -928,7 +921,6 @@     , "PATCH_CONTROL_POINTS_EXT"     )   , (DYNAMIC_STATE_VERTEX_INPUT_EXT, "VERTEX_INPUT_EXT")-  , (DYNAMIC_STATE_LINE_STIPPLE_EXT, "LINE_STIPPLE_EXT")   ,     ( DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR     , "FRAGMENT_SHADING_RATE_KHR"
src/Vulkan/Core10/Enums/ImageLayout.hs view
@@ -10,6 +10,7 @@                                                     , IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                                                     , IMAGE_LAYOUT_PREINITIALIZED                                                     , IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT+                                                    , IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR                                                     , IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR                                                     , IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT                                                     , IMAGE_LAYOUT_SHARED_PRESENT_KHR@@ -185,6 +186,19 @@ -- usage bits enabled. pattern IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = ImageLayout 1000339000 +-- | 'IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR' /must/ only be used as either a+-- storage image, or a color or depth\/stencil attachment and an input+-- attachment. This layout is valid only for image subresources of images+-- created with either+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or+-- both+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+-- and either of+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+-- or+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'.+pattern IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = ImageLayout 1000232000+ -- | 'IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR' /must/ only -- be used as a -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>@@ -272,6 +286,7 @@   , IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL   , IMAGE_LAYOUT_PREINITIALIZED   , IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT+  , IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR   , IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR   , IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT   , IMAGE_LAYOUT_SHARED_PRESENT_KHR@@ -325,6 +340,10 @@   ,     ( IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT     , "ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT"+    )+  ,+    ( IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR+    , "RENDERING_LOCAL_READ_KHR"     )   ,     ( IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
src/Vulkan/Core10/Enums/IndexType.hs view
@@ -2,7 +2,7 @@ -- No documentation found for Chapter "IndexType" module Vulkan.Core10.Enums.IndexType  (IndexType( INDEX_TYPE_UINT16                                                 , INDEX_TYPE_UINT32-                                                , INDEX_TYPE_UINT8_EXT+                                                , INDEX_TYPE_UINT8_KHR                                                 , INDEX_TYPE_NONE_KHR                                                 , ..                                                 )) where@@ -40,9 +40,9 @@ -- values. pattern INDEX_TYPE_UINT32 = IndexType 1 --- | 'INDEX_TYPE_UINT8_EXT' specifies that indices are 8-bit unsigned integer+-- | 'INDEX_TYPE_UINT8_KHR' specifies that indices are 8-bit unsigned integer -- values.-pattern INDEX_TYPE_UINT8_EXT = IndexType 1000265000+pattern INDEX_TYPE_UINT8_KHR = IndexType 1000265000  -- | 'INDEX_TYPE_NONE_KHR' specifies that no indices are provided. pattern INDEX_TYPE_NONE_KHR = IndexType 1000165000@@ -50,7 +50,7 @@ {-# COMPLETE   INDEX_TYPE_UINT16   , INDEX_TYPE_UINT32-  , INDEX_TYPE_UINT8_EXT+  , INDEX_TYPE_UINT8_KHR   , INDEX_TYPE_NONE_KHR ::     IndexType   #-}@@ -65,7 +65,7 @@ showTableIndexType =   [ (INDEX_TYPE_UINT16, "UINT16")   , (INDEX_TYPE_UINT32, "UINT32")-  , (INDEX_TYPE_UINT8_EXT, "UINT8_EXT")+  , (INDEX_TYPE_UINT8_KHR, "UINT8_KHR")   , (INDEX_TYPE_NONE_KHR, "NONE_KHR")   ] 
src/Vulkan/Core10/Enums/Result.hs view
@@ -105,6 +105,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_KHR_maintenance6.BindMemoryStatusKHR', -- 'Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR' newtype Result = Result Int32   deriving newtype (Eq, Ord, Storable, Zero)
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -50,13 +50,28 @@                                                         , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                                         , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV+                                                        , STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT+                                                        , STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT+                                                        , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR+                                                        , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR+                                                        , STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR+                                                        , STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR+                                                        , STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR                                                         , STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR+                                                        , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX                                                         , STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX                                                         , STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX                                                         , STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX                                                         , STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR                                                         , STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR@@ -70,6 +85,7 @@                                                         , STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV                                                         , STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR@@ -146,6 +162,7 @@                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV                                                         , STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV                                                         , STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV@@ -172,6 +189,7 @@                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM                                                         , STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT                                                         , STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT@@ -364,11 +382,7 @@                                                         , STRUCTURE_TYPE_PIPELINE_INFO_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT-                                                        , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT                                                         , STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT                                                         , STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                                                         , STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT@@ -393,7 +407,11 @@                                                         , STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT+                                                        , STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR+                                                        , STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR@@ -856,10 +874,13 @@ -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo', -- 'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR', -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR', -- 'Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkBindVideoSessionMemoryInfoKHR VkBindVideoSessionMemoryInfoKHR>, -- 'Vulkan.Extensions.VK_QCOM_filter_cubic_weights.BlitImageCubicWeightsInfoQCOM',@@ -1217,6 +1238,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties', -- 'Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',@@ -1274,21 +1296,23 @@ -- 'Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT', -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',--- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',+-- 'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures', -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockProperties', -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI', -- 'Vulkan.Extensions.VK_MSFT_layered_driver.PhysicalDeviceLayeredDriverPropertiesMSFT', -- 'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationPropertiesKHR', -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV',@@ -1316,6 +1340,7 @@ -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',+-- 'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR', -- 'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures',@@ -1378,19 +1403,24 @@ -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueuePropertiesAMDX',+-- 'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',+-- 'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectPropertiesEXT',+-- 'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',+-- 'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures', -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',@@ -1424,6 +1454,7 @@ -- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoFormatInfoKHR VkPhysicalDeviceVideoFormatInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>, -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',@@ -1464,7 +1495,7 @@ -- 'Vulkan.Extensions.VK_EXT_pipeline_properties.PipelinePropertiesIdentifierEXT', -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR', -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT', -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo', -- 'Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD',@@ -1495,6 +1526,9 @@ -- 'Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE', -- 'Vulkan.Core13.Promoted_From_VK_EXT_private_data.PrivateDataSlotCreateInfo', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR', -- 'Vulkan.Extensions.VK_NV_low_latency.QueryLowLatencySupportNV', -- 'Vulkan.Core10.Query.QueryPoolCreateInfo', -- 'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR',@@ -1529,9 +1563,11 @@ -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM', -- 'Vulkan.Extensions.VK_KHR_maintenance5.RenderingAreaInfoKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingAttachmentInfo',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR', -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT', -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ResolveImageInfo2', -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT', -- 'Vulkan.Extensions.VK_QCOM_image_processing2.SamplerBlockMatchWindowCreateInfoQCOM',@@ -1556,6 +1592,7 @@ -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.SemaphoreSubmitInfo', -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo', -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT', -- 'Vulkan.Extensions.VK_NV_low_latency2.SetLatencyMarkerInfoNV', -- 'Vulkan.Extensions.VK_EXT_shader_object.ShaderCreateInfoEXT', -- 'Vulkan.Core10.Shader.ShaderModuleCreateInfo',@@ -1610,6 +1647,11 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoBeginCodingInfoKHR VkVideoBeginCodingInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCodingControlInfoKHR VkVideoCodingControlInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1CapabilitiesKHR VkVideoDecodeAV1CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1DpbSlotInfoKHR VkVideoDecodeAV1DpbSlotInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1PictureInfoKHR VkVideoDecodeAV1PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1SessionParametersCreateInfoKHR VkVideoDecodeAV1SessionParametersCreateInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeCapabilitiesKHR VkVideoDecodeCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoKHR VkVideoDecodeH264DpbSlotInfoKHR>,@@ -1626,34 +1668,34 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264DpbSlotInfoEXT VkVideoEncodeH264DpbSlotInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoEXT VkVideoEncodeH264GopRemainingFrameInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264NaluSliceInfoEXT VkVideoEncodeH264NaluSliceInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoEXT VkVideoEncodeH264PictureInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesEXT VkVideoEncodeH264QualityLevelPropertiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlInfoEXT VkVideoEncodeH264RateControlInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoEXT VkVideoEncodeH264SessionCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersAddInfoEXT VkVideoEncodeH264SessionParametersAddInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersCreateInfoEXT VkVideoEncodeH264SessionParametersCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoEXT VkVideoEncodeH264SessionParametersFeedbackInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoEXT VkVideoEncodeH264SessionParametersGetInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoEXT VkVideoEncodeH265DpbSlotInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoEXT VkVideoEncodeH265GopRemainingFrameInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentInfoEXT VkVideoEncodeH265NaluSliceSegmentInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265PictureInfoEXT VkVideoEncodeH265PictureInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265QualityLevelPropertiesEXT VkVideoEncodeH265QualityLevelPropertiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoEXT VkVideoEncodeH265RateControlInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoEXT VkVideoEncodeH265SessionCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersAddInfoEXT VkVideoEncodeH265SessionParametersAddInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersCreateInfoEXT VkVideoEncodeH265SessionParametersCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoEXT VkVideoEncodeH265SessionParametersFeedbackInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoEXT VkVideoEncodeH265SessionParametersGetInfoEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesKHR VkVideoEncodeH264CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264DpbSlotInfoKHR VkVideoEncodeH264DpbSlotInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoKHR VkVideoEncodeH264GopRemainingFrameInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264NaluSliceInfoKHR VkVideoEncodeH264NaluSliceInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoKHR VkVideoEncodeH264PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoKHR VkVideoEncodeH264ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesKHR VkVideoEncodeH264QualityLevelPropertiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlInfoKHR VkVideoEncodeH264RateControlInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoKHR VkVideoEncodeH264RateControlLayerInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoKHR VkVideoEncodeH264SessionCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersAddInfoKHR VkVideoEncodeH264SessionParametersAddInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersCreateInfoKHR VkVideoEncodeH264SessionParametersCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoKHR VkVideoEncodeH264SessionParametersFeedbackInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoKHR VkVideoEncodeH264SessionParametersGetInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoKHR VkVideoEncodeH265DpbSlotInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoKHR VkVideoEncodeH265GopRemainingFrameInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentInfoKHR VkVideoEncodeH265NaluSliceSegmentInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265PictureInfoKHR VkVideoEncodeH265PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoKHR VkVideoEncodeH265ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265QualityLevelPropertiesKHR VkVideoEncodeH265QualityLevelPropertiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoKHR VkVideoEncodeH265RateControlInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoKHR VkVideoEncodeH265RateControlLayerInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoKHR VkVideoEncodeH265SessionCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersAddInfoKHR VkVideoEncodeH265SessionParametersAddInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersCreateInfoKHR VkVideoEncodeH265SessionParametersCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoKHR VkVideoEncodeH265SessionParametersFeedbackInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoKHR VkVideoEncodeH265SessionParametersGetInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeInfoKHR VkVideoEncodeInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeQualityLevelInfoKHR VkVideoEncodeQualityLevelInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeQualityLevelPropertiesKHR VkVideoEncodeQualityLevelPropertiesKHR>,@@ -1664,6 +1706,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeUsageInfoKHR VkVideoEncodeUsageInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEndCodingInfoKHR VkVideoEndCodingInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoFormatPropertiesKHR VkVideoFormatPropertiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoInlineQueryInfoKHR VkVideoInlineQueryInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>,@@ -1835,9 +1878,51 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = StructureType 1000546000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"+pattern STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = StructureType 1000545008++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT"+pattern STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = StructureType 1000545007++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR"+pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = StructureType 1000545006++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR"+pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = StructureType 1000545005++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR"+pattern STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = StructureType 1000545004++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR"+pattern STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = StructureType 1000545003++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR"+pattern STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = StructureType 1000545002++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = StructureType 1000545001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = StructureType 1000545000++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = StructureType 1000544000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR" pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = StructureType 1000184000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = StructureType 1000259002++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR"+pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = StructureType 1000259001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = StructureType 1000259000++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = StructureType 1000265000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = StructureType 1000530000 @@ -1856,6 +1941,9 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX" pattern STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = StructureType 1000529000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = StructureType 1000528000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = StructureType 1000190002 @@ -1895,6 +1983,9 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = StructureType 1000518000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = StructureType 1000516000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM" pattern STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = StructureType 1000510001 @@ -2123,6 +2214,9 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = StructureType 1000437000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = StructureType 1000434000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = StructureType 1000430000 @@ -2201,6 +2295,9 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM" pattern STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = StructureType 1000417000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = StructureType 1000416000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = StructureType 1000415000 @@ -2777,21 +2874,9 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = StructureType 1000267000 --- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = StructureType 1000265000- -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = StructureType 1000260000 --- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = StructureType 1000259002---- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"-pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = StructureType 1000259001---- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = StructureType 1000259000- -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT" pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = StructureType 1000256000 @@ -2864,9 +2949,21 @@ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = StructureType 1000237000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = StructureType 1000235000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = StructureType 1000234000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR"+pattern STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = StructureType 1000232002++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR"+pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = StructureType 1000232001++-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = StructureType 1000232000+ -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = StructureType 1000229000 @@ -4142,13 +4239,28 @@   , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO   , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO   , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV+  , STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT+  , STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT+  , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR+  , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR+  , STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR+  , STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR+  , STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR   , STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR+  , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT   , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX   , STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX   , STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX   , STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX   , STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR   , STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR@@ -4162,6 +4274,7 @@   , STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV   , STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR@@ -4238,6 +4351,7 @@   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV   , STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV   , STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV@@ -4264,6 +4378,7 @@   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM   , STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM   , STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT   , STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT@@ -4456,11 +4571,7 @@   , STRUCTURE_TYPE_PIPELINE_INFO_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT-  , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT   , STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT   , STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT   , STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT@@ -4485,7 +4596,11 @@   , STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT+  , STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR+  , STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR   , STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD   , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR@@ -5094,10 +5209,66 @@     , "PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"     )   ,+    ( STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT+    , "BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"+    )+  ,+    ( STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT+    , "SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT"+    )+  ,+    ( STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR+    , "PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR+    , "PUSH_DESCRIPTOR_SET_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR+    , "PUSH_CONSTANTS_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR+    , "BIND_DESCRIPTOR_SETS_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR+    , "BIND_MEMORY_STATUS_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR+    , "PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR+    , "PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR+    , "PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR     , "CALIBRATED_TIMESTAMP_INFO_KHR"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR+    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR+    , "PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR+    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR+    , "PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT     , "PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT"     )@@ -5122,6 +5293,10 @@     , "SCREEN_BUFFER_PROPERTIES_QNX"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR+    , "PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR     , "PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR"     )@@ -5174,6 +5349,10 @@     , "PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV+    , "PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV"+    )+  ,     ( STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM     , "MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM"     )@@ -5478,6 +5657,10 @@     , "PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR+    , "PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV     , "PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"     )@@ -5582,6 +5765,10 @@     , "DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR+    , "PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM     , "PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"     )@@ -6347,26 +6534,10 @@     , "PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"     )   ,-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT-    , "PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"-    )-  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT     , "PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"     )   ,-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT-    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"-    )-  ,-    ( STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT-    , "PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"-    )-  ,-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT-    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"-    )-  ,     ( STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT     , "HEADLESS_SURFACE_CREATE_INFO_EXT"     )@@ -6463,8 +6634,24 @@     , "PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"     )   ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR+    , "PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR"+    )+  ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT     , "PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"+    )+  ,+    ( STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR+    , "RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR+    , "RENDERING_ATTACHMENT_LOCATION_INFO_KHR"+    )+  ,+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR+    , "PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR"     )   ,     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
src/Vulkan/Core10/Event.hs view
@@ -376,6 +376,10 @@ --     with --     'Vulkan.Core10.Enums.EventCreateFlagBits.EVENT_CREATE_DEVICE_ONLY_BIT' --+-- -   #VUID-vkSetEvent-event-09543# @event@ /must/ not be waited on by a+--     command buffer in the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#commandbuffers-lifecycle pending state>+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkSetEvent-device-parameter# @device@ /must/ be a valid
src/Vulkan/Core10/ExtensionDiscovery.hs view
@@ -195,6 +195,38 @@ -- profile /must/ advertise the @VK_KHR_global_priority@ extension in -- @pProperties@. --+-- Implementations claiming support for the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#roadmap-2024 Roadmap 2024>+-- profile /must/ advertise the following extensions in @pProperties@:+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_load_store_op_none VK_KHR_load_store_op_none>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_quad_control VK_KHR_shader_quad_control>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_uniform_control_flow VK_KHR_shader_subgroup_uniform_control_flow>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 VK_KHR_shader_float_controls2>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_expect_assume VK_KHR_shader_expect_assume>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vertex_attribute_divisor VK_KHR_vertex_attribute_divisor>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_map_memory2 VK_KHR_map_memory2>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance5 VK_KHR_maintenance5>+--+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- -- Note -- -- Due to platform details on Android, 'enumerateDeviceExtensionProperties'
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -212,7 +212,7 @@ -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>, -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR',@@ -493,6 +493,7 @@ -- 'Vulkan.Extensions.VK_NV_displacement_micromap.PhysicalDeviceDisplacementMicromapFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',@@ -536,17 +537,19 @@ -- 'Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d.PhysicalDeviceImageSlicedViewOf3DFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',--- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',+-- 'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures', -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI', -- 'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR', -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT',@@ -565,6 +568,7 @@ -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowFeaturesNV', -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',+-- 'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR', -- 'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures',@@ -611,16 +615,21 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX',+-- 'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',+-- 'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT',+-- 'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',+-- 'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures', -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',@@ -645,6 +654,7 @@ -- 'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT',+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>, -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',@@ -669,7 +679,7 @@ -- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo', -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR', -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV', -- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT',@@ -692,20 +702,21 @@ -- 'Vulkan.Extensions.VK_NV_low_latency2.SwapchainLatencyCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_present_barrier.SwapchainPresentBarrierCreateInfoNV', -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoEXT VkVideoEncodeH264GopRemainingFrameInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoEXT VkVideoEncodeH264PictureInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesEXT VkVideoEncodeH264QualityLevelPropertiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoEXT VkVideoEncodeH264SessionCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoEXT VkVideoEncodeH264SessionParametersFeedbackInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoEXT VkVideoEncodeH264SessionParametersGetInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoEXT VkVideoEncodeH265GopRemainingFrameInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoEXT VkVideoEncodeH265SessionCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoEXT VkVideoEncodeH265SessionParametersFeedbackInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoEXT VkVideoEncodeH265SessionParametersGetInfoEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesKHR VkVideoEncodeH264CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoKHR VkVideoEncodeH264GopRemainingFrameInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoKHR VkVideoEncodeH264PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesKHR VkVideoEncodeH264QualityLevelPropertiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoKHR VkVideoEncodeH264RateControlLayerInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoKHR VkVideoEncodeH264SessionCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoKHR VkVideoEncodeH264SessionParametersFeedbackInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoKHR VkVideoEncodeH264SessionParametersGetInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoKHR VkVideoEncodeH265GopRemainingFrameInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoKHR VkVideoEncodeH265RateControlLayerInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoKHR VkVideoEncodeH265SessionCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoKHR VkVideoEncodeH265SessionParametersFeedbackInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoKHR VkVideoEncodeH265SessionParametersGetInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeSessionParametersFeedbackInfoKHR VkVideoEncodeSessionParametersFeedbackInfoKHR>, -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',@@ -949,6 +960,7 @@ -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties', -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferPropertiesQNX',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',
src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -163,6 +163,7 @@ -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties', -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferPropertiesQNX',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',
src/Vulkan/Core10/Handles.hs view
@@ -597,9 +597,11 @@ -- '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_KHR_maintenance6.cmdBindDescriptorBufferEmbeddedSamplers2EXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdBindDescriptorSets2KHR', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR', -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.cmdBindInvocationMaskHUAWEI',@@ -706,7 +708,10 @@ -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdPipelineBarrier2KHR', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdPreprocessGeneratedCommandsNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdPushConstants',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushConstants2KHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushDescriptorSet2KHR', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushDescriptorSetWithTemplate2KHR', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetWithTemplateKHR', -- 'Vulkan.Core10.CommandBufferBuilding.cmdResetEvent', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.cmdResetEvent2',@@ -751,6 +756,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_KHR_maintenance6.cmdSetDescriptorBufferOffsets2EXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.cmdSetDeviceMask', -- 'Vulkan.Extensions.VK_KHR_device_group.cmdSetDeviceMaskKHR',@@ -770,6 +776,7 @@ -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT',+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetLineWidth', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT',@@ -788,6 +795,8 @@ -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdSetRayTracingPipelineStackSizeKHR',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR',+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingInputAttachmentIndicesKHR', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRepresentativeFragmentTestEnableNV', -- 'Vulkan.Extensions.VK_EXT_sample_locations.cmdSetSampleLocationsEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT',@@ -1152,13 +1161,19 @@ -- = 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_KHR_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR', -- 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.ExecutionGraphPipelineCreateInfoAMDX', -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV',+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', -- 'Vulkan.Core10.CommandBufferBuilding.cmdPushConstants',@@ -1202,6 +1217,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_KHR_maintenance6.BindDescriptorSetsInfoKHR', -- 'Vulkan.Core10.DescriptorSet.CopyDescriptorSet', -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet', -- 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets',@@ -1358,6 +1374,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoInlineQueryInfoKHR VkVideoInlineQueryInfoKHR>, -- 'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginQueryIndexedEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',
src/Vulkan/Core10/Image.hs view
@@ -1077,8 +1077,9 @@ --     or --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT' ----- -   #VUID-VkImageCreateInfo-samples-02258# @samples@ /must/ be a bit---     value that is set in @imageCreateSampleCounts@ (as defined in+-- -   #VUID-VkImageCreateInfo-samples-02258# @samples@ /must/ be a valid+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value+--     that is set in @imageCreateSampleCounts@ (as defined in --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>) -- -- -   #VUID-VkImageCreateInfo-usage-00968# If the@@ -1553,8 +1554,9 @@ -- -   #VUID-VkImageCreateInfo-usage-04815# If @usage@ includes --     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@, --     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, or---     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @pNext@ chain---     /must/ include a+--     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, and @flags@ does not+--     include @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     the @pNext@ chain /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one@@ -1565,14 +1567,29 @@ -- -   #VUID-VkImageCreateInfo-usage-04816# If @usage@ includes --     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, or---     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @pNext@ chain---     /must/ include a+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, and @flags@ does not+--     include @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     the @pNext@ chain /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR> --     structure with a @videoCodecOperation@ member specifying an encode --     operation+--+-- -   #VUID-VkImageCreateInfo-flags-08328# If @flags@ includes+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-videoMaintenance1 videoMaintenance1>+--     /must/ be enabled+--+-- -   #VUID-VkImageCreateInfo-flags-08329# If @flags@ includes+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@ does+--     not include @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then @usage@+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@+--+-- -   #VUID-VkImageCreateInfo-flags-08331# If @flags@ includes+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@ -- -- -   #VUID-VkImageCreateInfo-pNext-06811# If the @pNext@ chain includes a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
src/Vulkan/Core10/ImageView.hs view
@@ -807,6 +807,42 @@ --     /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' --+-- -   #VUID-VkImageViewCreateInfo-image-08333# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@+--     contains @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the image+--     view’s+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@+--+-- -   #VUID-VkImageViewCreateInfo-image-08334# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@+--     contains @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the image+--     view’s+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@+--+-- -   #VUID-VkImageViewCreateInfo-image-08335# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@+--+-- -   #VUID-VkImageViewCreateInfo-image-08336# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@+--     contains @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, then the image+--     view’s+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@+--+-- -   #VUID-VkImageViewCreateInfo-image-08337# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@+--     contains @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the image+--     view’s+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@+--+-- -   #VUID-VkImageViewCreateInfo-image-08338# If @image@ was created with+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@+-- -- -   #VUID-VkImageViewCreateInfo-usage-08932# If @usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT', --     and any of the following is true:@@ -925,8 +961,17 @@ -- -   #VUID-VkImageViewCreateInfo-image-07072# If @image@ was created with --     the --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'---     flag and @format@ is a non-compressed format, the @levelCount@ and---     @layerCount@ members of @subresourceRange@ /must/ both be @1@+--     flag and @format@ is a non-compressed format, the @levelCount@+--     member of @subresourceRange@ /must/ be @1@+--+-- -   #VUID-VkImageViewCreateInfo-image-09487# If @image@ was created with+--     the+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'+--     flag, the+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR'::@blockTexelViewCompatibleMultipleLayers@+--     property is not set to 'Vulkan.Core10.FundamentalTypes.TRUE', and+--     @format@ is a non-compressed format, then the @layerCount@ member of+--     @subresourceRange@ /must/ be @1@ -- -- -   #VUID-VkImageViewCreateInfo-pNext-01585# If a --     'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'
src/Vulkan/Core10/OtherTypes.hs view
@@ -810,6 +810,32 @@ --     feature is not enabled, @newLayout@ /must/ not be --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT' --+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-09550# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     then @image@ /must/ have been created with either+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or+--     with both+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+--     and either of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+--     or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+--+-- -   #VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09551# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @oldLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   #VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09552# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @newLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+-- -- -   #VUID-VkImageMemoryBarrier-subresourceRange-01486# --     @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@ --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was
src/Vulkan/Core10/Pass.hs view
@@ -780,10 +780,23 @@ --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT' -- -- -   #VUID-VkAttachmentDescription-samples-08745# @samples@ /must/ be a---     bit value that is set in @imageCreateSampleCounts@ (as defined in+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'+--     value that is set in @imageCreateSampleCounts@ (as defined in --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>) --     for the given @format@ --+-- -   #VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09544# If+--     the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @initialLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   #VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09545# If+--     the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @finalLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+-- -- -   #VUID-VkAttachmentDescription-format-06698# @format@ /must/ not be --     VK_FORMAT_UNDEFINED --@@ -1013,6 +1026,11 @@ --     feature is not enabled, @layout@ /must/ not be --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT' --+-- -   #VUID-VkAttachmentReference-dynamicRenderingLocalRead-09546# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @layout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkAttachmentReference-layout-parameter# @layout@ /must/ be a@@ -1438,7 +1456,7 @@ --     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' -- -- -   #VUID-VkSubpassDescription-pDepthStencilAttachment-04438#---     @pDepthStencilAttachment@ and @pColorAttachments@ must not contain+--     @pDepthStencilAttachment@ and @pColorAttachments@ /must/ not contain --     references to the same attachment -- -- == Valid Usage (Implicit)@@ -2297,8 +2315,9 @@ -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then all pipelines to be -- bound with the subpass /must/ have the same value for -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'::@rasterizationSamples@.--- In all such cases, @rasterizationSamples@ /must/ be a bit value that is--- set in+-- In all such cases, @rasterizationSamples@ /must/ be a valid+-- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value that+-- is set in -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@framebufferNoAttachmentsSampleCounts@. -- -- == Valid Usage
src/Vulkan/Core10/Pipeline.hs view
@@ -184,7 +184,7 @@ import Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags (PipelineMultisampleStateCreateFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PipelineRasterizationConservativeStateCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PipelineRasterizationDepthClipStateCreateInfoEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PipelineRasterizationLineStateCreateInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PipelineRasterizationProvokingVertexStateCreateInfoEXT) import Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags (PipelineRasterizationStateCreateFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_rasterization_order (PipelineRasterizationStateRasterizationOrderAMD)@@ -214,6 +214,8 @@ import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology) import Vulkan.Core10.FundamentalTypes (Rect2D) import Vulkan.Core10.Handles (RenderPass)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR) import Vulkan.Core10.Enums.Result (Result) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)@@ -1095,10 +1097,11 @@ --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCullDistances@ -- -- -   #VUID-VkPipelineShaderStageCreateInfo-maxCombinedClipAndCullDistances-00710#---     If the identified entry point includes any variables in its---     interface that are declared with the @ClipDistance@ or---     @CullDistance@ @BuiltIn@ decoration, those variables /must/ not have---     array sizes which sum to more than+--     If the identified entry point includes variables in its interface+--     that are declared with the @ClipDistance@ @BuiltIn@ decoration and+--     variables in its interface that are declared with the @CullDistance@+--     @BuiltIn@ decoration, those variables /must/ not have array sizes+--     which sum to more than --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCombinedClipAndCullDistances@ -- -- -   #VUID-VkPipelineShaderStageCreateInfo-maxSampleMaskWords-00711# If@@ -1449,6 +1452,13 @@ -- -- == Valid Usage --+-- -   #VUID-VkComputePipelineCreateInfo-None-09497# If the @pNext@ chain+--     does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+--     structure, @flags@ must be a valid combination of+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'+--     values+-- -- -   #VUID-VkComputePipelineCreateInfo-flags-07984# If @flags@ contains --     the --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'@@ -1598,11 +1608,6 @@ -- -   #VUID-VkComputePipelineCreateInfo-sType-unique# The @sType@ value of --     each struct in the @pNext@ chain /must/ be unique ----- -   #VUID-VkComputePipelineCreateInfo-flags-parameter# @flags@ /must/ be---     a valid combination of---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'---     values--- -- -   #VUID-VkComputePipelineCreateInfo-stage-parameter# @stage@ /must/ be --     a valid 'PipelineShaderStageCreateInfo' structure --@@ -2122,7 +2127,7 @@     -- of 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' or     -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer' is equal to     -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT32', 0xFF when @indexType@-    -- is equal to 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', or+    -- is equal to 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', or     -- 0xFFFF when @indexType@ is equal to     -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT16'. Primitive restart is     -- not allowed for “list” topologies, unless one of the features@@ -2530,7 +2535,7 @@ --     'Vulkan.Extensions.VK_EXT_depth_bias_control.DepthBiasRepresentationInfoEXT', --     'Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT', --     'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR', --     'Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT', --     'Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD', --     or@@ -2618,7 +2623,7 @@   extends _ f     | Just Refl <- eqT @e @DepthBiasRepresentationInfoEXT = Just f     | Just Refl <- eqT @e @PipelineRasterizationProvokingVertexStateCreateInfoEXT = Just f-    | Just Refl <- eqT @e @PipelineRasterizationLineStateCreateInfoEXT = Just f+    | Just Refl <- eqT @e @PipelineRasterizationLineStateCreateInfoKHR = Just f     | Just Refl <- eqT @e @PipelineRasterizationDepthClipStateCreateInfoEXT = Just f     | Just Refl <- eqT @e @PipelineRasterizationStateStreamCreateInfoEXT = Just f     | Just Refl <- eqT @e @PipelineRasterizationConservativeStateCreateInfoEXT = Just f@@ -3920,6 +3925,8 @@ --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT' --     flag --+-- -   'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- If a pipeline specifies -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization state> -- either directly or by including it as a pipeline library and@@ -3964,6 +3971,8 @@ --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' --     flags --+-- -   'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'+-- -- If a pipeline specifies -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization state> -- either directly or by including it as a pipeline library and@@ -4033,6 +4042,13 @@ -- -- == Valid Usage --+-- -   #VUID-VkGraphicsPipelineCreateInfo-None-09497# If the @pNext@ chain+--     does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+--     structure, @flags@ must be a valid combination of+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'+--     values+-- -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-07984# If @flags@ contains --     the --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'@@ -4389,7 +4405,7 @@ --     'PipelineMultisampleStateCreateInfo' structure -- -- -   #VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09027# If---     @pMultisampleState@ is not @NULL@ is /must/ be a valid pointer to a+--     @pMultisampleState@ is not @NULL@ it /must/ be a valid pointer to a --     valid 'PipelineMultisampleStateCreateInfo' structure -- -- -   #VUID-VkGraphicsPipelineCreateInfo-alphaToCoverageEnable-08891# If@@ -4857,11 +4873,11 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>, --     and @pMultisampleState@ is not @NULL@, the @lineRasterizationMode@ --     member of a---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR' --     structure included in the @pNext@ chain of @pRasterizationState@ is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR' --     or---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the @alphaToCoverageEnable@, @alphaToOneEnable@, and --     @sampleShadingEnable@ members of @pMultisampleState@ /must/ all be --     'Vulkan.Core10.FundamentalTypes.FALSE'@@ -4870,12 +4886,12 @@ --     pipeline requires --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>, --     the @stippledLineEnable@ member of---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR' --     is 'Vulkan.Core10.FundamentalTypes.TRUE', and no element of the --     @pDynamicStates@ member of @pDynamicState@ is---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT',+--     'Vulkan.Extensions.VK_EXT_line_rasterization.DYNAMIC_STATE_LINE_STIPPLE_EXT', --     then the @lineStippleFactor@ member of---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR' --     /must/ be in the range [1,256] -- -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-03372# @flags@ /must/ not@@ -5689,9 +5705,10 @@ --     is not @0@, and @multiviewMeshShader@ is not enabled, then @pStages@ --     /must/ not include a mesh shader ----- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06061# If the pipeline---     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06061# If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, the pipeline requires+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>, --     and @renderPass@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', --     fragment shaders in @pStages@ /must/ not include the --     @InputAttachment@ capability@@ -5739,23 +5756,25 @@ --     or --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT' ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06482# If the pipeline---     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06482# If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, the pipeline requires+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>, --     and the @flags@ member of 'PipelineColorBlendStateCreateInfo' --     includes --     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT',---     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--     @renderPass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE' ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06483# If the pipeline---     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>+-- -   #VUID-VkGraphicsPipelineCreateInfo-None-09526# If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, the pipeline requires+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>, --     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo' --     includes --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT' --     or --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT',---     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--     @renderPass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE' -- -- -   #VUID-VkGraphicsPipelineCreateInfo-pColorAttachmentSamples-06592# If --     the@@ -5777,29 +5796,29 @@ --     is not 0, it /must/ be a valid --     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06484# If the pipeline+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09527# If the pipeline --     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>---     and the @flags@ member of 'PipelineColorBlendStateCreateInfo'---     includes+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>,+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and+--     the @flags@ member of 'PipelineColorBlendStateCreateInfo' includes --     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT' --     @subpass@ /must/ have been created with --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT' ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06485# If the pipeline+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09528# If the pipeline --     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>---     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'---     includes+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and+--     the @flags@ member of 'PipelineDepthStencilStateCreateInfo' includes --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT', --     @subpass@ /must/ have been created with --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT' ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06486# If the pipeline+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09529# If the pipeline --     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>---     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'---     includes+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and+--     the @flags@ member of 'PipelineDepthStencilStateCreateInfo' includes --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT', --     @subpass@ /must/ have been created with --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT'@@ -5903,7 +5922,8 @@ --     @layout@ /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' --     handle ----- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06603# If+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06603# If the pipeline+--     requires --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>, --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>, --     or@@ -5912,11 +5932,9 @@ --     @renderPass@ /must/ be a valid 'Vulkan.Core10.Handles.RenderPass' --     handle ----- -   #VUID-VkGraphicsPipelineCreateInfo-stageCount-06604# If the pipeline+-- -   #VUID-VkGraphicsPipelineCreateInfo-stageCount-09530# If the pipeline --     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>---     or---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>, --     @stageCount@ /must/ be greater than @0@ -- -- -   #VUID-VkGraphicsPipelineCreateInfo-graphicsPipelineLibrary-06606# If@@ -6096,25 +6114,10 @@ --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT', --     an element of --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@---     includes the other subset, and any element of the @pSetLayouts@---     array which @layout@ was created with was---     'Vulkan.Core10.APIConstants.NULL_HANDLE', then the corresponding---     element of the @pSetLayouts@ array used to create the library’s---     @layout@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'------ -   #VUID-VkGraphicsPipelineCreateInfo-flags-06680# If---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@---     includes only one of---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT'---     or---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT',---     an element of---     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@---     includes the other subset, and any element of the @pSetLayouts@---     array used to create the library’s @layout@ was---     'Vulkan.Core10.APIConstants.NULL_HANDLE', then the corresponding---     element of the @pSetLayouts@ array used to create this pipeline’s---     @layout@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--     includes the other subset, any element of the @pSetLayouts@ array+--     when @layout@ was created and the corresponding element of the+--     @pSetLayouts@ array used to create the library’s @layout@ /must/ not+--     both be 'Vulkan.Core10.APIConstants.NULL_HANDLE' -- -- -   #VUID-VkGraphicsPipelineCreateInfo-pLibraries-06681# If one element --     of@@ -6287,17 +6290,21 @@ --     create each library /must/ be compatible or all equal to --     'Vulkan.Core10.APIConstants.NULL_HANDLE' ----- -   #VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-06629# If the---     pipeline requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>---     @pMultisampleState@ /must/ be @NULL@ or a valid pointer to a valid---     'PipelineMultisampleStateCreateInfo' structure------ -   #VUID-VkGraphicsPipelineCreateInfo-renderpass-06631# If the pipeline+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderpass-06631# If @renderPass@+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline --     requires---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>---     and @renderpass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     then @pMultisampleState@ /must/ not be @NULL@+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,+--     and the @VK_EXT_extended_dynamic_state3@ extension is not enabled or+--     any of the+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT',+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT'+--     dynamic states is not set, or+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-alphaToOne alphaToOne>+--     is enabled on the device and+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'+--     is not set, then @pMultisampleState@ /must/ be a valid pointer to a+--     valid 'PipelineMultisampleStateCreateInfo' structure -- -- -   #VUID-VkGraphicsPipelineCreateInfo-Input-06632# If the pipeline --     requires@@ -6305,7 +6312,17 @@ --     with a fragment shader that either enables --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-sampleshading sample shading> --     or decorates any variable in the @Input@ storage class with---     @Sample@, then @pMultisampleState@ /must/ not be @NULL@+--     @Sample@, and the @VK_EXT_extended_dynamic_state3@ extension is not+--     enabled or any of the+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT',+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT'+--     dynamic states is not set, or+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-alphaToOne alphaToOne>+--     is enabled on the device and+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'+--     is not set, then @pMultisampleState@ /must/ be a valid pointer to a+--     valid 'PipelineMultisampleStateCreateInfo' structure -- -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06633# If --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@@@ -6348,7 +6365,7 @@ --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@ --     was created with --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT'---     and a value of @pMultisampleState->sampleShading@ equal+--     and a value of @pMultisampleState->sampleShadingEnable@ equal --     'Vulkan.Core10.FundamentalTypes.TRUE', and if a different element of --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@ --     was created with@@ -6360,7 +6377,7 @@ --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@ --     includes --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT',---     @pMultisampleState->sampleShading@ is+--     @pMultisampleState->sampleShadingEnable@ is --     'Vulkan.Core10.FundamentalTypes.TRUE', and an element of --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@ --     was created with@@ -6368,6 +6385,19 @@ --     the @pMultisampleState@ used to create that library /must/ be --     /identically defined/ @pMultisampleState@ --+-- -   #VUID-VkGraphicsPipelineCreateInfo-pLibraries-09567# If one element+--     of+--     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@+--     was created with+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT'+--     and a value of @pMultisampleState->sampleShadingEnable@ equal+--     'Vulkan.Core10.FundamentalTypes.TRUE', and if+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@+--     includes+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT',+--     @pMultisampleState@ /must/ be /identically defined/ to that used to+--     create the library+-- -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06638# If --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@ --     includes only one of@@ -6807,7 +6837,7 @@ --     is enabled, then the index of the most significant bit in each --     element of --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@---     /must/ be less than @pViewportState@::@viewportCount@+--     /must/ be less than @pViewportState->viewportCount@ -- -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731# If the --     pipeline requires@@ -6820,7 +6850,7 @@ --     is enabled, then the index of the most significant bit in each --     element of --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@---     /must/ be less than @pViewportState@::@scissorCount@+--     /must/ be less than @pViewportState->scissorCount@ -- -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-08711# If @pStages@ --     includes a fragment shader stage,@@ -6850,8 +6880,9 @@ --     @rasterizationSamples@ is not dynamic, and the @pNext@ chain --     includes a --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'---     structure, @rasterizationSamples@ /must/ be a bit value that is set---     in @imageCreateSampleCounts@ (as defined in+--     structure, @rasterizationSamples@ /must/ be a valid+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value+--     that is set in @imageCreateSampleCounts@ (as defined in --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>) --     for every element of @depthAttachmentFormat@, --     @stencilAttachmentFormat@ and the @pColorAttachmentFormats@ array@@ -7127,6 +7158,26 @@ --     /must/ not statically use a variable with the --     @PrimitiveShadingRateKHR@ built-in --+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09531# If the pipeline+--     is being created with+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>+--     and+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output state>,+--     and the value of @renderPass@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'::@colorAttachmentCount@+--     /must/ be equal to+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@+--+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09532# If the pipeline+--     is being created with+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output state>,+--     and the value of @renderPass@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@colorAttachmentCount@+--     /must/ be equal to+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkGraphicsPipelineCreateInfo-sType-sType# @sType@ /must/ be@@ -7149,17 +7200,14 @@ --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR', --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo', --     'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',+--     'Vulkan.Extensions.VK_EXT_pipeline_robustness.PipelineRobustnessCreateInfoEXT',+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR', --     or---     'Vulkan.Extensions.VK_EXT_pipeline_robustness.PipelineRobustnessCreateInfoEXT'+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR' -- -- -   #VUID-VkGraphicsPipelineCreateInfo-sType-unique# The @sType@ value --     of each struct in the @pNext@ chain /must/ be unique ----- -   #VUID-VkGraphicsPipelineCreateInfo-flags-parameter# @flags@ /must/---     be a valid combination of---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'---     values--- -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter# If --     @pDynamicState@ is not @NULL@, @pDynamicState@ /must/ be a valid --     pointer to a valid 'PipelineDynamicStateCreateInfo' structure@@ -7327,6 +7375,8 @@   getNext GraphicsPipelineCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends GraphicsPipelineCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @RenderingInputAttachmentIndexInfoKHR = Just f+    | Just Refl <- eqT @e @RenderingAttachmentLocationInfoKHR = Just f     | Just Refl <- eqT @e @PipelineRobustnessCreateInfoEXT = Just f     | Just Refl <- eqT @e @GraphicsPipelineLibraryCreateInfoEXT = Just f     | Just Refl <- eqT @e @MultiviewPerViewAttributesInfoNVX = Just f
src/Vulkan/Core10/PipelineLayout.hs view
@@ -709,9 +709,6 @@ -- -   #VUID-VkPipelineLayoutCreateInfo-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO' ----- -   #VUID-VkPipelineLayoutCreateInfo-pNext-pNext# @pNext@ /must/ be---     @NULL@--- -- -   #VUID-VkPipelineLayoutCreateInfo-flags-parameter# @flags@ /must/ be --     a valid combination of --     'Vulkan.Core10.Enums.PipelineLayoutCreateFlagBits.PipelineLayoutCreateFlagBits'
src/Vulkan/Core10/Query.hs view
@@ -309,6 +309,11 @@ -- defines specific meaning for values returned here, though -- implementations are free to return other values. --+-- If the status value written is negative, indicating that the operations+-- within the query completed unsuccessfully, then all other results+-- written by this command are undefined unless otherwise specified for any+-- of the results of the used query type.+-- -- Note -- -- If@@ -601,6 +606,10 @@ --     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits' --     values --+-- -   #VUID-VkQueryPoolCreateInfo-queryType-09534# If @queryType@ is+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PIPELINE_STATISTICS',+--     @pipelineStatistics@ /must/ not be zero+-- -- -   #VUID-VkQueryPoolCreateInfo-queryType-03222# If @queryType@ is --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR', --     the @pNext@ chain /must/ include a@@ -651,11 +660,12 @@ --     'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR', --     'Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL', --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR VkQueryPoolVideoEncodeFeedbackCreateInfoKHR>,+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoKHR VkVideoEncodeH264ProfileInfoKHR>,+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoKHR VkVideoEncodeH265ProfileInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeUsageInfoKHR VkVideoEncodeUsageInfoKHR>, --     or --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
src/Vulkan/Core10/SparseResourceMemoryManagement.hs view
@@ -262,14 +262,14 @@ -- == Valid Usage -- -- -   #VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094#---     @samples@ /must/ be a bit value that is set in+--     @samples@ /must/ be a valid+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value+--     that is set in --     'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@sampleCounts@ --     returned by --     'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceImageFormatProperties' --     with @format@, @type@, @tiling@, and @usage@ equal to those in this---     command and @flags@ equal to the value that is set in---     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ when the image is---     created+--     command -- -- == Valid Usage (Implicit) --@@ -778,6 +778,22 @@ --     @memoryOffset@ /must/ match the memory requirements of the resource, --     as described in section --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-association>+--+-- -   #VUID-VkSparseMemoryBind-resourceOffset-09491# If the resource being+--     bound is a 'Vulkan.Core10.Handles.Buffer', @resourceOffset@ and+--     @memoryOffset@ /must/ be an integer multiple of the @alignment@ of+--     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure+--     returned from a call to+--     'Vulkan.Core10.MemoryManagement.getBufferMemoryRequirements' with+--     the buffer resource+--+-- -   #VUID-VkSparseMemoryBind-resourceOffset-09492# If the resource being+--     bound is a 'Vulkan.Core10.Handles.Image', @resourceOffset@ and+--     @memoryOffset@ /must/ be an integer multiple of the @alignment@ of+--     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure+--     returned from a call to+--     'Vulkan.Core10.MemoryManagement.getImageMemoryRequirements' with the+--     image resource -- -- -   #VUID-VkSparseMemoryBind-memory-01097# If @memory@ is not --     'Vulkan.Core10.APIConstants.NULL_HANDLE', @memory@ /must/ not have
src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs view
@@ -9,6 +9,8 @@                                                                              , SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT                                                                              , SUBGROUP_FEATURE_CLUSTERED_BIT                                                                              , SUBGROUP_FEATURE_QUAD_BIT+                                                                             , SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR+                                                                             , SUBGROUP_FEATURE_ROTATE_BIT_KHR                                                                              , SUBGROUP_FEATURE_PARTITIONED_BIT_NV                                                                              , ..                                                                              )@@ -78,6 +80,17 @@ -- @GroupNonUniformQuad@ capability. pattern SUBGROUP_FEATURE_QUAD_BIT = SubgroupFeatureFlagBits 0x00000080 +-- | #features-subgroup-rotate-clustered#+-- 'SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR' specifies the device will+-- accept SPIR-V shader modules that use the @ClusterSize@ operand to+-- @OpGroupNonUniformRotateKHR@.+pattern SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = SubgroupFeatureFlagBits 0x00000400++-- | #features-subgroup-rotate# 'SUBGROUP_FEATURE_ROTATE_BIT_KHR' specifies+-- the device will accept SPIR-V shader modules containing the+-- @GroupNonUniformRotateKHR@ capability.+pattern SUBGROUP_FEATURE_ROTATE_BIT_KHR = SubgroupFeatureFlagBits 0x00000200+ -- | #features-subgroup-partitioned# 'SUBGROUP_FEATURE_PARTITIONED_BIT_NV' -- specifies the device will accept SPIR-V shader modules containing the -- @GroupNonUniformPartitionedNV@ capability.@@ -111,6 +124,14 @@     , "CLUSTERED_BIT"     )   , (SUBGROUP_FEATURE_QUAD_BIT, "QUAD_BIT")+  ,+    ( SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR+    , "ROTATE_CLUSTERED_BIT_KHR"+    )+  ,+    ( SUBGROUP_FEATURE_ROTATE_BIT_KHR+    , "ROTATE_BIT_KHR"+    )   ,     ( SUBGROUP_FEATURE_PARTITIONED_BIT_NV     , "PARTITIONED_BIT_NV"
src/Vulkan/Core11/Handles.hs view
@@ -45,6 +45,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR', -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetWithTemplateKHR', -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.createDescriptorUpdateTemplate', -- 'Vulkan.Extensions.VK_KHR_descriptor_update_template.createDescriptorUpdateTemplateKHR',
src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs view
@@ -52,6 +52,44 @@ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupUniformControlFlow shaderSubgroupUniformControlFlow> -- is enabled, @subgroupSize@ /must/ be greater than or equal to 4. --+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderQuadControl shaderQuadControl>+-- feature is supported, @supportedOperations@ /must/ include+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-subgroup-quad >.+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>+-- is supported, and the implementation advertises support with a+-- 'Vulkan.Core10.ExtensionDiscovery.ExtensionProperties'::@specVersion@+-- greater than or equal to 2, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotate shaderSubgroupRotate>+-- is supported,+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+-- /must/ be returned in @subgroupSupportedOperations@. If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>+-- is supported, and the implementation advertises support with a+-- 'Vulkan.Core10.ExtensionDiscovery.ExtensionProperties'::@specVersion@+-- greater than or equal to 2, and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotateClustered shaderSubgroupRotateClustered>+-- is supported,+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+-- /must/ be returned in @subgroupSupportedOperations@.+--+-- Note+--+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+-- and+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+-- were added in version 2 of the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>+-- extension, after the initial release, so there are implementations that+-- do not advertise these bits. Applications should use the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotate shaderSubgroupRotate>+-- and+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotateClustered shaderSubgroupRotateClustered>+-- features to determine and enable support. These bits are advertised here+-- for consistency and for future dependencies.+-- -- == Valid Usage (Implicit) -- -- = See Also
src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs view
@@ -49,6 +49,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindImageMemoryDeviceGroupInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (BindImageMemorySwapchainInfoKHR) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (BindImagePlaneMemoryInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindMemoryStatusKHR) import Vulkan.Core10.Handles (Buffer) import Vulkan.CStruct.Extends (Chain) import Vulkan.Core10.Handles (Device)@@ -92,12 +93,27 @@ -- On some implementations, it /may/ be more efficient to batch memory -- bindings into a single command. --+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>+-- feature is enabled, this command /must/ attempt to perform all of the+-- memory binding operations described by @pBindInfos@, and /must/ not+-- early exit on the first failure.+--+-- If any of the memory binding operations described by @pBindInfos@ fail,+-- the 'Vulkan.Core10.Enums.Result.Result' returned by this command /must/+-- be the return value of any one of the memory binding operations which+-- did not return 'Vulkan.Core10.Enums.Result.SUCCESS'.+-- -- Note ----- If 'bindBufferMemory2' fails, and @bindInfoCount@ was greater than one,--- then the buffers referenced by @pBindInfos@ will be in an indeterminate--- state, and must not be used. Applications should destroy these buffers.+-- If the 'bindBufferMemory2' command failed,+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' structures+-- were not included in the @pNext@ chains of each element of @pBindInfos@,+-- and @bindInfoCount@ was greater than one, then the buffers referenced by+-- @pBindInfos@ will be in an indeterminate state, and must not be used. --+-- Applications should destroy these buffers.+-- -- == Return Codes -- -- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]@@ -159,12 +175,27 @@ -- On some implementations, it /may/ be more efficient to batch memory -- bindings into a single command. --+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>+-- feature is enabled, this command /must/ attempt to perform all of the+-- memory binding operations described by @pBindInfos@, and /must/ not+-- early exit on the first failure.+--+-- If any of the memory binding operations described by @pBindInfos@ fail,+-- the 'Vulkan.Core10.Enums.Result.Result' returned by this command /must/+-- be the return value of any one of the memory binding operations which+-- did not return 'Vulkan.Core10.Enums.Result.SUCCESS'.+-- -- Note ----- If 'bindImageMemory2' fails, and @bindInfoCount@ was greater than one,--- then the images referenced by @pBindInfos@ will be in an indeterminate--- state, and must not be used. Applications should destroy these images.+-- If the 'bindImageMemory2' command failed,+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' structures+-- were not included in the @pNext@ chains of each element of @pBindInfos@,+-- and @bindInfoCount@ was greater than one, then the images referenced by+-- @pBindInfos@ will be in an indeterminate state, and must not be used. --+-- Applications should destroy these images.+-- -- == Valid Usage -- -- -   #VUID-vkBindImageMemory2-pBindInfos-02858# If any@@ -389,9 +420,11 @@ -- -   #VUID-VkBindBufferMemoryInfo-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO' ----- -   #VUID-VkBindBufferMemoryInfo-pNext-pNext# @pNext@ /must/ be @NULL@---     or a pointer to a valid instance of+-- -   #VUID-VkBindBufferMemoryInfo-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.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo'+--     or 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' -- -- -   #VUID-VkBindBufferMemoryInfo-sType-unique# The @sType@ value of each --     struct in the @pNext@ chain /must/ be unique@@ -440,6 +473,7 @@   getNext BindBufferMemoryInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindBufferMemoryInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @BindMemoryStatusKHR = Just f     | Just Refl <- eqT @e @BindBufferMemoryDeviceGroupInfo = Just f     | otherwise = Nothing @@ -762,8 +796,8 @@ --     @NULL@ or a pointer to a valid instance of --     'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo', --     'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR',---     or---     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo'+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',+--     or 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' -- -- -   #VUID-VkBindImageMemoryInfo-sType-unique# The @sType@ value of each --     struct in the @pNext@ chain /must/ be unique@@ -811,6 +845,7 @@   getNext BindImageMemoryInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindImageMemoryInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @BindMemoryStatusKHR = Just f     | Just Refl <- eqT @e @BindImagePlaneMemoryInfo = Just f     | Just Refl <- eqT @e @BindImageMemorySwapchainInfoKHR = Just f     | Just Refl <- eqT @e @BindImageMemoryDeviceGroupInfo = Just f
src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs view
@@ -367,6 +367,19 @@ -- are returned in -- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'::@usage@. --+-- == Valid Usage+--+-- -   #VUID-VkPhysicalDeviceExternalBufferInfo-None-09499# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must be a valid combination of+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values+--+-- -   #VUID-VkPhysicalDeviceExternalBufferInfo-None-09500# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must not be 0+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkPhysicalDeviceExternalBufferInfo-sType-sType# @sType@ /must/@@ -385,13 +398,6 @@ --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits' --     values ----- -   #VUID-VkPhysicalDeviceExternalBufferInfo-usage-parameter# @usage@---     /must/ be a valid combination of---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values------ -   #VUID-VkPhysicalDeviceExternalBufferInfo-usage-requiredbitmask#---     @usage@ /must/ not be @0@--- -- -   #VUID-VkPhysicalDeviceExternalBufferInfo-handleType-parameter# --     @handleType@ /must/ be a valid --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits'@@ -457,7 +463,6 @@     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO)     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'-    lift $ poke ((p `plusPtr` 20 :: Ptr BufferUsageFlags)) (zero)     lift $ poke ((p `plusPtr` 24 :: Ptr ExternalMemoryHandleTypeFlagBits)) (zero)     lift $ f 
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -156,6 +156,7 @@ import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_physical_device_drm (PhysicalDeviceDrmPropertiesEXT) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)@@ -207,21 +208,23 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_invocation_mask (PhysicalDeviceInvocationMaskFeaturesHUAWEI) import {-# SOURCE #-} Vulkan.Extensions.VK_MSFT_layered_driver (PhysicalDeviceLayeredDriverPropertiesMSFT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5PropertiesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6PropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV)@@ -249,6 +252,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowPropertiesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures)@@ -311,19 +315,24 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD) import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX) import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueuePropertiesAMDX)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierPropertiesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectPropertiesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)@@ -904,11 +913,18 @@   getNext PhysicalDeviceFeatures2{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceShaderQuadControlFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderFloatControls2FeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderExpectAssumeFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderSubgroupRotateFeaturesKHR = Just f+    | Just Refl <- eqT @e @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceRenderPassStripedFeaturesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f     | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f     | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceExternalFormatResolveFeaturesANDROID = Just f+    | Just Refl <- eqT @e @PhysicalDevicePerStageDescriptorSetFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = Just f     | Just Refl <- eqT @e @PhysicalDeviceImageProcessing2FeaturesQCOM = Just f     | Just Refl <- eqT @e @PhysicalDeviceCubicWeightsFeaturesQCOM = Just f@@ -1001,7 +1017,7 @@     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Features = Just f     | Just Refl <- eqT @e @PhysicalDevicePipelineCreationCacheControlFeatures = Just f-    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeatures = Just f@@ -1010,7 +1026,7 @@     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f-    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderClockFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = Just f     | Just Refl <- eqT @e @PhysicalDeviceCoverageReductionModeFeaturesNV = Just f@@ -1062,6 +1078,7 @@     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance6FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5FeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Features = Just f     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeatures = Just f@@ -1165,10 +1182,11 @@ --     'Vulkan.Extensions.VK_QCOM_image_processing.PhysicalDeviceImageProcessingPropertiesQCOM', --     'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockProperties', --     'Vulkan.Extensions.VK_MSFT_layered_driver.PhysicalDeviceLayeredDriverPropertiesMSFT',---     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationPropertiesKHR', --     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties', --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties', --     'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR', --     'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV', --     'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderPropertiesEXT', --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV',@@ -1287,7 +1305,7 @@     | Just Refl <- eqT @e @PhysicalDeviceVulkan13Properties = Just f     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Properties = Just f     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Properties = Just f-    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationPropertiesEXT = Just f+    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationPropertiesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceClusterCullingShaderPropertiesHUAWEI = Just f     | Just Refl <- eqT @e @PhysicalDeviceSubpassShadingPropertiesHUAWEI = Just f     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlProperties = Just f@@ -1318,6 +1336,7 @@     | Just Refl <- eqT @e @PhysicalDeviceConservativeRasterizationPropertiesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceExternalMemoryHostPropertiesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceFloatControlsProperties = Just f+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance6PropertiesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5PropertiesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Properties = Just f     | Just Refl <- eqT @e @PhysicalDeviceMaintenance3Properties = Just f@@ -2000,13 +2019,14 @@     -- specifying the number of samples per texel.     --     -- #VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-01095# @samples@-    -- /must/ be a bit value that is set in+    -- /must/ be a valid+    -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value that+    -- is set in     -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@sampleCounts@     -- returned by     -- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceImageFormatProperties'     -- with @format@, @type@, @tiling@, and @usage@ equal to those in this-    -- command and @flags@ equal to the value that is set in-    -- 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ when the image is created+    -- command     --     -- #VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-parameter#     -- @samples@ /must/ be a valid
src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs view
@@ -790,14 +790,7 @@ -- -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-03004# --     If an element of @pBindingFlags@ includes --     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',---     then all other elements of---     'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo'::@pBindings@---     /must/ have a smaller value of @binding@------ -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-09379#---     If an element of @pBindingFlags@ includes---     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',---     then it /must/ be the element with the the highest @binding@ number+--     then it /must/ be the element with the highest @binding@ number -- -- -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-descriptorBindingUniformBufferUpdateAfterBind-03005# --     If@@ -986,13 +979,6 @@ --     If @descriptorSetCount@ is not zero, @descriptorSetCount@ /must/ --     equal --     'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo'::@descriptorSetCount@------ -   #VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-pSetLayouts-03046#---     If---     'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo'::@pSetLayouts@[i]---     has a variable-sized descriptor binding, then @pDescriptorCounts@[i]---     /must/ be less than or equal to the descriptor count specified for---     that binding when the descriptor set layout was created -- -- == Valid Usage (Implicit) --
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -401,6 +401,24 @@ --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' --     usage bit --+-- -   #VUID-vkCmdBeginRenderPass2-initialLayout-09538# If any of the+--     @initialLayout@ or @finalLayout@ member of the+--     'Vulkan.Core10.Pass.AttachmentDescription' structures or the+--     @layout@ member of the 'Vulkan.Core10.Pass.AttachmentReference'+--     structures specified when creating the render pass specified in the+--     @renderPass@ member of @pRenderPassBegin@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     then the corresponding attachment image view of the framebuffer+--     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/+--     have been created with a @usage@ value including either+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or+--     both+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+--     and either of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+--     or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBeginRenderPass2-commandBuffer-parameter# @commandBuffer@@@ -891,10 +909,23 @@ --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT' -- -- -   #VUID-VkAttachmentDescription2-samples-08745# @samples@ /must/ be a---     bit value that is set in @imageCreateSampleCounts@ (as defined in+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'+--     value that is set in @imageCreateSampleCounts@ (as defined in --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>) --     for the given @format@ --+-- -   #VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09544# If+--     the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @initialLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   #VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09545# If+--     the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @finalLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+-- -- -   #VUID-VkAttachmentDescription2-pNext-06704# If the @pNext@ chain --     does not include a --     'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout'@@ -1211,6 +1242,11 @@ --     feature is not enabled, @layout@ /must/ not be --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT' --+-- -   #VUID-VkAttachmentReference2-dynamicRenderingLocalRead-09546# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @layout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkAttachmentReference2-sType-sType# @sType@ /must/ be@@ -1381,7 +1417,7 @@ -- >         .a = VK_COMPONENT_SWIZZLE_IDENTITY}, -- >     .xChromaOffset = properties.chromaOffsetX, -- >     .yChromaOffset = properties.chromaOffsetY,--- >     .chromaFilter = ename:VK_FILTER_NEAREST,+-- >     .chromaFilter = VK_FILTER_NEAREST, -- >     .forceExplicitReconstruction = ... }; -- -- where @properties@ is equal to
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -2468,8 +2468,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2481,8 +2482,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2496,8 +2497,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2518,8 +2520,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2531,8 +2534,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2546,8 +2549,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2561,15 +2565,16 @@ -- -- -   #VUID-vkCmdDrawIndirectCount-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndirectCount-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3249,7 +3254,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3262,7 +3267,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3275,7 +3280,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3288,7 +3293,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -3550,6 +3555,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndirectCount-None-09548# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndirectCount-None-09549# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndirectCount-None-04007# All vertex input bindings --     accessed via vertex input variables declared in the vertex shader --     entry point’s interface /must/ have either valid or@@ -6326,8 +6350,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6339,8 +6364,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6354,8 +6379,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6376,8 +6402,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6389,8 +6416,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6404,8 +6431,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6419,15 +6447,16 @@ -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -7107,7 +7136,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -7120,7 +7149,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -7133,7 +7162,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -7146,7 +7175,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -7409,6 +7438,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-04007# All vertex input --     bindings accessed via vertex input variables declared in the vertex --     shader entry point’s interface /must/ have either valid or@@ -7616,8 +7664,9 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-drawIndirectCount drawIndirectCount> --     is not enabled this function /must/ not be used ----- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07312# An index buffer---     /must/ be bound+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07312# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, a valid index buffer /must/ be bound -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-robustBufferAccess2-07825# If --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs view
@@ -40,6 +40,12 @@ -- created as if the 'ImageFormatListCreateInfo' structure were not -- included in the @pNext@ chain of 'Vulkan.Core10.Image.ImageCreateInfo'. --+-- == Valid Usage+--+-- -   #VUID-VkImageFormatListCreateInfo-viewFormatCount-09540# If+--     @viewFormatCount@ is not 0, each element of @pViewFormats@ /must/+--     not be 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkImageFormatListCreateInfo-sType-sType# @sType@ /must/ be
src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs view
@@ -190,6 +190,14 @@ -- pass, as specified by 'RenderPassAttachmentBeginInfo', /must/ be created -- with parameters that are identical to those specified here. --+-- == Valid Usage+--+-- -   #VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536# If+--     @viewFormatCount@ is not 0, and the render pass is not being used+--     with an external format resolve attachment, each element of+--     @pViewFormats@ /must/ not be+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkFramebufferAttachmentImageInfo-sType-sType# @sType@ /must/@@ -313,8 +321,8 @@ --     element of @pAttachments@ /must/ only specify a single mip level -- -- -   #VUID-VkRenderPassAttachmentBeginInfo-pAttachments-03219# Each---     element of @pAttachments@ /must/ have been created with the identity---     swizzle+--     element of @pAttachments@ /must/ have been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- -   #VUID-VkRenderPassAttachmentBeginInfo-pAttachments-04114# Each --     element of @pAttachments@ /must/ have been created with
src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs view
@@ -368,14 +368,16 @@                -> -- | @objectType@ is a 'Vulkan.Core10.Enums.ObjectType.ObjectType' specifying                   -- the type of object data is associated with.                   ---                  -- #VUID-vkGetPrivateData-objectType-04018# @objectType@ /must/ be-                  -- 'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_DEVICE', or an object type-                  -- whose parent is 'Vulkan.Core10.Handles.Device'-                  --                   -- #VUID-vkGetPrivateData-objectType-parameter# @objectType@ /must/ be a                   -- valid 'Vulkan.Core10.Enums.ObjectType.ObjectType' value                   ObjectType                -> -- | @objectHandle@ is a handle to the object data is associated with.+                  --+                  -- #VUID-vkGetPrivateData-objectType-04018# @objectHandle@ /must/ be+                  -- @device@ or a child of @device@+                  --+                  -- #VUID-vkGetPrivateData-objectHandle-09498# @objectHandle@ /must/ be a+                  -- valid handle to an object of type @objectType@                   ("objectHandle" ::: Word64)                -> -- | @privateDataSlot@ is a handle to a                   -- 'Vulkan.Core13.Handles.PrivateDataSlot' specifying location of private
src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs view
@@ -566,6 +566,18 @@ --     have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT' --+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09476# If+--     @colorAttachmentCount@ is not @0@ and there is an element of+--     @pColorAttachments@ with either its @resolveMode@ member set to+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID',+--     or its @imageView@ member not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', and its @resolveMode@+--     member not set to+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE', the+--     @resolveImageView@ member of that element of @pColorAttachments@+--     /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+-- -- -   #VUID-VkRenderingInfo-pDepthAttachment-06547# If @pDepthAttachment@ --     is not @NULL@ and @pDepthAttachment->imageView@ is not --     'Vulkan.Core10.APIConstants.NULL_HANDLE',@@ -578,6 +590,12 @@ --     @pDepthAttachment->imageView@ /must/ have been created with --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09477# If @pDepthAttachment@+--     is not @NULL@ and @pDepthAttachment->resolveMode@ is not+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',+--     @pDepthAttachment->resolveImageView@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- -   #VUID-VkRenderingInfo-pStencilAttachment-06548# If --     @pStencilAttachment@ is not @NULL@ and --     @pStencilAttachment->imageView@ is not@@ -593,6 +611,13 @@ --     stencil usage including --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09478# If+--     @pStencilAttachment@ is not @NULL@ and+--     @pStencilAttachment->resolveMode@ is not+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',+--     @pStencilAttachment->resolveImageView@ /must/ have been created with+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- -   #VUID-VkRenderingInfo-colorAttachmentCount-06090# If --     @colorAttachmentCount@ is not @0@ and the @imageView@ member of an --     element of @pColorAttachments@ is not@@ -990,12 +1015,79 @@ --     element of @pColorAttachments@ is --     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID', --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@---     /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE' If the @pNext@---     chain contains a+--     /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- -   #VUID-VkRenderingInfo-pNext-09535# If the @pNext@ chain contains a --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeBeginInfoARM' --     structure, the union of stripe areas defined by the elements of --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeInfoARM'::@pStripeInfos@ --     /must/ cover the @renderArea@+--+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09479# If+--     @colorAttachmentCount@ is not @0@ and the @imageView@ member of an+--     element of @pColorAttachments@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', that @imageView@ /must/+--     have been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09480# If+--     @colorAttachmentCount@ is not @0@, and there is an element of+--     @pColorAttachments@ with either its @resolveMode@ member set to+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID',+--     or its @imageView@ member not set to+--     'Vulkan.Core10.APIConstants.NULL_HANDLE' and its @resolveMode@+--     member not set to+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE', the+--     @resolveImageView@ member of that element of @pColorAttachments@+--     /must/ have been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09481# If @pDepthAttachment@+--     is not @NULL@ and @pDepthAttachment->imageView@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',+--     @pDepthAttachment->imageView@ /must/ have been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09482# If @pDepthAttachment@+--     is not @NULL@, @pDepthAttachment->imageView@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', and+--     @pDepthAttachment->resolveMode@ is not+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',+--     @pDepthAttachment->resolveImageView@ /must/ have been created with+--     the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09483# If+--     @pStencilAttachment@ is not @NULL@ and+--     @pStencilAttachment->imageView@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',+--     @pStencilAttachment->imageView@ /must/ have been created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09484# If+--     @pStencilAttachment@ is not @NULL@, @pStencilAttachment->imageView@+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and+--     @pStencilAttachment->resolveMode@ is not+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',+--     @pStencilAttachment->resolveImageView@ /must/ have been created with+--     the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-imageView-09485# If the @imageView@ member of+--     a+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'+--     structure included in the @pNext@ chain is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ have been+--     created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--+-- -   #VUID-VkRenderingInfo-imageView-09486# If the @imageView@ member of+--     a+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'+--     structure included in the @pNext@ chain is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ have been+--     created with the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- == Valid Usage (Implicit) --
src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs view
@@ -313,12 +313,12 @@ -- == Valid Usage -- -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06416# The---     @pCreateInfo@::@pNext@ chain /must/ not contain a+--     @pCreateInfo->pNext@ chain /must/ not contain a --     'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR' --     structure -- -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06776# The---     @pCreateInfo@::@pNext@ chain /must/ not contain a+--     @pCreateInfo->pNext@ chain /must/ not contain a --     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT' --     structure --@@ -335,16 +335,16 @@ --     structure with non-zero @externalFormat@ -- -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06417# If---     @pCreateInfo@::@format@ specifies a /multi-planar/ format and---     @pCreateInfo@::@flags@ has+--     @pCreateInfo->format@ specifies a /multi-planar/ format and+--     @pCreateInfo->flags@ has --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' --     set then @planeAspect@ /must/ not be --     'Vulkan.Extensions.VK_KHR_maintenance4.IMAGE_ASPECT_NONE_KHR' -- -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06419# If---     @pCreateInfo@::@flags@ has+--     @pCreateInfo->flags@ has --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'---     set and if the @pCreateInfo@::@tiling@ is+--     set and if the @pCreateInfo->tiling@ is --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL', then --     @planeAspect@ /must/ be a single valid@@ -352,7 +352,7 @@ --     bit -- -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06420# If---     @pCreateInfo@::@tiling@ is+--     @pCreateInfo->tiling@ is --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT', --     then @planeAspect@ /must/ be a single valid /memory plane/ for the --     image (that is, @aspectMask@ /must/ specify a plane index that is@@ -396,9 +396,9 @@   , -- | @planeAspect@ is a     -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' value     -- specifying the aspect corresponding to the image plane to query. This-    -- parameter is ignored unless @pCreateInfo@::@tiling@ is+    -- parameter is ignored unless @pCreateInfo->tiling@ is     -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',-    -- or @pCreateInfo@::@flags@ has+    -- or @pCreateInfo->flags@ has     -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' set.     planeAspect :: ImageAspectFlagBits   }
src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs view
@@ -878,7 +878,7 @@ -- -- -   #VUID-vkCmdPipelineBarrier2-dependencyFlags-07891# If --     'cmdPipelineBarrier2' is called within a render pass instance, and---     and the source stage masks of any memory barriers include+--     the source stage masks of any memory barriers include --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>, --     then @dependencyFlags@ /must/ include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_BY_REGION_BIT'@@ -898,22 +898,41 @@ --     view in the current subpass, dependency flags /must/ include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT' ----- -   #VUID-vkCmdPipelineBarrier2-shaderTileImageColorReadAccess-08718# If---     'cmdPipelineBarrier2' is called within a render pass instance and---     none of the+-- -   #VUID-vkCmdPipelineBarrier2-None-09553# If none of the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageColorReadAccess shaderTileImageColorReadAccess>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>---     features are enabled, the render pass /must/ not have been started---     with+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>,+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>+--     features are enabled, and the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, 'cmdPipelineBarrier2' /must/ not be called+--     within a render pass instance started with --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering' ----- -   #VUID-vkCmdPipelineBarrier2-None-08719# If 'cmdPipelineBarrier2' is+-- -   #VUID-vkCmdPipelineBarrier2-None-09554# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, and 'cmdPipelineBarrier2' is called within a+--     render pass instance started with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     there /must/ be no buffer or image memory barriers specified by this+--     command+--+-- -   #VUID-vkCmdPipelineBarrier2-image-09555# If 'cmdPipelineBarrier2' is --     called within a render pass instance started with --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',---     it /must/ adhere to the restrictions in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-explicit-renderpass-tileimage Explicit Render Pass Tile Image Access Synchronization>+--     and the @image@ member of any image memory barrier is used as an+--     attachment in the current render pass instance, it /must/ be in the+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     or 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' layout --+-- -   #VUID-vkCmdPipelineBarrier2-srcStageMask-09556# If+--     'cmdPipelineBarrier2' is called within a render pass instance+--     started with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     this command /must/ only specify+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>+--     in @srcStageMask@ and @dstStageMask@+-- -- -   #VUID-vkCmdPipelineBarrier2-synchronization2-03848# The --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature /must/ be enabled@@ -3602,6 +3621,32 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFeedbackLoopLayout attachmentFeedbackLoopLayout> --     feature is not enabled, @newLayout@ /must/ not be --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09550# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--     then @image@ /must/ have been created with either+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or+--     with both+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'+--     and either of+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'+--     or+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'+--+-- -   #VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09551# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @oldLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   #VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09552# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @newLayout@ /must/ not be+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR' -- -- -   #VUID-VkImageMemoryBarrier2-subresourceRange-01486# --     @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@
src/Vulkan/Dynamic.hs view
@@ -48,6 +48,8 @@ import {-# SOURCE #-} Vulkan.CStruct.Extends (BaseOutStructure) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (BindAccelerationStructureMemoryInfoNV) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorBufferEmbeddedSamplersInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorSetsInfoKHR) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo) import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (BlitImageInfo2)@@ -357,6 +359,9 @@ import {-# SOURCE #-} Vulkan.Core13.Handles (PrivateDataSlot) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_private_data (PrivateDataSlotCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushConstantsInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetWithTemplateInfoKHR) import {-# SOURCE #-} Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags) import {-# SOURCE #-} Vulkan.Core10.Handles (QueryPool) import {-# SOURCE #-} Vulkan.Core10.Query (QueryPoolCreateInfo)@@ -378,7 +383,9 @@ import {-# SOURCE #-} Vulkan.Core10.Pass (RenderPassCreateInfo) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (RenderPassCreateInfo2) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (RenderingAreaInfoKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR) import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (ResolveImageInfo2) import {-# SOURCE #-} Vulkan.Core10.Enums.Result (Result) import {-# SOURCE #-} Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)@@ -400,6 +407,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_external_semaphore (SemaphoreGetZirconHandleInfoFUCHSIA) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreSignalInfo) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreWaitInfo)+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (SetDescriptorBufferOffsetsInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency2 (SetLatencyMarkerInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (ShaderCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.Handles (ShaderEXT)@@ -1163,7 +1171,7 @@   , pVkGetPipelineExecutablePropertiesKHR :: FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result)   , pVkGetPipelineExecutableStatisticsKHR :: FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result)   , pVkGetPipelineExecutableInternalRepresentationsKHR :: FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result)-  , pVkCmdSetLineStippleEXT :: FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ())+  , pVkCmdSetLineStippleKHR :: FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ())   , pVkCreateAccelerationStructureKHR :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result)   , pVkCmdBuildAccelerationStructuresKHR :: FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ())   , pVkCmdBuildAccelerationStructuresIndirectKHR :: FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ())@@ -1330,11 +1338,19 @@   , pVkCmdDispatchGraphAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ())   , pVkCmdDispatchGraphIndirectAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ())   , pVkCmdDispatchGraphIndirectCountAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("countInfo" ::: DeviceAddress) -> IO ())+  , pVkCmdBindDescriptorSets2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pBindDescriptorSetsInfo" ::: Ptr (SomeStruct BindDescriptorSetsInfoKHR)) -> IO ())+  , pVkCmdPushConstants2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushConstantsInfo" ::: Ptr (SomeStruct PushConstantsInfoKHR)) -> IO ())+  , pVkCmdPushDescriptorSet2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushDescriptorSetInfo" ::: Ptr (SomeStruct PushDescriptorSetInfoKHR)) -> IO ())+  , pVkCmdPushDescriptorSetWithTemplate2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushDescriptorSetWithTemplateInfo" ::: Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR)) -> IO ())+  , pVkCmdSetDescriptorBufferOffsets2EXT :: FunPtr (Ptr CommandBuffer_T -> ("pSetDescriptorBufferOffsetsInfo" ::: Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT)) -> IO ())+  , pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT :: FunPtr (Ptr CommandBuffer_T -> ("pBindDescriptorBufferEmbeddedSamplersInfo" ::: Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT)) -> IO ())   , pVkSetLatencySleepModeNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSleepModeInfo" ::: Ptr LatencySleepModeInfoNV) -> IO Result)   , pVkLatencySleepNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSleepInfo" ::: Ptr LatencySleepInfoNV) -> IO Result)   , pVkSetLatencyMarkerNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr SetLatencyMarkerInfoNV) -> IO ())   , pVkGetLatencyTimingsNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr GetLatencyMarkerInfoNV) -> IO ())   , pVkQueueNotifyOutOfBandNV :: FunPtr (Ptr Queue_T -> ("pQueueTypeInfo" ::: Ptr OutOfBandQueueTypeInfoNV) -> IO ())+  , pVkCmdSetRenderingAttachmentLocationsKHR :: FunPtr (Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingAttachmentLocationInfoKHR) -> IO ())+  , pVkCmdSetRenderingInputAttachmentIndicesKHR :: FunPtr (Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingInputAttachmentIndexInfoKHR) -> IO ())   }  deriving instance Eq DeviceCmds@@ -1821,6 +1837,14 @@     nullFunPtr     nullFunPtr     nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr+    nullFunPtr  foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -2184,7 +2208,8 @@   vkGetPipelineExecutablePropertiesKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutablePropertiesKHR"#)   vkGetPipelineExecutableStatisticsKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutableStatisticsKHR"#)   vkGetPipelineExecutableInternalRepresentationsKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutableInternalRepresentationsKHR"#)-  vkCmdSetLineStippleEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetLineStippleEXT"#)+  vkCmdSetLineStippleKHR <- getFirstDeviceProcAddr [ (Ptr "vkCmdSetLineStippleEXT"#)+                                                   , (Ptr "vkCmdSetLineStippleKHR"#) ]   vkCreateAccelerationStructureKHR <- getDeviceProcAddr' handle (Ptr "vkCreateAccelerationStructureKHR"#)   vkCmdBuildAccelerationStructuresKHR <- getDeviceProcAddr' handle (Ptr "vkCmdBuildAccelerationStructuresKHR"#)   vkCmdBuildAccelerationStructuresIndirectKHR <- getDeviceProcAddr' handle (Ptr "vkCmdBuildAccelerationStructuresIndirectKHR"#)@@ -2385,11 +2410,19 @@   vkCmdDispatchGraphAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphAMDX"#)   vkCmdDispatchGraphIndirectAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphIndirectAMDX"#)   vkCmdDispatchGraphIndirectCountAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphIndirectCountAMDX"#)+  vkCmdBindDescriptorSets2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorSets2KHR"#)+  vkCmdPushConstants2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushConstants2KHR"#)+  vkCmdPushDescriptorSet2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushDescriptorSet2KHR"#)+  vkCmdPushDescriptorSetWithTemplate2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushDescriptorSetWithTemplate2KHR"#)+  vkCmdSetDescriptorBufferOffsets2EXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDescriptorBufferOffsets2EXT"#)+  vkCmdBindDescriptorBufferEmbeddedSamplers2EXT <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT"#)   vkSetLatencySleepModeNV <- getDeviceProcAddr' handle (Ptr "vkSetLatencySleepModeNV"#)   vkLatencySleepNV <- getDeviceProcAddr' handle (Ptr "vkLatencySleepNV"#)   vkSetLatencyMarkerNV <- getDeviceProcAddr' handle (Ptr "vkSetLatencyMarkerNV"#)   vkGetLatencyTimingsNV <- getDeviceProcAddr' handle (Ptr "vkGetLatencyTimingsNV"#)   vkQueueNotifyOutOfBandNV <- getDeviceProcAddr' handle (Ptr "vkQueueNotifyOutOfBandNV"#)+  vkCmdSetRenderingAttachmentLocationsKHR <- getDeviceProcAddr' handle (Ptr "vkCmdSetRenderingAttachmentLocationsKHR"#)+  vkCmdSetRenderingInputAttachmentIndicesKHR <- getDeviceProcAddr' handle (Ptr "vkCmdSetRenderingInputAttachmentIndicesKHR"#)   pure $ DeviceCmds handle     (castFunPtr @_ @(Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) vkGetDeviceProcAddr)     (castFunPtr @_ @(Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyDevice)@@ -2698,7 +2731,7 @@     (castFunPtr @_ @(Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result) vkGetPipelineExecutablePropertiesKHR)     (castFunPtr @_ @(Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result) vkGetPipelineExecutableStatisticsKHR)     (castFunPtr @_ @(Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result) vkGetPipelineExecutableInternalRepresentationsKHR)-    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) vkCmdSetLineStippleEXT)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) vkCmdSetLineStippleKHR)     (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result) vkCreateAccelerationStructureKHR)     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ()) vkCmdBuildAccelerationStructuresKHR)     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ()) vkCmdBuildAccelerationStructuresIndirectKHR)@@ -2865,9 +2898,17 @@     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ()) vkCmdDispatchGraphAMDX)     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ()) vkCmdDispatchGraphIndirectAMDX)     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("countInfo" ::: DeviceAddress) -> IO ()) vkCmdDispatchGraphIndirectCountAMDX)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pBindDescriptorSetsInfo" ::: Ptr (SomeStruct BindDescriptorSetsInfoKHR)) -> IO ()) vkCmdBindDescriptorSets2KHR)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushConstantsInfo" ::: Ptr (SomeStruct PushConstantsInfoKHR)) -> IO ()) vkCmdPushConstants2KHR)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushDescriptorSetInfo" ::: Ptr (SomeStruct PushDescriptorSetInfoKHR)) -> IO ()) vkCmdPushDescriptorSet2KHR)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushDescriptorSetWithTemplateInfo" ::: Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR)) -> IO ()) vkCmdPushDescriptorSetWithTemplate2KHR)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pSetDescriptorBufferOffsetsInfo" ::: Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT)) -> IO ()) vkCmdSetDescriptorBufferOffsets2EXT)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pBindDescriptorBufferEmbeddedSamplersInfo" ::: Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT)) -> IO ()) vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pSleepModeInfo" ::: Ptr LatencySleepModeInfoNV) -> IO Result) vkSetLatencySleepModeNV)     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pSleepInfo" ::: Ptr LatencySleepInfoNV) -> IO Result) vkLatencySleepNV)     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr SetLatencyMarkerInfoNV) -> IO ()) vkSetLatencyMarkerNV)     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr GetLatencyMarkerInfoNV) -> IO ()) vkGetLatencyTimingsNV)     (castFunPtr @_ @(Ptr Queue_T -> ("pQueueTypeInfo" ::: Ptr OutOfBandQueueTypeInfoNV) -> IO ()) vkQueueNotifyOutOfBandNV)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingAttachmentLocationInfoKHR) -> IO ()) vkCmdSetRenderingAttachmentLocationsKHR)+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingInputAttachmentIndexInfoKHR) -> IO ()) vkCmdSetRenderingInputAttachmentIndicesKHR) 
src/Vulkan/Extensions.hs view
@@ -197,6 +197,7 @@                           , module Vulkan.Extensions.VK_KHR_draw_indirect_count                           , module Vulkan.Extensions.VK_KHR_driver_properties                           , module Vulkan.Extensions.VK_KHR_dynamic_rendering+                          , module Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read                           , module Vulkan.Extensions.VK_KHR_external_fence                           , module Vulkan.Extensions.VK_KHR_external_fence_capabilities                           , module Vulkan.Extensions.VK_KHR_external_fence_fd@@ -220,11 +221,15 @@                           , module Vulkan.Extensions.VK_KHR_image_format_list                           , module Vulkan.Extensions.VK_KHR_imageless_framebuffer                           , module Vulkan.Extensions.VK_KHR_incremental_present+                          , module Vulkan.Extensions.VK_KHR_index_type_uint8+                          , module Vulkan.Extensions.VK_KHR_line_rasterization+                          , module Vulkan.Extensions.VK_KHR_load_store_op_none                           , module Vulkan.Extensions.VK_KHR_maintenance1                           , module Vulkan.Extensions.VK_KHR_maintenance2                           , module Vulkan.Extensions.VK_KHR_maintenance3                           , module Vulkan.Extensions.VK_KHR_maintenance4                           , module Vulkan.Extensions.VK_KHR_maintenance5+                          , module Vulkan.Extensions.VK_KHR_maintenance6                           , module Vulkan.Extensions.VK_KHR_map_memory2                           , module Vulkan.Extensions.VK_KHR_multiview                           , module Vulkan.Extensions.VK_KHR_performance_query@@ -246,11 +251,16 @@                           , module Vulkan.Extensions.VK_KHR_shader_atomic_int64                           , module Vulkan.Extensions.VK_KHR_shader_clock                           , module Vulkan.Extensions.VK_KHR_shader_draw_parameters+                          , module Vulkan.Extensions.VK_KHR_shader_expect_assume                           , module Vulkan.Extensions.VK_KHR_shader_float16_int8                           , module Vulkan.Extensions.VK_KHR_shader_float_controls+                          , module Vulkan.Extensions.VK_KHR_shader_float_controls2                           , module Vulkan.Extensions.VK_KHR_shader_integer_dot_product+                          , module Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence                           , module Vulkan.Extensions.VK_KHR_shader_non_semantic_info+                          , module Vulkan.Extensions.VK_KHR_shader_quad_control                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types+                          , module Vulkan.Extensions.VK_KHR_shader_subgroup_rotate                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow                           , module Vulkan.Extensions.VK_KHR_shader_terminate_invocation                           , module Vulkan.Extensions.VK_KHR_shared_presentable_image@@ -316,6 +326,7 @@                           , module Vulkan.Extensions.VK_NV_memory_decompression                           , module Vulkan.Extensions.VK_NV_mesh_shader                           , module Vulkan.Extensions.VK_NV_optical_flow+                          , module Vulkan.Extensions.VK_NV_per_stage_descriptor_set                           , module Vulkan.Extensions.VK_NV_present_barrier                           , module Vulkan.Extensions.VK_NV_ray_tracing                           , module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder@@ -546,6 +557,7 @@ import Vulkan.Extensions.VK_KHR_draw_indirect_count import Vulkan.Extensions.VK_KHR_driver_properties import Vulkan.Extensions.VK_KHR_dynamic_rendering+import Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read import Vulkan.Extensions.VK_KHR_external_fence import Vulkan.Extensions.VK_KHR_external_fence_capabilities import Vulkan.Extensions.VK_KHR_external_fence_fd@@ -569,11 +581,15 @@ import Vulkan.Extensions.VK_KHR_image_format_list import Vulkan.Extensions.VK_KHR_imageless_framebuffer import Vulkan.Extensions.VK_KHR_incremental_present+import Vulkan.Extensions.VK_KHR_index_type_uint8+import Vulkan.Extensions.VK_KHR_line_rasterization+import Vulkan.Extensions.VK_KHR_load_store_op_none import Vulkan.Extensions.VK_KHR_maintenance1 import Vulkan.Extensions.VK_KHR_maintenance2 import Vulkan.Extensions.VK_KHR_maintenance3 import Vulkan.Extensions.VK_KHR_maintenance4 import Vulkan.Extensions.VK_KHR_maintenance5+import Vulkan.Extensions.VK_KHR_maintenance6 import Vulkan.Extensions.VK_KHR_map_memory2 import Vulkan.Extensions.VK_KHR_multiview import Vulkan.Extensions.VK_KHR_performance_query@@ -595,11 +611,16 @@ import Vulkan.Extensions.VK_KHR_shader_atomic_int64 import Vulkan.Extensions.VK_KHR_shader_clock import Vulkan.Extensions.VK_KHR_shader_draw_parameters+import Vulkan.Extensions.VK_KHR_shader_expect_assume import Vulkan.Extensions.VK_KHR_shader_float16_int8 import Vulkan.Extensions.VK_KHR_shader_float_controls+import Vulkan.Extensions.VK_KHR_shader_float_controls2 import Vulkan.Extensions.VK_KHR_shader_integer_dot_product+import Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence import Vulkan.Extensions.VK_KHR_shader_non_semantic_info+import Vulkan.Extensions.VK_KHR_shader_quad_control import Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow import Vulkan.Extensions.VK_KHR_shader_terminate_invocation import Vulkan.Extensions.VK_KHR_shared_presentable_image@@ -665,6 +686,7 @@ import Vulkan.Extensions.VK_NV_memory_decompression import Vulkan.Extensions.VK_NV_mesh_shader import Vulkan.Extensions.VK_NV_optical_flow+import Vulkan.Extensions.VK_NV_per_stage_descriptor_set import Vulkan.Extensions.VK_NV_present_barrier import Vulkan.Extensions.VK_NV_ray_tracing import Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder
src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs view
@@ -3207,6 +3207,13 @@ -- -- == Valid Usage --+-- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497# If the+--     @pNext@ chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+--     structure, @flags@ must be a valid combination of+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'+--     values+-- -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984# If @flags@ --     contains the --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'@@ -3375,11 +3382,6 @@ -- -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-unique# The --     @sType@ value of each struct in the @pNext@ chain /must/ be unique------ -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-parameter#---     @flags@ /must/ be a valid combination of---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'---     values -- -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-parameter# If --     @stageCount@ is not @0@, and @pStages@ is not @NULL@, @pStages@
src/Vulkan/Extensions/VK_AMD_shader_info.hs view
@@ -275,7 +275,7 @@ -- below. -- -- For @infoType@ 'SHADER_INFO_TYPE_DISASSEMBLY_AMD', @pInfo@ is a pointer--- to a UTF-8 null-terminated string containing human-readable disassembly.+-- to a null-terminated UTF-8 string containing human-readable disassembly. -- The exact formatting and contents of the disassembly string are -- vendor-specific. --
src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs view
@@ -405,7 +405,7 @@ -- -- -   #VUID-VkRenderPassStripeBeginInfoARM-pStripeInfos-parameter# --     @pStripeInfos@ /must/ be a valid pointer to an array of---     @stripeInfoCount@ 'RenderPassStripeInfoARM' structures+--     @stripeInfoCount@ valid 'RenderPassStripeInfoARM' structures -- -- -   #VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-arraylength# --     @stripeInfoCount@ /must/ be greater than @0@@@ -416,14 +416,11 @@ -- 'RenderPassStripeInfoARM', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data RenderPassStripeBeginInfoARM = RenderPassStripeBeginInfoARM-  { -- | @stripeInfoCount@ is the number of stripes in this render pass instance-    stripeInfoCount :: Word32-  , -- | @pStripeInfos@ is a pointer to an array of @stripeInfoCount@+  { -- | @pStripeInfos@ is a pointer to an array of @stripeInfoCount@     -- 'RenderPassStripeInfoARM' structures describing the stripes used by the     -- render pass instance.-    stripeInfos :: Ptr RenderPassStripeInfoARM-  }-  deriving (Typeable, Eq)+    stripeInfos :: Vector RenderPassStripeInfoARM }+  deriving (Typeable) #if defined(GENERIC_INSTANCES) deriving instance Generic (RenderPassStripeBeginInfoARM) #endif@@ -431,38 +428,32 @@  instance ToCStruct RenderPassStripeBeginInfoARM where   withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p RenderPassStripeBeginInfoARM{..} f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (stripeInfoCount)-    poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (stripeInfos)-    f+  pokeCStruct p RenderPassStripeBeginInfoARM{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (stripeInfos)) :: Word32))+    pPStripeInfos' <- ContT $ allocaBytes @RenderPassStripeInfoARM ((Data.Vector.length (stripeInfos)) * 32)+    lift $ Data.Vector.imapM_ (\i e -> poke (pPStripeInfos' `plusPtr` (32 * (i)) :: Ptr RenderPassStripeInfoARM) (e)) (stripeInfos)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (pPStripeInfos')+    lift $ f   cStructSize = 32   cStructAlignment = 8   pokeZeroCStruct p f = do     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (zero)     f  instance FromCStruct RenderPassStripeBeginInfoARM where   peekCStruct p = do     stripeInfoCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))     pStripeInfos <- peek @(Ptr RenderPassStripeInfoARM) ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM)))+    pStripeInfos' <- generateM (fromIntegral stripeInfoCount) (\i -> peekCStruct @RenderPassStripeInfoARM ((pStripeInfos `advancePtrBytes` (32 * (i)) :: Ptr RenderPassStripeInfoARM)))     pure $ RenderPassStripeBeginInfoARM-             stripeInfoCount pStripeInfos--instance Storable RenderPassStripeBeginInfoARM where-  sizeOf ~_ = 32-  alignment ~_ = 8-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())+             pStripeInfos'  instance Zero RenderPassStripeBeginInfoARM where   zero = RenderPassStripeBeginInfoARM-           zero-           zero+           mempty   -- | VkRenderPassStripeSubmitInfoARM - Structure specifying striped rendering
src/Vulkan/Extensions/VK_EXT_debug_report.hs view
@@ -721,7 +721,8 @@                       -> -- | @pLayerPrefix@ is the abbreviation of the component making this                          -- event\/message.                          ("layerPrefix" ::: ByteString)-                      -> -- | @pMessage@ is a null-terminated string detailing the trigger conditions.+                      -> -- | @pMessage@ is a null-terminated UTF-8 string detailing the trigger+                         -- conditions.                          ("message" ::: ByteString)                       -> io () debugReportMessageEXT instance'
src/Vulkan/Extensions/VK_EXT_debug_utils.hs view
@@ -1863,10 +1863,6 @@     messageType :: DebugUtilsMessageTypeFlagsEXT   , -- | @pfnUserCallback@ is the application callback function to call.     ---    -- #VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914#-    -- @pfnUserCallback@ /must/ be a valid-    -- 'PFN_vkDebugUtilsMessengerCallbackEXT'-    --     -- #VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-parameter#     -- @pfnUserCallback@ /must/ be a valid     -- 'PFN_vkDebugUtilsMessengerCallbackEXT' value@@ -1981,8 +1977,9 @@ --     If @pMessageIdName@ is not @NULL@, @pMessageIdName@ /must/ be a --     null-terminated UTF-8 string ----- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter#---     @pMessage@ /must/ be a null-terminated UTF-8 string+-- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter# If+--     @pMessage@ is not @NULL@, @pMessage@ /must/ be a null-terminated+--     UTF-8 string -- -- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pQueueLabels-parameter# --     If @queueLabelCount@ is not @0@, @pQueueLabels@ /must/ be a valid@@ -2011,19 +2008,21 @@     next :: Chain es   , -- | @flags@ is @0@ and is reserved for future use.     flags :: DebugUtilsMessengerCallbackDataFlagsEXT-  , -- | @pMessageIdName@ is a null-terminated string that identifies the-    -- particular message ID that is associated with the provided message. If-    -- the message corresponds to a validation layer message, then this string-    -- may contain the portion of the Vulkan specification that is believed to-    -- have been violated.+  , -- | @pMessageIdName@ is @NULL@ or a null-terminated UTF-8 string that+    -- identifies the particular message ID that is associated with the+    -- provided message. If the message corresponds to a validation layer+    -- message, then this string may contain the portion of the Vulkan+    -- specification that is believed to have been violated.     messageIdName :: Maybe ByteString   , -- | @messageIdNumber@ is the ID number of the triggering message. If the     -- message corresponds to a validation layer message, then this number is     -- related to the internal number associated with the message being     -- triggered.     messageIdNumber :: Int32-  , -- | @pMessage@ is a null-terminated string detailing the trigger conditions.-    message :: ByteString+  , -- | @pMessage@ is @NULL@ if @messageTypes@ is equal to+    -- 'DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT', or a+    -- null-terminated UTF-8 string detailing the trigger conditions.+    message :: Maybe ByteString   , -- | @pQueueLabels@ is @NULL@ or a pointer to an array of     -- 'DebugUtilsLabelEXT' active in the current 'Vulkan.Core10.Handles.Queue'     -- at the time the callback was triggered. Refer to@@ -2071,7 +2070,9 @@       Just j -> ContT $ useAsCString (j)     lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr CChar))) pMessageIdName''     lift $ poke ((p `plusPtr` 32 :: Ptr Int32)) (messageIdNumber)-    pMessage'' <- ContT $ useAsCString (message)+    pMessage'' <- case (message) of+      Nothing -> pure nullPtr+      Just j -> ContT $ useAsCString (j)     lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr CChar))) pMessage''     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (queueLabels)) :: Word32))     pPQueueLabels' <- ContT $ allocaBytes @DebugUtilsLabelEXT ((Data.Vector.length (queueLabels)) * 40)@@ -2093,8 +2094,6 @@     pNext' <- fmap castPtr . ContT $ withZeroChain @es     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'     lift $ poke ((p `plusPtr` 32 :: Ptr Int32)) (zero)-    pMessage'' <- ContT $ useAsCString (mempty)-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr CChar))) pMessage''     lift $ f  instance ( Extendss DebugUtilsMessengerCallbackDataEXT es@@ -2106,7 +2105,8 @@     pMessageIdName <- peek @(Ptr CChar) ((p `plusPtr` 24 :: Ptr (Ptr CChar)))     pMessageIdName' <- maybePeek (\j -> packCString (j)) pMessageIdName     messageIdNumber <- peek @Int32 ((p `plusPtr` 32 :: Ptr Int32))-    pMessage <- packCString =<< peek ((p `plusPtr` 40 :: Ptr (Ptr CChar)))+    pMessage <- peek @(Ptr CChar) ((p `plusPtr` 40 :: Ptr (Ptr CChar)))+    pMessage' <- maybePeek (\j -> packCString (j)) pMessage     queueLabelCount <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))     pQueueLabels <- peek @(Ptr DebugUtilsLabelEXT) ((p `plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT)))     pQueueLabels' <- generateM (fromIntegral queueLabelCount) (\i -> peekCStruct @DebugUtilsLabelEXT ((pQueueLabels `advancePtrBytes` (40 * (i)) :: Ptr DebugUtilsLabelEXT)))@@ -2121,7 +2121,7 @@              flags              pMessageIdName'              messageIdNumber-             pMessage+             pMessage'              pQueueLabels'              pCmdBufLabels'              pObjects'@@ -2132,7 +2132,7 @@            zero            Nothing            zero-           mempty+           Nothing            mempty            mempty            mempty
src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs view
@@ -727,10 +727,16 @@ --     <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 determined by+-- -   #VUID-vkGetDescriptorEXT-dataSize-08125# If @pDescriptorInfo->type@+--     is not+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+--     or @pDescriptorInfo->data.pCombinedImageSampler@ has a @imageView@+--     member that was not created with a+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'+--     structure in its @pNext@ chain, @dataSize@ /must/ equal the size of+--     a descriptor of type 'DescriptorGetInfoEXT'::@type@ determined by+--     the value in 'PhysicalDeviceDescriptorBufferPropertiesEXT' , or+--     determined by --     'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT'::@combinedImageSamplerDensityMapDescriptorSize@ --     if @pDescriptorInfo@ specifies a --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'@@ -738,9 +744,25 @@ --     '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+-- -   #VUID-vkGetDescriptorEXT-descriptorType-09469# If+--     @pDescriptorInfo->type@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+--     and @pDescriptorInfo->data.pCombinedImageSampler@ has a @imageView@+--     member that was created with a+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'+--     structure in its @pNext@ chain, @dataSize@ /must/ equal the size of+--     'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSize@+--     times+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties'::@combinedImageSamplerDescriptorCount@ --+-- -   #VUID-vkGetDescriptorEXT-pDescriptorInfo-09507# If+--     @pDescriptorInfo->type@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'+--     and it has a @imageView@ that is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE' then @dataSize@ /must/ be+--     equal to the size of+--     'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSize@+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkGetDescriptorEXT-device-parameter# @device@ /must/ be a@@ -1004,10 +1026,6 @@ -- -- == 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@@@ -1045,10 +1063,6 @@ --     '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--- -- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-09006# The --     'Vulkan.Core10.Handles.DescriptorSetLayout' for each set from --     @firstSet@ to @firstSet@ + @setCount@ when @layout@ was created@@ -1056,6 +1070,14 @@ --     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --     bit set --+-- -   #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-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#@@ -1197,14 +1219,6 @@ -- -- == 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@@ -1216,6 +1230,14 @@ --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@ --     provided when @layout@ was created --+-- -   #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+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter#@@ -2306,6 +2328,14 @@ -- -- == Valid Usage --+-- -   #VUID-VkDescriptorAddressInfoEXT-None-09508# If @address@ is not+--     zero, and the descriptor is of type+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'+--     or+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER',+--     then @format@ /must/ not be+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+-- -- -   #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@@ -2416,13 +2446,24 @@ -- = Description -- -- If a--- 'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+-- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR' -- structure is present in the @pNext@ chain,--- 'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'::@flags@--- from that structure is used instead of @flags@ from this structure.+-- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'::@usage@+-- from that structure is used instead of @usage@ from this structure. -- -- == Valid Usage --+-- -   #VUID-VkDescriptorBufferBindingInfoEXT-None-09499# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must be a valid combination of+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values+--+-- -   #VUID-VkDescriptorBufferBindingInfoEXT-None-09500# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'+--     structure, @usage@ must not be 0+-- -- -   #VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056# --     If --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-bufferlessPushDescriptors ::bufferlessPushDescriptors>@@ -2471,13 +2512,6 @@ -- -   #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>,@@ -2530,7 +2564,6 @@     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@@ -2658,26 +2691,26 @@ --     '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+--     @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+--     @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+--     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+--     zero, @pStorageBuffer->address@ /must/ be an address within a --     'Vulkan.Core10.Handles.Buffer' created on @device@ -- -- -   #VUID-VkDescriptorGetInfoEXT-type-09427# If @type@ is
src/Vulkan/Extensions/VK_EXT_device_fault.hs view
@@ -312,22 +312,22 @@ -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07337# If the value --     referenced by @pFaultCounts->addressInfoCount@ is not @0@, and --     @pFaultInfo->pAddressInfos@ is not @NULL@,---     @pFaultInfo->pAddressInfos@ must be a valid pointer to an array of+--     @pFaultInfo->pAddressInfos@ /must/ be a valid pointer to an array of --     @pFaultCounts->addressInfoCount@ 'DeviceFaultAddressInfoEXT' --     structures -- -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07338# If the value --     referenced by @pFaultCounts->vendorInfoCount@ is not @0@, and --     @pFaultInfo->pVendorInfos@ is not @NULL@, @pFaultInfo->pVendorInfos@---     must be a valid pointer to an array of+--     /must/ be a valid pointer to an array of --     @pFaultCounts->vendorInfoCount@ 'DeviceFaultVendorInfoEXT' --     structures -- -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07339# If the value --     referenced by @pFaultCounts->vendorBinarySize@ is not @0@, and --     @pFaultInfo->pVendorBinaryData@ is not @NULL@,---     @pFaultInfo->pVendorBinaryData@ must be a valid pointer to an array---     of @pFaultCounts->vendorBinarySize@ bytes+--     @pFaultInfo->pVendorBinaryData@ /must/ be a valid pointer to an+--     array of @pFaultCounts->vendorBinarySize@ bytes -- -- == Valid Usage (Implicit) --@@ -704,19 +704,6 @@ -- @VK_EXT_device_address_binding_report@ extension. -- -- == Valid Usage (Implicit)------ -   #VUID-VkDeviceFaultInfoEXT-sType-sType# @sType@ /must/ be---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT'------ -   #VUID-VkDeviceFaultInfoEXT-pNext-pNext# @pNext@ /must/ be @NULL@------ -   #VUID-VkDeviceFaultInfoEXT-pAddressInfos-parameter# If---     @pAddressInfos@ is not @NULL@, @pAddressInfos@ /must/ be a valid---     pointer to a 'DeviceFaultAddressInfoEXT' structure------ -   #VUID-VkDeviceFaultInfoEXT-pVendorInfos-parameter# If @pVendorInfos@---     is not @NULL@, @pVendorInfos@ /must/ be a valid pointer to a---     'DeviceFaultVendorInfoEXT' structure -- -- = See Also --
src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs view
@@ -25,6 +25,26 @@ -- -- [__API Interactions__] --+--     -   Interacts with VK_VERSION_1_1+--+--     -   Interacts with VK_EXT_blend_operation_advanced+--+--     -   Interacts with VK_EXT_conservative_rasterization+--+--     -   Interacts with VK_EXT_depth_clip_control+--+--     -   Interacts with VK_EXT_depth_clip_enable+--+--     -   Interacts with VK_EXT_line_rasterization+--+--     -   Interacts with VK_EXT_provoking_vertex+--+--     -   Interacts with VK_EXT_sample_locations+--+--     -   Interacts with VK_EXT_transform_feedback+--+--     -   Interacts with VK_KHR_maintenance2+-- --     -   Interacts with VK_NV_clip_space_w_scaling -- --     -   Interacts with VK_NV_coverage_reduction_mode@@ -89,42 +109,80 @@ -- -- -   'cmdSetAlphaToOneEnableEXT' ----- -   'cmdSetColorBlendAdvancedEXT'--- -- -   'cmdSetColorBlendEnableEXT' -- -- -   'cmdSetColorBlendEquationEXT' -- -- -   'cmdSetColorWriteMaskEXT' --+-- -   'cmdSetDepthClampEnableEXT'+--+-- -   'cmdSetLogicOpEnableEXT'+--+-- -   'cmdSetPolygonModeEXT'+--+-- -   'cmdSetRasterizationSamplesEXT'+--+-- -   'cmdSetSampleMaskEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   'cmdSetColorBlendAdvancedEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+-- -- -   'cmdSetConservativeRasterizationModeEXT' ----- -   'cmdSetDepthClampEnableEXT'+-- -   'cmdSetExtraPrimitiveOverestimationSizeEXT' ----- -   'cmdSetDepthClipEnableEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported: -- -- -   'cmdSetDepthClipNegativeOneToOneEXT' ----- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported: --+-- -   'cmdSetDepthClipEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+-- -- -   'cmdSetLineRasterizationModeEXT' -- -- -   'cmdSetLineStippleEnableEXT' ----- -   'cmdSetLogicOpEnableEXT'------ -   'cmdSetPolygonModeEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported: -- -- -   'cmdSetProvokingVertexModeEXT' ----- -   'cmdSetRasterizationSamplesEXT'------ -   'cmdSetRasterizationStreamEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported: -- -- -   'cmdSetSampleLocationsEnableEXT' ----- -   'cmdSetSampleMaskEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported: --+-- -   'cmdSetRasterizationStreamEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+-- is supported:+-- -- -   'cmdSetTessellationDomainOriginEXT' -- -- If@@ -204,50 +262,106 @@ -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'--- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT' --+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported: --+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported: --+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': ----- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+-- is supported: -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': --+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'+-- -- If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling> -- is supported:@@ -339,16 +453,10 @@ -- 'PhysicalDeviceExtendedDynamicState3FeaturesEXT', -- 'PhysicalDeviceExtendedDynamicState3PropertiesEXT', -- 'cmdSetAlphaToCoverageEnableEXT', 'cmdSetAlphaToOneEnableEXT',--- 'cmdSetColorBlendAdvancedEXT', 'cmdSetColorBlendEnableEXT',--- 'cmdSetColorBlendEquationEXT', 'cmdSetColorWriteMaskEXT',--- 'cmdSetConservativeRasterizationModeEXT', 'cmdSetDepthClampEnableEXT',--- 'cmdSetDepthClipEnableEXT', 'cmdSetDepthClipNegativeOneToOneEXT',--- 'cmdSetExtraPrimitiveOverestimationSizeEXT',--- 'cmdSetLineRasterizationModeEXT', 'cmdSetLineStippleEnableEXT',+-- 'cmdSetColorBlendEnableEXT', 'cmdSetColorBlendEquationEXT',+-- 'cmdSetColorWriteMaskEXT', 'cmdSetDepthClampEnableEXT', -- 'cmdSetLogicOpEnableEXT', 'cmdSetPolygonModeEXT',--- 'cmdSetProvokingVertexModeEXT', 'cmdSetRasterizationSamplesEXT',--- 'cmdSetRasterizationStreamEXT', 'cmdSetSampleLocationsEnableEXT',--- 'cmdSetSampleMaskEXT', 'cmdSetTessellationDomainOriginEXT'+-- 'cmdSetRasterizationSamplesEXT', 'cmdSetSampleMaskEXT' -- -- == Document Notes --@@ -402,8 +510,9 @@                                                          , CoverageModulationModeNV(..)                                                          , CoverageReductionModeNV(..)                                                          , ConservativeRasterizationModeEXT(..)-                                                         , LineRasterizationModeEXT(..)+                                                         , LineRasterizationModeKHR(..)                                                          , ProvokingVertexModeEXT(..)+                                                         , LineRasterizationModeEXT                                                          ) where  import Vulkan.Internal.Utils (traceAroundEvent)@@ -494,7 +603,7 @@ import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportSwizzleNV)) import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportWScalingEnableNV)) import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..)) import Vulkan.Core10.Enums.PolygonMode (PolygonMode) import Vulkan.Core10.Enums.PolygonMode (PolygonMode(..)) import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT)@@ -512,7 +621,8 @@ import Vulkan.Extensions.VK_EXT_conservative_rasterization (ConservativeRasterizationModeEXT(..)) import Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (CoverageModulationModeNV(..)) import Vulkan.Extensions.VK_NV_coverage_reduction_mode (CoverageReductionModeNV(..))-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))+import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..)) import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT(..)) import Vulkan.Extensions.VK_NV_viewport_swizzle (ViewportCoordinateSwizzleNV(..)) import Vulkan.Extensions.VK_NV_viewport_swizzle (ViewportSwizzleNV(..))@@ -596,6 +706,8 @@ -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>, -- 'Vulkan.Core10.Handles.CommandBuffer', -- 'Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin' cmdSetTessellationDomainOriginEXT :: forall io@@ -1788,6 +1900,7 @@ -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>, -- 'Vulkan.Core10.Handles.CommandBuffer' cmdSetRasterizationStreamEXT :: forall io                               . (MonadIO io)@@ -1886,6 +1999,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.Handles.CommandBuffer',@@ -1991,6 +2105,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.Handles.CommandBuffer'@@ -2097,6 +2212,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.FundamentalTypes.Bool32',@@ -2194,6 +2310,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Handles.CommandBuffer'@@ -2299,6 +2416,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'ColorBlendAdvancedEXT', 'Vulkan.Core10.Handles.CommandBuffer'@@ -2418,6 +2536,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.Handles.CommandBuffer', -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT'@@ -2460,7 +2579,7 @@ -- set in -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@. -- Otherwise, this state is specified by the--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'::@lineRasterizationMode@+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'::@lineRasterizationMode@ -- value used to create the currently active pipeline. -- -- == Valid Usage@@ -2478,21 +2597,21 @@ -- -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07418# --     If @lineRasterizationMode@ is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines> --     feature /must/ be enabled -- -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07419# --     If @lineRasterizationMode@ is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines> --     feature /must/ be enabled -- -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07420# --     If @lineRasterizationMode@ is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines> --     feature /must/ be enabled@@ -2540,6 +2659,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.Handles.CommandBuffer', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT'@@ -2582,7 +2702,7 @@ -- set in -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@. -- Otherwise, this state is specified by the--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'::@stippledLineEnable@+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'::@stippledLineEnable@ -- value used to create the currently active pipeline. -- -- == Valid Usage@@ -2636,6 +2756,7 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.FundamentalTypes.Bool32', -- 'Vulkan.Core10.Handles.CommandBuffer'@@ -2736,6 +2857,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>, -- 'Vulkan.Core10.FundamentalTypes.Bool32',
src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot view
@@ -25,6 +25,26 @@ -- -- [__API Interactions__] --+--     -   Interacts with VK_VERSION_1_1+--+--     -   Interacts with VK_EXT_blend_operation_advanced+--+--     -   Interacts with VK_EXT_conservative_rasterization+--+--     -   Interacts with VK_EXT_depth_clip_control+--+--     -   Interacts with VK_EXT_depth_clip_enable+--+--     -   Interacts with VK_EXT_line_rasterization+--+--     -   Interacts with VK_EXT_provoking_vertex+--+--     -   Interacts with VK_EXT_sample_locations+--+--     -   Interacts with VK_EXT_transform_feedback+--+--     -   Interacts with VK_KHR_maintenance2+-- --     -   Interacts with VK_NV_clip_space_w_scaling -- --     -   Interacts with VK_NV_coverage_reduction_mode@@ -89,42 +109,80 @@ -- -- -   'cmdSetAlphaToOneEnableEXT' ----- -   'cmdSetColorBlendAdvancedEXT'--- -- -   'cmdSetColorBlendEnableEXT' -- -- -   'cmdSetColorBlendEquationEXT' -- -- -   'cmdSetColorWriteMaskEXT' --+-- -   'cmdSetDepthClampEnableEXT'+--+-- -   'cmdSetLogicOpEnableEXT'+--+-- -   'cmdSetPolygonModeEXT'+--+-- -   'cmdSetRasterizationSamplesEXT'+--+-- -   'cmdSetSampleMaskEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   'cmdSetColorBlendAdvancedEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+-- -- -   'cmdSetConservativeRasterizationModeEXT' ----- -   'cmdSetDepthClampEnableEXT'+-- -   'cmdSetExtraPrimitiveOverestimationSizeEXT' ----- -   'cmdSetDepthClipEnableEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported: -- -- -   'cmdSetDepthClipNegativeOneToOneEXT' ----- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported: --+-- -   'cmdSetDepthClipEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+-- -- -   'cmdSetLineRasterizationModeEXT' -- -- -   'cmdSetLineStippleEnableEXT' ----- -   'cmdSetLogicOpEnableEXT'------ -   'cmdSetPolygonModeEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported: -- -- -   'cmdSetProvokingVertexModeEXT' ----- -   'cmdSetRasterizationSamplesEXT'------ -   'cmdSetRasterizationStreamEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported: -- -- -   'cmdSetSampleLocationsEnableEXT' ----- -   'cmdSetSampleMaskEXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported: --+-- -   'cmdSetRasterizationStreamEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+-- is supported:+-- -- -   'cmdSetTessellationDomainOriginEXT' -- -- If@@ -204,50 +262,106 @@ -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'--- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT' --+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported: --+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported: --+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+-- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT' -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -- --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT' -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported: -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': ----- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>+-- or+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+-- is supported: -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': --+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'+-- -- If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling> -- is supported:@@ -339,16 +453,10 @@ -- 'PhysicalDeviceExtendedDynamicState3FeaturesEXT', -- 'PhysicalDeviceExtendedDynamicState3PropertiesEXT', -- 'cmdSetAlphaToCoverageEnableEXT', 'cmdSetAlphaToOneEnableEXT',--- 'cmdSetColorBlendAdvancedEXT', 'cmdSetColorBlendEnableEXT',--- 'cmdSetColorBlendEquationEXT', 'cmdSetColorWriteMaskEXT',--- 'cmdSetConservativeRasterizationModeEXT', 'cmdSetDepthClampEnableEXT',--- 'cmdSetDepthClipEnableEXT', 'cmdSetDepthClipNegativeOneToOneEXT',--- 'cmdSetExtraPrimitiveOverestimationSizeEXT',--- 'cmdSetLineRasterizationModeEXT', 'cmdSetLineStippleEnableEXT',+-- 'cmdSetColorBlendEnableEXT', 'cmdSetColorBlendEquationEXT',+-- 'cmdSetColorWriteMaskEXT', 'cmdSetDepthClampEnableEXT', -- 'cmdSetLogicOpEnableEXT', 'cmdSetPolygonModeEXT',--- 'cmdSetProvokingVertexModeEXT', 'cmdSetRasterizationSamplesEXT',--- 'cmdSetRasterizationStreamEXT', 'cmdSetSampleLocationsEnableEXT',--- 'cmdSetSampleMaskEXT', 'cmdSetTessellationDomainOriginEXT'+-- 'cmdSetRasterizationSamplesEXT', 'cmdSetSampleMaskEXT' -- -- == Document Notes --
src/Vulkan/Extensions/VK_EXT_filter_cubic.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Bill Licea-Kane---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @wwlk%0A*Here describe the issue or question you have about the VK_EXT_filter_cubic extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @mnetsch%0A*Here describe the issue or question you have about the VK_EXT_filter_cubic extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Bill Licea-Kane---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @wwlk%0A*Here describe the issue or question you have about the VK_EXT_filter_cubic extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @mnetsch%0A*Here describe the issue or question you have about the VK_EXT_filter_cubic extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs view
@@ -674,8 +674,20 @@ -- to handle when an application is minimised or otherwise intends to stop -- presenting for a time. ----- == Valid Usage+-- == 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'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_SURFACE_LOST_KHR'+-- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,@@ -683,6 +695,9 @@ releaseFullScreenExclusiveModeEXT :: forall io                                    . (MonadIO io)                                   => -- | @device@ is the device associated with @swapchain@.+                                     --+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-device-parameter# @device@+                                     -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle                                      Device                                   -> -- | @swapchain@ is the swapchain to release exclusive full-screen access                                      -- from.@@ -694,6 +709,13 @@                                      -- /must/ be a swapchain created with a 'SurfaceFullScreenExclusiveInfoEXT'                                      -- structure, with @fullScreenExclusive@ set to                                      -- 'FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT'+                                     --+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parameter#+                                     -- @swapchain@ /must/ be a valid 'Vulkan.Extensions.Handles.SwapchainKHR'+                                     -- handle+                                     --+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parent# @swapchain@+                                     -- /must/ have been created, allocated, or retrieved from @device@                                      SwapchainKHR                                   -> io () releaseFullScreenExclusiveModeEXT device swapchain = liftIO $ do
src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs view
@@ -25,6 +25,12 @@ --     or --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1> --+-- [__Deprecation State__]+--+--     -   /Promoted/ to+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>+--         extension+-- -- [__Contact__] -- --     -   Piers Daniell@@ -47,6 +53,12 @@ -- This extension allows @uint8_t@ indices to be used with -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'. --+-- == Promotion to @VK_KHR_index_type_uint8@+--+-- All functionality in this extension is included in+-- @VK_KHR_index_type_uint8@, with the suffix changed to KHR. The original+-- enum names are still available as aliases of the KHR functionality.+-- -- == New Structures -- -- -   Extending@@ -63,11 +75,11 @@ -- -- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType': -----     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT'+--     -   'INDEX_TYPE_UINT8_EXT' -- -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT'+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT' -- -- == Version History --@@ -86,103 +98,31 @@ -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly.-module Vulkan.Extensions.VK_EXT_index_type_uint8  ( PhysicalDeviceIndexTypeUint8FeaturesEXT(..)+module Vulkan.Extensions.VK_EXT_index_type_uint8  ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT+                                                  , pattern INDEX_TYPE_UINT8_EXT+                                                  , PhysicalDeviceIndexTypeUint8FeaturesEXT                                                   , EXT_INDEX_TYPE_UINT8_SPEC_VERSION                                                   , pattern EXT_INDEX_TYPE_UINT8_SPEC_VERSION                                                   , EXT_INDEX_TYPE_UINT8_EXTENSION_NAME                                                   , pattern EXT_INDEX_TYPE_UINT8_EXTENSION_NAME+                                                  , PhysicalDeviceIndexTypeUint8FeaturesKHR(..)                                                   ) where -import Foreign.Marshal.Alloc (allocaBytes)-import Foreign.Ptr (nullPtr)-import Foreign.Ptr (plusPtr)-import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (FromCStruct(..))-import Vulkan.CStruct (ToCStruct)-import Vulkan.CStruct (ToCStruct(..))-import Vulkan.Zero (Zero(..)) import Data.String (IsString)-import Data.Typeable (Typeable)-import Foreign.Storable (Storable)-import Foreign.Storable (Storable(peek))-import Foreign.Storable (Storable(poke))-import qualified Foreign.Storable (Storable(..))-import GHC.Generics (Generic)-import Foreign.Ptr (Ptr)-import Data.Kind (Type)-import Vulkan.Core10.FundamentalTypes (bool32ToBool)-import Vulkan.Core10.FundamentalTypes (boolToBool32)-import Vulkan.Core10.FundamentalTypes (Bool32)-import Vulkan.Core10.Enums.StructureType (StructureType)-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT))--- | VkPhysicalDeviceIndexTypeUint8FeaturesEXT - Structure describing whether--- uint8 index type can be used------ = Members------ This structure describes the following feature:------ = Description------ If the 'PhysicalDeviceIndexTypeUint8FeaturesEXT' 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. 'PhysicalDeviceIndexTypeUint8FeaturesEXT' /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_index_type_uint8 VK_EXT_index_type_uint8>,--- 'Vulkan.Core10.FundamentalTypes.Bool32',--- 'Vulkan.Core10.Enums.StructureType.StructureType'-data PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesEXT-  { -- | #features-indexTypeUint8# @indexTypeUint8@ indicates that-    -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT' can be used with-    -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' and-    -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.-    indexTypeUint8 :: Bool }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (PhysicalDeviceIndexTypeUint8FeaturesEXT)-#endif-deriving instance Show PhysicalDeviceIndexTypeUint8FeaturesEXT+import Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR)+import Vulkan.Core10.Enums.IndexType (IndexType(INDEX_TYPE_UINT8_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR))+import Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR(..))+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR -instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT where-  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p PhysicalDeviceIndexTypeUint8FeaturesEXT{..} f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (indexTypeUint8))-    f-  cStructSize = 24-  cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))-    f -instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT where-  peekCStruct p = do-    indexTypeUint8 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))-    pure $ PhysicalDeviceIndexTypeUint8FeaturesEXT-             (bool32ToBool indexTypeUint8)+-- No documentation found for TopLevel "VK_INDEX_TYPE_UINT8_EXT"+pattern INDEX_TYPE_UINT8_EXT = INDEX_TYPE_UINT8_KHR -instance Storable PhysicalDeviceIndexTypeUint8FeaturesEXT where-  sizeOf ~_ = 24-  alignment ~_ = 8-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ()) -instance Zero PhysicalDeviceIndexTypeUint8FeaturesEXT where-  zero = PhysicalDeviceIndexTypeUint8FeaturesEXT-           zero+-- No documentation found for TopLevel "VkPhysicalDeviceIndexTypeUint8FeaturesEXT"+type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesKHR   type EXT_INDEX_TYPE_UINT8_SPEC_VERSION = 1
− src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
@@ -1,101 +0,0 @@-{-# language CPP #-}--- | = Name------ VK_EXT_index_type_uint8 - device extension------ == VK_EXT_index_type_uint8------ [__Name String__]---     @VK_EXT_index_type_uint8@------ [__Extension Type__]---     Device extension------ [__Registered Extension Number__]---     266------ [__Revision__]---     1------ [__Ratification Status__]---     Not ratified------ [__Extension and Version Dependencies__]---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>---     or---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>------ [__Contact__]------     -   Piers Daniell---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_index_type_uint8] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_EXT_index_type_uint8 extension* >------ == Other Extension Metadata------ [__Last Modified Date__]---     2019-05-02------ [__IP Status__]---     No known IP claims.------ [__Contributors__]------     -   Jeff Bolz, NVIDIA------ == Description------ This extension allows @uint8_t@ indices to be used with--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.------ == New Structures------ -   Extending---     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',---     'Vulkan.Core10.Device.DeviceCreateInfo':------     -   'PhysicalDeviceIndexTypeUint8FeaturesEXT'------ == New Enum Constants------ -   'EXT_INDEX_TYPE_UINT8_EXTENSION_NAME'------ -   'EXT_INDEX_TYPE_UINT8_SPEC_VERSION'------ -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':------     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT'------ -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':------     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT'------ == Version History------ -   Revision 1, 2019-05-02 (Piers Daniell)------     -   Internal revisions------ == See Also------ 'PhysicalDeviceIndexTypeUint8FeaturesEXT'------ == Document Notes------ For more information, see the--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_EXT_index_type_uint8 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_index_type_uint8  (PhysicalDeviceIndexTypeUint8FeaturesEXT) where--import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (ToCStruct)-import Data.Kind (Type)--data PhysicalDeviceIndexTypeUint8FeaturesEXT--instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT-instance Show PhysicalDeviceIndexTypeUint8FeaturesEXT--instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT-
src/Vulkan/Extensions/VK_EXT_line_rasterization.hs view
@@ -25,6 +25,12 @@ --     or --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1> --+-- [__Deprecation State__]+--+--     -   /Promoted/ to+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>+--         extension+-- -- [__Special Use__] -- --     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse CAD support>@@ -58,6 +64,13 @@ -- lines (coverage to alpha) are supported, and stippled lines are -- supported for all three line rasterization modes. --+-- == Promotion to @VK_KHR_line_rasterization@+--+-- All functionality in this extension is included in+-- @VK_KHR_line_rasterization@, with the suffix changed to KHR. The+-- original enum names are still available as aliases of the KHR+-- functionality.+-- -- == New Commands -- -- -   'cmdSetLineStippleEXT'@@ -92,15 +105,15 @@ -- -- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     -   'DYNAMIC_STATE_LINE_STIPPLE_EXT' -- -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'+--     -   'STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT' -- -- == Issues --@@ -133,568 +146,76 @@ -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly.-module Vulkan.Extensions.VK_EXT_line_rasterization  ( cmdSetLineStippleEXT-                                                    , PhysicalDeviceLineRasterizationFeaturesEXT(..)-                                                    , PhysicalDeviceLineRasterizationPropertiesEXT(..)-                                                    , PipelineRasterizationLineStateCreateInfoEXT(..)-                                                    , LineRasterizationModeEXT( LINE_RASTERIZATION_MODE_DEFAULT_EXT-                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_EXT-                                                                              , LINE_RASTERIZATION_MODE_BRESENHAM_EXT-                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT-                                                                              , ..-                                                                              )+module Vulkan.Extensions.VK_EXT_line_rasterization  ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT+                                                    , pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT+                                                    , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT+                                                    , pattern DYNAMIC_STATE_LINE_STIPPLE_EXT+                                                    , cmdSetLineStippleEXT+                                                    , LineRasterizationModeEXT+                                                    , PhysicalDeviceLineRasterizationFeaturesEXT+                                                    , PhysicalDeviceLineRasterizationPropertiesEXT+                                                    , PipelineRasterizationLineStateCreateInfoEXT                                                     , EXT_LINE_RASTERIZATION_SPEC_VERSION                                                     , pattern EXT_LINE_RASTERIZATION_SPEC_VERSION                                                     , EXT_LINE_RASTERIZATION_EXTENSION_NAME                                                     , pattern EXT_LINE_RASTERIZATION_EXTENSION_NAME+                                                    , PhysicalDeviceLineRasterizationFeaturesKHR(..)+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR(..)+                                                    , PipelineRasterizationLineStateCreateInfoKHR(..)+                                                    , cmdSetLineStippleKHR+                                                    , LineRasterizationModeKHR(..)                                                     ) where -import Vulkan.Internal.Utils (enumReadPrec)-import Vulkan.Internal.Utils (enumShowsPrec)-import Vulkan.Internal.Utils (traceAroundEvent)-import Control.Monad (unless)-import Control.Monad.IO.Class (liftIO)-import Foreign.Marshal.Alloc (allocaBytes)-import GHC.IO (throwIO)-import GHC.Ptr (nullFunPtr)-import Foreign.Ptr (nullPtr)-import Foreign.Ptr (plusPtr)-import GHC.Show (showsPrec)-import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (FromCStruct(..))-import Vulkan.CStruct (ToCStruct)-import Vulkan.CStruct (ToCStruct(..))-import Vulkan.Zero (Zero)-import Vulkan.Zero (Zero(..))-import Control.Monad.IO.Class (MonadIO) import Data.String (IsString)-import Data.Typeable (Typeable)-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 Data.Int (Int32)-import Foreign.Ptr (FunPtr)-import Foreign.Ptr (Ptr)-import GHC.Read (Read(readPrec))-import GHC.Show (Show(showsPrec))-import Data.Word (Word16)-import Data.Word (Word32)-import Data.Kind (Type)-import Vulkan.Core10.FundamentalTypes (bool32ToBool)-import Vulkan.Core10.FundamentalTypes (boolToBool32)-import Vulkan.NamedType ((:::))-import Vulkan.Core10.FundamentalTypes (Bool32)-import Vulkan.Core10.Handles (CommandBuffer)-import Vulkan.Core10.Handles (CommandBuffer(..))-import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))-import Vulkan.Core10.Handles (CommandBuffer_T)-import Vulkan.Dynamic (DeviceCmds(pVkCmdSetLineStippleEXT))-import Vulkan.Core10.Enums.StructureType (StructureType)-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT))-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT))-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT))-foreign import ccall-#if !defined(SAFE_FOREIGN_CALLS)-  unsafe-#endif-  "dynamic" mkVkCmdSetLineStippleEXT-  :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()+import Vulkan.Extensions.VK_KHR_line_rasterization (cmdSetLineStippleKHR)+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR)+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR)+import Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR)+import Vulkan.Core10.Enums.DynamicState (DynamicState(DYNAMIC_STATE_LINE_STIPPLE_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR))+import Vulkan.Extensions.VK_KHR_line_rasterization (cmdSetLineStippleKHR)+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..))+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR(..))+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR(..))+import Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR(..))+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR --- | vkCmdSetLineStippleEXT - Set line stipple dynamically for a command--- buffer------ = Description------ This command sets the line stipple state for subsequent drawing commands--- when drawing using--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#shaders-objects shader objects>,--- or when the graphics pipeline is created with--- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT' set in--- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.--- Otherwise, this state is specified by the--- 'PipelineRasterizationLineStateCreateInfoEXT'::@lineStippleFactor@ and--- 'PipelineRasterizationLineStateCreateInfoEXT'::@lineStipplePattern@--- values used to create the currently active pipeline.------ == Valid Usage------ -   #VUID-vkCmdSetLineStippleEXT-lineStippleFactor-02776#---     @lineStippleFactor@ /must/ be in the range [1,256]------ == Valid Usage (Implicit)------ -   #VUID-vkCmdSetLineStippleEXT-commandBuffer-parameter#---     @commandBuffer@ /must/ be a valid---     'Vulkan.Core10.Handles.CommandBuffer' handle------ -   #VUID-vkCmdSetLineStippleEXT-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-vkCmdSetLineStippleEXT-commandBuffer-cmdpool# The---     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was---     allocated from /must/ support graphics operations------ -   #VUID-vkCmdSetLineStippleEXT-videocoding# This command /must/ only---     be called outside of a video coding scope------ == 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                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |--- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+------ = See Also------ <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,--- 'Vulkan.Core10.Handles.CommandBuffer'-cmdSetLineStippleEXT :: forall io-                      . (MonadIO io)-                     => -- | @commandBuffer@ is the command buffer into which the command will be-                        -- recorded.-                        CommandBuffer-                     -> -- | @lineStippleFactor@ is the repeat factor used in stippled line-                        -- rasterization.-                        ("lineStippleFactor" ::: Word32)-                     -> -- | @lineStipplePattern@ is the bit pattern used in stippled line-                        -- rasterization.-                        ("lineStipplePattern" ::: Word16)-                     -> io ()-cmdSetLineStippleEXT commandBuffer-                       lineStippleFactor-                       lineStipplePattern = liftIO $ do-  let vkCmdSetLineStippleEXTPtr = pVkCmdSetLineStippleEXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)-  unless (vkCmdSetLineStippleEXTPtr /= nullFunPtr) $-    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineStippleEXT is null" Nothing Nothing-  let vkCmdSetLineStippleEXT' = mkVkCmdSetLineStippleEXT vkCmdSetLineStippleEXTPtr-  traceAroundEvent "vkCmdSetLineStippleEXT" (vkCmdSetLineStippleEXT'-                                               (commandBufferHandle (commandBuffer))-                                               (lineStippleFactor)-                                               (lineStipplePattern))-  pure $ () +-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"+pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR --- | VkPhysicalDeviceLineRasterizationFeaturesEXT - Structure describing the--- line rasterization features that can be supported by an implementation------ = Members------ This structure describes the following features:------ = Description------ If the 'PhysicalDeviceLineRasterizationFeaturesEXT' 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. 'PhysicalDeviceLineRasterizationFeaturesEXT' /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_line_rasterization VK_EXT_line_rasterization>,--- 'Vulkan.Core10.FundamentalTypes.Bool32',--- 'Vulkan.Core10.Enums.StructureType.StructureType'-data PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesEXT-  { -- | #features-rectangularLines# @rectangularLines@ indicates whether the-    -- implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines rectangular line rasterization>.-    rectangularLines :: Bool-  , -- | #features-bresenhamLines# @bresenhamLines@ indicates whether the-    -- implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham-style line rasterization>.-    bresenhamLines :: Bool-  , -- | #features-smoothLines# @smoothLines@ indicates whether the-    -- implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth smooth line rasterization>.-    smoothLines :: Bool-  , -- | #features-stippledRectangularLines# @stippledRectangularLines@ indicates-    -- whether the implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>-    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' lines.-    stippledRectangularLines :: Bool-  , -- | #features-stippledBresenhamLines# @stippledBresenhamLines@ indicates-    -- whether the implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>-    -- with 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT' lines.-    stippledBresenhamLines :: Bool-  , -- | #features-stippledSmoothLines# @stippledSmoothLines@ indicates whether-    -- the implementation supports-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>-    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT' lines.-    stippledSmoothLines :: Bool-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (PhysicalDeviceLineRasterizationFeaturesEXT)-#endif-deriving instance Show PhysicalDeviceLineRasterizationFeaturesEXT -instance ToCStruct PhysicalDeviceLineRasterizationFeaturesEXT where-  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p PhysicalDeviceLineRasterizationFeaturesEXT{..} f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rectangularLines))-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (bresenhamLines))-    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (smoothLines))-    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (stippledRectangularLines))-    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (stippledBresenhamLines))-    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (stippledSmoothLines))-    f-  cStructSize = 40-  cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_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))-    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))-    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (zero))-    f+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR -instance FromCStruct PhysicalDeviceLineRasterizationFeaturesEXT where-  peekCStruct p = do-    rectangularLines <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))-    bresenhamLines <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))-    smoothLines <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))-    stippledRectangularLines <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))-    stippledBresenhamLines <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))-    stippledSmoothLines <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))-    pure $ PhysicalDeviceLineRasterizationFeaturesEXT-             (bool32ToBool rectangularLines)-             (bool32ToBool bresenhamLines)-             (bool32ToBool smoothLines)-             (bool32ToBool stippledRectangularLines)-             (bool32ToBool stippledBresenhamLines)-             (bool32ToBool stippledSmoothLines) -instance Storable PhysicalDeviceLineRasterizationFeaturesEXT where-  sizeOf ~_ = 40-  alignment ~_ = 8-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())+-- No documentation found for TopLevel "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT"+pattern DYNAMIC_STATE_LINE_STIPPLE_EXT = DYNAMIC_STATE_LINE_STIPPLE_KHR -instance Zero PhysicalDeviceLineRasterizationFeaturesEXT where-  zero = PhysicalDeviceLineRasterizationFeaturesEXT-           zero-           zero-           zero-           zero-           zero-           zero +-- No documentation found for TopLevel "vkCmdSetLineStippleEXT"+cmdSetLineStippleEXT = cmdSetLineStippleKHR --- | VkPhysicalDeviceLineRasterizationPropertiesEXT - Structure describing--- line rasterization properties supported by an implementation------ = Description------ If the 'PhysicalDeviceLineRasterizationPropertiesEXT' 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_line_rasterization VK_EXT_line_rasterization>,--- 'Vulkan.Core10.Enums.StructureType.StructureType'-data PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesEXT-  { -- | #limits-lineSubPixelPrecisionBits# @lineSubPixelPrecisionBits@ is the-    -- number of bits of subpixel precision in framebuffer coordinates xf and-    -- yf when rasterizing-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines line segments>.-    lineSubPixelPrecisionBits :: Word32 }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (PhysicalDeviceLineRasterizationPropertiesEXT)-#endif-deriving instance Show PhysicalDeviceLineRasterizationPropertiesEXT -instance ToCStruct PhysicalDeviceLineRasterizationPropertiesEXT where-  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p PhysicalDeviceLineRasterizationPropertiesEXT{..} f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (lineSubPixelPrecisionBits)-    f-  cStructSize = 24-  cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)-    f+-- No documentation found for TopLevel "VkLineRasterizationModeEXT"+type LineRasterizationModeEXT = LineRasterizationModeKHR -instance FromCStruct PhysicalDeviceLineRasterizationPropertiesEXT where-  peekCStruct p = do-    lineSubPixelPrecisionBits <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))-    pure $ PhysicalDeviceLineRasterizationPropertiesEXT-             lineSubPixelPrecisionBits -instance Storable PhysicalDeviceLineRasterizationPropertiesEXT where-  sizeOf ~_ = 24-  alignment ~_ = 8-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero PhysicalDeviceLineRasterizationPropertiesEXT where-  zero = PhysicalDeviceLineRasterizationPropertiesEXT-           zero+-- No documentation found for TopLevel "VkPhysicalDeviceLineRasterizationFeaturesEXT"+type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesKHR  --- | VkPipelineRasterizationLineStateCreateInfoEXT - Structure specifying--- parameters of a newly created pipeline line rasterization state------ = Description------ If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the--- values of @lineStippleFactor@ and @lineStipplePattern@ are ignored.------ == Valid Usage------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768#---     If @lineRasterizationMode@ is---     'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT', then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769#---     If @lineRasterizationMode@ is---     'LINE_RASTERIZATION_MODE_BRESENHAM_EXT', then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770#---     If @lineRasterizationMode@ is---     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT', then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771#---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and---     @lineRasterizationMode@ is---     'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT', then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772#---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and---     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT',---     then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773#---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and---     @lineRasterizationMode@ is---     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT', then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>---     feature /must/ be enabled------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774#---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and---     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_DEFAULT_EXT',---     then the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>---     feature /must/ be enabled and---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@---     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'------ == Valid Usage (Implicit)------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-sType-sType#---     @sType@ /must/ be---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'------ -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-parameter#---     @lineRasterizationMode@ /must/ be a valid 'LineRasterizationModeEXT'---     value------ = See Also------ <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,--- 'Vulkan.Core10.FundamentalTypes.Bool32', 'LineRasterizationModeEXT',--- 'Vulkan.Core10.Enums.StructureType.StructureType'-data PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoEXT-  { -- | @lineRasterizationMode@ is a 'LineRasterizationModeEXT' value selecting-    -- the style of line rasterization.-    lineRasterizationMode :: LineRasterizationModeEXT-  , -- | @stippledLineEnable@ enables-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>.-    stippledLineEnable :: Bool-  , -- | @lineStippleFactor@ is the repeat factor used in stippled line-    -- rasterization.-    lineStippleFactor :: Word32-  , -- | @lineStipplePattern@ is the bit pattern used in stippled line-    -- rasterization.-    lineStipplePattern :: Word16-  }-  deriving (Typeable, Eq)-#if defined(GENERIC_INSTANCES)-deriving instance Generic (PipelineRasterizationLineStateCreateInfoEXT)-#endif-deriving instance Show PipelineRasterizationLineStateCreateInfoEXT--instance ToCStruct PipelineRasterizationLineStateCreateInfoEXT where-  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)-  pokeCStruct p PipelineRasterizationLineStateCreateInfoEXT{..} f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT)) (lineRasterizationMode)-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (stippledLineEnable))-    poke ((p `plusPtr` 24 :: Ptr Word32)) (lineStippleFactor)-    poke ((p `plusPtr` 28 :: Ptr Word16)) (lineStipplePattern)-    f-  cStructSize = 32-  cStructAlignment = 8-  pokeZeroCStruct p f = do-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT)-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)-    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT)) (zero)-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))-    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)-    poke ((p `plusPtr` 28 :: Ptr Word16)) (zero)-    f--instance FromCStruct PipelineRasterizationLineStateCreateInfoEXT where-  peekCStruct p = do-    lineRasterizationMode <- peek @LineRasterizationModeEXT ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT))-    stippledLineEnable <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))-    lineStippleFactor <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))-    lineStipplePattern <- peek @Word16 ((p `plusPtr` 28 :: Ptr Word16))-    pure $ PipelineRasterizationLineStateCreateInfoEXT-             lineRasterizationMode-             (bool32ToBool stippledLineEnable)-             lineStippleFactor-             lineStipplePattern--instance Storable PipelineRasterizationLineStateCreateInfoEXT where-  sizeOf ~_ = 32-  alignment ~_ = 8-  peek = peekCStruct-  poke ptr poked = pokeCStruct ptr poked (pure ())--instance Zero PipelineRasterizationLineStateCreateInfoEXT where-  zero = PipelineRasterizationLineStateCreateInfoEXT-           zero-           zero-           zero-           zero+-- No documentation found for TopLevel "VkPhysicalDeviceLineRasterizationPropertiesEXT"+type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesKHR  --- | VkLineRasterizationModeEXT - Line rasterization modes------ = See Also------ <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,--- 'PipelineRasterizationLineStateCreateInfoEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'-newtype LineRasterizationModeEXT = LineRasterizationModeEXT Int32-  deriving newtype (Eq, Ord, Storable, Zero)---- | 'LINE_RASTERIZATION_MODE_DEFAULT_EXT' is equivalent to--- 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' if--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@--- is 'Vulkan.Core10.FundamentalTypes.TRUE', otherwise lines are drawn as--- non-@strictLines@ parallelograms. Both of these modes are defined in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>.-pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT = LineRasterizationModeEXT 0---- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' specifies lines drawn as if--- they were rectangles extruded from the line-pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = LineRasterizationModeEXT 1---- | 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT' specifies lines drawn by--- determining which pixel diamonds the line intersects and exits, as--- defined in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham Line Segment Rasterization>.-pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT = LineRasterizationModeEXT 2---- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT' specifies lines drawn--- if they were rectangles extruded from the line, with alpha falloff, as--- defined in--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth Smooth Lines>.-pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = LineRasterizationModeEXT 3--{-# COMPLETE-  LINE_RASTERIZATION_MODE_DEFAULT_EXT-  , LINE_RASTERIZATION_MODE_RECTANGULAR_EXT-  , LINE_RASTERIZATION_MODE_BRESENHAM_EXT-  , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT ::-    LineRasterizationModeEXT-  #-}--conNameLineRasterizationModeEXT :: String-conNameLineRasterizationModeEXT = "LineRasterizationModeEXT"--enumPrefixLineRasterizationModeEXT :: String-enumPrefixLineRasterizationModeEXT = "LINE_RASTERIZATION_MODE_"--showTableLineRasterizationModeEXT :: [(LineRasterizationModeEXT, String)]-showTableLineRasterizationModeEXT =-  [-    ( LINE_RASTERIZATION_MODE_DEFAULT_EXT-    , "DEFAULT_EXT"-    )-  ,-    ( LINE_RASTERIZATION_MODE_RECTANGULAR_EXT-    , "RECTANGULAR_EXT"-    )-  ,-    ( LINE_RASTERIZATION_MODE_BRESENHAM_EXT-    , "BRESENHAM_EXT"-    )-  ,-    ( LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT-    , "RECTANGULAR_SMOOTH_EXT"-    )-  ]--instance Show LineRasterizationModeEXT where-  showsPrec =-    enumShowsPrec-      enumPrefixLineRasterizationModeEXT-      showTableLineRasterizationModeEXT-      conNameLineRasterizationModeEXT-      (\(LineRasterizationModeEXT x) -> x)-      (showsPrec 11)+-- No documentation found for TopLevel "VkPipelineRasterizationLineStateCreateInfoEXT"+type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoKHR -instance Read LineRasterizationModeEXT where-  readPrec =-    enumReadPrec-      enumPrefixLineRasterizationModeEXT-      showTableLineRasterizationModeEXT-      conNameLineRasterizationModeEXT-      LineRasterizationModeEXT  type EXT_LINE_RASTERIZATION_SPEC_VERSION = 1 
src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot view
@@ -25,6 +25,12 @@ --     or --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1> --+-- [__Deprecation State__]+--+--     -   /Promoted/ to+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>+--         extension+-- -- [__Special Use__] -- --     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse CAD support>@@ -58,6 +64,13 @@ -- lines (coverage to alpha) are supported, and stippled lines are -- supported for all three line rasterization modes. --+-- == Promotion to @VK_KHR_line_rasterization@+--+-- All functionality in this extension is included in+-- @VK_KHR_line_rasterization@, with the suffix changed to KHR. The+-- original enum names are still available as aliases of the KHR+-- functionality.+-- -- == New Commands -- -- -   'cmdSetLineStippleEXT'@@ -92,15 +105,15 @@ -- -- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState': -----     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     -   'DYNAMIC_STATE_LINE_STIPPLE_EXT' -- -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT' -----     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'+--     -   'STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT' -- -- == Issues --@@ -133,39 +146,10 @@ -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly.-module Vulkan.Extensions.VK_EXT_line_rasterization  ( PhysicalDeviceLineRasterizationFeaturesEXT-                                                    , PhysicalDeviceLineRasterizationPropertiesEXT-                                                    , PipelineRasterizationLineStateCreateInfoEXT-                                                    , LineRasterizationModeEXT-                                                    ) where--import Vulkan.CStruct (FromCStruct)-import Vulkan.CStruct (ToCStruct)-import Data.Kind (Type)--data PhysicalDeviceLineRasterizationFeaturesEXT--instance ToCStruct PhysicalDeviceLineRasterizationFeaturesEXT-instance Show PhysicalDeviceLineRasterizationFeaturesEXT--instance FromCStruct PhysicalDeviceLineRasterizationFeaturesEXT---data PhysicalDeviceLineRasterizationPropertiesEXT--instance ToCStruct PhysicalDeviceLineRasterizationPropertiesEXT-instance Show PhysicalDeviceLineRasterizationPropertiesEXT--instance FromCStruct PhysicalDeviceLineRasterizationPropertiesEXT---data PipelineRasterizationLineStateCreateInfoEXT--instance ToCStruct PipelineRasterizationLineStateCreateInfoEXT-instance Show PipelineRasterizationLineStateCreateInfoEXT--instance FromCStruct PipelineRasterizationLineStateCreateInfoEXT+module Vulkan.Extensions.VK_EXT_line_rasterization  (LineRasterizationModeEXT) where  -data LineRasterizationModeEXT+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR)+-- No documentation found for TopLevel "VkLineRasterizationModeEXT"+type LineRasterizationModeEXT = LineRasterizationModeKHR 
src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs view
@@ -18,11 +18,17 @@ --     1 -- -- [__Ratification Status__]---     Not ratified+--     Ratified -- -- [__Extension and Version Dependencies__] --     None --+-- [__Deprecation State__]+--+--     -   /Promoted/ to+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_load_store_op_none VK_KHR_load_store_op_none>+--         extension+-- -- [__Contact__] -- --     -   Shahbaz Youssefi@@ -48,15 +54,20 @@ -- unnecessary synchronization when an attachment is not written during a -- render pass. ----- Additionally,--- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT' is--- introduced to avoid unnecessary synchronization when an attachment is--- not used during a render pass at all. In combination with--- 'ATTACHMENT_STORE_OP_NONE_EXT', this is useful as an alternative to--- preserve attachments in applications that cannot decide if an attachment--- will be used in a render pass until after the necessary pipelines have--- been created.+-- Additionally, 'ATTACHMENT_LOAD_OP_NONE_EXT' is introduced to avoid+-- unnecessary synchronization when an attachment is not used during a+-- render pass at all. In combination with 'ATTACHMENT_STORE_OP_NONE_EXT',+-- this is useful as an alternative to preserve attachments in applications+-- that cannot decide if an attachment will be used in a render pass until+-- after the necessary pipelines have been created. --+-- == Promotion to @VK_KHR_load_store_op_none@+--+-- All functionality in this extension is included in+-- @VK_KHR_load_store_op_none@, with the suffix changed to KHR. The+-- original enum names are still available as aliases of the KHR+-- functionality.+-- -- == New Enum Constants -- -- -   'EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME'@@ -65,7 +76,7 @@ -- -- -   Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp': -----     -   'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT'+--     -   'ATTACHMENT_LOAD_OP_NONE_EXT' -- -- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp': --@@ -90,7 +101,8 @@ -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly.-module Vulkan.Extensions.VK_EXT_load_store_op_none  ( pattern ATTACHMENT_STORE_OP_NONE_EXT+module Vulkan.Extensions.VK_EXT_load_store_op_none  ( pattern ATTACHMENT_LOAD_OP_NONE_EXT+                                                    , pattern ATTACHMENT_STORE_OP_NONE_EXT                                                     , EXT_LOAD_STORE_OP_NONE_SPEC_VERSION                                                     , pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION                                                     , EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME@@ -98,7 +110,12 @@                                                     ) where  import Data.String (IsString)+import Vulkan.Core10.Enums.AttachmentLoadOp (AttachmentLoadOp(ATTACHMENT_LOAD_OP_NONE_KHR)) import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp(ATTACHMENT_STORE_OP_NONE))+-- No documentation found for TopLevel "VK_ATTACHMENT_LOAD_OP_NONE_EXT"+pattern ATTACHMENT_LOAD_OP_NONE_EXT = ATTACHMENT_LOAD_OP_NONE_KHR++ -- No documentation found for TopLevel "VK_ATTACHMENT_STORE_OP_NONE_EXT" pattern ATTACHMENT_STORE_OP_NONE_EXT = ATTACHMENT_STORE_OP_NONE 
src/Vulkan/Extensions/VK_EXT_mesh_shader.hs view
@@ -2756,8 +2756,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2769,8 +2770,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2784,8 +2785,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2806,8 +2808,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2819,8 +2822,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2834,8 +2837,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2849,15 +2853,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3537,7 +3542,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3550,7 +3555,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3563,7 +3568,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3576,7 +3581,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -3838,6 +3843,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-09548# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-09549# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMeshTasksEXT-stage-06480# The bound graphics pipeline --     /must/ not have been created with the --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@@@ -6464,8 +6488,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6477,8 +6502,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6492,8 +6517,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6514,8 +6540,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6527,8 +6554,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6542,8 +6569,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6557,15 +6585,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -7245,7 +7274,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -7258,7 +7287,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -7271,7 +7300,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -7284,7 +7313,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -7547,6 +7576,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480# The bound graphics --     pipeline /must/ not have been created with the --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@@@ -10166,8 +10214,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10179,8 +10228,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -10194,8 +10243,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -10216,8 +10266,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10229,8 +10280,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -10244,8 +10295,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -10259,15 +10311,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10947,7 +11000,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -10960,7 +11013,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -10973,7 +11026,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -10986,7 +11039,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -11248,6 +11301,25 @@ --     in the @Fragment@ @Execution@ @Model@ executed by this command --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR' -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480# The bound --     graphics pipeline /must/ not have been created with the
src/Vulkan/Extensions/VK_EXT_multi_draw.hs view
@@ -2628,8 +2628,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2641,8 +2642,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2656,8 +2657,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2678,8 +2680,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2691,8 +2694,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2706,8 +2709,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2721,15 +2725,16 @@ -- -- -   #VUID-vkCmdDrawMultiEXT-None-07849# If the bound graphics pipeline --     state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMultiEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3408,7 +3413,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3421,7 +3426,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3434,7 +3439,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3447,7 +3452,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -3705,6 +3710,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMultiEXT-None-09548# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMultiEXT-None-09549# If the current render pass was+--     begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMultiEXT-commandBuffer-02712# If @commandBuffer@ is a --     protected command buffer and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>@@ -3932,8 +3956,8 @@ --     containing one or more valid instances of 'MultiDrawInfoEXT' --     structures ----- -   #VUID-vkCmdDrawMultiEXT-stride-04936# @stride@ must be a multiple of---     4+-- -   #VUID-vkCmdDrawMultiEXT-stride-04936# @stride@ /must/ be a multiple+--     of 4 -- -- == Valid Usage (Implicit) --@@ -6458,8 +6482,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6471,8 +6496,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6486,8 +6511,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6508,8 +6534,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6521,8 +6548,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6536,8 +6563,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6551,15 +6579,16 @@ -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -7239,7 +7268,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -7252,7 +7281,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -7265,7 +7294,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -7278,7 +7307,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -7541,6 +7570,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-09548# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-09549# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02712# If --     @commandBuffer@ is a protected command buffer and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>@@ -7730,8 +7778,9 @@ --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_EXT' --     stages ----- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07312# An index buffer /must/ be---     bound+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07312# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, a valid index buffer /must/ be bound -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-robustBufferAccess2-07825# If --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>@@ -7794,7 +7843,7 @@ --     containing one or more valid instances of 'MultiDrawIndexedInfoEXT' --     structures ----- -   #VUID-vkCmdDrawMultiIndexedEXT-stride-04941# @stride@ must be a+-- -   #VUID-vkCmdDrawMultiIndexedEXT-stride-04941# @stride@ /must/ be a --     multiple of 4 -- -- == Valid Usage (Implicit)
src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs view
@@ -1298,11 +1298,6 @@ -- -- == Valid Usage ----- -   #VUID-vkCopyMicromapEXT-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCopyMicromapEXT-deferredOperation-03678# Any previous --     deferred operation that was associated with @deferredOperation@ --     /must/ be complete@@ -1538,11 +1533,6 @@ -- -- == Valid Usage ----- -   #VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03678# Any --     previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -1760,11 +1750,6 @@ -- 'cmdCopyMicromapToMemoryEXT' or 'copyMicromapToMemoryEXT'. -- -- == Valid Usage------ -   #VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object -- -- -   #VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03678# Any --     previous deferred operation that was associated with
src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs view
@@ -233,7 +233,7 @@ -- == Valid Usage -- -- -   #VUID-vkGetPipelinePropertiesEXT-pipeline-06738# The @pipeline@---     member of @pPipelineInfo@ must have been created with @device@+--     member of @pPipelineInfo@ /must/ have been created with @device@ -- -- -   #VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-06739# --     @pPipelineProperties@ /must/ be a valid pointer to a
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -490,7 +490,9 @@ -- == Valid Usage -- -- -   #VUID-VkSampleLocationsInfoEXT-sampleLocationsPerPixel-01526#---     @sampleLocationsPerPixel@ /must/ be a bit value that is set in+--     @sampleLocationsPerPixel@ /must/ be a valid+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value+--     that is set in --     'PhysicalDeviceSampleLocationsPropertiesEXT'::@sampleLocationSampleCounts@ -- -- -   #VUID-VkSampleLocationsInfoEXT-sampleLocationsCount-01527#
src/Vulkan/Extensions/VK_EXT_shader_object.hs view
@@ -39,12 +39,28 @@ -- --     -   Interacts with VK_VERSION_1_3 --+--     -   Interacts with VK_EXT_blend_operation_advanced+--+--     -   Interacts with VK_EXT_conservative_rasterization+--+--     -   Interacts with VK_EXT_depth_clip_control+--+--     -   Interacts with VK_EXT_depth_clip_enable+-- --     -   Interacts with VK_EXT_fragment_density_map --+--     -   Interacts with VK_EXT_line_rasterization+-- --     -   Interacts with VK_EXT_mesh_shader --+--     -   Interacts with VK_EXT_provoking_vertex+--+--     -   Interacts with VK_EXT_sample_locations+-- --     -   Interacts with VK_EXT_subgroup_size_control --+--     -   Interacts with VK_EXT_transform_feedback+-- --     -   Interacts with VK_KHR_device_group -- --     -   Interacts with VK_KHR_fragment_shading_rate@@ -165,16 +181,12 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT'@@ -183,24 +195,14 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'------ -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'------ -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT'@@ -213,16 +215,10 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'@@ -244,6 +240,58 @@ -- -   'getShaderBinaryDataEXT' -- -- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'+--+-- If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling> -- is supported: --@@ -711,35 +759,25 @@ -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToCoverageEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPatchControlPointsEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetPolygonModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT',@@ -829,8 +867,9 @@                                                , CoverageModulationModeNV(..)                                                , CoverageReductionModeNV(..)                                                , ConservativeRasterizationModeEXT(..)-                                               , LineRasterizationModeEXT(..)+                                               , LineRasterizationModeKHR(..)                                                , ProvokingVertexModeEXT(..)+                                               , LineRasterizationModeEXT                                                , cmdSetCullModeEXT                                                , cmdSetFrontFaceEXT                                                , cmdSetPrimitiveTopologyEXT@@ -1023,7 +1062,8 @@ import Vulkan.Extensions.VK_EXT_conservative_rasterization (ConservativeRasterizationModeEXT(..)) import Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (CoverageModulationModeNV(..)) import Vulkan.Extensions.VK_NV_coverage_reduction_mode (CoverageReductionModeNV(..))-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))+import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..)) import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT(..)) import Vulkan.Extensions.Handles (ShaderEXT(..)) import Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state (VertexInputAttributeDescription2EXT(..))@@ -1059,10 +1099,6 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderObject shaderObject> --     feature /must/ be enabled ----- -   #VUID-vkCreateShadersEXT-pCreateInfos-08401# If @createInfoCount@ is---     1, there /must/ be no element of @pCreateInfos@ whose @flags@ member---     includes 'SHADER_CREATE_LINK_STAGE_BIT_EXT'--- -- -   #VUID-vkCreateShadersEXT-pCreateInfos-08402# If the @flags@ member --     of any element of @pCreateInfos@ includes --     'SHADER_CREATE_LINK_STAGE_BIT_EXT', the @flags@ member of all other@@ -1321,15 +1357,17 @@ -- -   #VUID-vkDestroyShaderEXT-device-parameter# @device@ /must/ be a --     valid 'Vulkan.Core10.Handles.Device' handle ----- -   #VUID-vkDestroyShaderEXT-shader-parameter# @shader@ /must/ be a---     valid 'Vulkan.Extensions.Handles.ShaderEXT' handle+-- -   #VUID-vkDestroyShaderEXT-shader-parameter# If @shader@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @shader@ /must/ be a valid+--     'Vulkan.Extensions.Handles.ShaderEXT' handle -- -- -   #VUID-vkDestroyShaderEXT-pAllocator-parameter# If @pAllocator@ is --     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid --     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure ----- -   #VUID-vkDestroyShaderEXT-shader-parent# @shader@ /must/ have been---     created, allocated, or retrieved from @device@+-- -   #VUID-vkDestroyShaderEXT-shader-parent# If @shader@ is a valid+--     handle, it /must/ have been created, allocated, or retrieved from+--     @device@ -- -- == Host Synchronization --@@ -2104,9 +2142,10 @@ -- -- -   #VUID-VkShaderCreateInfoEXT-pCode-08450# If @codeType@ is --     'SHADER_CODE_TYPE_SPIRV_EXT', and the identified entry point---     includes any variables in its interface that are declared with the---     @ClipDistance@ or @CullDistance@ @BuiltIn@ decoration, those---     variables /must/ not have array sizes which sum to more than+--     includes variables in its interface that are declared with the+--     @ClipDistance@ @BuiltIn@ decoration and variables in its interface+--     that are declared with the @CullDistance@ @BuiltIn@ decoration,+--     those variables /must/ not have array sizes which sum to more than --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCombinedClipAndCullDistances@ -- -- -   #VUID-VkShaderCreateInfoEXT-pCode-08451# If @codeType@ is
src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot view
@@ -39,12 +39,28 @@ -- --     -   Interacts with VK_VERSION_1_3 --+--     -   Interacts with VK_EXT_blend_operation_advanced+--+--     -   Interacts with VK_EXT_conservative_rasterization+--+--     -   Interacts with VK_EXT_depth_clip_control+--+--     -   Interacts with VK_EXT_depth_clip_enable+-- --     -   Interacts with VK_EXT_fragment_density_map --+--     -   Interacts with VK_EXT_line_rasterization+-- --     -   Interacts with VK_EXT_mesh_shader --+--     -   Interacts with VK_EXT_provoking_vertex+--+--     -   Interacts with VK_EXT_sample_locations+-- --     -   Interacts with VK_EXT_subgroup_size_control --+--     -   Interacts with VK_EXT_transform_feedback+-- --     -   Interacts with VK_KHR_device_group -- --     -   Interacts with VK_KHR_fragment_shading_rate@@ -165,16 +181,12 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT'@@ -183,24 +195,14 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'------ -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'------ -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT'@@ -213,16 +215,10 @@ -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT' ----- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'--- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT' -- -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'@@ -244,6 +240,58 @@ -- -   'getShaderBinaryDataEXT' -- -- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>+-- is supported:+--+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'+--+-- If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling> -- is supported: --@@ -711,35 +759,25 @@ -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToCoverageEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPatchControlPointsEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetPolygonModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT',--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT',
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -981,6 +981,10 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active> --     queries --+-- -   #VUID-vkCmdBeginQueryIndexedEXT-None-08370# If there is a bound+--     video session, then it /must/ not have been created with+--     @VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR@+-- -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07128# If the @queryType@ --     used to create @queryPool@ was --     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and there is a bound video@@ -992,13 +996,6 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@ --     the bound video session was created with ----- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-04862# If the @queryType@---     used to create @queryPool@ was---     @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@, then the---     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was---     allocated from /must/ support---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>--- -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07129# If the @queryType@ --     used to create @queryPool@ was --     @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@, then there /must/ be a@@ -1321,11 +1318,6 @@ --     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* command /must/ --     have been called previously within the same subpass ----- -   #VUID-vkCmdEndQueryIndexedEXT-None-07008# If called outside of a---     render pass instance, the corresponding---     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* command /must/---     have been called outside of a render pass instance--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdEndQueryIndexedEXT-commandBuffer-parameter#@@ -3866,8 +3858,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3879,8 +3872,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -3894,8 +3887,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -3916,8 +3910,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3929,8 +3924,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -3944,8 +3939,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -3959,15 +3955,16 @@ -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -4647,7 +4644,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -4660,7 +4657,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -4673,7 +4670,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -4686,7 +4683,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -4949,6 +4946,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-04007# All vertex input --     bindings accessed via vertex input variables declared in the vertex --     shader entry point’s interface /must/ have either valid or@@ -5166,6 +5182,12 @@ -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-counterBufferOffset-04568# --     @counterBufferOffset@ /must/ be a multiple of @4@+--+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-counterOffset-09474#+--     @counterOffset@ /must/ be a multiple of @4@+--+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-vertexStride-09475#+--     @vertexStride@ /must/ be a multiple of @4@ -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02646# --     @commandBuffer@ /must/ not be a protected command buffer
src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs view
@@ -540,7 +540,7 @@ -- = Description -- -- 'setBufferCollectionImageConstraintsFUCHSIA' /may/ fail if--- @pImageConstraintsInfo@::@formatConstraintsCount@ is larger than the+-- @pImageConstraintsInfo->formatConstraintsCount@ is larger than the -- implementation-defined limit. If that occurs, -- 'setBufferCollectionImageConstraintsFUCHSIA' will return -- 'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'.@@ -1091,61 +1091,29 @@   , -- | @formatFeatures@ is a bitmask of     -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' shared     -- by the buffer collection-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-parameter#-    -- @formatFeatures@ /must/ be a valid combination of-    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' values-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-requiredbitmask#-    -- @formatFeatures@ /must/ not be @0@     formatFeatures :: FormatFeatureFlags   , -- | @sysmemColorSpaceIndex@ is a 'SysmemColorSpaceFUCHSIA' struct specifying     -- the color space-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-sysmemColorSpaceIndex-parameter#-    -- @sysmemColorSpaceIndex@ /must/ be a valid 'SysmemColorSpaceFUCHSIA'-    -- structure     sysmemColorSpaceIndex :: SysmemColorSpaceFUCHSIA   , -- | @samplerYcbcrConversionComponents@ is a     -- 'Vulkan.Core10.ImageView.ComponentMapping' struct specifying the     -- component mapping-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-samplerYcbcrConversionComponents-parameter#-    -- @samplerYcbcrConversionComponents@ /must/ be a valid-    -- 'Vulkan.Core10.ImageView.ComponentMapping' structure     samplerYcbcrConversionComponents :: ComponentMapping   , -- | @suggestedYcbcrModel@ is a     -- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion'     -- value specifying the suggested Y′CBCR model-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrModel-parameter#-    -- @suggestedYcbcrModel@ /must/ be a valid-    -- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion'-    -- value     suggestedYcbcrModel :: SamplerYcbcrModelConversion   , -- | @suggestedYcbcrRange@ is a     -- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange' value     -- specifying the suggested Y′CBCR range-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrRange-parameter#-    -- @suggestedYcbcrRange@ /must/ be a valid-    -- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange' value     suggestedYcbcrRange :: SamplerYcbcrRange   , -- | @suggestedXChromaOffset@ is a     -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value specifying the     -- suggested X chroma offset-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedXChromaOffset-parameter#-    -- @suggestedXChromaOffset@ /must/ be a valid-    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value     suggestedXChromaOffset :: ChromaLocation   , -- | @suggestedYChromaOffset@ is a     -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value specifying the     -- suggested Y chroma offset-    ---    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYChromaOffset-parameter#-    -- @suggestedYChromaOffset@ /must/ be a valid-    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value     suggestedYChromaOffset :: ChromaLocation   }   deriving (Typeable)@@ -1495,34 +1463,34 @@ --     its 'ImageFormatConstraintsInfoFUCHSIA'::@requiredFormatFeatures@ -- -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396# If---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     @pFormatConstraints->imageCreateInfo->usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_BIT' -- -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397# If---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     @pFormatConstraints->imageCreateInfo->usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_STORAGE_IMAGE_BIT' -- -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398# If---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     @pFormatConstraints->imageCreateInfo->usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399# If---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     @pFormatConstraints->imageCreateInfo->usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06400# If---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     @pFormatConstraints->imageCreateInfo->usage@ contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain---     at least one of+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain at+--     least one of --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' --     or --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'@@ -1530,10 +1498,10 @@ -- -   #VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401# --     If the --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>---     feature is enabled, and---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains+--     feature is enabled, and @pFormatConstraints->imageCreateInfo->usage@+--     contains --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR',---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR' -- -- == Valid Usage (Implicit)
src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs view
@@ -320,7 +320,7 @@ --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA' -- -- -   #VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772# @handle@---     must be a valid VMO handle+--     /must/ be a valid VMO handle -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs view
@@ -2875,8 +2875,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2888,8 +2889,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2903,8 +2904,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2925,8 +2927,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2938,8 +2941,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2953,8 +2956,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2968,15 +2972,16 @@ -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3656,7 +3661,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3669,7 +3674,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3682,7 +3687,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3695,7 +3700,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -3957,6 +3962,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawClusterHUAWEI-None-09548# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawClusterHUAWEI-None-09549# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawClusterHUAWEI-stage-06480# The bound graphics --     pipeline /must/ not have been created with the --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@@@ -6546,8 +6570,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6559,8 +6584,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6574,8 +6599,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6596,8 +6622,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6609,8 +6636,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6624,8 +6651,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6639,15 +6667,16 @@ -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -7327,7 +7356,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -7340,7 +7369,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -7353,7 +7382,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -7366,7 +7395,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -7628,6 +7657,25 @@ --     in the @Fragment@ @Execution@ @Model@ executed by this command --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>+--+-- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR' -- -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-stage-06480# The bound graphics --     pipeline /must/ not have been created with the
src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs view
@@ -236,7 +236,7 @@ --     /must/ be 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' -- -- -   #VUID-vkCmdBindInvocationMaskHUAWEI-width-04981# Thread mask image---     resolution must match the @width@ and @height@ in+--     resolution /must/ match the @width@ and @height@ in --     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysKHR' -- -- -   #VUID-vkCmdBindInvocationMaskHUAWEI-None-04982# Each element in the
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -1658,11 +1658,6 @@ --     The --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands> ----- -   #VUID-vkCopyAccelerationStructureKHR-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCopyAccelerationStructureKHR-deferredOperation-03678# Any --     previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -1948,11 +1943,6 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands> --     feature /must/ be enabled ----- -   #VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03677#---     If @deferredOperation@ is not---     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03678# --     Any previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -2202,11 +2192,6 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands> --     feature /must/ be enabled ----- -   #VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03677#---     If @deferredOperation@ is not---     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03678# --     Any previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -2350,8 +2335,8 @@ --     @pAccelerationStructures@ /must/ be bound to device memory -- -- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-query-04880# The---     sum of @query@ plus @accelerationStructureCount@ /must/ be less than---     or equal to the number of queries in @queryPool@+--     sum of @firstQuery@ plus @accelerationStructureCount@ /must/ be less+--     than or equal to the number of queries in @queryPool@ -- -- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-04964# --     All acceleration structures in @pAccelerationStructures@ /must/ have@@ -2763,6 +2748,11 @@ -- 'cmdCopyMemoryToAccelerationStructureKHR' with a @mode@ of -- 'COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR' during replay. --+-- Note+--+-- Memory does not need to be bound to the underlying buffer when+-- 'createAccelerationStructureKHR' is called.+-- -- The input buffers passed to acceleration structure build commands will -- be referenced by the implementation for the duration of the command. -- After the command completes, the acceleration structure /may/ hold a@@ -3399,6 +3389,9 @@ --     device address containing a value obtained from --     'getAccelerationStructureDeviceAddressKHR' or @0@ --+-- -   #VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-09547#+--     @commandBuffer@ /must/ not be a protected command buffer+-- -- -   #VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03675# For each --     @pInfos@[i], @dstAccelerationStructure@ /must/ have been created --     with a value of 'AccelerationStructureCreateInfoKHR'::@size@ greater@@ -4004,6 +3997,9 @@ --     device address containing a value obtained from --     'getAccelerationStructureDeviceAddressKHR' or @0@ --+-- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-09547#+--     @commandBuffer@ /must/ not be a protected command buffer+-- -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03645# --     For any element of @pIndirectDeviceAddresses@, if the buffer from --     which it was queried is non-sparse then it /must/ be bound@@ -4030,9 +4026,6 @@ -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectStrides-03787# --     Each element of @pIndirectStrides@ /must/ be a multiple of @4@ ----- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-03649#---     @commandBuffer@ /must/ not be a protected command buffer--- -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03651# --     Each 'AccelerationStructureBuildRangeInfoKHR' structure referenced --     by any element of @pIndirectDeviceAddresses@ /must/ be a valid@@ -4470,11 +4463,6 @@ --     array of @pInfos@[i].@geometryCount@ --     'AccelerationStructureBuildRangeInfoKHR' structures ----- -   #VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03678# Any --     previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -4570,7 +4558,7 @@ --     of @pInfos@[i].@pGeometries@ or @pInfos@[i].@ppGeometries@ with a --     @geometryType@ of 'GEOMETRY_TYPE_INSTANCES_KHR', each --     'AccelerationStructureInstanceKHR'::@accelerationStructureReference@---     value in @geometry.instances.data.hostAddress@ must be a valid+--     value in @geometry.instances.data.hostAddress@ /must/ be a valid --     'Vulkan.Extensions.Handles.AccelerationStructureKHR' object -- -- -   #VUID-vkBuildAccelerationStructuresKHR-pInfos-04930# For any element@@ -4579,7 +4567,7 @@ --     'BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV' set, each --     @accelerationStructureReference@ in any structure in --     'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV'---     value in @geometry.instances.data.hostAddress@ must be a valid+--     value in @geometry.instances.data.hostAddress@ /must/ be a valid --     'Vulkan.Extensions.Handles.AccelerationStructureKHR' object -- -- == Valid Usage (Implicit)@@ -4730,6 +4718,17 @@ --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice> --     feature /must/ be enabled --+-- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09541# If the+--     buffer on which @pInfo->accelerationStructure@ was placed is+--     non-sparse then it /must/ be bound completely and contiguously to a+--     single 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09542# The+--     buffer on which @pInfo->accelerationStructure@ was placed /must/+--     have been created with the+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT'+--     usage flag+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter#@@ -5722,8 +5721,8 @@ --     /must/ not be 'ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR' -- -- -   #VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-03788#---     Only one of @pGeometries@ or @ppGeometries@ /can/ be a valid---     pointer, the other /must/ be @NULL@+--     If @geometryCount@ is not @0@, exactly one of @pGeometries@ or+--     @ppGeometries@ /must/ be a valid pointer, the other /must/ be @NULL@ -- -- -   #VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03789# If --     @type@ is 'ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR', the@@ -6060,13 +6059,6 @@ -- -- = Description ----- If @deviceAddress@ is zero, no specific address is requested.------ If @deviceAddress@ is not zero, @deviceAddress@ /must/ be an address--- retrieved from an identically created acceleration structure on the same--- implementation. The acceleration structure /must/ also be placed on an--- identically created @buffer@ and at the same @offset@.--- -- Applications /should/ avoid creating acceleration structures with -- application-provided addresses and implementation-provided addresses in -- the same process, to reduce the likelihood of@@ -6135,6 +6127,26 @@ --     @deviceAddress@ is not zero, @createFlags@ /must/ include --     'ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR' --+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09488# If+--     @deviceAddress@ is not zero, it /must/ have been retrieved from an+--     identically created acceleration structure, except for @buffer@ and+--     @deviceAddress@+--+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09489# If+--     @deviceAddress@ is not zero, @buffer@ /must/ have been created+--     identically to the @buffer@ used to create the acceleration+--     structure from which @deviceAddress@ was retrieved, except for+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@+--+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09490# If+--     @deviceAddress@ is not zero, @buffer@ /must/ have been created with+--     a+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@+--     that was retrieved from+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferOpaqueCaptureAddress'+--     for the @buffer@ that was used to create the acceleration structure+--     from which @deviceAddress@ was retrieved+-- -- -   #VUID-VkAccelerationStructureCreateInfoKHR-createFlags-03613# If --     @createFlags@ includes --     'ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR',@@ -6237,7 +6249,8 @@   , -- | @deviceAddress@ is the device address requested for the acceleration     -- structure if the     -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureCaptureReplay accelerationStructureCaptureReplay>-    -- feature is being used.+    -- feature is being used. If @deviceAddress@ is zero, no specific address+    -- is requested.     deviceAddress :: DeviceAddress   }   deriving (Typeable)
src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs view
@@ -427,33 +427,18 @@   , -- | @KSize@ is the number of columns in matrix @A@ and rows in matrix @B@.     kSize :: Word32   , -- | @AType@ is the component type of matrix @A@, of type 'ComponentTypeKHR'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesKHR-AType-parameter# @AType@ /must/-    -- be a valid 'ComponentTypeKHR' value     aType :: ComponentTypeKHR   , -- | @BType@ is the component type of matrix @B@, of type 'ComponentTypeKHR'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesKHR-BType-parameter# @BType@ /must/-    -- be a valid 'ComponentTypeKHR' value     bType :: ComponentTypeKHR   , -- | @CType@ is the component type of matrix @C@, of type 'ComponentTypeKHR'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesKHR-CType-parameter# @CType@ /must/-    -- be a valid 'ComponentTypeKHR' value     cType :: ComponentTypeKHR   , -- | @ResultType@ is the component type of matrix     -- 'Vulkan.Core10.Enums.Result.Result', of type 'ComponentTypeKHR'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesKHR-ResultType-parameter#-    -- @ResultType@ /must/ be a valid 'ComponentTypeKHR' value     resultType :: ComponentTypeKHR   , -- | @saturatingAccumulation@ indicates whether the @SaturatingAccumulation@     -- operand to @OpCooperativeMatrixMulAddKHR@ /must/ be present.     saturatingAccumulation :: Bool   , -- | @scope@ is the scope of all the matrix types, of type 'ScopeKHR'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesKHR-scope-parameter# @scope@ /must/-    -- be a valid 'ScopeKHR' value     scope :: ScopeKHR   }   deriving (Typeable, Eq)
+ src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs view
@@ -0,0 +1,832 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_dynamic_rendering_local_read - device extension+--+-- == VK_KHR_dynamic_rendering_local_read+--+-- [__Name String__]+--     @VK_KHR_dynamic_rendering_local_read@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     233+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering>+--+-- [__Contact__]+--+--     -   Tobias Hector+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_dynamic_rendering_local_read] @tobski%0A*Here describe the issue or question you have about the VK_KHR_dynamic_rendering_local_read extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_dynamic_rendering_local_read.adoc VK_KHR_dynamic_rendering_local_read>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-11-03+--+-- [__Contributors__]+--+--     -   Tobias Hector, AMD+--+--     -   Hans-Kristian Arntzen, Valve+--+--     -   Connor Abbott, Valve+--+--     -   Pan Gao, Huawei+--+--     -   Lionel Landwerlin, Intel+--+--     -   Shahbaz Youssefi, Google+--+--     -   Alyssa Rosenzweig, Valve+--+--     -   Jan-Harald Fredriksen, Arm+--+--     -   Mike Blumenkrantz, Valve+--+--     -   Graeme Leese, Broadcom+--+--     -   Piers Daniell, Nvidia+--+--     -   Stuart Smith, AMD+--+--     -   Daniel Story, Nintendo+--+--     -   James Fitzpatrick, Imagination+--+--     -   Piotr Byszewski, Mobica+--+--     -   Spencer Fricke, LunarG+--+--     -   Tom Olson, Arm+--+--     -   Michal Pietrasiuk, Intel+--+--     -   Matthew Netsch, Qualcomm+--+--     -   Marty Johnson, Khronos+--+--     -   Wyvern Wang, Huawei+--+--     -   Jeff Bolz, Nvidia+--+--     -   Samuel (Sheng-Wen) Huang, MediaTek+--+-- == Description+--+-- This extension enables reads from attachments and resources written by+-- previous fragment shaders within a dynamic render pass.+--+-- == New Commands+--+-- -   'cmdSetRenderingAttachmentLocationsKHR'+--+-- -   'cmdSetRenderingInputAttachmentIndicesKHR'+--+-- == New Structures+--+-- -   Extending 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',+--     'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo':+--+--     -   'RenderingAttachmentLocationInfoKHR'+--+--     -   'RenderingInputAttachmentIndexInfoKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME'+--+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.ImageLayout.ImageLayout':+--+--     -   'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'+--+-- == Version History+--+-- -   Revision 1, 2023-11-03 (Tobias Hector)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',+-- 'RenderingAttachmentLocationInfoKHR',+-- 'RenderingInputAttachmentIndexInfoKHR',+-- 'cmdSetRenderingAttachmentLocationsKHR',+-- 'cmdSetRenderingInputAttachmentIndicesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read  ( cmdSetRenderingAttachmentLocationsKHR+                                                              , cmdSetRenderingInputAttachmentIndicesKHR+                                                              , PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(..)+                                                              , RenderingAttachmentLocationInfoKHR(..)+                                                              , RenderingInputAttachmentIndexInfoKHR(..)+                                                              , KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION+                                                              , pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION+                                                              , KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME+                                                              , pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME+                                                              ) where++import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Marshal.Utils (maybePeek)+import Foreign.Marshal.Utils (with)+import GHC.IO (throwIO)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import Data.Vector (generateM)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import qualified Data.Vector (null)+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.Typeable (Typeable)+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.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.CStruct.Utils (advancePtrBytes)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetRenderingAttachmentLocationsKHR))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetRenderingInputAttachmentIndicesKHR))+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdSetRenderingAttachmentLocationsKHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr RenderingAttachmentLocationInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Ptr RenderingAttachmentLocationInfoKHR -> IO ()++-- | vkCmdSetRenderingAttachmentLocationsKHR - Set color attachment location+-- mappings for a command buffer+--+-- = Description+--+-- This command sets the attachment location mappings for subsequent+-- drawing commands, and /must/ match the mappings provided to the+-- currently bound pipeline, if one is bound, which /can/ be set by+-- chaining 'RenderingAttachmentLocationInfoKHR' to+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'.+--+-- Until this command is called, mappings in the command buffer state are+-- treated as each color attachment specified in+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+-- having a location equal to its index in+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@pColorAttachments@.+-- This state is reset whenever+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+-- is called.+--+-- == Valid Usage+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-dynamicRenderingLocalRead-09509#+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     /must/ be enabled+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-09510#+--     @pLocationInfo->colorAttachmentCount@ /must/ be equal to the value+--     of+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@colorAttachmentCount@+--     used to begin the current render pass instance+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-09511#+--     The current render pass instance /must/ have been started or resumed+--     by+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+--     in this @commandBuffer@+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-parameter#+--     @pLocationInfo@ /must/ be a valid pointer to a valid+--     'RenderingAttachmentLocationInfoKHR' structure+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-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-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-cmdpool#+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics operations+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-renderpass# This+--     command /must/ only be called inside of a render pass instance+--+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-videocoding# This+--     command /must/ only be called outside of a video coding scope+--+-- == 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                                                                                                                    | Inside                                                                                                                 | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'RenderingAttachmentLocationInfoKHR'+cmdSetRenderingAttachmentLocationsKHR :: forall io+                                       . (MonadIO io)+                                      => -- | @commandBuffer@ is the command buffer into which the command will be+                                         -- recorded.+                                         CommandBuffer+                                      -> -- | @pLocationInfo@ is a 'RenderingAttachmentLocationInfoKHR' structure+                                         -- indicating the new mappings.+                                         RenderingAttachmentLocationInfoKHR+                                      -> io ()+cmdSetRenderingAttachmentLocationsKHR commandBuffer+                                        locationInfo = liftIO . evalContT $ do+  let vkCmdSetRenderingAttachmentLocationsKHRPtr = pVkCmdSetRenderingAttachmentLocationsKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdSetRenderingAttachmentLocationsKHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetRenderingAttachmentLocationsKHR is null" Nothing Nothing+  let vkCmdSetRenderingAttachmentLocationsKHR' = mkVkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHRPtr+  pLocationInfo <- ContT $ withCStruct (locationInfo)+  lift $ traceAroundEvent "vkCmdSetRenderingAttachmentLocationsKHR" (vkCmdSetRenderingAttachmentLocationsKHR'+                                                                       (commandBufferHandle (commandBuffer))+                                                                       pLocationInfo)+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdSetRenderingInputAttachmentIndicesKHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr RenderingInputAttachmentIndexInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Ptr RenderingInputAttachmentIndexInfoKHR -> IO ()++-- | vkCmdSetRenderingInputAttachmentIndicesKHR - Set input attachment index+-- mappings for a command buffer+--+-- = Description+--+-- This command sets the input attachment index mappings for subsequent+-- drawing commands, and /must/ match the mappings provided to the+-- currently bound pipeline, if one is bound, which /can/ be set by+-- chaining 'RenderingInputAttachmentIndexInfoKHR' to+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'.+--+-- Until this command is called, mappings in the command buffer state are+-- treated as each color attachment specified in+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+-- mapping to subpass inputs with a @InputAttachmentIndex@ equal to its+-- index in+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@pColorAttachments@,+-- and depth\/stencil attachments mapping to input attachments without+-- these decorations. This state is reset whenever+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+-- is called.+--+-- == Valid Usage+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-dynamicRenderingLocalRead-09516#+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     /must/ be enabled+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pInputAttachmentIndexInfo-09517#+--     @pInputAttachmentIndexInfo->colorAttachmentCount@ /must/ be equal to+--     the value of+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@colorAttachmentCount@+--     used to begin the current render pass instance+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-09518#+--     The current render pass instance /must/ have been started or resumed+--     by+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+--     in this @commandBuffer@+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pLocationInfo-parameter#+--     @pLocationInfo@ /must/ be a valid pointer to a valid+--     'RenderingInputAttachmentIndexInfoKHR' structure+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-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-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-cmdpool#+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics operations+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-renderpass# This+--     command /must/ only be called inside of a render pass instance+--+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-videocoding# This+--     command /must/ only be called outside of a video coding scope+--+-- == 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                                                                                                                    | Inside                                                                                                                 | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'RenderingInputAttachmentIndexInfoKHR'+cmdSetRenderingInputAttachmentIndicesKHR :: forall io+                                          . (MonadIO io)+                                         => -- | @commandBuffer@ is the command buffer into which the command will be+                                            -- recorded.+                                            CommandBuffer+                                         -> -- No documentation found for Nested "vkCmdSetRenderingInputAttachmentIndicesKHR" "pLocationInfo"+                                            ("locationInfo" ::: RenderingInputAttachmentIndexInfoKHR)+                                         -> io ()+cmdSetRenderingInputAttachmentIndicesKHR commandBuffer+                                           locationInfo = liftIO . evalContT $ do+  let vkCmdSetRenderingInputAttachmentIndicesKHRPtr = pVkCmdSetRenderingInputAttachmentIndicesKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdSetRenderingInputAttachmentIndicesKHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetRenderingInputAttachmentIndicesKHR is null" Nothing Nothing+  let vkCmdSetRenderingInputAttachmentIndicesKHR' = mkVkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHRPtr+  pLocationInfo <- ContT $ withCStruct (locationInfo)+  lift $ traceAroundEvent "vkCmdSetRenderingInputAttachmentIndicesKHR" (vkCmdSetRenderingInputAttachmentIndicesKHR'+                                                                          (commandBufferHandle (commandBuffer))+                                                                          pLocationInfo)+  pure $ ()+++-- | VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR - Structure+-- indicating support for local reads in dynamic render pass instances+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR' 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. 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR' /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_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+  { -- | #features-dynamicRenderingLocalRead# @dynamicRenderingLocalRead@+    -- specifies that the implementation supports local reads inside dynamic+    -- render pass instances using the+    -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'+    -- command.+    dynamicRenderingLocalRead :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR++instance ToCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (dynamicRenderingLocalRead))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where+  peekCStruct p = do+    dynamicRenderingLocalRead <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+             (bool32ToBool dynamicRenderingLocalRead)++instance Storable PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where+  zero = PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+           zero+++-- | VkRenderingAttachmentLocationInfoKHR - Structure specifying attachment+-- locations+--+-- = Description+--+-- This structure allows applications to remap the locations of color+-- attachments to different fragment shader output locations.+--+-- Each element of @pColorAttachmentLocations@ set to+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' will be inaccessible to+-- this pipeline as a color attachment; no location will map to it. Each+-- element of @pColorAttachmentLocations@ set to any other value will map+-- the specified location value to the color attachment specified in the+-- render pass at the corresponding index in the+-- @pColorAttachmentLocations@ array. If @pColorAttachmentLocations@ is+-- @NULL@, it is equivalent to setting each element to its index within the+-- array. Any writes to a fragment output location that is not mapped to an+-- attachment /must/ be discarded.+--+-- This structure /can/ be included in the @pNext@ chain of a+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' structure to set+-- this state for a pipeline. This structure /can/ be included in the+-- @pNext@ chain of a+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo' structure to+-- specify inherited state from the primary command buffer. If this+-- structure is not included in the @pNext@ chain of+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' or+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', it is+-- equivalent to specifying this structure with the following properties:+--+-- -   @colorAttachmentCount@ set to+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@.+--+-- -   @pColorAttachmentLocations@ set to @NULL@.+--+-- == Valid Usage+--+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-dynamicRenderingLocalRead-09512#+--     If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, and @pColorAttachmentLocations@ is not+--     @NULL@, each element /must/ be set to the value of its index within+--     the array+--+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09513#+--     Elements of @pColorAttachmentLocations@ that are not+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ each be unique+--+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-colorAttachmentCount-09514#+--     @colorAttachmentCount@ /must/ be less than or equal to+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>+--+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09515#+--     Each element of @pColorAttachmentLocations@ /must/ be less than or+--     equal to+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType# @sType@+--     /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdSetRenderingAttachmentLocationsKHR'+data RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfoKHR+  { -- | @pColorAttachmentLocations@ is a pointer to an array of+    -- @colorAttachmentCount@ @uint32_t@ values defining remapped locations for+    -- color attachments.+    colorAttachmentLocations :: Vector Word32 }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (RenderingAttachmentLocationInfoKHR)+#endif+deriving instance Show RenderingAttachmentLocationInfoKHR++instance ToCStruct RenderingAttachmentLocationInfoKHR where+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p RenderingAttachmentLocationInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (colorAttachmentLocations)) :: Word32))+    pPColorAttachmentLocations' <- ContT $ allocaBytes @Word32 ((Data.Vector.length (colorAttachmentLocations)) * 4)+    lift $ Data.Vector.imapM_ (\i e -> poke (pPColorAttachmentLocations' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (colorAttachmentLocations)+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPColorAttachmentLocations')+    lift $ f+  cStructSize = 32+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f++instance FromCStruct RenderingAttachmentLocationInfoKHR where+  peekCStruct p = do+    colorAttachmentCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    pColorAttachmentLocations <- peek @(Ptr Word32) ((p `plusPtr` 24 :: Ptr (Ptr Word32)))+    pColorAttachmentLocations' <- generateM (fromIntegral colorAttachmentCount) (\i -> peek @Word32 ((pColorAttachmentLocations `advancePtrBytes` (4 * (i)) :: Ptr Word32)))+    pure $ RenderingAttachmentLocationInfoKHR+             pColorAttachmentLocations'++instance Zero RenderingAttachmentLocationInfoKHR where+  zero = RenderingAttachmentLocationInfoKHR+           mempty+++-- | VkRenderingInputAttachmentIndexInfoKHR - Structure specifying input+-- attachment indices+--+-- = Description+--+-- This structure allows applications to remap attachments to different+-- input attachment indices.+--+-- Each element of @pColorAttachmentInputIndices@ set to a value of+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' indicates that the+-- corresponding attachment will not be used as an input attachment in this+-- pipeline. Any other value in each of those elements will map the+-- corresponding attachment to a @InputAttachmentIndex@ value defined in+-- shader code. If @pColorAttachmentInputIndices@ is @NULL@, it is+-- equivalent to setting each element to its index within the array.+--+-- If @pDepthInputAttachmentIndex@ or @pStencilInputAttachmentIndex@ are+-- set to @NULL@, they map to input attachments without a+-- @InputAttachmentIndex@ decoration. If they point to a value of+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', it indicates that the+-- corresponding attachment will not be used as an input attachment in this+-- pipeline. If they point to any other value it maps the corresponding+-- attachment to a @InputAttachmentIndex@ value defined in shader code.+--+-- This structure /can/ be included in the @pNext@ chain of a+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' structure to set+-- this state for a pipeline. This structure /can/ be included in the+-- @pNext@ chain of a+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo' structure to+-- specify inherited state from the primary command buffer. If this+-- structure is not included in the @pNext@ chain of+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' or+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', it is+-- equivalent to specifying this structure with the following properties:+--+-- -   @colorAttachmentCount@ set to+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@.+--+-- -   @pColorAttachmentInputIndices@ set to @NULL@.+--+-- -   @pDepthInputAttachmentIndex@ set to @NULL@.+--+-- -   @pStencilInputAttachmentIndex@ set to @NULL@.+--+-- == Valid Usage+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09519#+--     If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, and @pColorAttachmentInputIndices@ is not+--     @NULL@, each element /must/ be set to+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09520#+--     If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @pDepthInputAttachmentIndex@ /must/ be a+--     valid pointer to a value of+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09521#+--     If the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>+--     feature is not enabled, @pStencilInputAttachmentIndex@ /must/ be a+--     valid pointer to a value of+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09522#+--     Elements of @pColorAttachmentInputIndices@ that are not+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ each be unique+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09523#+--     Elements of @pColorAttachmentInputIndices@ that are not+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ not take the+--     same value as the content of @pDepthInputAttachmentIndex@+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09524#+--     Elements of @pColorAttachmentInputIndices@ that are not+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ not take the+--     same value as the content of @pStencilInputAttachmentIndex@+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-colorAttachmentCount-09525#+--     @colorAttachmentCount@ /must/ be less than or equal to+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-sType-sType# @sType@+--     /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-parameter#+--     If @colorAttachmentCount@ is not @0@, and+--     @pColorAttachmentInputIndices@ is not @NULL@,+--     @pColorAttachmentInputIndices@ /must/ be a valid pointer to an array+--     of @colorAttachmentCount@ @uint32_t@ values+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pDepthInputAttachmentIndex-parameter#+--     If @pDepthInputAttachmentIndex@ is not @NULL@,+--     @pDepthInputAttachmentIndex@ /must/ be a valid pointer to a valid+--     @uint32_t@ value+--+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pStencilInputAttachmentIndex-parameter#+--     If @pStencilInputAttachmentIndex@ is not @NULL@,+--     @pStencilInputAttachmentIndex@ /must/ be a valid pointer to a valid+--     @uint32_t@ value+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdSetRenderingInputAttachmentIndicesKHR'+data RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfoKHR+  { -- | @colorAttachmentCount@ is the number of elements in+    -- @pColorAttachmentInputIndices@.+    colorAttachmentCount :: Word32+  , -- | @pColorAttachmentInputIndices@ is a pointer to an array of+    -- @colorAttachmentCount@ @uint32_t@ values defining indices for color+    -- attachments to be used as input attachments.+    colorAttachmentInputIndices :: Vector Word32+  , -- | @pDepthInputAttachmentIndex@ is either @NULL@, or a pointer to a+    -- @uint32_t@ value defining the index for the depth attachment to be used+    -- an an input attachment.+    depthInputAttachmentIndex :: Maybe Word32+  , -- | @pStencilInputAttachmentIndex@ is either @NULL@, or a pointer to a+    -- @uint32_t@ value defining the index for the stencil attachment to be+    -- used an an input attachment.+    stencilInputAttachmentIndex :: Maybe Word32+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (RenderingInputAttachmentIndexInfoKHR)+#endif+deriving instance Show RenderingInputAttachmentIndexInfoKHR++instance ToCStruct RenderingInputAttachmentIndexInfoKHR where+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p RenderingInputAttachmentIndexInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    let pColorAttachmentInputIndicesLength = Data.Vector.length $ (colorAttachmentInputIndices)+    colorAttachmentCount'' <- lift $ if (colorAttachmentCount) == 0+      then pure $ fromIntegral pColorAttachmentInputIndicesLength+      else do+        unless (fromIntegral pColorAttachmentInputIndicesLength == (colorAttachmentCount) || pColorAttachmentInputIndicesLength == 0) $+          throwIO $ IOError Nothing InvalidArgument "" "pColorAttachmentInputIndices must be empty or have 'colorAttachmentCount' elements" Nothing Nothing+        pure (colorAttachmentCount)+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) (colorAttachmentCount'')+    pColorAttachmentInputIndices'' <- if Data.Vector.null (colorAttachmentInputIndices)+      then pure nullPtr+      else do+        pPColorAttachmentInputIndices <- ContT $ allocaBytes @Word32 (((Data.Vector.length (colorAttachmentInputIndices))) * 4)+        lift $ Data.Vector.imapM_ (\i e -> poke (pPColorAttachmentInputIndices `plusPtr` (4 * (i)) :: Ptr Word32) (e)) ((colorAttachmentInputIndices))+        pure $ pPColorAttachmentInputIndices+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) pColorAttachmentInputIndices''+    pDepthInputAttachmentIndex'' <- case (depthInputAttachmentIndex) of+      Nothing -> pure nullPtr+      Just j -> ContT $ with (j)+    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word32))) pDepthInputAttachmentIndex''+    pStencilInputAttachmentIndex'' <- case (stencilInputAttachmentIndex) of+      Nothing -> pure nullPtr+      Just j -> ContT $ with (j)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) pStencilInputAttachmentIndex''+    lift $ f+  cStructSize = 48+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    f++instance FromCStruct RenderingInputAttachmentIndexInfoKHR where+  peekCStruct p = do+    colorAttachmentCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    pColorAttachmentInputIndices <- peek @(Ptr Word32) ((p `plusPtr` 24 :: Ptr (Ptr Word32)))+    let pColorAttachmentInputIndicesLength = if pColorAttachmentInputIndices == nullPtr then 0 else (fromIntegral colorAttachmentCount)+    pColorAttachmentInputIndices' <- generateM pColorAttachmentInputIndicesLength (\i -> peek @Word32 ((pColorAttachmentInputIndices `advancePtrBytes` (4 * (i)) :: Ptr Word32)))+    pDepthInputAttachmentIndex <- peek @(Ptr Word32) ((p `plusPtr` 32 :: Ptr (Ptr Word32)))+    pDepthInputAttachmentIndex' <- maybePeek (\j -> peek @Word32 (j)) pDepthInputAttachmentIndex+    pStencilInputAttachmentIndex <- peek @(Ptr Word32) ((p `plusPtr` 40 :: Ptr (Ptr Word32)))+    pStencilInputAttachmentIndex' <- maybePeek (\j -> peek @Word32 (j)) pStencilInputAttachmentIndex+    pure $ RenderingInputAttachmentIndexInfoKHR+             colorAttachmentCount+             pColorAttachmentInputIndices'+             pDepthInputAttachmentIndex'+             pStencilInputAttachmentIndex'++instance Zero RenderingInputAttachmentIndexInfoKHR where+  zero = RenderingInputAttachmentIndexInfoKHR+           zero+           mempty+           Nothing+           Nothing+++type KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION"+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1+++type KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read"++-- No documentation found for TopLevel "VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME"+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read"+
+ src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs-boot view
@@ -0,0 +1,183 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_dynamic_rendering_local_read - device extension+--+-- == VK_KHR_dynamic_rendering_local_read+--+-- [__Name String__]+--     @VK_KHR_dynamic_rendering_local_read@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     233+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering>+--+-- [__Contact__]+--+--     -   Tobias Hector+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_dynamic_rendering_local_read] @tobski%0A*Here describe the issue or question you have about the VK_KHR_dynamic_rendering_local_read extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_dynamic_rendering_local_read.adoc VK_KHR_dynamic_rendering_local_read>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-11-03+--+-- [__Contributors__]+--+--     -   Tobias Hector, AMD+--+--     -   Hans-Kristian Arntzen, Valve+--+--     -   Connor Abbott, Valve+--+--     -   Pan Gao, Huawei+--+--     -   Lionel Landwerlin, Intel+--+--     -   Shahbaz Youssefi, Google+--+--     -   Alyssa Rosenzweig, Valve+--+--     -   Jan-Harald Fredriksen, Arm+--+--     -   Mike Blumenkrantz, Valve+--+--     -   Graeme Leese, Broadcom+--+--     -   Piers Daniell, Nvidia+--+--     -   Stuart Smith, AMD+--+--     -   Daniel Story, Nintendo+--+--     -   James Fitzpatrick, Imagination+--+--     -   Piotr Byszewski, Mobica+--+--     -   Spencer Fricke, LunarG+--+--     -   Tom Olson, Arm+--+--     -   Michal Pietrasiuk, Intel+--+--     -   Matthew Netsch, Qualcomm+--+--     -   Marty Johnson, Khronos+--+--     -   Wyvern Wang, Huawei+--+--     -   Jeff Bolz, Nvidia+--+--     -   Samuel (Sheng-Wen) Huang, MediaTek+--+-- == Description+--+-- This extension enables reads from attachments and resources written by+-- previous fragment shaders within a dynamic render pass.+--+-- == New Commands+--+-- -   'cmdSetRenderingAttachmentLocationsKHR'+--+-- -   'cmdSetRenderingInputAttachmentIndicesKHR'+--+-- == New Structures+--+-- -   Extending 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',+--     'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo':+--+--     -   'RenderingAttachmentLocationInfoKHR'+--+--     -   'RenderingInputAttachmentIndexInfoKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME'+--+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.ImageLayout.ImageLayout':+--+--     -   'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'+--+-- == Version History+--+-- -   Revision 1, 2023-11-03 (Tobias Hector)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',+-- 'RenderingAttachmentLocationInfoKHR',+-- 'RenderingInputAttachmentIndexInfoKHR',+-- 'cmdSetRenderingAttachmentLocationsKHR',+-- 'cmdSetRenderingInputAttachmentIndicesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read  ( PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+                                                              , RenderingAttachmentLocationInfoKHR+                                                              , RenderingInputAttachmentIndexInfoKHR+                                                              ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR++instance ToCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+instance Show PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR++instance FromCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR+++data RenderingAttachmentLocationInfoKHR++instance ToCStruct RenderingAttachmentLocationInfoKHR+instance Show RenderingAttachmentLocationInfoKHR++instance FromCStruct RenderingAttachmentLocationInfoKHR+++data RenderingInputAttachmentIndexInfoKHR++instance ToCStruct RenderingInputAttachmentIndexInfoKHR+instance Show RenderingInputAttachmentIndexInfoKHR++instance FromCStruct RenderingInputAttachmentIndexInfoKHR+
+ src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs view
@@ -0,0 +1,201 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_index_type_uint8 - device extension+--+-- == VK_KHR_index_type_uint8+--+-- [__Name String__]+--     @VK_KHR_index_type_uint8@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     534+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_index_type_uint8] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_index_type_uint8 extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-06-06+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Jeff Bolz, NVIDIA+--+-- == Description+--+-- This extension allows @uint8_t@ indices to be used with+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceIndexTypeUint8FeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_INDEX_TYPE_UINT8_EXTENSION_NAME'+--+-- -   'KHR_INDEX_TYPE_UINT8_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':+--+--     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR'+--+-- == Version History+--+-- -   Revision 1, 2023-06-06 (Piers Daniell)+--+--     -   Internal revisions+--+-- == See Also+--+-- 'PhysicalDeviceIndexTypeUint8FeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_index_type_uint8 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_index_type_uint8  ( PhysicalDeviceIndexTypeUint8FeaturesKHR(..)+                                                  , KHR_INDEX_TYPE_UINT8_SPEC_VERSION+                                                  , pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION+                                                  , KHR_INDEX_TYPE_UINT8_EXTENSION_NAME+                                                  , pattern KHR_INDEX_TYPE_UINT8_EXTENSION_NAME+                                                  ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR))+-- | VkPhysicalDeviceIndexTypeUint8FeaturesKHR - Structure describing whether+-- uint8 index type can be used+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceIndexTypeUint8FeaturesKHR' 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. 'PhysicalDeviceIndexTypeUint8FeaturesKHR' /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_index_type_uint8 VK_EXT_index_type_uint8>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8FeaturesKHR+  { -- | #features-indexTypeUint8# @indexTypeUint8@ indicates that+    -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR' can be used with+    -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' and+    -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.+    indexTypeUint8 :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceIndexTypeUint8FeaturesKHR)+#endif+deriving instance Show PhysicalDeviceIndexTypeUint8FeaturesKHR++instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceIndexTypeUint8FeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (indexTypeUint8))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR where+  peekCStruct p = do+    indexTypeUint8 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceIndexTypeUint8FeaturesKHR+             (bool32ToBool indexTypeUint8)++instance Storable PhysicalDeviceIndexTypeUint8FeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceIndexTypeUint8FeaturesKHR where+  zero = PhysicalDeviceIndexTypeUint8FeaturesKHR+           zero+++type KHR_INDEX_TYPE_UINT8_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION"+pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION = 1+++type KHR_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_KHR_index_type_uint8"++-- No documentation found for TopLevel "VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME"+pattern KHR_INDEX_TYPE_UINT8_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_KHR_index_type_uint8"+
+ src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs-boot view
@@ -0,0 +1,101 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_index_type_uint8 - device extension+--+-- == VK_KHR_index_type_uint8+--+-- [__Name String__]+--     @VK_KHR_index_type_uint8@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     534+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_index_type_uint8] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_index_type_uint8 extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-06-06+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Jeff Bolz, NVIDIA+--+-- == Description+--+-- This extension allows @uint8_t@ indices to be used with+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceIndexTypeUint8FeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_INDEX_TYPE_UINT8_EXTENSION_NAME'+--+-- -   'KHR_INDEX_TYPE_UINT8_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':+--+--     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR'+--+-- == Version History+--+-- -   Revision 1, 2023-06-06 (Piers Daniell)+--+--     -   Internal revisions+--+-- == See Also+--+-- 'PhysicalDeviceIndexTypeUint8FeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_index_type_uint8 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_index_type_uint8  (PhysicalDeviceIndexTypeUint8FeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceIndexTypeUint8FeaturesKHR++instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR+instance Show PhysicalDeviceIndexTypeUint8FeaturesKHR++instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR+
+ src/Vulkan/Extensions/VK_KHR_line_rasterization.hs view
@@ -0,0 +1,732 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_line_rasterization - device extension+--+-- == VK_KHR_line_rasterization+--+-- [__Name String__]+--     @VK_KHR_line_rasterization@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     535+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_line_rasterization] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_line_rasterization extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-06-08+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Jeff Bolz, NVIDIA+--+--     -   Allen Jensen, NVIDIA+--+--     -   Faith Ekstrand, Intel+--+-- == Description+--+-- This extension adds some line rasterization features that are commonly+-- used in CAD applications and supported in other APIs like OpenGL.+-- Bresenham-style line rasterization is supported, smooth rectangular+-- lines (coverage to alpha) are supported, and stippled lines are+-- supported for all three line rasterization modes.+--+-- == New Commands+--+-- -   'cmdSetLineStippleKHR'+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceLineRasterizationFeaturesKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceLineRasterizationPropertiesKHR'+--+-- -   Extending+--     'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo':+--+--     -   'PipelineRasterizationLineStateCreateInfoKHR'+--+-- == New Enums+--+-- -   'LineRasterizationModeKHR'+--+-- == New Enum Constants+--+-- -   'KHR_LINE_RASTERIZATION_EXTENSION_NAME'+--+-- -   'KHR_LINE_RASTERIZATION_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'+--+-- == Issues+--+-- 1) Do we need to support Bresenham-style and smooth lines with more than+-- one rasterization sample? i.e. the equivalent of+-- glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than+-- one sample?+--+-- __RESOLVED__: Yes. For simplicity, Bresenham line rasterization carries+-- forward a few restrictions from OpenGL, such as not supporting+-- per-sample shading, alpha to coverage, or alpha to one.+--+-- == Version History+--+-- -   Revision 1, 2019-05-09 (Jeff Bolz)+--+--     -   Initial draft+--+-- == See Also+--+-- 'LineRasterizationModeKHR',+-- 'PhysicalDeviceLineRasterizationFeaturesKHR',+-- 'PhysicalDeviceLineRasterizationPropertiesKHR',+-- 'PipelineRasterizationLineStateCreateInfoKHR', 'cmdSetLineStippleKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_line_rasterization Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_line_rasterization  ( cmdSetLineStippleKHR+                                                    , pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT+                                                    , pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT+                                                    , pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT+                                                    , pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT+                                                    , PhysicalDeviceLineRasterizationFeaturesKHR(..)+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR(..)+                                                    , PipelineRasterizationLineStateCreateInfoKHR(..)+                                                    , LineRasterizationModeKHR( LINE_RASTERIZATION_MODE_DEFAULT_KHR+                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_KHR+                                                                              , LINE_RASTERIZATION_MODE_BRESENHAM_KHR+                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR+                                                                              , ..+                                                                              )+                                                    , KHR_LINE_RASTERIZATION_SPEC_VERSION+                                                    , pattern KHR_LINE_RASTERIZATION_SPEC_VERSION+                                                    , KHR_LINE_RASTERIZATION_EXTENSION_NAME+                                                    , pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME+                                                    ) where++import Vulkan.Internal.Utils (enumReadPrec)+import Vulkan.Internal.Utils (enumShowsPrec)+import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (allocaBytes)+import GHC.IO (throwIO)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import GHC.Show (showsPrec)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero)+import Vulkan.Zero (Zero(..))+import Control.Monad.IO.Class (MonadIO)+import Data.String (IsString)+import Data.Typeable (Typeable)+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 Data.Int (Int32)+import Foreign.Ptr (FunPtr)+import Foreign.Ptr (Ptr)+import GHC.Read (Read(readPrec))+import GHC.Show (Show(showsPrec))+import Data.Word (Word16)+import Data.Word (Word32)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetLineStippleKHR))+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdSetLineStippleKHR+  :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()++-- | vkCmdSetLineStippleKHR - Set line stipple dynamically for a command+-- buffer+--+-- = Description+--+-- This command sets the line stipple state for subsequent drawing commands+-- when drawing using+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#shaders-objects shader objects>,+-- or when the graphics pipeline is created with+-- 'Vulkan.Extensions.VK_EXT_line_rasterization.DYNAMIC_STATE_LINE_STIPPLE_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+-- Otherwise, this state is specified by the+-- 'PipelineRasterizationLineStateCreateInfoKHR'::@lineStippleFactor@ and+-- 'PipelineRasterizationLineStateCreateInfoKHR'::@lineStipplePattern@+-- values used to create the currently active pipeline.+--+-- == Valid Usage+--+-- -   #VUID-vkCmdSetLineStippleKHR-lineStippleFactor-02776#+--     @lineStippleFactor@ /must/ be in the range [1,256]+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdSetLineStippleKHR-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-vkCmdSetLineStippleKHR-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics operations+--+-- -   #VUID-vkCmdSetLineStippleKHR-videocoding# This command /must/ only+--     be called outside of a video coding scope+--+-- == 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                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdSetLineStippleKHR :: forall io+                      . (MonadIO io)+                     => -- | @commandBuffer@ is the command buffer into which the command will be+                        -- recorded.+                        CommandBuffer+                     -> -- | @lineStippleFactor@ is the repeat factor used in stippled line+                        -- rasterization.+                        ("lineStippleFactor" ::: Word32)+                     -> -- | @lineStipplePattern@ is the bit pattern used in stippled line+                        -- rasterization.+                        ("lineStipplePattern" ::: Word16)+                     -> io ()+cmdSetLineStippleKHR commandBuffer+                       lineStippleFactor+                       lineStipplePattern = liftIO $ do+  let vkCmdSetLineStippleKHRPtr = pVkCmdSetLineStippleKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  unless (vkCmdSetLineStippleKHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineStippleKHR is null" Nothing Nothing+  let vkCmdSetLineStippleKHR' = mkVkCmdSetLineStippleKHR vkCmdSetLineStippleKHRPtr+  traceAroundEvent "vkCmdSetLineStippleKHR" (vkCmdSetLineStippleKHR'+                                               (commandBufferHandle (commandBuffer))+                                               (lineStippleFactor)+                                               (lineStipplePattern))+  pure $ ()+++-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT"+pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT = LINE_RASTERIZATION_MODE_DEFAULT_KHR+++-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT"+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = LINE_RASTERIZATION_MODE_RECTANGULAR_KHR+++-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT"+pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT = LINE_RASTERIZATION_MODE_BRESENHAM_KHR+++-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT"+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR+++-- | VkPhysicalDeviceLineRasterizationFeaturesKHR - Structure describing the+-- line rasterization features that can be supported by an implementation+--+-- = Members+--+-- This structure describes the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceLineRasterizationFeaturesKHR' 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. 'PhysicalDeviceLineRasterizationFeaturesKHR' /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_KHR_line_rasterization VK_KHR_line_rasterization>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeaturesKHR+  { -- | #features-rectangularLines# @rectangularLines@ indicates whether the+    -- implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines rectangular line rasterization>.+    rectangularLines :: Bool+  , -- | #features-bresenhamLines# @bresenhamLines@ indicates whether the+    -- implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham-style line rasterization>.+    bresenhamLines :: Bool+  , -- | #features-smoothLines# @smoothLines@ indicates whether the+    -- implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth smooth line rasterization>.+    smoothLines :: Bool+  , -- | #features-stippledRectangularLines# @stippledRectangularLines@ indicates+    -- whether the implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>+    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' lines.+    stippledRectangularLines :: Bool+  , -- | #features-stippledBresenhamLines# @stippledBresenhamLines@ indicates+    -- whether the implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>+    -- with 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR' lines.+    stippledBresenhamLines :: Bool+  , -- | #features-stippledSmoothLines# @stippledSmoothLines@ indicates whether+    -- the implementation supports+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>+    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR' lines.+    stippledSmoothLines :: Bool+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceLineRasterizationFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceLineRasterizationFeaturesKHR++instance ToCStruct PhysicalDeviceLineRasterizationFeaturesKHR where+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceLineRasterizationFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rectangularLines))+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (bresenhamLines))+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (smoothLines))+    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (stippledRectangularLines))+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (stippledBresenhamLines))+    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (stippledSmoothLines))+    f+  cStructSize = 40+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR)+    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))+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceLineRasterizationFeaturesKHR where+  peekCStruct p = do+    rectangularLines <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    bresenhamLines <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+    smoothLines <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))+    stippledRectangularLines <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))+    stippledBresenhamLines <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))+    stippledSmoothLines <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))+    pure $ PhysicalDeviceLineRasterizationFeaturesKHR+             (bool32ToBool rectangularLines)+             (bool32ToBool bresenhamLines)+             (bool32ToBool smoothLines)+             (bool32ToBool stippledRectangularLines)+             (bool32ToBool stippledBresenhamLines)+             (bool32ToBool stippledSmoothLines)++instance Storable PhysicalDeviceLineRasterizationFeaturesKHR where+  sizeOf ~_ = 40+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceLineRasterizationFeaturesKHR where+  zero = PhysicalDeviceLineRasterizationFeaturesKHR+           zero+           zero+           zero+           zero+           zero+           zero+++-- | VkPhysicalDeviceLineRasterizationPropertiesKHR - Structure describing+-- line rasterization properties supported by an implementation+--+-- = Description+--+-- If the 'PhysicalDeviceLineRasterizationPropertiesKHR' 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_line_rasterization VK_EXT_line_rasterization>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationPropertiesKHR+  { -- | #limits-lineSubPixelPrecisionBits# @lineSubPixelPrecisionBits@ is the+    -- number of bits of subpixel precision in framebuffer coordinates xf and+    -- yf when rasterizing+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines line segments>.+    lineSubPixelPrecisionBits :: Word32 }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceLineRasterizationPropertiesKHR)+#endif+deriving instance Show PhysicalDeviceLineRasterizationPropertiesKHR++instance ToCStruct PhysicalDeviceLineRasterizationPropertiesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceLineRasterizationPropertiesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (lineSubPixelPrecisionBits)+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)+    f++instance FromCStruct PhysicalDeviceLineRasterizationPropertiesKHR where+  peekCStruct p = do+    lineSubPixelPrecisionBits <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))+    pure $ PhysicalDeviceLineRasterizationPropertiesKHR+             lineSubPixelPrecisionBits++instance Storable PhysicalDeviceLineRasterizationPropertiesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceLineRasterizationPropertiesKHR where+  zero = PhysicalDeviceLineRasterizationPropertiesKHR+           zero+++-- | VkPipelineRasterizationLineStateCreateInfoKHR - Structure specifying+-- parameters of a newly created pipeline line rasterization state+--+-- = Description+--+-- If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the+-- values of @lineStippleFactor@ and @lineStipplePattern@ are ignored.+--+-- == Valid Usage+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02768#+--     If @lineRasterizationMode@ is+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02769#+--     If @lineRasterizationMode@ is+--     'LINE_RASTERIZATION_MODE_BRESENHAM_KHR', then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02770#+--     If @lineRasterizationMode@ is+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02771#+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and+--     @lineRasterizationMode@ is+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02772#+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and+--     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR',+--     then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02773#+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and+--     @lineRasterizationMode@ is+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>+--     feature /must/ be enabled+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02774#+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and+--     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_DEFAULT_KHR',+--     then the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>+--     feature /must/ be enabled and+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-sType-sType#+--     @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'+--+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-parameter#+--     @lineRasterizationMode@ /must/ be a valid 'LineRasterizationModeKHR'+--     value+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'LineRasterizationModeKHR',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfoKHR+  { -- | @lineRasterizationMode@ is a 'LineRasterizationModeKHR' value selecting+    -- the style of line rasterization.+    lineRasterizationMode :: LineRasterizationModeKHR+  , -- | @stippledLineEnable@ enables+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>.+    stippledLineEnable :: Bool+  , -- | @lineStippleFactor@ is the repeat factor used in stippled line+    -- rasterization.+    lineStippleFactor :: Word32+  , -- | @lineStipplePattern@ is the bit pattern used in stippled line+    -- rasterization.+    lineStipplePattern :: Word16+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PipelineRasterizationLineStateCreateInfoKHR)+#endif+deriving instance Show PipelineRasterizationLineStateCreateInfoKHR++instance ToCStruct PipelineRasterizationLineStateCreateInfoKHR where+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PipelineRasterizationLineStateCreateInfoKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR)) (lineRasterizationMode)+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (stippledLineEnable))+    poke ((p `plusPtr` 24 :: Ptr Word32)) (lineStippleFactor)+    poke ((p `plusPtr` 28 :: Ptr Word16)) (lineStipplePattern)+    f+  cStructSize = 32+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR)) (zero)+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 28 :: Ptr Word16)) (zero)+    f++instance FromCStruct PipelineRasterizationLineStateCreateInfoKHR where+  peekCStruct p = do+    lineRasterizationMode <- peek @LineRasterizationModeKHR ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR))+    stippledLineEnable <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+    lineStippleFactor <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))+    lineStipplePattern <- peek @Word16 ((p `plusPtr` 28 :: Ptr Word16))+    pure $ PipelineRasterizationLineStateCreateInfoKHR+             lineRasterizationMode+             (bool32ToBool stippledLineEnable)+             lineStippleFactor+             lineStipplePattern++instance Storable PipelineRasterizationLineStateCreateInfoKHR where+  sizeOf ~_ = 32+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PipelineRasterizationLineStateCreateInfoKHR where+  zero = PipelineRasterizationLineStateCreateInfoKHR+           zero+           zero+           zero+           zero+++-- | VkLineRasterizationModeKHR - Line rasterization modes+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,+-- 'PipelineRasterizationLineStateCreateInfoKHR',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'+newtype LineRasterizationModeKHR = LineRasterizationModeKHR Int32+  deriving newtype (Eq, Ord, Storable, Zero)++-- | 'LINE_RASTERIZATION_MODE_DEFAULT_KHR' is equivalent to+-- 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' if+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@+-- is 'Vulkan.Core10.FundamentalTypes.TRUE', otherwise lines are drawn as+-- non-@strictLines@ parallelograms. Both of these modes are defined in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>.+pattern LINE_RASTERIZATION_MODE_DEFAULT_KHR = LineRasterizationModeKHR 0++-- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' specifies lines drawn as if+-- they were rectangles extruded from the line+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = LineRasterizationModeKHR 1++-- | 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR' specifies lines drawn by+-- determining which pixel diamonds the line intersects and exits, as+-- defined in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham Line Segment Rasterization>.+pattern LINE_RASTERIZATION_MODE_BRESENHAM_KHR = LineRasterizationModeKHR 2++-- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR' specifies lines drawn+-- if they were rectangles extruded from the line, with alpha falloff, as+-- defined in+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth Smooth Lines>.+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = LineRasterizationModeKHR 3++{-# COMPLETE+  LINE_RASTERIZATION_MODE_DEFAULT_KHR+  , LINE_RASTERIZATION_MODE_RECTANGULAR_KHR+  , LINE_RASTERIZATION_MODE_BRESENHAM_KHR+  , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR ::+    LineRasterizationModeKHR+  #-}++conNameLineRasterizationModeKHR :: String+conNameLineRasterizationModeKHR = "LineRasterizationModeKHR"++enumPrefixLineRasterizationModeKHR :: String+enumPrefixLineRasterizationModeKHR = "LINE_RASTERIZATION_MODE_"++showTableLineRasterizationModeKHR :: [(LineRasterizationModeKHR, String)]+showTableLineRasterizationModeKHR =+  [+    ( LINE_RASTERIZATION_MODE_DEFAULT_KHR+    , "DEFAULT_KHR"+    )+  ,+    ( LINE_RASTERIZATION_MODE_RECTANGULAR_KHR+    , "RECTANGULAR_KHR"+    )+  ,+    ( LINE_RASTERIZATION_MODE_BRESENHAM_KHR+    , "BRESENHAM_KHR"+    )+  ,+    ( LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR+    , "RECTANGULAR_SMOOTH_KHR"+    )+  ]++instance Show LineRasterizationModeKHR where+  showsPrec =+    enumShowsPrec+      enumPrefixLineRasterizationModeKHR+      showTableLineRasterizationModeKHR+      conNameLineRasterizationModeKHR+      (\(LineRasterizationModeKHR x) -> x)+      (showsPrec 11)++instance Read LineRasterizationModeKHR where+  readPrec =+    enumReadPrec+      enumPrefixLineRasterizationModeKHR+      showTableLineRasterizationModeKHR+      conNameLineRasterizationModeKHR+      LineRasterizationModeKHR++type KHR_LINE_RASTERIZATION_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_LINE_RASTERIZATION_SPEC_VERSION"+pattern KHR_LINE_RASTERIZATION_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_LINE_RASTERIZATION_SPEC_VERSION = 1+++type KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization"++-- No documentation found for TopLevel "VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME"+pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization"+
+ src/Vulkan/Extensions/VK_KHR_line_rasterization.hs-boot view
@@ -0,0 +1,167 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_line_rasterization - device extension+--+-- == VK_KHR_line_rasterization+--+-- [__Name String__]+--     @VK_KHR_line_rasterization@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     535+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--     or+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_line_rasterization] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_line_rasterization extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-06-08+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Jeff Bolz, NVIDIA+--+--     -   Allen Jensen, NVIDIA+--+--     -   Faith Ekstrand, Intel+--+-- == Description+--+-- This extension adds some line rasterization features that are commonly+-- used in CAD applications and supported in other APIs like OpenGL.+-- Bresenham-style line rasterization is supported, smooth rectangular+-- lines (coverage to alpha) are supported, and stippled lines are+-- supported for all three line rasterization modes.+--+-- == New Commands+--+-- -   'cmdSetLineStippleKHR'+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceLineRasterizationFeaturesKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceLineRasterizationPropertiesKHR'+--+-- -   Extending+--     'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo':+--+--     -   'PipelineRasterizationLineStateCreateInfoKHR'+--+-- == New Enums+--+-- -   'LineRasterizationModeKHR'+--+-- == New Enum Constants+--+-- -   'KHR_LINE_RASTERIZATION_EXTENSION_NAME'+--+-- -   'KHR_LINE_RASTERIZATION_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':+--+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'+--+-- == Issues+--+-- 1) Do we need to support Bresenham-style and smooth lines with more than+-- one rasterization sample? i.e. the equivalent of+-- glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than+-- one sample?+--+-- __RESOLVED__: Yes. For simplicity, Bresenham line rasterization carries+-- forward a few restrictions from OpenGL, such as not supporting+-- per-sample shading, alpha to coverage, or alpha to one.+--+-- == Version History+--+-- -   Revision 1, 2019-05-09 (Jeff Bolz)+--+--     -   Initial draft+--+-- == See Also+--+-- 'LineRasterizationModeKHR',+-- 'PhysicalDeviceLineRasterizationFeaturesKHR',+-- 'PhysicalDeviceLineRasterizationPropertiesKHR',+-- 'PipelineRasterizationLineStateCreateInfoKHR', 'cmdSetLineStippleKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_line_rasterization Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_line_rasterization  ( PhysicalDeviceLineRasterizationFeaturesKHR+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR+                                                    , PipelineRasterizationLineStateCreateInfoKHR+                                                    , LineRasterizationModeKHR+                                                    ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceLineRasterizationFeaturesKHR++instance ToCStruct PhysicalDeviceLineRasterizationFeaturesKHR+instance Show PhysicalDeviceLineRasterizationFeaturesKHR++instance FromCStruct PhysicalDeviceLineRasterizationFeaturesKHR+++data PhysicalDeviceLineRasterizationPropertiesKHR++instance ToCStruct PhysicalDeviceLineRasterizationPropertiesKHR+instance Show PhysicalDeviceLineRasterizationPropertiesKHR++instance FromCStruct PhysicalDeviceLineRasterizationPropertiesKHR+++data PipelineRasterizationLineStateCreateInfoKHR++instance ToCStruct PipelineRasterizationLineStateCreateInfoKHR+instance Show PipelineRasterizationLineStateCreateInfoKHR++instance FromCStruct PipelineRasterizationLineStateCreateInfoKHR+++data LineRasterizationModeKHR+
+ src/Vulkan/Extensions/VK_KHR_load_store_op_none.hs view
@@ -0,0 +1,107 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_load_store_op_none - device extension+--+-- == VK_KHR_load_store_op_none+--+-- [__Name String__]+--     @VK_KHR_load_store_op_none@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     527+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     None+--+-- [__Contact__]+--+--     -   Shahbaz Youssefi+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_load_store_op_none] @syoussefi%0A*Here describe the issue or question you have about the VK_KHR_load_store_op_none extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_load_store_op_none.adoc VK_KHR_load_store_op_none>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-05-16+--+-- [__Contributors__]+--+--     -   Shahbaz Youssefi, Google+--+--     -   Bill Licea-Kane, Qualcomm Technologies, Inc.+--+--     -   Tobias Hector, AMD+--+-- == Description+--+-- This extension provides+-- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_KHR' and+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.ATTACHMENT_STORE_OP_NONE_KHR',+-- which are identically promoted from the @VK_EXT_load_store_op_none@+-- extension.+--+-- == New Enum Constants+--+-- -   'KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME'+--+-- -   'KHR_LOAD_STORE_OP_NONE_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp':+--+--     -   'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_KHR'+--+-- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp':+--+--     -   'Vulkan.Extensions.VK_KHR_dynamic_rendering.ATTACHMENT_STORE_OP_NONE_KHR'+--+-- == Version History+--+-- -   Revision 1, 2023-05-16 (Shahbaz Youssefi)+--+--     -   Initial revision, based on VK_EXT_load_store_op_none.+--+-- == See Also+--+-- No cross-references are available+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_load_store_op_none Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_load_store_op_none  ( KHR_LOAD_STORE_OP_NONE_SPEC_VERSION+                                                    , pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION+                                                    , KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME+                                                    , pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME+                                                    , pattern ATTACHMENT_STORE_OP_NONE_KHR+                                                    ) where++import Data.String (IsString)+import Vulkan.Extensions.VK_KHR_dynamic_rendering (pattern ATTACHMENT_STORE_OP_NONE_KHR)+type KHR_LOAD_STORE_OP_NONE_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION"+pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION = 1+++type KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_KHR_load_store_op_none"++-- No documentation found for TopLevel "VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME"+pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_KHR_load_store_op_none"+
src/Vulkan/Extensions/VK_KHR_maintenance5.hs view
@@ -813,6 +813,14 @@ -- @offset@. If @size@ is 'Vulkan.Core10.APIConstants.WHOLE_SIZE' then the -- bound size is from @offset@ to the end of the @buffer@. --+-- If the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>+-- feature is enabled, @buffer@ /can/ be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'. If @buffer@ is+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is enabled, every index fetched results in a value of zero.+-- -- == Valid Usage -- -- -   #VUID-vkCmdBindIndexBuffer2KHR-offset-08782# @offset@ /must/ be less@@ -837,10 +845,18 @@ --     not be 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_NONE_KHR' -- -- -   #VUID-vkCmdBindIndexBuffer2KHR-indexType-08787# If @indexType@ is---     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', the+--     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-indexTypeUint8 indexTypeUint8> --     feature /must/ be enabled --+-- -   #VUID-vkCmdBindIndexBuffer2KHR-None-09493# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>+--     is not enabled, @buffer@ /must/ not be+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-09494# If @buffer@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', offset /must/ be zero+-- -- -   #VUID-vkCmdBindIndexBuffer2KHR-size-08767# If @size@ is not --     'Vulkan.Core10.APIConstants.WHOLE_SIZE', @size@ /must/ be a multiple --     of the size of the type indicated by @indexType@@@ -855,8 +871,9 @@ --     @commandBuffer@ /must/ be a valid --     'Vulkan.Core10.Handles.CommandBuffer' handle ----- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter# @buffer@ /must/ be---     a valid 'Vulkan.Core10.Handles.Buffer' handle+-- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter# If @buffer@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @buffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.Buffer' handle -- -- -   #VUID-vkCmdBindIndexBuffer2KHR-indexType-parameter# @indexType@ --     /must/ be a valid 'Vulkan.Core10.Enums.IndexType.IndexType' value@@ -873,8 +890,9 @@ --     be called outside of a video coding scope -- -- -   #VUID-vkCmdBindIndexBuffer2KHR-commonparent# Both of @buffer@, and---     @commandBuffer@ /must/ have been created, allocated, or retrieved---     from the same 'Vulkan.Core10.Handles.Device'+--     @commandBuffer@ that are valid handles of non-ignored parameters+--     /must/ have been created, allocated, or retrieved from the same+--     'Vulkan.Core10.Handles.Device' -- -- == Host Synchronization --
+ src/Vulkan/Extensions/VK_KHR_maintenance6.hs view
@@ -0,0 +1,2230 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_maintenance6 - device extension+--+-- == VK_KHR_maintenance6+--+-- [__Name String__]+--     @VK_KHR_maintenance6@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     546+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__API Interactions__]+--+--     -   Interacts with VK_EXT_descriptor_buffer+--+--     -   Interacts with VK_KHR_push_descriptor+--+-- [__Contact__]+--+--     -   Jon Leech+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance6] @oddhack%0A*Here describe the issue or question you have about the VK_KHR_maintenance6 extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_maintenance6.adoc VK_KHR_maintenance6>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-08-03+--+-- [__Interactions and External Dependencies__]+--+--     -   Interacts with @VK_EXT_robustness2@+--+-- [__Contributors__]+--+--     -   Jon Leech, Khronos+--+--     -   Stu Smith, AMD+--+--     -   Mike Blumenkrantz, Valve+--+--     -   Ralph Potter, Samsung+--+--     -   James Fitzpatrick, Imagination Technologies+--+--     -   Piers Daniell, NVIDIA+--+--     -   Daniel Story, Nintendo+--+-- == Description+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>+-- adds a collection of minor features, none of which would warrant an+-- entire extension of their own.+--+-- The new features are as follows:+--+-- -   'BindMemoryStatusKHR' may be included in the @pNext@ chain of+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'+--     and+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',+--     allowing applications to identify individual resources for which+--     memory binding failed during calls to+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindBufferMemory2'+--     and+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindImageMemory2'.+--+-- -   A new property @fragmentShadingRateClampCombinerInputs@ to indicate+--     if an implementation clamps the inputs to fragment shading rate+--     combiner operations.+--+-- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' is allowed to be used when+--     binding an index buffer, instead of a valid+--     'Vulkan.Core10.Handles.Buffer' handle. When the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+--     feature is enabled, every index fetched results in a value of zero.+--+-- -   A new property @maxCombinedImageSamplerDescriptorCount@ to indicate+--     the maximum number of descriptors needed for any of the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>+--     supported by the implementation.+--+-- -   A new property @blockTexelViewCompatibleMultipleLayers@ indicating+--     whether+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'+--     is allowed to be used with @layerCount@ > 1+--+-- -   @pNext@ extensible *2 versions of all descriptor binding commands.+--+-- == New Commands+--+-- -   'cmdBindDescriptorSets2KHR'+--+-- -   'cmdPushConstants2KHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   'cmdBindDescriptorBufferEmbeddedSamplers2EXT'+--+-- -   'cmdSetDescriptorBufferOffsets2EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   'cmdPushDescriptorSet2KHR'+--+-- -   'cmdPushDescriptorSetWithTemplate2KHR'+--+-- == New Structures+--+-- -   'BindDescriptorSetsInfoKHR'+--+-- -   'PushConstantsInfoKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo':+--+--     -   'BindMemoryStatusKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceMaintenance6FeaturesKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceMaintenance6PropertiesKHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   'BindDescriptorBufferEmbeddedSamplersInfoEXT'+--+-- -   'SetDescriptorBufferOffsetsInfoEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   'PushDescriptorSetInfoKHR'+--+-- -   'PushDescriptorSetWithTemplateInfoKHR'+--+-- == New Enum Constants+--+-- -   'KHR_MAINTENANCE_6_EXTENSION_NAME'+--+-- -   'KHR_MAINTENANCE_6_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'+--+-- == Issues+--+-- None.+--+-- == Version History+--+-- -   Revision 1, 2023-08-01 (Jon Leech)+--+--     -   Initial revision+--+-- == See Also+--+-- 'BindDescriptorSetsInfoKHR', 'BindMemoryStatusKHR',+-- 'PhysicalDeviceMaintenance6FeaturesKHR',+-- 'PhysicalDeviceMaintenance6PropertiesKHR', 'PushConstantsInfoKHR',+-- 'cmdBindDescriptorSets2KHR', 'cmdPushConstants2KHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_maintenance6 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_maintenance6  ( cmdBindDescriptorSets2KHR+                                              , cmdPushConstants2KHR+                                              , cmdPushDescriptorSet2KHR+                                              , cmdPushDescriptorSetWithTemplate2KHR+                                              , cmdSetDescriptorBufferOffsets2EXT+                                              , cmdBindDescriptorBufferEmbeddedSamplers2EXT+                                              , PhysicalDeviceMaintenance6FeaturesKHR(..)+                                              , PhysicalDeviceMaintenance6PropertiesKHR(..)+                                              , BindMemoryStatusKHR(..)+                                              , BindDescriptorSetsInfoKHR(..)+                                              , PushConstantsInfoKHR(..)+                                              , PushDescriptorSetInfoKHR(..)+                                              , PushDescriptorSetWithTemplateInfoKHR(..)+                                              , SetDescriptorBufferOffsetsInfoEXT(..)+                                              , BindDescriptorBufferEmbeddedSamplersInfoEXT(..)+                                              , KHR_MAINTENANCE_6_SPEC_VERSION+                                              , pattern KHR_MAINTENANCE_6_SPEC_VERSION+                                              , KHR_MAINTENANCE_6_EXTENSION_NAME+                                              , pattern KHR_MAINTENANCE_6_EXTENSION_NAME+                                              ) where++import Vulkan.Internal.Utils (traceAroundEvent)+import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Data.Typeable (eqT)+import Foreign.Marshal.Alloc (allocaBytes)+import GHC.IO (throwIO)+import GHC.Ptr (castPtr)+import GHC.Ptr (nullFunPtr)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Control.Monad.Trans.Class (lift)+import Control.Monad.Trans.Cont (evalContT)+import Data.Vector (generateM)+import qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import qualified Data.Vector (null)+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.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.Kind (Type)+import Control.Monad.Trans.Cont (ContT(..))+import Data.Vector (Vector)+import Vulkan.CStruct.Utils (advancePtrBytes)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.CStruct.Extends (forgetExtensions)+import Vulkan.CStruct.Extends (peekSomeCStruct)+import Vulkan.CStruct.Extends (pokeSomeCStruct)+import Vulkan.Core10.FundamentalTypes (Bool32)+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.Handles (DescriptorSet)+import Vulkan.Core11.Handles (DescriptorUpdateTemplate)+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorSets2KHR))+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushConstants2KHR))+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushDescriptorSet2KHR))+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushDescriptorSetWithTemplate2KHR))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDescriptorBufferOffsets2EXT))+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.CStruct.Extends (Extends)+import Vulkan.CStruct.Extends (Extendss)+import Vulkan.CStruct.Extends (Extensible(..))+import Vulkan.CStruct.Extends (PeekChain)+import Vulkan.CStruct.Extends (PeekChain(..))+import Vulkan.Core10.Handles (PipelineLayout)+import {-# SOURCE #-} Vulkan.Core10.PipelineLayout (PipelineLayoutCreateInfo)+import Vulkan.CStruct.Extends (PokeChain)+import Vulkan.CStruct.Extends (PokeChain(..))+import Vulkan.Core10.Enums.Result (Result)+import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)+import Vulkan.CStruct.Extends (SomeStruct)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.DescriptorSet (WriteDescriptorSet)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdBindDescriptorSets2KHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorSetsInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorSetsInfoKHR) -> IO ()++-- | vkCmdBindDescriptorSets2KHR - Binds descriptor sets to a command buffer+--+-- == Valid Usage+--+-- -   #VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-09467#+--     Each bit in @pBindDescriptorSetsInfo->stageFlags@ /must/ be a stage+--     supported by the @commandBuffer@’s parent+--     'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-parameter#+--     @pBindDescriptorSetsInfo@ /must/ be a valid pointer to a valid+--     'BindDescriptorSetsInfoKHR' structure+--+-- -   #VUID-vkCmdBindDescriptorSets2KHR-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-vkCmdBindDescriptorSets2KHR-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdBindDescriptorSets2KHR-videocoding# This command /must/+--     only be called outside of a video coding scope+--+-- == 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'BindDescriptorSetsInfoKHR', 'Vulkan.Core10.Handles.CommandBuffer'+cmdBindDescriptorSets2KHR :: forall a io+                           . ( Extendss BindDescriptorSetsInfoKHR a+                             , PokeChain a+                             , MonadIO io )+                          => -- | @commandBuffer@ is the command buffer that the descriptor sets will be+                             -- bound to.+                             CommandBuffer+                          -> -- | @pBindDescriptorSetsInfo@ is a pointer to a 'BindDescriptorSetsInfoKHR'+                             -- structure.+                             (BindDescriptorSetsInfoKHR a)+                          -> io ()+cmdBindDescriptorSets2KHR commandBuffer+                            bindDescriptorSetsInfo = liftIO . evalContT $ do+  let vkCmdBindDescriptorSets2KHRPtr = pVkCmdBindDescriptorSets2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdBindDescriptorSets2KHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorSets2KHR is null" Nothing Nothing+  let vkCmdBindDescriptorSets2KHR' = mkVkCmdBindDescriptorSets2KHR vkCmdBindDescriptorSets2KHRPtr+  pBindDescriptorSetsInfo <- ContT $ withCStruct (bindDescriptorSetsInfo)+  lift $ traceAroundEvent "vkCmdBindDescriptorSets2KHR" (vkCmdBindDescriptorSets2KHR'+                                                           (commandBufferHandle (commandBuffer))+                                                           (forgetExtensions pBindDescriptorSetsInfo))+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdPushConstants2KHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushConstantsInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushConstantsInfoKHR) -> IO ()++-- | vkCmdPushConstants2KHR - Update the values of push constants+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdPushConstants2KHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdPushConstants2KHR-pPushConstantsInfo-parameter#+--     @pPushConstantsInfo@ /must/ be a valid pointer to a valid+--     'PushConstantsInfoKHR' structure+--+-- -   #VUID-vkCmdPushConstants2KHR-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-vkCmdPushConstants2KHR-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdPushConstants2KHR-videocoding# This command /must/ only+--     be called outside of a video coding scope+--+-- == 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Handles.CommandBuffer', 'PushConstantsInfoKHR'+cmdPushConstants2KHR :: forall a io+                      . ( Extendss PushConstantsInfoKHR a+                        , PokeChain a+                        , MonadIO io )+                     => -- | @commandBuffer@ is the command buffer in which the push constant update+                        -- will be recorded.+                        CommandBuffer+                     -> -- | @pPushConstantsInfo@ is a pointer to a 'PushConstantsInfoKHR' structure.+                        (PushConstantsInfoKHR a)+                     -> io ()+cmdPushConstants2KHR commandBuffer pushConstantsInfo = liftIO . evalContT $ do+  let vkCmdPushConstants2KHRPtr = pVkCmdPushConstants2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdPushConstants2KHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushConstants2KHR is null" Nothing Nothing+  let vkCmdPushConstants2KHR' = mkVkCmdPushConstants2KHR vkCmdPushConstants2KHRPtr+  pPushConstantsInfo <- ContT $ withCStruct (pushConstantsInfo)+  lift $ traceAroundEvent "vkCmdPushConstants2KHR" (vkCmdPushConstants2KHR'+                                                      (commandBufferHandle (commandBuffer))+                                                      (forgetExtensions pPushConstantsInfo))+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdPushDescriptorSet2KHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetInfoKHR) -> IO ()++-- | vkCmdPushDescriptorSet2KHR - Pushes descriptor updates into a command+-- buffer+--+-- == Valid Usage+--+-- -   #VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-09468# Each+--     bit in @pPushDescriptorSetInfo->stageFlags@ /must/ be a stage+--     supported by the @commandBuffer@’s parent+--     'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-parameter#+--     @pPushDescriptorSetInfo@ /must/ be a valid pointer to a valid+--     'PushDescriptorSetInfoKHR' structure+--+-- -   #VUID-vkCmdPushDescriptorSet2KHR-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-vkCmdPushDescriptorSet2KHR-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdPushDescriptorSet2KHR-videocoding# This command /must/+--     only be called outside of a video coding scope+--+-- == 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,+-- 'Vulkan.Core10.Handles.CommandBuffer', 'PushDescriptorSetInfoKHR'+cmdPushDescriptorSet2KHR :: forall a io+                          . ( Extendss PushDescriptorSetInfoKHR a+                            , PokeChain a+                            , MonadIO io )+                         => -- | @commandBuffer@ is the command buffer that the descriptors will be+                            -- recorded in.+                            CommandBuffer+                         -> -- | @pPushDescriptorSetInfo@ is a pointer to a 'PushDescriptorSetInfoKHR'+                            -- structure.+                            (PushDescriptorSetInfoKHR a)+                         -> io ()+cmdPushDescriptorSet2KHR commandBuffer+                           pushDescriptorSetInfo = liftIO . evalContT $ do+  let vkCmdPushDescriptorSet2KHRPtr = pVkCmdPushDescriptorSet2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdPushDescriptorSet2KHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushDescriptorSet2KHR is null" Nothing Nothing+  let vkCmdPushDescriptorSet2KHR' = mkVkCmdPushDescriptorSet2KHR vkCmdPushDescriptorSet2KHRPtr+  pPushDescriptorSetInfo <- ContT $ withCStruct (pushDescriptorSetInfo)+  lift $ traceAroundEvent "vkCmdPushDescriptorSet2KHR" (vkCmdPushDescriptorSet2KHR'+                                                          (commandBufferHandle (commandBuffer))+                                                          (forgetExtensions pPushDescriptorSetInfo))+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdPushDescriptorSetWithTemplate2KHR+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR) -> IO ()++-- | vkCmdPushDescriptorSetWithTemplate2KHR - Pushes descriptor updates into+-- a command buffer using a descriptor update template+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-pPushDescriptorSetWithTemplateInfo-parameter#+--     @pPushDescriptorSetWithTemplateInfo@ /must/ be a valid pointer to a+--     valid 'PushDescriptorSetWithTemplateInfoKHR' structure+--+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-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-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-cmdpool#+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-videocoding# This+--     command /must/ only be called outside of a video coding scope+--+-- == 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'PushDescriptorSetWithTemplateInfoKHR'+cmdPushDescriptorSetWithTemplate2KHR :: forall a io+                                      . ( Extendss PushDescriptorSetWithTemplateInfoKHR a+                                        , PokeChain a+                                        , MonadIO io )+                                     => -- | @commandBuffer@ is the command buffer that the descriptors will be+                                        -- recorded in.+                                        CommandBuffer+                                     -> -- | @pPushDescriptorSetWithTemplateInfo@ is a pointer to a+                                        -- 'PushDescriptorSetWithTemplateInfoKHR' structure.+                                        (PushDescriptorSetWithTemplateInfoKHR a)+                                     -> io ()+cmdPushDescriptorSetWithTemplate2KHR commandBuffer+                                       pushDescriptorSetWithTemplateInfo = liftIO . evalContT $ do+  let vkCmdPushDescriptorSetWithTemplate2KHRPtr = pVkCmdPushDescriptorSetWithTemplate2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdPushDescriptorSetWithTemplate2KHRPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushDescriptorSetWithTemplate2KHR is null" Nothing Nothing+  let vkCmdPushDescriptorSetWithTemplate2KHR' = mkVkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHRPtr+  pPushDescriptorSetWithTemplateInfo <- ContT $ withCStruct (pushDescriptorSetWithTemplateInfo)+  lift $ traceAroundEvent "vkCmdPushDescriptorSetWithTemplate2KHR" (vkCmdPushDescriptorSetWithTemplate2KHR'+                                                                      (commandBufferHandle (commandBuffer))+                                                                      (forgetExtensions pPushDescriptorSetWithTemplateInfo))+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdSetDescriptorBufferOffsets2EXT+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT) -> IO ()++-- | vkCmdSetDescriptorBufferOffsets2EXT - Setting descriptor buffer offsets+-- in a command buffer+--+-- == Valid Usage+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-descriptorBuffer-09470#+--     The+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+--     feature /must/ be enabled+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-09471#+--     Each bit in @pSetDescriptorBufferOffsetsInfo->stageFlags@ /must/ be+--     a stage supported by the @commandBuffer@’s parent+--     'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-parameter#+--     @pSetDescriptorBufferOffsetsInfo@ /must/ be a valid pointer to a+--     valid 'SetDescriptorBufferOffsetsInfoEXT' structure+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-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-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-videocoding# This command+--     /must/ only be called outside of a video coding scope+--+-- == 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>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'SetDescriptorBufferOffsetsInfoEXT'+cmdSetDescriptorBufferOffsets2EXT :: forall a io+                                   . ( Extendss SetDescriptorBufferOffsetsInfoEXT a+                                     , PokeChain a+                                     , MonadIO io )+                                  => -- | @commandBuffer@ is the command buffer in which the descriptor buffer+                                     -- offsets will be set.+                                     CommandBuffer+                                  -> -- | @pSetDescriptorBufferOffsetsInfo@ is a pointer to a+                                     -- 'SetDescriptorBufferOffsetsInfoEXT' structure.+                                     (SetDescriptorBufferOffsetsInfoEXT a)+                                  -> io ()+cmdSetDescriptorBufferOffsets2EXT commandBuffer+                                    setDescriptorBufferOffsetsInfo = liftIO . evalContT $ do+  let vkCmdSetDescriptorBufferOffsets2EXTPtr = pVkCmdSetDescriptorBufferOffsets2EXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdSetDescriptorBufferOffsets2EXTPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDescriptorBufferOffsets2EXT is null" Nothing Nothing+  let vkCmdSetDescriptorBufferOffsets2EXT' = mkVkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXTPtr+  pSetDescriptorBufferOffsetsInfo <- ContT $ withCStruct (setDescriptorBufferOffsetsInfo)+  lift $ traceAroundEvent "vkCmdSetDescriptorBufferOffsets2EXT" (vkCmdSetDescriptorBufferOffsets2EXT'+                                                                   (commandBufferHandle (commandBuffer))+                                                                   (forgetExtensions pSetDescriptorBufferOffsetsInfo))+  pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+  unsafe+#endif+  "dynamic" mkVkCmdBindDescriptorBufferEmbeddedSamplers2EXT+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT) -> IO ()++-- | vkCmdBindDescriptorBufferEmbeddedSamplers2EXT - Setting embedded+-- immutable samplers offsets in a command buffer+--+-- == Valid Usage+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-descriptorBuffer-09472#+--     The+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>+--     feature /must/ be enabled+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-09473#+--     Each bit in @pBindDescriptorBufferEmbeddedSamplersInfo->stageFlags@+--     /must/ be a stage supported by the @commandBuffer@’s parent+--     'Vulkan.Core10.Handles.CommandPool'’s queue family+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-parameter#+--     @pBindDescriptorBufferEmbeddedSamplersInfo@ /must/ be a valid+--     pointer to a valid 'BindDescriptorBufferEmbeddedSamplersInfoEXT'+--     structure+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-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-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-cmdpool#+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-videocoding#+--     This command /must/ only be called outside of a video coding scope+--+-- == 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>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'BindDescriptorBufferEmbeddedSamplersInfoEXT',+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdBindDescriptorBufferEmbeddedSamplers2EXT :: forall a io+                                             . ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a+                                               , PokeChain a+                                               , MonadIO io )+                                            => -- | @commandBuffer@ is the command buffer that the embedded immutable+                                               -- samplers will be bound to.+                                               CommandBuffer+                                            -> -- | @pBindDescriptorBufferEmbeddedSamplersInfo@ is a pointer to a+                                               -- 'BindDescriptorBufferEmbeddedSamplersInfoEXT' structure.+                                               (BindDescriptorBufferEmbeddedSamplersInfoEXT a)+                                            -> io ()+cmdBindDescriptorBufferEmbeddedSamplers2EXT commandBuffer+                                              bindDescriptorBufferEmbeddedSamplersInfo = liftIO . evalContT $ do+  let vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr = pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)+  lift $ unless (vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr /= nullFunPtr) $+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorBufferEmbeddedSamplers2EXT is null" Nothing Nothing+  let vkCmdBindDescriptorBufferEmbeddedSamplers2EXT' = mkVkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr+  pBindDescriptorBufferEmbeddedSamplersInfo <- ContT $ withCStruct (bindDescriptorBufferEmbeddedSamplersInfo)+  lift $ traceAroundEvent "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" (vkCmdBindDescriptorBufferEmbeddedSamplers2EXT'+                                                                             (commandBufferHandle (commandBuffer))+                                                                             (forgetExtensions pBindDescriptorBufferEmbeddedSamplersInfo))+  pure $ ()+++-- | VkPhysicalDeviceMaintenance6FeaturesKHR - Structure describing whether+-- the implementation supports maintenance6 functionality+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceMaintenance6FeaturesKHR' 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. 'PhysicalDeviceMaintenance6FeaturesKHR' /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_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6FeaturesKHR+  { -- | #features-maintenance6# @maintenance6@ indicates that the implementation+    -- supports the following:+    --+    -- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' /can/ be used when binding+    --     an index buffer+    --+    -- -   'BindMemoryStatusKHR' /can/ be included in the @pNext@ chain of the+    --     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'+    --     and+    --     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo'+    --     structures, enabling applications to retrieve+    --     'Vulkan.Core10.Enums.Result.Result' values for individual memory+    --     binding operations.+    --+    -- -   'PhysicalDeviceMaintenance6PropertiesKHR'::@blockTexelViewCompatibleMultipleLayers@+    --     property to indicate that the implementation supports creating image+    --     views with+    --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'+    --     where the @layerCount@ member of @subresourceRange@ is greater than+    --     @1@.+    --+    -- -   'PhysicalDeviceMaintenance6PropertiesKHR'::@maxCombinedImageSamplerDescriptorCount@+    --     property which indicates the maximum descriptor size required for+    --     any+    --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y′CBCR conversion>+    --     supported by the implementation.+    --+    -- -   A+    --     'PhysicalDeviceMaintenance6PropertiesKHR'::@fragmentShadingRateClampCombinerInputs@+    --     property which indicates whether the implementation clamps the+    --     inputs to fragment shading rate combiner operations.+    maintenance6 :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceMaintenance6FeaturesKHR)+#endif+deriving instance Show PhysicalDeviceMaintenance6FeaturesKHR++instance ToCStruct PhysicalDeviceMaintenance6FeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceMaintenance6FeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (maintenance6))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceMaintenance6FeaturesKHR where+  peekCStruct p = do+    maintenance6 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceMaintenance6FeaturesKHR+             (bool32ToBool maintenance6)++instance Storable PhysicalDeviceMaintenance6FeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceMaintenance6FeaturesKHR where+  zero = PhysicalDeviceMaintenance6FeaturesKHR+           zero+++-- | VkPhysicalDeviceMaintenance6PropertiesKHR - Structure describing various+-- implementation-defined properties introduced with VK_KHR_maintenance6+--+-- = Description+--+-- If the 'PhysicalDeviceMaintenance6PropertiesKHR' 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6PropertiesKHR+  { -- | @blockTexelViewCompatibleMultipleLayers@ is a boolean value indicating+    -- that an implementation supports creating image views with+    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'+    -- where the @layerCount@ member of @subresourceRange@ is greater than @1@.+    blockTexelViewCompatibleMultipleLayers :: Bool+  , -- | @maxCombinedImageSamplerDescriptorCount@ is the maximum number of+    -- combined image sampler descriptors that the implementation uses to+    -- access any of the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>+    -- supported by the implementation.+    maxCombinedImageSamplerDescriptorCount :: Word32+  , -- | @fragmentShadingRateClampCombinerInputs@ is a boolean value indicating+    -- that an implementation clamps the inputs to+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-fragment-shading-rate-combining combiner operations>.+    fragmentShadingRateClampCombinerInputs :: Bool+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceMaintenance6PropertiesKHR)+#endif+deriving instance Show PhysicalDeviceMaintenance6PropertiesKHR++instance ToCStruct PhysicalDeviceMaintenance6PropertiesKHR where+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceMaintenance6PropertiesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (blockTexelViewCompatibleMultipleLayers))+    poke ((p `plusPtr` 20 :: Ptr Word32)) (maxCombinedImageSamplerDescriptorCount)+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (fragmentShadingRateClampCombinerInputs))+    f+  cStructSize = 32+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceMaintenance6PropertiesKHR where+  peekCStruct p = do+    blockTexelViewCompatibleMultipleLayers <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    maxCombinedImageSamplerDescriptorCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))+    fragmentShadingRateClampCombinerInputs <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))+    pure $ PhysicalDeviceMaintenance6PropertiesKHR+             (bool32ToBool blockTexelViewCompatibleMultipleLayers)+             maxCombinedImageSamplerDescriptorCount+             (bool32ToBool fragmentShadingRateClampCombinerInputs)++instance Storable PhysicalDeviceMaintenance6PropertiesKHR where+  sizeOf ~_ = 32+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceMaintenance6PropertiesKHR where+  zero = PhysicalDeviceMaintenance6PropertiesKHR+           zero+           zero+           zero+++-- | VkBindMemoryStatusKHR - Structure specifying where to return memory+-- binding status+--+-- = Description+--+-- If the @pNext@ chain of+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'+-- or 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo'+-- includes a 'BindMemoryStatusKHR' structure, then the+-- 'BindMemoryStatusKHR'::@pResult@ will be populated with a value+-- describing the result of the corresponding memory binding operation.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Enums.Result.Result',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data BindMemoryStatusKHR = BindMemoryStatusKHR+  { -- | @pResult@ is a pointer to a 'Vulkan.Core10.Enums.Result.Result' value.+    --+    -- #VUID-VkBindMemoryStatusKHR-pResult-parameter# @pResult@ /must/ be a+    -- valid pointer to a 'Vulkan.Core10.Enums.Result.Result' value+    result :: Ptr Result }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (BindMemoryStatusKHR)+#endif+deriving instance Show BindMemoryStatusKHR++instance ToCStruct BindMemoryStatusKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p BindMemoryStatusKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr (Ptr Result))) (result)+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr (Ptr Result))) (zero)+    f++instance FromCStruct BindMemoryStatusKHR where+  peekCStruct p = do+    pResult <- peek @(Ptr Result) ((p `plusPtr` 16 :: Ptr (Ptr Result)))+    pure $ BindMemoryStatusKHR+             pResult++instance Storable BindMemoryStatusKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero BindMemoryStatusKHR where+  zero = BindMemoryStatusKHR+           zero+++-- | VkBindDescriptorSetsInfoKHR - Structure specifying a descriptor set+-- binding operation+--+-- = Description+--+-- If @stageFlags@ specifies a subset of all stages corresponding to one or+-- more pipeline bind points, the binding operation still affects all+-- stages corresponding to the given pipeline bind point(s) as if the+-- equivalent original version of this command had been called with the+-- same parameters. For example, specifying a @stageFlags@ value of+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is+-- equivalent to calling the original version of this command once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and+-- once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.+--+-- == Valid Usage+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-00358# Each+--     element of @pDescriptorSets@ /must/ have been allocated with a+--     'Vulkan.Core10.Handles.DescriptorSetLayout' that matches (is the+--     same as, or identically defined as) the+--     'Vulkan.Core10.Handles.DescriptorSetLayout' at set /n/ in @layout@,+--     where /n/ is the sum of @firstSet@ and the index into+--     @pDescriptorSets@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-dynamicOffsetCount-00359#+--     @dynamicOffsetCount@ /must/ be equal to the total number of dynamic+--     descriptors in @pDescriptorSets@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-firstSet-00360# The sum of+--     @firstSet@ and @descriptorSetCount@ /must/ be less than or equal to+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+--     provided when @layout@ was created+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01971# Each+--     element of @pDynamicOffsets@ which corresponds to a descriptor+--     binding with type+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'+--     /must/ be a multiple of+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@minUniformBufferOffsetAlignment@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01972# Each+--     element of @pDynamicOffsets@ which corresponds to a descriptor+--     binding with type+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'+--     /must/ be a multiple of+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@minStorageBufferOffsetAlignment@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-01979# For each+--     dynamic uniform or storage buffer binding in @pDescriptorSets@, the+--     sum of the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#dynamic-effective-offset effective offset>+--     and the range of the binding /must/ be less than or equal to the+--     size of the buffer+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-06715# For each+--     dynamic uniform or storage buffer binding in @pDescriptorSets@, if+--     the range was set with 'Vulkan.Core10.APIConstants.WHOLE_SIZE' then+--     @pDynamicOffsets@ which corresponds to the descriptor binding /must/+--     be 0+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-04616# Each+--     element of @pDescriptorSets@ /must/ not have been allocated from a+--     'Vulkan.Core10.Handles.DescriptorPool' with the+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT'+--     flag set+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-06563# If+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary>+--     is not enabled, each element of @pDescriptorSets@ /must/ be a valid+--     'Vulkan.Core10.Handles.DescriptorSet'+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-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'+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-None-09495# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-layout-09496# If @layout@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/+--     include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pNext-pNext# @pNext@ /must/ be+--     @NULL@ or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-sType-unique# The @sType@ value of+--     each struct in the @pNext@ chain /must/ be unique+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-stageFlags-parameter# @stageFlags@+--     /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-stageFlags-requiredbitmask#+--     @stageFlags@ /must/ not be @0@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-layout-parameter# If @layout@ is+--     not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a+--     valid 'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-parameter#+--     @pDescriptorSets@ /must/ be a valid pointer to an array of+--     @descriptorSetCount@ valid 'Vulkan.Core10.Handles.DescriptorSet'+--     handles+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-parameter# If+--     @dynamicOffsetCount@ is not @0@, and @pDynamicOffsets@ is not+--     @NULL@, @pDynamicOffsets@ /must/ be a valid pointer to an array of+--     @dynamicOffsetCount@ or 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--     @uint32_t@ values+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-descriptorSetCount-arraylength#+--     @descriptorSetCount@ /must/ be greater than @0@+--+-- -   #VUID-VkBindDescriptorSetsInfoKHR-commonparent# Both of @layout@,+--     and the elements of @pDescriptorSets@ 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Handles.DescriptorSet',+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdBindDescriptorSets2KHR'+data BindDescriptorSetsInfoKHR (es :: [Type]) = BindDescriptorSetsInfoKHR+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @stageFlags@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying+    -- the shader stages the descriptor sets will be bound to.+    stageFlags :: ShaderStageFlags+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+    -- program the bindings. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining the+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: PipelineLayout+  , -- | @firstSet@ is the set number of the first descriptor set to be bound.+    firstSet :: Word32+  , -- | @pDescriptorSets@ is a pointer to an array of handles to+    -- 'Vulkan.Core10.Handles.DescriptorSet' objects describing the descriptor+    -- sets to bind to.+    descriptorSets :: Vector DescriptorSet+  , -- | @dynamicOffsetCount@ is the number of dynamic offsets in the+    -- @pDynamicOffsets@ array.+    dynamicOffsetCount :: Word32+  , -- | @pDynamicOffsets@ is a pointer to an array of @uint32_t@ values+    -- specifying dynamic offsets.+    dynamicOffsets :: Vector Word32+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (BindDescriptorSetsInfoKHR (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (BindDescriptorSetsInfoKHR es)++instance Extensible BindDescriptorSetsInfoKHR where+  extensibleTypeName = "BindDescriptorSetsInfoKHR"+  setNext BindDescriptorSetsInfoKHR{..} next' = BindDescriptorSetsInfoKHR{next = next', ..}+  getNext BindDescriptorSetsInfoKHR{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindDescriptorSetsInfoKHR e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss BindDescriptorSetsInfoKHR es+         , PokeChain es ) => ToCStruct (BindDescriptorSetsInfoKHR es) where+  withCStruct x f = allocaBytes 64 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p BindDescriptorSetsInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (firstSet)+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32))+    pPDescriptorSets' <- ContT $ allocaBytes @DescriptorSet ((Data.Vector.length (descriptorSets)) * 8)+    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorSets' `plusPtr` (8 * (i)) :: Ptr DescriptorSet) (e)) (descriptorSets)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr DescriptorSet))) (pPDescriptorSets')+    let pDynamicOffsetsLength = Data.Vector.length $ (dynamicOffsets)+    dynamicOffsetCount'' <- lift $ if (dynamicOffsetCount) == 0+      then pure $ fromIntegral pDynamicOffsetsLength+      else do+        unless (fromIntegral pDynamicOffsetsLength == (dynamicOffsetCount) || pDynamicOffsetsLength == 0) $+          throwIO $ IOError Nothing InvalidArgument "" "pDynamicOffsets must be empty or have 'dynamicOffsetCount' elements" Nothing Nothing+        pure (dynamicOffsetCount)+    lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (dynamicOffsetCount'')+    pDynamicOffsets'' <- if Data.Vector.null (dynamicOffsets)+      then pure nullPtr+      else do+        pPDynamicOffsets <- ContT $ allocaBytes @Word32 (((Data.Vector.length (dynamicOffsets))) * 4)+        lift $ Data.Vector.imapM_ (\i e -> poke (pPDynamicOffsets `plusPtr` (4 * (i)) :: Ptr Word32) (e)) ((dynamicOffsets))+        pure $ pPDynamicOffsets+    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr Word32))) pDynamicOffsets''+    lift $ f+  cStructSize = 64+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)+    lift $ f++instance ( Extendss BindDescriptorSetsInfoKHR es+         , PeekChain es ) => FromCStruct (BindDescriptorSetsInfoKHR es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))+    firstSet <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    descriptorSetCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))+    pDescriptorSets <- peek @(Ptr DescriptorSet) ((p `plusPtr` 40 :: Ptr (Ptr DescriptorSet)))+    pDescriptorSets' <- generateM (fromIntegral descriptorSetCount) (\i -> peek @DescriptorSet ((pDescriptorSets `advancePtrBytes` (8 * (i)) :: Ptr DescriptorSet)))+    dynamicOffsetCount <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))+    pDynamicOffsets <- peek @(Ptr Word32) ((p `plusPtr` 56 :: Ptr (Ptr Word32)))+    let pDynamicOffsetsLength = if pDynamicOffsets == nullPtr then 0 else (fromIntegral dynamicOffsetCount)+    pDynamicOffsets' <- generateM pDynamicOffsetsLength (\i -> peek @Word32 ((pDynamicOffsets `advancePtrBytes` (4 * (i)) :: Ptr Word32)))+    pure $ BindDescriptorSetsInfoKHR+             next+             stageFlags+             layout+             firstSet+             pDescriptorSets'+             dynamicOffsetCount+             pDynamicOffsets'++instance es ~ '[] => Zero (BindDescriptorSetsInfoKHR es) where+  zero = BindDescriptorSetsInfoKHR+           ()+           zero+           zero+           zero+           mempty+           zero+           mempty+++-- | VkPushConstantsInfoKHR - Structure specifying a push constant update+-- operation+--+-- == Valid Usage+--+-- -   #VUID-VkPushConstantsInfoKHR-offset-01795# For each byte in the+--     range specified by @offset@ and @size@ and for each shader stage in+--     @stageFlags@, there /must/ be a push constant range in @layout@ that+--     includes that byte and that stage+--+-- -   #VUID-VkPushConstantsInfoKHR-offset-01796# For each byte in the+--     range specified by @offset@ and @size@ and for each push constant+--     range that overlaps that byte, @stageFlags@ /must/ include all+--     stages in that push constant range’s+--     'Vulkan.Core10.PipelineLayout.PushConstantRange'::@stageFlags@+--+-- -   #VUID-VkPushConstantsInfoKHR-offset-00368# @offset@ /must/ be a+--     multiple of @4@+--+-- -   #VUID-VkPushConstantsInfoKHR-size-00369# @size@ /must/ be a multiple+--     of @4@+--+-- -   #VUID-VkPushConstantsInfoKHR-offset-00370# @offset@ /must/ be less+--     than+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxPushConstantsSize@+--+-- -   #VUID-VkPushConstantsInfoKHR-size-00371# @size@ /must/ be less than+--     or equal to+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxPushConstantsSize@+--     minus @offset@+--+-- -   #VUID-VkPushConstantsInfoKHR-None-09495# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushConstantsInfoKHR-layout-09496# If @layout@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/+--     include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkPushConstantsInfoKHR-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'+--+-- -   #VUID-VkPushConstantsInfoKHR-pNext-pNext# @pNext@ /must/ be @NULL@+--     or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkPushConstantsInfoKHR-sType-unique# The @sType@ value of each+--     struct in the @pNext@ chain /must/ be unique+--+-- -   #VUID-VkPushConstantsInfoKHR-layout-parameter# If @layout@ is not+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushConstantsInfoKHR-stageFlags-parameter# @stageFlags@+--     /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values+--+-- -   #VUID-VkPushConstantsInfoKHR-stageFlags-requiredbitmask#+--     @stageFlags@ /must/ not be @0@+--+-- -   #VUID-VkPushConstantsInfoKHR-pValues-parameter# @pValues@ /must/ be+--     a valid pointer to an array of @size@ bytes+--+-- -   #VUID-VkPushConstantsInfoKHR-size-arraylength# @size@ /must/ be+--     greater than @0@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdPushConstants2KHR'+data PushConstantsInfoKHR (es :: [Type]) = PushConstantsInfoKHR+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @layout@ is the pipeline layout used to program the push constant+    -- updates. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: PipelineLayout+  , -- | @stageFlags@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying+    -- the shader stages that will use the push constants in the updated range.+    stageFlags :: ShaderStageFlags+  , -- | @offset@ is the start offset of the push constant range to update, in+    -- units of bytes.+    offset :: Word32+  , -- | @size@ is the size of the push constant range to update, in units of+    -- bytes.+    size :: Word32+  , -- | @pValues@ is a pointer to an array of @size@ bytes containing the new+    -- push constant values.+    values :: Ptr ()+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PushConstantsInfoKHR (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (PushConstantsInfoKHR es)++instance Extensible PushConstantsInfoKHR where+  extensibleTypeName = "PushConstantsInfoKHR"+  setNext PushConstantsInfoKHR{..} next' = PushConstantsInfoKHR{next = next', ..}+  getNext PushConstantsInfoKHR{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushConstantsInfoKHR e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss PushConstantsInfoKHR es+         , PokeChain es ) => ToCStruct (PushConstantsInfoKHR es) where+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PushConstantsInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 24 :: Ptr ShaderStageFlags)) (stageFlags)+    lift $ poke ((p `plusPtr` 28 :: Ptr Word32)) (offset)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (size)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (values)+    lift $ f+  cStructSize = 48+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 24 :: Ptr ShaderStageFlags)) (zero)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (zero)+    lift $ f++instance ( Extendss PushConstantsInfoKHR es+         , PeekChain es ) => FromCStruct (PushConstantsInfoKHR es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    layout <- peek @PipelineLayout ((p `plusPtr` 16 :: Ptr PipelineLayout))+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 24 :: Ptr ShaderStageFlags))+    offset <- peek @Word32 ((p `plusPtr` 28 :: Ptr Word32))+    size <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    pValues <- peek @(Ptr ()) ((p `plusPtr` 40 :: Ptr (Ptr ())))+    pure $ PushConstantsInfoKHR+             next layout stageFlags offset size pValues++instance es ~ '[] => Zero (PushConstantsInfoKHR es) where+  zero = PushConstantsInfoKHR+           ()+           zero+           zero+           zero+           zero+           zero+++-- | VkPushDescriptorSetInfoKHR - Structure specifying a descriptor set push+-- operation+--+-- = Description+--+-- If @stageFlags@ specifies a subset of all stages corresponding to one or+-- more pipeline bind points, the binding operation still affects all+-- stages corresponding to the given pipeline bind point(s) as if the+-- equivalent original version of this command had been called with the+-- same parameters. For example, specifying a @stageFlags@ value of+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is+-- equivalent to calling the original version of this command once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and+-- once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.+--+-- == Valid Usage+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-set-00364# @set@ /must/ be less+--     than+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+--     provided when @layout@ was created+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-set-00365# @set@ /must/ be the+--     unique set number in the pipeline layout that uses a descriptor set+--     layout that was created with+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR'+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-06494# For each+--     element i where @pDescriptorWrites@[i].@descriptorType@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER',+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE',+--     or+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+--     @pDescriptorWrites@[i].@pImageInfo@ /must/ be a valid pointer to an+--     array of @pDescriptorWrites@[i].@descriptorCount@ valid+--     'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structures+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-None-09495# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-layout-09496# If @layout@ is+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/+--     include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-pNext-pNext# @pNext@ /must/ be+--     @NULL@ or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-sType-unique# The @sType@ value of+--     each struct in the @pNext@ chain /must/ be unique+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-stageFlags-parameter# @stageFlags@+--     /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-stageFlags-requiredbitmask#+--     @stageFlags@ /must/ not be @0@+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-layout-parameter# If @layout@ is+--     not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a+--     valid 'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-parameter#+--     @pDescriptorWrites@ /must/ be a valid pointer to an array of+--     @descriptorWriteCount@ valid+--     'Vulkan.Core10.DescriptorSet.WriteDescriptorSet' structures+--+-- -   #VUID-VkPushDescriptorSetInfoKHR-descriptorWriteCount-arraylength#+--     @descriptorWriteCount@ /must/ be greater than @0@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet',+-- 'cmdPushDescriptorSet2KHR'+data PushDescriptorSetInfoKHR (es :: [Type]) = PushDescriptorSetInfoKHR+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @stageFlags@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying+    -- the shader stages that will use the descriptors.+    stageFlags :: ShaderStageFlags+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+    -- program the bindings. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: PipelineLayout+  , -- | @set@ is the set number of the descriptor set in the pipeline layout+    -- that will be updated.+    set :: Word32+  , -- | @pDescriptorWrites@ is a pointer to an array of+    -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet' structures describing+    -- the descriptors to be updated.+    descriptorWrites :: Vector (SomeStruct WriteDescriptorSet)+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PushDescriptorSetInfoKHR (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (PushDescriptorSetInfoKHR es)++instance Extensible PushDescriptorSetInfoKHR where+  extensibleTypeName = "PushDescriptorSetInfoKHR"+  setNext PushDescriptorSetInfoKHR{..} next' = PushDescriptorSetInfoKHR{next = next', ..}+  getNext PushDescriptorSetInfoKHR{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushDescriptorSetInfoKHR e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss PushDescriptorSetInfoKHR es+         , PokeChain es ) => ToCStruct (PushDescriptorSetInfoKHR es) where+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PushDescriptorSetInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32))+    pPDescriptorWrites' <- ContT $ allocaBytes @(WriteDescriptorSet _) ((Data.Vector.length (descriptorWrites)) * 64)+    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPDescriptorWrites' `plusPtr` (64 * (i)) :: Ptr (WriteDescriptorSet _))) (e) . ($ ())) (descriptorWrites)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (WriteDescriptorSet _)))) (pPDescriptorWrites')+    lift $ f+  cStructSize = 48+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)+    lift $ f++instance ( Extendss PushDescriptorSetInfoKHR es+         , PeekChain es ) => FromCStruct (PushDescriptorSetInfoKHR es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    descriptorWriteCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))+    pDescriptorWrites <- peek @(Ptr (WriteDescriptorSet _)) ((p `plusPtr` 40 :: Ptr (Ptr (WriteDescriptorSet _))))+    pDescriptorWrites' <- generateM (fromIntegral descriptorWriteCount) (\i -> peekSomeCStruct (forgetExtensions ((pDescriptorWrites `advancePtrBytes` (64 * (i)) :: Ptr (WriteDescriptorSet _)))))+    pure $ PushDescriptorSetInfoKHR+             next stageFlags layout set pDescriptorWrites'++instance es ~ '[] => Zero (PushDescriptorSetInfoKHR es) where+  zero = PushDescriptorSetInfoKHR+           ()+           zero+           zero+           zero+           mempty+++-- | VkPushDescriptorSetWithTemplateInfoKHR - Structure specifying a+-- descriptor set push operation using a descriptor update template+--+-- == Valid Usage+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-commandBuffer-00366#+--     The @pipelineBindPoint@ specified during the creation of the+--     descriptor update template /must/ be supported by the+--     @commandBuffer@’s parent 'Vulkan.Core10.Handles.CommandPool'’s queue+--     family+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-01686# @pData@+--     /must/ be a valid pointer to a memory containing one or more valid+--     instances of 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo',+--     'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', or+--     'Vulkan.Core10.Handles.BufferView' in a layout defined by+--     @descriptorUpdateTemplate@ when it was created with+--     'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.createDescriptorUpdateTemplate'+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-07993# @layout@+--     /must/ be compatible with the layout used to create+--     @descriptorUpdateTemplate@+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-07994#+--     @descriptorUpdateTemplate@ /must/ have been created with a+--     @templateType@ of+--     'Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR'+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07995# @set@ /must/+--     be the same value used to create @descriptorUpdateTemplate@+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07304# @set@ /must/+--     be less than+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+--     provided when @layout@ was created+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07305# @set@ /must/+--     be the unique set number in the pipeline layout that uses a+--     descriptor set layout that was created with+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR'+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-None-09495# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-09496# If+--     @layout@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@+--     chain /must/ include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-sType# @sType@+--     /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pNext-pNext# @pNext@+--     /must/ be @NULL@ or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-unique# The+--     @sType@ value of each struct in the @pNext@ chain /must/ be unique+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-parameter#+--     @descriptorUpdateTemplate@ /must/ be a valid+--     'Vulkan.Core11.Handles.DescriptorUpdateTemplate' handle+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-parameter# If+--     @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@+--     /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-parameter#+--     @pData@ /must/ be a pointer value+--+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-commonparent# Both of+--     @descriptorUpdateTemplate@, and @layout@ 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_KHR_maintenance6 VK_KHR_maintenance6>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,+-- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdPushDescriptorSetWithTemplate2KHR'+data PushDescriptorSetWithTemplateInfoKHR (es :: [Type]) = PushDescriptorSetWithTemplateInfoKHR+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @descriptorUpdateTemplate@ is a descriptor update template defining how+    -- to interpret the descriptor information in @pData@.+    descriptorUpdateTemplate :: DescriptorUpdateTemplate+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+    -- program the bindings. It /must/ be compatible with the layout used to+    -- create the @descriptorUpdateTemplate@ handle. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: PipelineLayout+  , -- | @set@ is the set number of the descriptor set in the pipeline layout+    -- that will be updated. This /must/ be the same number used to create the+    -- @descriptorUpdateTemplate@ handle.+    set :: Word32+  , -- | @pData@ is a pointer to memory containing descriptors for the templated+    -- update.+    data' :: Ptr ()+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PushDescriptorSetWithTemplateInfoKHR (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (PushDescriptorSetWithTemplateInfoKHR es)++instance Extensible PushDescriptorSetWithTemplateInfoKHR where+  extensibleTypeName = "PushDescriptorSetWithTemplateInfoKHR"+  setNext PushDescriptorSetWithTemplateInfoKHR{..} next' = PushDescriptorSetWithTemplateInfoKHR{next = next', ..}+  getNext PushDescriptorSetWithTemplateInfoKHR{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushDescriptorSetWithTemplateInfoKHR e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es+         , PokeChain es ) => ToCStruct (PushDescriptorSetWithTemplateInfoKHR es) where+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PushDescriptorSetWithTemplateInfoKHR{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate)) (descriptorUpdateTemplate)+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (data')+    lift $ f+  cStructSize = 48+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate)) (zero)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (zero)+    lift $ f++instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es+         , PeekChain es ) => FromCStruct (PushDescriptorSetWithTemplateInfoKHR es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    descriptorUpdateTemplate <- peek @DescriptorUpdateTemplate ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate))+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    pData <- peek @(Ptr ()) ((p `plusPtr` 40 :: Ptr (Ptr ())))+    pure $ PushDescriptorSetWithTemplateInfoKHR+             next descriptorUpdateTemplate layout set pData++instance es ~ '[] => Zero (PushDescriptorSetWithTemplateInfoKHR es) where+  zero = PushDescriptorSetWithTemplateInfoKHR+           ()+           zero+           zero+           zero+           zero+++-- | VkSetDescriptorBufferOffsetsInfoEXT - Structure specifying descriptor+-- buffer offsets to set in a command buffer+--+-- = Description+--+-- If @stageFlags@ specifies a subset of all stages corresponding to one or+-- more pipeline bind points, the binding operation still affects all+-- stages corresponding to the given pipeline bind point(s) as if the+-- equivalent original version of this command had been called with the+-- same parameters. For example, specifying a @stageFlags@ value of+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is+-- equivalent to calling the original version of this command once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and+-- once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.+--+-- == Valid Usage+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08061# The+--     offsets in @pOffsets@ /must/ be aligned to+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@descriptorBufferOffsetAlignment@+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-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-VkSetDescriptorBufferOffsetsInfoEXT-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+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxSamplerDescriptorBufferRange@+--     of the sampler descriptor buffer binding+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-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+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxResourceDescriptorBufferRange@+--     of the resource descriptor buffer binding+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08064# Each+--     element of @pBufferIndices@ /must/ be less than+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxDescriptorBufferBindings@+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08065# Each+--     element of @pBufferIndices@ /must/ reference a valid descriptor+--     buffer binding set by a previous call to+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT'+--     in @commandBuffer@+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-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-VkSetDescriptorBufferOffsetsInfoEXT-firstSet-09006# The+--     'Vulkan.Core10.Handles.DescriptorSetLayout' for each set from+--     @firstSet@ to @firstSet@ + @setCount@ when @layout@ was created+--     /must/ have been created with the+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'+--     bit set+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-None-09495# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-09496# If @layout@+--     is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain+--     /must/ include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-sType# @sType@+--     /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pNext-pNext# @pNext@+--     /must/ be @NULL@ or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-unique# The @sType@+--     value of each struct in the @pNext@ chain /must/ be unique+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-parameter#+--     @stageFlags@ /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-requiredbitmask#+--     @stageFlags@ /must/ not be @0@+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-parameter# If+--     @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@+--     /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-parameter#+--     @pBufferIndices@ /must/ be a valid pointer to an array of @setCount@+--     @uint32_t@ values+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-parameter#+--     @pOffsets@ /must/ be a valid pointer to an array of @setCount@+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values+--+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-setCount-arraylength#+--     @setCount@ /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>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdSetDescriptorBufferOffsets2EXT'+data SetDescriptorBufferOffsetsInfoEXT (es :: [Type]) = SetDescriptorBufferOffsetsInfoEXT+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @stageFlags@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying+    -- the shader stages the descriptor sets will be bound to+    stageFlags :: ShaderStageFlags+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+    -- program the bindings. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: 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+    -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.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+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (SetDescriptorBufferOffsetsInfoEXT (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (SetDescriptorBufferOffsetsInfoEXT es)++instance Extensible SetDescriptorBufferOffsetsInfoEXT where+  extensibleTypeName = "SetDescriptorBufferOffsetsInfoEXT"+  setNext SetDescriptorBufferOffsetsInfoEXT{..} next' = SetDescriptorBufferOffsetsInfoEXT{next = next', ..}+  getNext SetDescriptorBufferOffsetsInfoEXT{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends SetDescriptorBufferOffsetsInfoEXT e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es+         , PokeChain es ) => ToCStruct (SetDescriptorBufferOffsetsInfoEXT es) where+  withCStruct x f = allocaBytes 56 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p SetDescriptorBufferOffsetsInfoEXT{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (firstSet)+    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+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral pBufferIndicesLength :: Word32))+    pPBufferIndices' <- ContT $ allocaBytes @Word32 ((Data.Vector.length (bufferIndices)) * 4)+    lift $ Data.Vector.imapM_ (\i e -> poke (pPBufferIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (bufferIndices)+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) (pPBufferIndices')+    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 $ poke ((p `plusPtr` 48 :: Ptr (Ptr DeviceSize))) (pPOffsets')+    lift $ f+  cStructSize = 56+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)+    lift $ f++instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es+         , PeekChain es ) => FromCStruct (SetDescriptorBufferOffsetsInfoEXT es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))+    firstSet <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    setCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))+    pBufferIndices <- peek @(Ptr Word32) ((p `plusPtr` 40 :: Ptr (Ptr Word32)))+    pBufferIndices' <- generateM (fromIntegral setCount) (\i -> peek @Word32 ((pBufferIndices `advancePtrBytes` (4 * (i)) :: Ptr Word32)))+    pOffsets <- peek @(Ptr DeviceSize) ((p `plusPtr` 48 :: Ptr (Ptr DeviceSize)))+    pOffsets' <- generateM (fromIntegral setCount) (\i -> peek @DeviceSize ((pOffsets `advancePtrBytes` (8 * (i)) :: Ptr DeviceSize)))+    pure $ SetDescriptorBufferOffsetsInfoEXT+             next stageFlags layout firstSet pBufferIndices' pOffsets'++instance es ~ '[] => Zero (SetDescriptorBufferOffsetsInfoEXT es) where+  zero = SetDescriptorBufferOffsetsInfoEXT+           ()+           zero+           zero+           zero+           mempty+           mempty+++-- | VkBindDescriptorBufferEmbeddedSamplersInfoEXT - Structure specifying+-- embedded immutable sampler offsets to set in a command buffer+--+-- = Description+--+-- If @stageFlags@ specifies a subset of all stages corresponding to one or+-- more pipeline bind points, the binding operation still affects all+-- stages corresponding to the given pipeline bind point(s) as if the+-- equivalent original version of this command had been called with the+-- same parameters. For example, specifying a @stageFlags@ value of+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is+-- equivalent to calling the original version of this command once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and+-- once with+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.+--+-- == Valid Usage+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-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-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08071# @set@+--     /must/ be less than or equal to+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@+--     provided when @layout@ was created+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-None-09495# If+--     the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+--     feature is not enabled, @layout@ /must/ be a valid+--     'Vulkan.Core10.Handles.PipelineLayout' handle+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-09496# If+--     @layout@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@+--     chain /must/ include a valid+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-sType#+--     @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-pNext-pNext#+--     @pNext@ /must/ be @NULL@ or a pointer to a valid instance of+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-unique#+--     The @sType@ value of each struct in the @pNext@ chain /must/ be+--     unique+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-parameter#+--     @stageFlags@ /must/ be a valid combination of+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-requiredbitmask#+--     @stageFlags@ /must/ not be @0@+--+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-parameter#+--     If @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',+--     @layout@ /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout'+--     handle+--+-- = 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_maintenance6 VK_KHR_maintenance6>,+-- 'Vulkan.Core10.Handles.PipelineLayout',+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdBindDescriptorBufferEmbeddedSamplers2EXT'+data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]) = BindDescriptorBufferEmbeddedSamplersInfoEXT+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.+    next :: Chain es+  , -- | @stageFlags@ is a bitmask of+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying+    -- the shader stages that will use the embedded immutable samplers.+    stageFlags :: ShaderStageFlags+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to+    -- program the bindings. If the+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>+    -- feature is enabled, @layout@ /can/ be+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be+    -- specified by chaining+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off+    -- the @pNext@+    layout :: PipelineLayout+  , -- | @set@ is the number of the set to be bound.+    set :: Word32+  }+  deriving (Typeable)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]))+#endif+deriving instance Show (Chain es) => Show (BindDescriptorBufferEmbeddedSamplersInfoEXT es)++instance Extensible BindDescriptorBufferEmbeddedSamplersInfoEXT where+  extensibleTypeName = "BindDescriptorBufferEmbeddedSamplersInfoEXT"+  setNext BindDescriptorBufferEmbeddedSamplersInfoEXT{..} next' = BindDescriptorBufferEmbeddedSamplersInfoEXT{next = next', ..}+  getNext BindDescriptorBufferEmbeddedSamplersInfoEXT{..} = next+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindDescriptorBufferEmbeddedSamplersInfoEXT e => b) -> Maybe b+  extends _ f+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f+    | otherwise = Nothing++instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es+         , PokeChain es ) => ToCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p BindDescriptorBufferEmbeddedSamplersInfoEXT{..} f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT)+    pNext'' <- fmap castPtr . ContT $ withChain (next)+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)+    lift $ f+  cStructSize = 40+  cStructAlignment = 8+  pokeZeroCStruct p f = evalContT $ do+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT)+    pNext' <- fmap castPtr . ContT $ withZeroChain @es+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)+    lift $ f++instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es+         , PeekChain es ) => FromCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where+  peekCStruct p = do+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))+    next <- peekChain (castPtr pNext)+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))+    pure $ BindDescriptorBufferEmbeddedSamplersInfoEXT+             next stageFlags layout set++instance es ~ '[] => Zero (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where+  zero = BindDescriptorBufferEmbeddedSamplersInfoEXT+           ()+           zero+           zero+           zero+++type KHR_MAINTENANCE_6_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_6_SPEC_VERSION"+pattern KHR_MAINTENANCE_6_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_MAINTENANCE_6_SPEC_VERSION = 1+++type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"++-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_6_EXTENSION_NAME"+pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"+
+ src/Vulkan/Extensions/VK_KHR_maintenance6.hs-boot view
@@ -0,0 +1,334 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_maintenance6 - device extension+--+-- == VK_KHR_maintenance6+--+-- [__Name String__]+--     @VK_KHR_maintenance6@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     546+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__API Interactions__]+--+--     -   Interacts with VK_EXT_descriptor_buffer+--+--     -   Interacts with VK_KHR_push_descriptor+--+-- [__Contact__]+--+--     -   Jon Leech+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance6] @oddhack%0A*Here describe the issue or question you have about the VK_KHR_maintenance6 extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_maintenance6.adoc VK_KHR_maintenance6>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-08-03+--+-- [__Interactions and External Dependencies__]+--+--     -   Interacts with @VK_EXT_robustness2@+--+-- [__Contributors__]+--+--     -   Jon Leech, Khronos+--+--     -   Stu Smith, AMD+--+--     -   Mike Blumenkrantz, Valve+--+--     -   Ralph Potter, Samsung+--+--     -   James Fitzpatrick, Imagination Technologies+--+--     -   Piers Daniell, NVIDIA+--+--     -   Daniel Story, Nintendo+--+-- == Description+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>+-- adds a collection of minor features, none of which would warrant an+-- entire extension of their own.+--+-- The new features are as follows:+--+-- -   'BindMemoryStatusKHR' may be included in the @pNext@ chain of+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'+--     and+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',+--     allowing applications to identify individual resources for which+--     memory binding failed during calls to+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindBufferMemory2'+--     and+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindImageMemory2'.+--+-- -   A new property @fragmentShadingRateClampCombinerInputs@ to indicate+--     if an implementation clamps the inputs to fragment shading rate+--     combiner operations.+--+-- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' is allowed to be used when+--     binding an index buffer, instead of a valid+--     'Vulkan.Core10.Handles.Buffer' handle. When the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+--     feature is enabled, every index fetched results in a value of zero.+--+-- -   A new property @maxCombinedImageSamplerDescriptorCount@ to indicate+--     the maximum number of descriptors needed for any of the+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>+--     supported by the implementation.+--+-- -   A new property @blockTexelViewCompatibleMultipleLayers@ indicating+--     whether+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'+--     is allowed to be used with @layerCount@ > 1+--+-- -   @pNext@ extensible *2 versions of all descriptor binding commands.+--+-- == New Commands+--+-- -   'cmdBindDescriptorSets2KHR'+--+-- -   'cmdPushConstants2KHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   'cmdBindDescriptorBufferEmbeddedSamplers2EXT'+--+-- -   'cmdSetDescriptorBufferOffsets2EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   'cmdPushDescriptorSet2KHR'+--+-- -   'cmdPushDescriptorSetWithTemplate2KHR'+--+-- == New Structures+--+-- -   'BindDescriptorSetsInfoKHR'+--+-- -   'PushConstantsInfoKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo':+--+--     -   'BindMemoryStatusKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceMaintenance6FeaturesKHR'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':+--+--     -   'PhysicalDeviceMaintenance6PropertiesKHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   'BindDescriptorBufferEmbeddedSamplersInfoEXT'+--+-- -   'SetDescriptorBufferOffsetsInfoEXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   'PushDescriptorSetInfoKHR'+--+-- -   'PushDescriptorSetWithTemplateInfoKHR'+--+-- == New Enum Constants+--+-- -   'KHR_MAINTENANCE_6_EXTENSION_NAME'+--+-- -   'KHR_MAINTENANCE_6_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'+--+-- If+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>+-- is supported:+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'+--+-- == Issues+--+-- None.+--+-- == Version History+--+-- -   Revision 1, 2023-08-01 (Jon Leech)+--+--     -   Initial revision+--+-- == See Also+--+-- 'BindDescriptorSetsInfoKHR', 'BindMemoryStatusKHR',+-- 'PhysicalDeviceMaintenance6FeaturesKHR',+-- 'PhysicalDeviceMaintenance6PropertiesKHR', 'PushConstantsInfoKHR',+-- 'cmdBindDescriptorSets2KHR', 'cmdPushConstants2KHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_maintenance6 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_maintenance6  ( BindDescriptorBufferEmbeddedSamplersInfoEXT+                                              , BindDescriptorSetsInfoKHR+                                              , BindMemoryStatusKHR+                                              , PhysicalDeviceMaintenance6FeaturesKHR+                                              , PhysicalDeviceMaintenance6PropertiesKHR+                                              , PushConstantsInfoKHR+                                              , PushDescriptorSetInfoKHR+                                              , PushDescriptorSetWithTemplateInfoKHR+                                              , SetDescriptorBufferOffsetsInfoEXT+                                              ) 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)+type role BindDescriptorBufferEmbeddedSamplersInfoEXT nominal+data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type])++instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es+         , PokeChain es ) => ToCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es)+instance Show (Chain es) => Show (BindDescriptorBufferEmbeddedSamplersInfoEXT es)++instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es+         , PeekChain es ) => FromCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es)+++type role BindDescriptorSetsInfoKHR nominal+data BindDescriptorSetsInfoKHR (es :: [Type])++instance ( Extendss BindDescriptorSetsInfoKHR es+         , PokeChain es ) => ToCStruct (BindDescriptorSetsInfoKHR es)+instance Show (Chain es) => Show (BindDescriptorSetsInfoKHR es)++instance ( Extendss BindDescriptorSetsInfoKHR es+         , PeekChain es ) => FromCStruct (BindDescriptorSetsInfoKHR es)+++data BindMemoryStatusKHR++instance ToCStruct BindMemoryStatusKHR+instance Show BindMemoryStatusKHR++instance FromCStruct BindMemoryStatusKHR+++data PhysicalDeviceMaintenance6FeaturesKHR++instance ToCStruct PhysicalDeviceMaintenance6FeaturesKHR+instance Show PhysicalDeviceMaintenance6FeaturesKHR++instance FromCStruct PhysicalDeviceMaintenance6FeaturesKHR+++data PhysicalDeviceMaintenance6PropertiesKHR++instance ToCStruct PhysicalDeviceMaintenance6PropertiesKHR+instance Show PhysicalDeviceMaintenance6PropertiesKHR++instance FromCStruct PhysicalDeviceMaintenance6PropertiesKHR+++type role PushConstantsInfoKHR nominal+data PushConstantsInfoKHR (es :: [Type])++instance ( Extendss PushConstantsInfoKHR es+         , PokeChain es ) => ToCStruct (PushConstantsInfoKHR es)+instance Show (Chain es) => Show (PushConstantsInfoKHR es)++instance ( Extendss PushConstantsInfoKHR es+         , PeekChain es ) => FromCStruct (PushConstantsInfoKHR es)+++type role PushDescriptorSetInfoKHR nominal+data PushDescriptorSetInfoKHR (es :: [Type])++instance ( Extendss PushDescriptorSetInfoKHR es+         , PokeChain es ) => ToCStruct (PushDescriptorSetInfoKHR es)+instance Show (Chain es) => Show (PushDescriptorSetInfoKHR es)++instance ( Extendss PushDescriptorSetInfoKHR es+         , PeekChain es ) => FromCStruct (PushDescriptorSetInfoKHR es)+++type role PushDescriptorSetWithTemplateInfoKHR nominal+data PushDescriptorSetWithTemplateInfoKHR (es :: [Type])++instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es+         , PokeChain es ) => ToCStruct (PushDescriptorSetWithTemplateInfoKHR es)+instance Show (Chain es) => Show (PushDescriptorSetWithTemplateInfoKHR es)++instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es+         , PeekChain es ) => FromCStruct (PushDescriptorSetWithTemplateInfoKHR es)+++type role SetDescriptorBufferOffsetsInfoEXT nominal+data SetDescriptorBufferOffsetsInfoEXT (es :: [Type])++instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es+         , PokeChain es ) => ToCStruct (SetDescriptorBufferOffsetsInfoEXT es)+instance Show (Chain es) => Show (SetDescriptorBufferOffsetsInfoEXT es)++instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es+         , PeekChain es ) => FromCStruct (SetDescriptorBufferOffsetsInfoEXT es)+
src/Vulkan/Extensions/VK_KHR_push_descriptor.hs view
@@ -254,10 +254,6 @@ -- -- == Valid Usage ----- -   #VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363#---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family--- -- -   #VUID-vkCmdPushDescriptorSetKHR-set-00364# @set@ /must/ be less than --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@ --     provided when @layout@ was created@@ -269,6 +265,8 @@ -- -- -   #VUID-vkCmdPushDescriptorSetKHR-pDescriptorWrites-06494# For each --     element i where @pDescriptorWrites@[i].@descriptorType@ is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER',+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER', --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE', --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE', --     or@@ -276,6 +274,10 @@ --     @pDescriptorWrites@[i].@pImageInfo@ /must/ be a valid pointer to an --     array of @pDescriptorWrites@[i].@descriptorCount@ valid --     'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structures+--+-- -   #VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363#+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -2024,11 +2024,6 @@ --     host access to @pipelineCache@ /must/ be --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-threadingbehavior externally synchronized> ----- -   #VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03677# If---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',---     it /must/ be a valid---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object--- -- -   #VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03678# Any --     previous deferred operation that was associated with --     @deferredOperation@ /must/ be complete@@ -3441,6 +3436,13 @@ -- -- == Valid Usage --+-- -   #VUID-VkRayTracingPipelineCreateInfoKHR-None-09497# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+--     structure, @flags@ must be a valid combination of+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'+--     values+-- -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-07984# If @flags@ --     contains the --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'@@ -3711,11 +3713,6 @@ -- -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-sType-unique# The @sType@ --     value of each struct in the @pNext@ chain /must/ be unique------ -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-parameter# @flags@---     /must/ be a valid combination of---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'---     values -- -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-pStages-parameter# If --     @stageCount@ is not @0@, @pStages@ /must/ be a valid pointer to an
+ src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs view
@@ -0,0 +1,201 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_expect_assume - device extension+--+-- == VK_KHR_shader_expect_assume+--+-- [__Name String__]+--     @VK_KHR_shader_expect_assume@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     545+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_expect_assume.html SPV_KHR_expect_assume>+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_expect_assume] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_expect_assume extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-12-06+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Kevin Petit, Arm+--+--     -   Tobias Hector, AMD+--+--     -   James Fitzpatrick, Imagination Technologies+--+-- == Description+--+-- This extension allows the use of the @SPV_KHR_expect_assume@ extension+-- in SPIR-V shader modules which enables SPIR-V producers to provide+-- optimization hints to the Vulkan implementation.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderExpectAssumeFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME'+--+-- -   'KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-ExpectAssumeKHR ExpectAssumeKHR>+--+-- == Version History+--+-- -   Revision 1, 2023-12-06 (Kevin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderExpectAssumeFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_expect_assume Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_expect_assume  ( PhysicalDeviceShaderExpectAssumeFeaturesKHR(..)+                                                      , KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION+                                                      , pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION+                                                      , KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME+                                                      , pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME+                                                      ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR))+-- | VkPhysicalDeviceShaderExpectAssumeFeaturesKHR - Structure describing+-- shader expect assume features that can be supported by an implementation+--+-- = Description+--+-- If the 'PhysicalDeviceShaderExpectAssumeFeaturesKHR' 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. 'PhysicalDeviceShaderExpectAssumeFeaturesKHR' /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_KHR_shader_expect_assume VK_KHR_shader_expect_assume>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeaturesKHR+  { -- | #features-shaderExpectAssume# @shaderExpectAssume@ specifies whether+    -- shader modules /can/ declare the @ExpectAssumeKHR@ capability.+    shaderExpectAssume :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderExpectAssumeFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceShaderExpectAssumeFeaturesKHR++instance ToCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderExpectAssumeFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderExpectAssume))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR where+  peekCStruct p = do+    shaderExpectAssume <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderExpectAssumeFeaturesKHR+             (bool32ToBool shaderExpectAssume)++instance Storable PhysicalDeviceShaderExpectAssumeFeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderExpectAssumeFeaturesKHR where+  zero = PhysicalDeviceShaderExpectAssumeFeaturesKHR+           zero+++type KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION"+pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION = 1+++type KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME = "VK_KHR_shader_expect_assume"++-- No documentation found for TopLevel "VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME"+pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME = "VK_KHR_shader_expect_assume"+
+ src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs-boot view
@@ -0,0 +1,108 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_expect_assume - device extension+--+-- == VK_KHR_shader_expect_assume+--+-- [__Name String__]+--     @VK_KHR_shader_expect_assume@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     545+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_expect_assume.html SPV_KHR_expect_assume>+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_expect_assume] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_expect_assume extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-12-06+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Kevin Petit, Arm+--+--     -   Tobias Hector, AMD+--+--     -   James Fitzpatrick, Imagination Technologies+--+-- == Description+--+-- This extension allows the use of the @SPV_KHR_expect_assume@ extension+-- in SPIR-V shader modules which enables SPIR-V producers to provide+-- optimization hints to the Vulkan implementation.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderExpectAssumeFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME'+--+-- -   'KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-ExpectAssumeKHR ExpectAssumeKHR>+--+-- == Version History+--+-- -   Revision 1, 2023-12-06 (Kevin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderExpectAssumeFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_expect_assume Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_expect_assume  (PhysicalDeviceShaderExpectAssumeFeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderExpectAssumeFeaturesKHR++instance ToCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR+instance Show PhysicalDeviceShaderExpectAssumeFeaturesKHR++instance FromCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR+
+ src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs view
@@ -0,0 +1,215 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_float_controls2 - device extension+--+-- == VK_KHR_shader_float_controls2+--+-- [__Name String__]+--     @VK_KHR_shader_float_controls2@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     529+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>+--+-- [__Contact__]+--+--     -   Graeme Leese+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float_controls2] @gnl21%0A*Here describe the issue or question you have about the VK_KHR_shader_float_controls2 extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_float_controls2.adoc VK_KHR_shader_float_controls2>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-05-16+--+-- [__Interactions and External Dependencies__]+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>.+--+-- [__Contributors__]+--+--     -   Graeme Leese, Broadcom+--+-- == Description+--+-- This extension enables use of the more expressive fast floating-point+-- math flags in the SPV_KHR_float_controls2 extension. These flags give+-- finer- grained control over which optimisations compilers may apply,+-- potentially speeding up execution while retaining correct results.+--+-- The extension also adds control over the fast-math modes to the GLSL+-- extended instruction set, making these operations more consistent with+-- SPIR-V and allowing their use in situations where floating-point+-- conformance is important.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderFloatControls2FeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME'+--+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FloatControls2 FloatControls2>+--+-- == Version History+--+-- -   Revision 1, 2023-05-16 (Graeme Leese)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDeviceShaderFloatControls2FeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_float_controls2  ( PhysicalDeviceShaderFloatControls2FeaturesKHR(..)+                                                        , KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION+                                                        , pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION+                                                        , KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME+                                                        , pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME+                                                        ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR))+-- | VkPhysicalDeviceShaderFloatControls2FeaturesKHR - Structure describing+-- shader float controls 2 features that can be supported by an+-- implementation+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDeviceShaderFloatControls2FeaturesKHR' 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. 'PhysicalDeviceShaderFloatControls2FeaturesKHR' /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_KHR_shader_float_controls2 VK_KHR_shader_float_controls2>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2FeaturesKHR+  { -- | #features-shaderFloatControls2# @shaderFloatControls2@ specifies whether+    -- shader modules /can/ declare the @FloatControls2@ capability.+    shaderFloatControls2 :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderFloatControls2FeaturesKHR)+#endif+deriving instance Show PhysicalDeviceShaderFloatControls2FeaturesKHR++instance ToCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderFloatControls2FeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderFloatControls2))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR where+  peekCStruct p = do+    shaderFloatControls2 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderFloatControls2FeaturesKHR+             (bool32ToBool shaderFloatControls2)++instance Storable PhysicalDeviceShaderFloatControls2FeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderFloatControls2FeaturesKHR where+  zero = PhysicalDeviceShaderFloatControls2FeaturesKHR+           zero+++type KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION"+pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION = 1+++type KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME = "VK_KHR_shader_float_controls2"++-- No documentation found for TopLevel "VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME"+pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME = "VK_KHR_shader_float_controls2"+
+ src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs-boot view
@@ -0,0 +1,117 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_float_controls2 - device extension+--+-- == VK_KHR_shader_float_controls2+--+-- [__Name String__]+--     @VK_KHR_shader_float_controls2@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     529+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>+--+-- [__Contact__]+--+--     -   Graeme Leese+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float_controls2] @gnl21%0A*Here describe the issue or question you have about the VK_KHR_shader_float_controls2 extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_float_controls2.adoc VK_KHR_shader_float_controls2>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-05-16+--+-- [__Interactions and External Dependencies__]+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>.+--+-- [__Contributors__]+--+--     -   Graeme Leese, Broadcom+--+-- == Description+--+-- This extension enables use of the more expressive fast floating-point+-- math flags in the SPV_KHR_float_controls2 extension. These flags give+-- finer- grained control over which optimisations compilers may apply,+-- potentially speeding up execution while retaining correct results.+--+-- The extension also adds control over the fast-math modes to the GLSL+-- extended instruction set, making these operations more consistent with+-- SPIR-V and allowing their use in situations where floating-point+-- conformance is important.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderFloatControls2FeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME'+--+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FloatControls2 FloatControls2>+--+-- == Version History+--+-- -   Revision 1, 2023-05-16 (Graeme Leese)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDeviceShaderFloatControls2FeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_float_controls2  (PhysicalDeviceShaderFloatControls2FeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderFloatControls2FeaturesKHR++instance ToCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR+instance Show PhysicalDeviceShaderFloatControls2FeaturesKHR++instance FromCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR+
+ src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs view
@@ -0,0 +1,222 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_maximal_reconvergence - device extension+--+-- == VK_KHR_shader_maximal_reconvergence+--+-- [__Name String__]+--     @VK_KHR_shader_maximal_reconvergence@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     435+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>+--+-- [__Contact__]+--+--     -   Alan Baker+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_maximal_reconvergence] @alan-baker%0A*Here describe the issue or question you have about the VK_KHR_shader_maximal_reconvergence extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2021-11-12+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Interactions and External Dependencies__]+--+--     -   Requires SPIR-V 1.3.+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>+--+-- [__Contributors__]+--+--     -   Alan Baker, Google+--+-- == Description+--+-- This extension allows the use of the @SPV_KHR_maximal_reconvergence@+-- SPIR-V extension in shader modules. @SPV_KHR_maximal_reconvergence@+-- provides stronger guarantees that diverged subgroups will reconverge.+-- These guarantees should match shader author intuition about divergence+-- and reconvergence of invocations based on the structure of the code in+-- the HLL.+--+-- Developers should utilize this extension if they require stronger+-- guarantees about reconvergence than either the core spec or+-- SPV_KHR_subgroup_uniform_control_flow. This extension will define the+-- rules that govern how invocations diverge and reconverge in a way that+-- should match developer intuition. It allows robust programs to be+-- written relying on subgroup operations and other tangled instructions.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME'+--+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-MaximallyReconvergesKHR MaximallyReconvergesKHR>+--+-- == Version History+--+-- -   Revision 1, 2021-11-12 (Alan Baker)+--+--     -   Internal draft version+--+-- == See Also+--+-- 'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence  ( PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(..)+                                                              , KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION+                                                              , pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION+                                                              , KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME+                                                              , pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME+                                                              ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR))+-- | VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR - Structure+-- describing support for shader maximal reconvergence by an implementation+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT'+-- 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.+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT'+-- /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_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+  { -- | #features-shaderMaximalReconvergence# @shaderMaximalReconvergence@+    -- specifies whether the implementation supports the shader execution mode+    -- @MaximallyReconvergesKHR@+    shaderMaximalReconvergence :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR++instance ToCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderMaximalReconvergence))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where+  peekCStruct p = do+    shaderMaximalReconvergence <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+             (bool32ToBool shaderMaximalReconvergence)++instance Storable PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where+  zero = PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+           zero+++type KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION"+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION = 1+++type KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME = "VK_KHR_shader_maximal_reconvergence"++-- No documentation found for TopLevel "VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME"+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME = "VK_KHR_shader_maximal_reconvergence"+
+ src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs-boot view
@@ -0,0 +1,121 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_maximal_reconvergence - device extension+--+-- == VK_KHR_shader_maximal_reconvergence+--+-- [__Name String__]+--     @VK_KHR_shader_maximal_reconvergence@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     435+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>+--+-- [__Contact__]+--+--     -   Alan Baker+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_maximal_reconvergence] @alan-baker%0A*Here describe the issue or question you have about the VK_KHR_shader_maximal_reconvergence extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2021-11-12+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Interactions and External Dependencies__]+--+--     -   Requires SPIR-V 1.3.+--+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>+--+-- [__Contributors__]+--+--     -   Alan Baker, Google+--+-- == Description+--+-- This extension allows the use of the @SPV_KHR_maximal_reconvergence@+-- SPIR-V extension in shader modules. @SPV_KHR_maximal_reconvergence@+-- provides stronger guarantees that diverged subgroups will reconverge.+-- These guarantees should match shader author intuition about divergence+-- and reconvergence of invocations based on the structure of the code in+-- the HLL.+--+-- Developers should utilize this extension if they require stronger+-- guarantees about reconvergence than either the core spec or+-- SPV_KHR_subgroup_uniform_control_flow. This extension will define the+-- rules that govern how invocations diverge and reconverge in a way that+-- should match developer intuition. It allows robust programs to be+-- written relying on subgroup operations and other tangled instructions.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME'+--+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-MaximallyReconvergesKHR MaximallyReconvergesKHR>+--+-- == Version History+--+-- -   Revision 1, 2021-11-12 (Alan Baker)+--+--     -   Internal draft version+--+-- == See Also+--+-- 'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence  (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR++instance ToCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+instance Show PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR++instance FromCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR+
+ src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs view
@@ -0,0 +1,222 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_quad_control - device extension+--+-- == VK_KHR_shader_quad_control+--+-- [__Name String__]+--     @VK_KHR_shader_quad_control@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     236+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vulkan_memory_model VK_KHR_vulkan_memory_model>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_quad_control.html SPV_KHR_quad_control>+--+-- [__Contact__]+--+--     -   Tobias Hector+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_quad_control] @tobski%0A*Here describe the issue or question you have about the VK_KHR_shader_quad_control extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_quad_control.adoc VK_KHR_shader_quad_control>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-11-01+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Tobias Hector, AMD+--+--     -   Bill Licea-Kane, Qualcomm+--+--     -   Graeme Leese, Broadcom+--+--     -   Jan-Harald Fredriksen, Arm+--+--     -   Nicolai Hähnle, AMD+--+--     -   Jeff Bolz, NVidia+--+--     -   Alan Baker, Google+--+--     -   Hans-Kristian Arntzen, Valve+--+-- == Description+--+-- This extension adds new quad any\/all operations, requires that+-- derivatives are well-defined in quad-uniform control flow, and adds the+-- ability to require helper invocations participate in group operations.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderQuadControlFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME'+--+-- -   'KHR_SHADER_QUAD_CONTROL_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-QuadControlKHR QuadControlKHR>+--+-- == Version History+--+-- -   Revision 1, 2023-11-01 (Tobias Hector)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDeviceShaderQuadControlFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_quad_control Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_quad_control  ( PhysicalDeviceShaderQuadControlFeaturesKHR(..)+                                                     , KHR_SHADER_QUAD_CONTROL_SPEC_VERSION+                                                     , pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION+                                                     , KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME+                                                     , pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME+                                                     ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR))+-- | VkPhysicalDeviceShaderQuadControlFeaturesKHR - Structure describing+-- whether quad scopes are supported by the implementation+--+-- = Members+--+-- This structure describes the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceShaderQuadControlFeaturesKHR' 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. 'PhysicalDeviceShaderQuadControlFeaturesKHR' /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_KHR_shader_quad_control VK_KHR_shader_quad_control>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderQuadControlFeaturesKHR = PhysicalDeviceShaderQuadControlFeaturesKHR+  { -- | #features-shaderQuadControl# @shaderQuadControl@ indicates whether the+    -- implementation supports shaders with the @QuadControlKHR@ capability.+    shaderQuadControl :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderQuadControlFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceShaderQuadControlFeaturesKHR++instance ToCStruct PhysicalDeviceShaderQuadControlFeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderQuadControlFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderQuadControl))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderQuadControlFeaturesKHR where+  peekCStruct p = do+    shaderQuadControl <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderQuadControlFeaturesKHR+             (bool32ToBool shaderQuadControl)++instance Storable PhysicalDeviceShaderQuadControlFeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderQuadControlFeaturesKHR where+  zero = PhysicalDeviceShaderQuadControlFeaturesKHR+           zero+++type KHR_SHADER_QUAD_CONTROL_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION"+pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION = 1+++type KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME = "VK_KHR_shader_quad_control"++-- No documentation found for TopLevel "VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME"+pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME = "VK_KHR_shader_quad_control"+
+ src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs-boot view
@@ -0,0 +1,125 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_quad_control - device extension+--+-- == VK_KHR_shader_quad_control+--+-- [__Name String__]+--     @VK_KHR_shader_quad_control@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     236+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vulkan_memory_model VK_KHR_vulkan_memory_model>+--     and+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_quad_control.html SPV_KHR_quad_control>+--+-- [__Contact__]+--+--     -   Tobias Hector+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_quad_control] @tobski%0A*Here describe the issue or question you have about the VK_KHR_shader_quad_control extension* >+--+-- [__Extension Proposal__]+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_quad_control.adoc VK_KHR_shader_quad_control>+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-11-01+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Tobias Hector, AMD+--+--     -   Bill Licea-Kane, Qualcomm+--+--     -   Graeme Leese, Broadcom+--+--     -   Jan-Harald Fredriksen, Arm+--+--     -   Nicolai Hähnle, AMD+--+--     -   Jeff Bolz, NVidia+--+--     -   Alan Baker, Google+--+--     -   Hans-Kristian Arntzen, Valve+--+-- == Description+--+-- This extension adds new quad any\/all operations, requires that+-- derivatives are well-defined in quad-uniform control flow, and adds the+-- ability to require helper invocations participate in group operations.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderQuadControlFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME'+--+-- -   'KHR_SHADER_QUAD_CONTROL_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-QuadControlKHR QuadControlKHR>+--+-- == Version History+--+-- -   Revision 1, 2023-11-01 (Tobias Hector)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDeviceShaderQuadControlFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_quad_control Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_quad_control  (PhysicalDeviceShaderQuadControlFeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderQuadControlFeaturesKHR++instance ToCStruct PhysicalDeviceShaderQuadControlFeaturesKHR+instance Show PhysicalDeviceShaderQuadControlFeaturesKHR++instance FromCStruct PhysicalDeviceShaderQuadControlFeaturesKHR+
+ src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs view
@@ -0,0 +1,230 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_subgroup_rotate - device extension+--+-- == VK_KHR_shader_subgroup_rotate+--+-- [__Name String__]+--     @VK_KHR_shader_subgroup_rotate@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     417+--+-- [__Revision__]+--     2+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     None+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_rotate.html SPV_KHR_subgroup_rotate>+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_rotate] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_subgroup_rotate extension* >+--+-- [__Last Modified Date__]+--     2024-01-29+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Kévin Petit, Arm Ltd.+--+--     -   Tobias Hector, AMD+--+--     -   John Leech, Khronos+--+--     -   Matthew Netsch, Qualcomm+--+--     -   Jan-Harald Fredriksen, Arm Ltd.+--+--     -   Graeme Leese, Broadcom+--+--     -   Tom Olson, Arm Ltd.+--+--     -   Spencer Fricke, LunarG Inc.+--+-- This extension adds support for the subgroup rotate instruction defined+-- in SPV_KHR_subgroup_rotate.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME'+--+-- -   'KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR'+--+-- -   Extending+--     'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits':+--+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+--+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-GroupNonUniformRotateKHR GroupNonUniformRotateKHR>+--+-- == Version History+--+-- -   Revision 2, 2024-01-29 (Kévin Petit)+--+--     -   Add+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+--         and+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+--+-- -   Revision 1, 2023-06-20 (Kévin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_subgroup_rotate  ( PhysicalDeviceShaderSubgroupRotateFeaturesKHR(..)+                                                        , KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION+                                                        , pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION+                                                        , KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME+                                                        , pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME+                                                        ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR))+-- | VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR - Structure describing+-- whether subgroup rotation is enabled+--+-- = Description+--+-- If the 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR' 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. 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR' /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_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeaturesKHR+  { -- | #features-shaderSubgroupRotate# @shaderSubgroupRotate@ specifies whether+    -- shader modules /can/ declare the @GroupNonUniformRotateKHR@ capability.+    shaderSubgroupRotate :: Bool+  , -- | #features-shaderSubgroupRotateClustered# @shaderSubgroupRotateClustered@+    -- specifies whether shader modules /can/ use the @ClusterSize@ operand to+    -- @OpGroupNonUniformRotateKHR@.+    shaderSubgroupRotateClustered :: Bool+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderSubgroupRotateFeaturesKHR)+#endif+deriving instance Show PhysicalDeviceShaderSubgroupRotateFeaturesKHR++instance ToCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceShaderSubgroupRotateFeaturesKHR{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderSubgroupRotate))+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (shaderSubgroupRotateClustered))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR where+  peekCStruct p = do+    shaderSubgroupRotate <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    shaderSubgroupRotateClustered <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+    pure $ PhysicalDeviceShaderSubgroupRotateFeaturesKHR+             (bool32ToBool shaderSubgroupRotate)+             (bool32ToBool shaderSubgroupRotateClustered)++instance Storable PhysicalDeviceShaderSubgroupRotateFeaturesKHR where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderSubgroupRotateFeaturesKHR where+  zero = PhysicalDeviceShaderSubgroupRotateFeaturesKHR+           zero+           zero+++type KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 2++-- No documentation found for TopLevel "VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION"+pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION :: forall a . Integral a => a+pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 2+++type KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate"++-- No documentation found for TopLevel "VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME"+pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate"+
+ src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs-boot view
@@ -0,0 +1,127 @@+{-# language CPP #-}+-- | = Name+--+-- VK_KHR_shader_subgroup_rotate - device extension+--+-- == VK_KHR_shader_subgroup_rotate+--+-- [__Name String__]+--     @VK_KHR_shader_subgroup_rotate@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     417+--+-- [__Revision__]+--     2+--+-- [__Ratification Status__]+--     Ratified+--+-- [__Extension and Version Dependencies__]+--     None+--+-- [__SPIR-V Dependencies__]+--+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_rotate.html SPV_KHR_subgroup_rotate>+--+-- [__Contact__]+--+--     -   Kevin Petit+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_rotate] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_subgroup_rotate extension* >+--+-- [__Last Modified Date__]+--     2024-01-29+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Kévin Petit, Arm Ltd.+--+--     -   Tobias Hector, AMD+--+--     -   John Leech, Khronos+--+--     -   Matthew Netsch, Qualcomm+--+--     -   Jan-Harald Fredriksen, Arm Ltd.+--+--     -   Graeme Leese, Broadcom+--+--     -   Tom Olson, Arm Ltd.+--+--     -   Spencer Fricke, LunarG Inc.+--+-- This extension adds support for the subgroup rotate instruction defined+-- in SPV_KHR_subgroup_rotate.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'+--+-- == New Enum Constants+--+-- -   'KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME'+--+-- -   'KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR'+--+-- -   Extending+--     'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits':+--+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+--+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+--+-- == New SPIR-V Capabilities+--+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-GroupNonUniformRotateKHR GroupNonUniformRotateKHR>+--+-- == Version History+--+-- -   Revision 2, 2024-01-29 (Kévin Petit)+--+--     -   Add+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'+--         and+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'+--+-- -   Revision 1, 2023-06-20 (Kévin Petit)+--+--     -   Initial revision+--+-- == See Also+--+-- 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_KHR_shader_subgroup_rotate  (PhysicalDeviceShaderSubgroupRotateFeaturesKHR) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDeviceShaderSubgroupRotateFeaturesKHR++instance ToCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR+instance Show PhysicalDeviceShaderSubgroupRotateFeaturesKHR++instance FromCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR+
src/Vulkan/Extensions/VK_KHR_win32_surface.hs view
@@ -332,6 +332,35 @@ -- --     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY' --+-- Some Vulkan functions /may/ call the @SendMessage@ system API when+-- interacting with a 'Vulkan.Extensions.Handles.SurfaceKHR' through a+-- 'Vulkan.Extensions.Handles.SwapchainKHR'. In a multithreaded+-- environment, calling @SendMessage@ from a thread that is not the thread+-- associated with @pCreateInfo@::@hwnd@ will block until the application+-- has processed the window message. Thus, applications /should/ either+-- call these Vulkan functions on the message pump thread, or make sure+-- their message pump is actively running. Failing to do so /may/ result in+-- deadlocks.+--+-- The functions subject to this requirement are:+--+-- -   'Vulkan.Extensions.VK_KHR_swapchain.createSwapchainKHR'+--+-- -   'Vulkan.Extensions.VK_KHR_swapchain.destroySwapchainKHR'+--+-- -   'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR' and+--     'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImage2KHR'+--+-- -   'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR'+--+-- -   'Vulkan.Extensions.VK_EXT_swapchain_maintenance1.releaseSwapchainImagesEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_full_screen_exclusive.acquireFullScreenExclusiveModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_full_screen_exclusive.releaseFullScreenExclusiveModeEXT'+--+-- -   'Vulkan.Extensions.VK_EXT_hdr_metadata.setHdrMetadataEXT'+-- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs view
@@ -608,29 +608,14 @@   , -- | @KSize@ is the number of columns in matrix A and rows in matrix B.     kSize :: Word32   , -- | @AType@ is the component type of matrix A, of type 'ComponentTypeNV'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesNV-AType-parameter# @AType@ /must/ be-    -- a valid 'ComponentTypeNV' value     aType :: ComponentTypeNV   , -- | @BType@ is the component type of matrix B, of type 'ComponentTypeNV'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesNV-BType-parameter# @BType@ /must/ be-    -- a valid 'ComponentTypeNV' value     bType :: ComponentTypeNV   , -- | @CType@ is the component type of matrix C, of type 'ComponentTypeNV'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesNV-CType-parameter# @CType@ /must/ be-    -- a valid 'ComponentTypeNV' value     cType :: ComponentTypeNV   , -- | @DType@ is the component type of matrix D, of type 'ComponentTypeNV'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesNV-DType-parameter# @DType@ /must/ be-    -- a valid 'ComponentTypeNV' value     dType :: ComponentTypeNV   , -- | @scope@ is the scope of all the matrix types, of type 'ScopeNV'.-    ---    -- #VUID-VkCooperativeMatrixPropertiesNV-scope-parameter# @scope@ /must/ be-    -- a valid 'ScopeNV' value     scope :: ScopeNV   }   deriving (Typeable, Eq)
src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs view
@@ -301,8 +301,8 @@ -- region to an image region in the destination image. If the destination -- image is of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', the -- starting slice and number of slices to copy are specified in--- @pImageSubresources@::@baseArrayLayer@ and--- @pImageSubresources@::@layerCount@ respectively. The copy /must/ be+-- @pImageSubresources->baseArrayLayer@ and+-- @pImageSubresources->layerCount@ respectively. The copy /must/ be -- performed on a queue that supports indirect copy operations, see -- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'. --
src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs view
@@ -924,49 +924,8 @@ -- and /may/ be altered or freed after 'cmdCudaLaunchKernelNV' has -- returned. ----- == Valid Usage------ -   #VUID-VkCudaLaunchInfoNV-gridDimX-09406# @gridDimX@ /must/ be less---     than or equal to---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]------ -   #VUID-VkCudaLaunchInfoNV-gridDimY-09407# @gridDimY@ /must/ be less---     than or equal to---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]------ -   #VUID-VkCudaLaunchInfoNV-gridDimZ-09408# @gridDimZ@ /must/ be less---     than or equal to---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]------ -   #VUID-VkCudaLaunchInfoNV-paramCount-09409# @paramCount@ /must/ be---     the total amount of parameters listed in the @pParams@ table.------ -   #VUID-VkCudaLaunchInfoNV-pParams-09410# @pParams@ /must/ be a---     pointer to a table of @paramCount@ parameters, corresponding to the---     arguments of @function@.------ -   #VUID-VkCudaLaunchInfoNV-extraCount-09411# @extraCount@ must be 0------ -   #VUID-VkCudaLaunchInfoNV-pExtras-09412# @pExtras@ must be NULL--- -- == Valid Usage (Implicit) ----- -   #VUID-VkCudaLaunchInfoNV-sType-sType# @sType@ /must/ be---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV'------ -   #VUID-VkCudaLaunchInfoNV-pNext-pNext# @pNext@ /must/ be @NULL@------ -   #VUID-VkCudaLaunchInfoNV-function-parameter# @function@ /must/ be a---     valid 'Vulkan.Extensions.Handles.CudaFunctionNV' handle------ -   #VUID-VkCudaLaunchInfoNV-pParams-parameter# If @paramCount@ is not---     @0@, and @pParams@ is not @NULL@, @pParams@ /must/ be a valid---     pointer to an array of @paramCount@ bytes------ -   #VUID-VkCudaLaunchInfoNV-pExtras-parameter# If @extraCount@ is not---     @0@, and @pExtras@ is not @NULL@, @pExtras@ /must/ be a valid---     pointer to an array of @extraCount@ bytes--- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cuda_kernel_launch VK_NV_cuda_kernel_launch>,@@ -975,18 +934,33 @@ -- 'cmdCudaLaunchKernelNV' data CudaLaunchInfoNV = CudaLaunchInfoNV   { -- | @function@ is the CUDA-Driver handle to the function being launched.+    --+    -- #VUID-VkCudaLaunchInfoNV-function-parameter# @function@ /must/ be a+    -- valid 'Vulkan.Extensions.Handles.CudaFunctionNV' handle     function :: CudaFunctionNV   , -- | @gridDimX@ is the number of local workgroups to dispatch in the X     -- dimension. It must be less than or equal to     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]+    --+    -- #VUID-VkCudaLaunchInfoNV-gridDimX-09406# @gridDimX@ /must/ be less than+    -- or equal to+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]     gridDimX :: Word32   , -- | @gridDimY@ is the number of local workgroups to dispatch in the Y     -- dimension. It must be less than or equal to     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]+    --+    -- #VUID-VkCudaLaunchInfoNV-gridDimY-09407# @gridDimY@ /must/ be less than+    -- or equal to+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]     gridDimY :: Word32   , -- | @gridDimZ@ is the number of local workgroups to dispatch in the Z     -- dimension. It must be less than or equal to     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]+    --+    -- #VUID-VkCudaLaunchInfoNV-gridDimZ-09408# @gridDimZ@ /must/ be less than+    -- or equal to+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]     gridDimZ :: Word32   , -- | @blockDimX@ is block size in the X dimension.     blockDimX :: Word32@@ -997,14 +971,16 @@   , -- | @sharedMemBytes@ is the dynamic shared-memory size per thread block in     -- bytes.     sharedMemBytes :: Word32-  , -- | @paramCount@ is the length of the @pParams@ table.-    paramCount :: Word64   , -- | @pParams@ is a pointer to an array of @paramCount@ pointers,     -- corresponding to the arguments of @function@.+    --+    -- #VUID-VkCudaLaunchInfoNV-pParams-09410# @pParams@ /must/ be a pointer to+    -- a table of @paramCount@ parameters, corresponding to the arguments of+    -- @function@.     params :: Vector (Ptr ())-  , -- | @extraCount@ is reserved for future use.-    extraCount :: Word64   , -- | @pExtras@ is reserved for future use.+    --+    -- #VUID-VkCudaLaunchInfoNV-pExtras-09412# @pExtras@ must be NULL     extras :: Vector (Ptr ())   }   deriving (Typeable)@@ -1026,25 +1002,11 @@     lift $ poke ((p `plusPtr` 40 :: Ptr Word32)) (blockDimY)     lift $ poke ((p `plusPtr` 44 :: Ptr Word32)) (blockDimZ)     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (sharedMemBytes)-    let pParamsLength = Data.Vector.length $ (params)-    paramCount'' <- lift $ if (paramCount) == 0-      then pure $ fromIntegral pParamsLength-      else do-        unless (fromIntegral pParamsLength == (paramCount) || pParamsLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pParams must be empty or have 'paramCount' elements" Nothing Nothing-        pure (paramCount)-    lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) (fromIntegral (paramCount''))+    lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) (fromIntegral ((Data.Vector.length $ (params))))     pPParams' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (params)) * 8)     lift $ Data.Vector.imapM_ (\i e -> poke (pPParams' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (params)     lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ())))) (pPParams')-    let pExtrasLength = Data.Vector.length $ (extras)-    extraCount'' <- lift $ if (extraCount) == 0-      then pure $ fromIntegral pExtrasLength-      else do-        unless (fromIntegral pExtrasLength == (extraCount) || pExtrasLength == 0) $-          throwIO $ IOError Nothing InvalidArgument "" "pExtras must be empty or have 'extraCount' elements" Nothing Nothing-        pure (extraCount)-    lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) (fromIntegral (extraCount''))+    lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) (fromIntegral ((Data.Vector.length $ (extras))))     pPExtras' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (extras)) * 8)     lift $ Data.Vector.imapM_ (\i e -> poke (pPExtras' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (extras)     lift $ poke ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ())))) (pPExtras')@@ -1075,13 +1037,11 @@     blockDimZ <- peek @Word32 ((p `plusPtr` 44 :: Ptr Word32))     sharedMemBytes <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))     paramCount <- peek @CSize ((p `plusPtr` 56 :: Ptr CSize))-    let paramCount' = coerce @CSize @Word64 paramCount     pParams <- peek @(Ptr (Ptr ())) ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ()))))-    pParams' <- generateM (fromIntegral paramCount') (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))+    pParams' <- generateM (fromIntegral (coerce @CSize @Word64 paramCount)) (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))     extraCount <- peek @CSize ((p `plusPtr` 72 :: Ptr CSize))-    let extraCount' = coerce @CSize @Word64 extraCount     pExtras <- peek @(Ptr (Ptr ())) ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ()))))-    pExtras' <- generateM (fromIntegral extraCount') (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))+    pExtras' <- generateM (fromIntegral (coerce @CSize @Word64 extraCount)) (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))     pure $ CudaLaunchInfoNV              function              gridDimX@@ -1091,9 +1051,7 @@              blockDimY              blockDimZ              sharedMemBytes-             paramCount'              pParams'-             extraCount'              pExtras'  instance Zero CudaLaunchInfoNV where@@ -1106,9 +1064,7 @@            zero            zero            zero-           zero            mempty-           zero            mempty  
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -3165,8 +3165,9 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3178,8 +3179,8 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -3193,8 +3194,9 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -3215,8 +3217,9 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3228,8 +3231,8 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -3243,8 +3246,9 @@ --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -3258,15 +3262,16 @@ -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3946,7 +3951,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3959,7 +3964,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3972,7 +3977,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3985,7 +3990,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -4248,6 +4253,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-04007# All vertex input --     bindings accessed via vertex input variables declared in the vertex --     shader entry point’s interface /must/ have either valid or@@ -4739,7 +4763,7 @@ --     feature /must/ be enabled -- -- -   #VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-09074# If---     @pInfo@::@pipelineBindPoint@ is of type+--     @pInfo->pipelineBindPoint@ is of type --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE', --     then the --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-deviceGeneratedCompute ::deviceGeneratedCompute>@@ -6572,7 +6596,7 @@ --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE', --     and the @indirectCommandsLayout@ contains a --     'INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV' token, then the---     @pipeline@ /must/ be @NULL@+--     @pipeline@ /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE' -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs view
@@ -343,7 +343,7 @@ -- -- = Description ----- If @pCreateInfo@::@pNext@ chain includes a pointer to a+-- If @pCreateInfo->pNext@ chain includes a pointer to a -- 'ComputePipelineIndirectBufferInfoNV' structure, then the contents of -- that structure are ignored. --@@ -355,7 +355,7 @@ --     feature /must/ be enabled -- -- -   #VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-09083#---     @pCreateInfo@::@flags@ /must/ include+--     @pCreateInfo->flags@ /must/ include --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV' -- -- == Valid Usage (Implicit)
src/Vulkan/Extensions/VK_NV_displacement_micromap.hs view
@@ -385,6 +385,14 @@ -- -- == Valid Usage --+-- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-09501#+--     @displacementBiasAndScaleFormat@ /must/ not be+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+--+-- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-09502#+--     @displacementVectorFormat@ /must/ not be+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'+-- -- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-07992# --     Only one of @pUsageCounts@ or @ppUsageCounts@ /can/ be a valid --     pointer, the other /must/ be @NULL@
src/Vulkan/Extensions/VK_NV_low_latency2.hs view
@@ -371,14 +371,12 @@ -- -- 'latencySleepNV' returns immediately. Applications /should/ use -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.waitSemaphores'--- with--- @pSleepInfo@::'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.signalSemaphore'--- to delay host CPU work. CPU work refers to application work done before--- presenting which includes but is not limited to: input sampling,--- simulation, command buffer recording, command buffer submission, and--- present submission. It is recommended to call this function before input--- sampling. When using this function, it /should/ be called exactly once--- between presents.+-- with @pSleepInfo->signalSemaphore@ to delay host CPU work. CPU work+-- refers to application work done before presenting which includes but is+-- not limited to: input sampling, simulation, command buffer recording,+-- command buffer submission, and present submission. It is recommended to+-- call this function before input sampling. When using this function, it+-- /should/ be called exactly once between presents. -- -- == Return Codes --
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -2766,8 +2766,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2779,8 +2780,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2794,8 +2795,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2816,8 +2818,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -2829,8 +2832,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -2844,8 +2847,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -2859,15 +2863,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksNV-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -3546,7 +3551,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -3559,7 +3564,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -3572,7 +3577,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -3585,7 +3590,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -3845,6 +3850,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMeshTasksNV-None-09548# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksNV-None-09549# If the current render pass+--     was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMeshTasksNV-stage-06480# The bound graphics pipeline --     /must/ not have been created with the --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@@@ -6404,8 +6428,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6417,8 +6442,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6432,8 +6457,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6454,8 +6480,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -6467,8 +6494,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -6482,8 +6509,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -6497,15 +6525,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07849# If the bound graphics --     pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -7185,7 +7214,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -7198,7 +7227,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -7211,7 +7240,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -7224,7 +7253,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -7487,6 +7516,25 @@ --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments> --+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-09548# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-09549# If the current render+--     pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'+-- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-stage-06480# The bound graphics --     pipeline /must/ not have been created with the --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@@@ -10104,8 +10152,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08666# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10117,8 +10166,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08667# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -10132,8 +10181,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08668# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -10154,8 +10204,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08669# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10167,8 +10218,8 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08670# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' --     stage, and the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'@@ -10182,8 +10233,9 @@ --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08671# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object that outputs line primitives is bound to the+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object that outputs line primitives is+--     bound to the --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT' --     or --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'@@ -10197,15 +10249,16 @@ -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07849# If the bound --     graphics pipeline state was created with the---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR' --     dynamic state enabled then---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR' --     /must/ have been called in the current command buffer prior to this --     drawing command -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08672# If the---     @VK_EXT_line_rasterization@ extension is enabled, and a shader---     object is bound to any graphics stage, and the most recent call to+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension+--     is enabled, and a shader object is bound to any graphics stage, and+--     the most recent call to --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable' --     in the current command buffer set @rasterizerDiscardEnable@ to --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to@@ -10885,7 +10938,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled@@ -10898,7 +10951,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines> --     feature /must/ be enabled@@ -10911,7 +10964,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines> --     feature /must/ be enabled@@ -10924,7 +10977,7 @@ --     dynamic states enabled, and if the current @stippledLineEnable@ --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current --     @lineRasterizationMode@ state is---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR', --     then the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines> --     feature /must/ be enabled and@@ -11186,6 +11239,25 @@ --     in the @Fragment@ @Execution@ @Model@ executed by this command --     /must/ be less than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, the value+--     of each element of+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@+--     set by+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'+--     /must/ match the value set for the corresponding element in the+--     currently bound pipeline+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09549# If the current+--     render pass was begun with+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',+--     and there is no shader object bound to any graphics stage, input+--     attachment index mappings in the currently bound pipeline /must/+--     match those set for the current render pass instance via+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR' -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-06480# The bound --     graphics pipeline /must/ not have been created with the
+ src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs view
@@ -0,0 +1,242 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_per_stage_descriptor_set - device extension+--+-- == VK_NV_per_stage_descriptor_set+--+-- [__Name String__]+--     @VK_NV_per_stage_descriptor_set@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     517+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Not ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_per_stage_descriptor_set] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_NV_per_stage_descriptor_set extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-10-16+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Daniel Story, Nintendo+--+-- == Description+--+-- This extension introduces a new descriptor set layout creation flag that+-- allows bindings in a descriptor set to be scoped to each shader stage.+-- This means that shaders bound at the same time /may/ use completely+-- different descriptor set layouts without any restrictions on+-- compatibility, and that the descriptor limits that would otherwise apply+-- to the union of all stages together instead apply to each stage+-- individually. It also means that descriptors shared by multiple stages+-- /must/ be bound to each stage or set of stages that use a unique+-- descriptor set layout using their specific per stage descriptor set+-- layout(s).+--+-- This extension also allows each of the new descriptor binding functions+-- from VK_KHR_maintenance6 to have their+-- 'Vulkan.Core10.Handles.PipelineLayout' member be optionally set to+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', in which case the pipeline+-- layout information is taken from a+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure in the+-- @pNext@ chain. This enables descriptors to be directly bound using+-- descriptor set layouts without applications needing to create and manage+-- 'Vulkan.Core10.Handles.PipelineLayout' objects at command recording+-- time.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDevicePerStageDescriptorSetFeaturesNV'+--+-- == New Enum Constants+--+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME'+--+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV'+--+-- == Issues+--+-- None+--+-- == Version History+--+-- -   Revision 1, 2023-10-16 (Piers Daniell)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDevicePerStageDescriptorSetFeaturesNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_per_stage_descriptor_set Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_per_stage_descriptor_set  ( PhysicalDevicePerStageDescriptorSetFeaturesNV(..)+                                                         , NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION+                                                         , pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION+                                                         , NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME+                                                         , pattern NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME+                                                         ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV))+-- | VkPhysicalDevicePerStageDescriptorSetFeaturesNV - Structure describing+-- feature to allow descriptor set layout bindings to be per-stage+--+-- = Members+--+-- This structure describes the following feature:+--+-- = Description+--+-- If the 'PhysicalDevicePerStageDescriptorSetFeaturesNV' 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. 'PhysicalDevicePerStageDescriptorSetFeaturesNV' /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_NV_per_stage_descriptor_set VK_NV_per_stage_descriptor_set>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDevicePerStageDescriptorSetFeaturesNV = PhysicalDevicePerStageDescriptorSetFeaturesNV+  { -- | #features-perStageDescriptorSet# @perStageDescriptorSet@ indicates that+    -- the implementation allows the+    -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'+    -- descriptor set layout creation flag to be used so the bindings are+    -- specified per-stage rather than across all stages.+    perStageDescriptorSet :: Bool+  , -- | #features-dynamicPipelineLayout# @dynamicPipelineLayout@ indicates the+    -- implementation allows the @layout@ member of+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR',+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR',+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT'+    -- and+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT'+    -- to be 'Vulkan.Core10.APIConstants.NULL_HANDLE' and+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' /can/ be chained+    -- off those structures\' @pNext@ instead.+    dynamicPipelineLayout :: Bool+  }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDevicePerStageDescriptorSetFeaturesNV)+#endif+deriving instance Show PhysicalDevicePerStageDescriptorSetFeaturesNV++instance ToCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDevicePerStageDescriptorSetFeaturesNV{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (perStageDescriptorSet))+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (dynamicPipelineLayout))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV where+  peekCStruct p = do+    perStageDescriptorSet <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    dynamicPipelineLayout <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+    pure $ PhysicalDevicePerStageDescriptorSetFeaturesNV+             (bool32ToBool perStageDescriptorSet)+             (bool32ToBool dynamicPipelineLayout)++instance Storable PhysicalDevicePerStageDescriptorSetFeaturesNV where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDevicePerStageDescriptorSetFeaturesNV where+  zero = PhysicalDevicePerStageDescriptorSetFeaturesNV+           zero+           zero+++type NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION"+pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION :: forall a . Integral a => a+pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION = 1+++type NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME = "VK_NV_per_stage_descriptor_set"++-- No documentation found for TopLevel "VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME"+pattern NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME = "VK_NV_per_stage_descriptor_set"+
+ src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs-boot view
@@ -0,0 +1,123 @@+{-# language CPP #-}+-- | = Name+--+-- VK_NV_per_stage_descriptor_set - device extension+--+-- == VK_NV_per_stage_descriptor_set+--+-- [__Name String__]+--     @VK_NV_per_stage_descriptor_set@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     517+--+-- [__Revision__]+--     1+--+-- [__Ratification Status__]+--     Not ratified+--+-- [__Extension and Version Dependencies__]+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>+--+-- [__Contact__]+--+--     -   Piers Daniell+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_per_stage_descriptor_set] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_NV_per_stage_descriptor_set extension* >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2023-10-16+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Daniel Story, Nintendo+--+-- == Description+--+-- This extension introduces a new descriptor set layout creation flag that+-- allows bindings in a descriptor set to be scoped to each shader stage.+-- This means that shaders bound at the same time /may/ use completely+-- different descriptor set layouts without any restrictions on+-- compatibility, and that the descriptor limits that would otherwise apply+-- to the union of all stages together instead apply to each stage+-- individually. It also means that descriptors shared by multiple stages+-- /must/ be bound to each stage or set of stages that use a unique+-- descriptor set layout using their specific per stage descriptor set+-- layout(s).+--+-- This extension also allows each of the new descriptor binding functions+-- from VK_KHR_maintenance6 to have their+-- 'Vulkan.Core10.Handles.PipelineLayout' member be optionally set to+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', in which case the pipeline+-- layout information is taken from a+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure in the+-- @pNext@ chain. This enables descriptors to be directly bound using+-- descriptor set layouts without applications needing to create and manage+-- 'Vulkan.Core10.Handles.PipelineLayout' objects at command recording+-- time.+--+-- == New Structures+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDevicePerStageDescriptorSetFeaturesNV'+--+-- == New Enum Constants+--+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME'+--+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':+--+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV'+--+-- == Issues+--+-- None+--+-- == Version History+--+-- -   Revision 1, 2023-10-16 (Piers Daniell)+--+--     -   Initial draft+--+-- == See Also+--+-- 'PhysicalDevicePerStageDescriptorSetFeaturesNV'+--+-- == Document Notes+--+-- For more information, see the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_per_stage_descriptor_set Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_NV_per_stage_descriptor_set  (PhysicalDevicePerStageDescriptorSetFeaturesNV) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data PhysicalDevicePerStageDescriptorSetFeaturesNV++instance ToCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV+instance Show PhysicalDevicePerStageDescriptorSetFeaturesNV++instance FromCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV+
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -3072,6 +3072,13 @@ -- -- == Valid Usage --+-- -   #VUID-VkRayTracingPipelineCreateInfoNV-None-09497# If the @pNext@+--     chain does not include a+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'+--     structure, @flags@ must be a valid combination of+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'+--     values+-- -- -   #VUID-VkRayTracingPipelineCreateInfoNV-flags-07984# If @flags@ --     contains the --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'@@ -3224,11 +3231,6 @@ -- -- -   #VUID-VkRayTracingPipelineCreateInfoNV-sType-unique# The @sType@ --     value of each struct in the @pNext@ chain /must/ be unique------ -   #VUID-VkRayTracingPipelineCreateInfoNV-flags-parameter# @flags@---     /must/ be a valid combination of---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'---     values -- -- -   #VUID-VkRayTracingPipelineCreateInfoNV-pStages-parameter# @pStages@ --     /must/ be a valid pointer to an array of @stageCount@ valid
src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs view
@@ -31,8 +31,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot view
@@ -31,8 +31,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_image_processing.hs view
@@ -33,8 +33,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* > -- -- [__Extension Proposal__] --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_image_processing.adoc VK_QCOM_image_processing>
src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot view
@@ -33,8 +33,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* > -- -- [__Extension Proposal__] --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_image_processing.adoc VK_QCOM_image_processing>
src/Vulkan/Extensions/VK_QCOM_image_processing2.hs view
@@ -29,8 +29,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot view
@@ -29,8 +29,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Bill Licea-Kane---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_shader_resolve] @wwlk%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_shader_resolve extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_shader_resolve] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_shader_resolve extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Bill Licea-Kane---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_store_ops] @wwlk%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_store_ops extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_store_ops] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_store_ops extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs view
@@ -15,30 +15,30 @@ --     283 -- -- [__Revision__]---     3+--     4 -- -- [__Ratification Status__] --     Not ratified -- -- [__Extension and Version Dependencies__]---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>---     and---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>+--     None -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* > -- -- == Other Extension Metadata -- -- [__Last Modified Date__]---     2022-07-21+--     2023-12-13 -- -- [__Interactions and External Dependencies__] -----     -   This extension requires @VK_KHR_swapchain@+--     -   This extension interacts with @VK_KHR_swapchain@ --+--     -   This extension interacts with @VK_KHR_surface@+-- --     -   This extension interacts with @VK_EXT_fragment_density_map@ -- --     -   This extension interacts with @VK_KHR_fragment_shading_rate@@@ -53,6 +53,8 @@ -- --     -   Matthew Netsch, Qualcomm Technologies, Inc. --+--     -   Arpit Agarwal, Qualcomm Technologies, Inc.+-- -- == Description -- -- This extension provides a mechanism for applications to enable driver@@ -252,6 +254,10 @@ -- --     -   Adds interactions with VK_QCOM_tile_properties --+-- -   Revision 4, 2023-12-13 (Matthew Netsch)+--+--     -   Relax dependencies on VK_KHR_surface and VK_KHR_swapchain+-- -- == See Also -- -- 'CommandBufferInheritanceRenderPassTransformInfoQCOM',@@ -449,11 +455,11 @@            zero  -type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 3+type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 4  -- No documentation found for TopLevel "VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION" pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: forall a . Integral a => a-pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 3+pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 4   type QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform"
src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot view
@@ -15,30 +15,30 @@ --     283 -- -- [__Revision__]---     3+--     4 -- -- [__Ratification Status__] --     Not ratified -- -- [__Extension and Version Dependencies__]---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>---     and---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>+--     None -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* > -- -- == Other Extension Metadata -- -- [__Last Modified Date__]---     2022-07-21+--     2023-12-13 -- -- [__Interactions and External Dependencies__] -----     -   This extension requires @VK_KHR_swapchain@+--     -   This extension interacts with @VK_KHR_swapchain@ --+--     -   This extension interacts with @VK_KHR_surface@+-- --     -   This extension interacts with @VK_EXT_fragment_density_map@ -- --     -   This extension interacts with @VK_KHR_fragment_shading_rate@@@ -53,6 +53,8 @@ -- --     -   Matthew Netsch, Qualcomm Technologies, Inc. --+--     -   Arpit Agarwal, Qualcomm Technologies, Inc.+-- -- == Description -- -- This extension provides a mechanism for applications to enable driver@@ -251,6 +253,10 @@ -- -   Revision 3, 2022-07-11 (Arpit Agarwal) -- --     -   Adds interactions with VK_QCOM_tile_properties+--+-- -   Revision 4, 2023-12-13 (Matthew Netsch)+--+--     -   Relax dependencies on VK_KHR_surface and VK_KHR_swapchain -- -- == See Also --
src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs view
@@ -15,34 +15,36 @@ --     334 -- -- [__Revision__]---     1+--     2 -- -- [__Ratification Status__] --     Not ratified -- -- [__Extension and Version Dependencies__]---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>---     and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2> -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* > -- -- == Other Extension Metadata -- -- [__Last Modified Date__]---     2020-09-18+--     2023-12-13 -- -- [__Interactions and External Dependencies__] -----     -   None+--     -   This extension interacts with @VK_KHR_swapchain@ --+--     -   This extension interacts with @VK_KHR_surface@+-- -- [__Contributors__] -- --     -   Jeff Leger, Qualcomm Technologies, Inc. --+--     -   Matthew Netsch, Qualcomm Technologies, Inc.+-- -- == Description -- -- This extension extends adds an optional rotation transform to copy@@ -108,6 +110,10 @@ -- -- -   Revision 1, 2020-09-19 (Jeff Leger) --+-- -   Revision 2, 2023-12-13 (Matthew Netsch)+--+--     -   Relax dependency on VK_KHR_swapchain+-- -- == See Also -- -- 'CopyCommandTransformInfoQCOM'@@ -234,11 +240,11 @@            zero  -type QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 1+type QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 2  -- No documentation found for TopLevel "VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION" pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION :: forall a . Integral a => a-pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 1+pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 2   type QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME = "VK_QCOM_rotated_copy_commands"
src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot view
@@ -15,34 +15,36 @@ --     334 -- -- [__Revision__]---     1+--     2 -- -- [__Ratification Status__] --     Not ratified -- -- [__Extension and Version Dependencies__]---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>---     and --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2> -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* > -- -- == Other Extension Metadata -- -- [__Last Modified Date__]---     2020-09-18+--     2023-12-13 -- -- [__Interactions and External Dependencies__] -----     -   None+--     -   This extension interacts with @VK_KHR_swapchain@ --+--     -   This extension interacts with @VK_KHR_surface@+-- -- [__Contributors__] -- --     -   Jeff Leger, Qualcomm Technologies, Inc. --+--     -   Matthew Netsch, Qualcomm Technologies, Inc.+-- -- == Description -- -- This extension extends adds an optional rotation transform to copy@@ -107,6 +109,10 @@ -- == Version History -- -- -   Revision 1, 2020-09-19 (Jeff Leger)+--+-- -   Revision 2, 2023-12-13 (Matthew Netsch)+--+--     -   Relax dependency on VK_KHR_swapchain -- -- == See Also --
src/Vulkan/Extensions/VK_QCOM_tile_properties.hs view
@@ -29,8 +29,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* > -- -- [__Extension Proposal__] --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_tile_properties.adoc VK_QCOM_tile_properties>
src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot view
@@ -29,8 +29,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* > -- -- [__Extension Proposal__] --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_tile_properties.adoc VK_QCOM_tile_properties>
src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* > -- -- == Other Extension Metadata --
src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot view
@@ -25,8 +25,8 @@ -- -- [__Contact__] -----     -   Jeff Leger---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* >+--     -   Matthew Netsch+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* > -- -- == Other Extension Metadata --
src/Vulkan/SPIRVRequirements.hs view
@@ -42,12 +42,17 @@ import Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures(..)) import Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures(..)) import Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX(..))+import Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR(..))+import Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR(..)) import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(..)) import Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV(..)) import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR) import Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures(..)) import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(..))+import Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(..))+import Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR(..)) import Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV(..))+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR(..)) import Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT(..)) import Vulkan.Extensions.VK_NV_shading_rate_image (PhysicalDeviceShadingRateImageFeaturesNV(..)) import Vulkan.Extensions.VK_EXT_transform_feedback (PhysicalDeviceTransformFeedbackFeaturesEXT(..))@@ -112,10 +117,15 @@ import Vulkan.Extensions.VK_KHR_shader_atomic_int64 (pattern KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_clock (pattern KHR_SHADER_CLOCK_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_draw_parameters (pattern KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME)+import Vulkan.Extensions.VK_KHR_shader_expect_assume (pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME)+import Vulkan.Extensions.VK_KHR_shader_float_controls2 (pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_float_controls (pattern KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME)+import Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_non_semantic_info (pattern KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME)+import Vulkan.Extensions.VK_KHR_shader_quad_control (pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME)+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (pattern KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_shader_terminate_invocation (pattern KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME) import Vulkan.Extensions.VK_KHR_storage_buffer_storage_class (pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME)@@ -763,6 +773,51 @@           , deviceExtensionMinVersion = 0           }       ]+  "SPV_KHR_maximal_reconvergence" ->+    (,)+      []+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "SPV_KHR_subgroup_rotate" ->+    (,)+      []+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "SPV_KHR_expect_assume" ->+    (,)+      []+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "SPV_KHR_float_controls2" ->+    (,)+      []+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "SPV_KHR_quad_control" ->+    (,)+      []+      [ RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]   _ -> ([], [])  spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])@@ -2474,6 +2529,76 @@       , RequireDeviceExtension           { deviceExtensionLayerName = Nothing           , deviceExtensionName = AMDX_SHADER_ENQUEUE_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "GroupNonUniformRotateKHR" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderSubgroupRotate"+          , checkFeature = \PhysicalDeviceShaderSubgroupRotateFeaturesKHR{shaderSubgroupRotate} -> shaderSubgroupRotate+          , enableFeature = \PhysicalDeviceShaderSubgroupRotateFeaturesKHR{..} -> PhysicalDeviceShaderSubgroupRotateFeaturesKHR{shaderSubgroupRotate = True, ..}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "ExpectAssumeKHR" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderExpectAssume"+          , checkFeature = \PhysicalDeviceShaderExpectAssumeFeaturesKHR{shaderExpectAssume} -> shaderExpectAssume+          , enableFeature = \_ -> PhysicalDeviceShaderExpectAssumeFeaturesKHR{shaderExpectAssume = True}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "FloatControls2" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderFloatControls2"+          , checkFeature = \PhysicalDeviceShaderFloatControls2FeaturesKHR{shaderFloatControls2} -> shaderFloatControls2+          , enableFeature = \_ -> PhysicalDeviceShaderFloatControls2FeaturesKHR{shaderFloatControls2 = True}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "QuadControlKHR" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderQuadControl"+          , checkFeature = \PhysicalDeviceShaderQuadControlFeaturesKHR{shaderQuadControl} -> shaderQuadControl+          , enableFeature = \_ -> PhysicalDeviceShaderQuadControlFeaturesKHR{shaderQuadControl = True}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME+          , deviceExtensionMinVersion = 0+          }+      ]+  "MaximallyReconvergesKHR" ->+    (,)+      []+      [ RequireDeviceFeature+          { featureName = "shaderMaximalReconvergence"+          , checkFeature = \PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{shaderMaximalReconvergence} -> shaderMaximalReconvergence+          , enableFeature = \_ -> PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{shaderMaximalReconvergence = True}+          }+      , RequireDeviceExtension+          { deviceExtensionLayerName = Nothing+          , deviceExtensionName = KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME           , deviceExtensionMinVersion = 0           }       ]
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 273+pattern HEADER_VERSION = 277   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 273+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 277   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.26.4+version:        3.26.5 synopsis:       Bindings to the Vulkan graphics API. description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category:       Graphics@@ -486,6 +486,7 @@       Vulkan.Extensions.VK_KHR_draw_indirect_count       Vulkan.Extensions.VK_KHR_driver_properties       Vulkan.Extensions.VK_KHR_dynamic_rendering+      Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read       Vulkan.Extensions.VK_KHR_external_fence       Vulkan.Extensions.VK_KHR_external_fence_capabilities       Vulkan.Extensions.VK_KHR_external_fence_fd@@ -509,11 +510,15 @@       Vulkan.Extensions.VK_KHR_image_format_list       Vulkan.Extensions.VK_KHR_imageless_framebuffer       Vulkan.Extensions.VK_KHR_incremental_present+      Vulkan.Extensions.VK_KHR_index_type_uint8+      Vulkan.Extensions.VK_KHR_line_rasterization+      Vulkan.Extensions.VK_KHR_load_store_op_none       Vulkan.Extensions.VK_KHR_maintenance1       Vulkan.Extensions.VK_KHR_maintenance2       Vulkan.Extensions.VK_KHR_maintenance3       Vulkan.Extensions.VK_KHR_maintenance4       Vulkan.Extensions.VK_KHR_maintenance5+      Vulkan.Extensions.VK_KHR_maintenance6       Vulkan.Extensions.VK_KHR_map_memory2       Vulkan.Extensions.VK_KHR_multiview       Vulkan.Extensions.VK_KHR_performance_query@@ -535,11 +540,16 @@       Vulkan.Extensions.VK_KHR_shader_atomic_int64       Vulkan.Extensions.VK_KHR_shader_clock       Vulkan.Extensions.VK_KHR_shader_draw_parameters+      Vulkan.Extensions.VK_KHR_shader_expect_assume       Vulkan.Extensions.VK_KHR_shader_float16_int8       Vulkan.Extensions.VK_KHR_shader_float_controls+      Vulkan.Extensions.VK_KHR_shader_float_controls2       Vulkan.Extensions.VK_KHR_shader_integer_dot_product+      Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence       Vulkan.Extensions.VK_KHR_shader_non_semantic_info+      Vulkan.Extensions.VK_KHR_shader_quad_control       Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types+      Vulkan.Extensions.VK_KHR_shader_subgroup_rotate       Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow       Vulkan.Extensions.VK_KHR_shader_terminate_invocation       Vulkan.Extensions.VK_KHR_shared_presentable_image@@ -602,6 +612,7 @@       Vulkan.Extensions.VK_NV_memory_decompression       Vulkan.Extensions.VK_NV_mesh_shader       Vulkan.Extensions.VK_NV_optical_flow+      Vulkan.Extensions.VK_NV_per_stage_descriptor_set       Vulkan.Extensions.VK_NV_present_barrier       Vulkan.Extensions.VK_NV_ray_tracing       Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder