vulkan 3.26.4 → 3.26.5
raw patch · 138 files changed
+10423/−2145 lines, 138 files
Files
- changelog.md +8/−1
- package.yaml +1/−1
- readme.md +15/−1
- src/Vulkan/CStruct/Extends.hs +91/−18
- src/Vulkan/Core10/APIConstants.hs +9/−0
- src/Vulkan/Core10/Buffer.hs +22/−15
- src/Vulkan/Core10/CommandBuffer.hs +7/−1
- src/Vulkan/Core10/CommandBufferBuilding.hs +309/−123
- src/Vulkan/Core10/DescriptorSet.hs +60/−10
- src/Vulkan/Core10/Device.hs +31/−6
- src/Vulkan/Core10/DeviceInitialization.hs +1/−1
- src/Vulkan/Core10/Enums/AttachmentLoadOp.hs +5/−5
- src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs +11/−1
- src/Vulkan/Core10/Enums/DynamicState.hs +25/−33
- src/Vulkan/Core10/Enums/ImageLayout.hs +19/−0
- src/Vulkan/Core10/Enums/IndexType.hs +5/−5
- src/Vulkan/Core10/Enums/Result.hs +1/−0
- src/Vulkan/Core10/Enums/StructureType.hs +255/−68
- src/Vulkan/Core10/Event.hs +4/−0
- src/Vulkan/Core10/ExtensionDiscovery.hs +32/−0
- src/Vulkan/Core10/FundamentalTypes.hs +30/−18
- src/Vulkan/Core10/FundamentalTypes.hs-boot +1/−0
- src/Vulkan/Core10/Handles.hs +17/−0
- src/Vulkan/Core10/Image.hs +23/−6
- src/Vulkan/Core10/ImageView.hs +47/−2
- src/Vulkan/Core10/OtherTypes.hs +26/−0
- src/Vulkan/Core10/Pass.hs +23/−4
- src/Vulkan/Core10/Pipeline.hs +140/−90
- src/Vulkan/Core10/PipelineLayout.hs +0/−3
- src/Vulkan/Core10/Query.hs +12/−2
- src/Vulkan/Core10/SparseResourceMemoryManagement.hs +20/−4
- src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs +21/−0
- src/Vulkan/Core11/Handles.hs +1/−0
- src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs +38/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs +45/−10
- src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs +13/−8
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +30/−10
- src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs +1/−15
- src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs +38/−2
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +91/−42
- src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs +6/−0
- src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs +10/−2
- src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs +6/−4
- src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs +94/−2
- src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs +9/−9
- src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs +56/−11
- src/Vulkan/Dynamic.hs +44/−3
- src/Vulkan/Extensions.hs +22/−0
- src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs +7/−5
- src/Vulkan/Extensions/VK_AMD_shader_info.hs +1/−1
- src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs +15/−24
- src/Vulkan/Extensions/VK_EXT_debug_report.hs +2/−1
- src/Vulkan/Extensions/VK_EXT_debug_utils.hs +19/−19
- src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs +70/−37
- src/Vulkan/Extensions/VK_EXT_device_fault.hs +4/−17
- src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs +165/−43
- src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot +143/−35
- src/Vulkan/Extensions/VK_EXT_filter_cubic.hs +2/−2
- src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot +2/−2
- src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs +23/−1
- src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs +28/−88
- src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot +0/−101
- src/Vulkan/Extensions/VK_EXT_line_rasterization.hs +63/−542
- src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot +21/−37
- src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs +28/−11
- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs +132/−60
- src/Vulkan/Extensions/VK_EXT_multi_draw.hs +94/−45
- src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs +0/−15
- src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs +1/−1
- src/Vulkan/Extensions/VK_EXT_sample_locations.hs +3/−1
- src/Vulkan/Extensions/VK_EXT_shader_object.hs +82/−43
- src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot +68/−30
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +54/−32
- src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs +15/−47
- src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs +1/−1
- src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs +88/−40
- src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs +1/−1
- src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs +50/−37
- src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs +0/−15
- src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs +832/−0
- src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs-boot +183/−0
- src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs +201/−0
- src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs-boot +101/−0
- src/Vulkan/Extensions/VK_KHR_line_rasterization.hs +732/−0
- src/Vulkan/Extensions/VK_KHR_line_rasterization.hs-boot +167/−0
- src/Vulkan/Extensions/VK_KHR_load_store_op_none.hs +107/−0
- src/Vulkan/Extensions/VK_KHR_maintenance5.hs +23/−5
- src/Vulkan/Extensions/VK_KHR_maintenance6.hs +2230/−0
- src/Vulkan/Extensions/VK_KHR_maintenance6.hs-boot +334/−0
- src/Vulkan/Extensions/VK_KHR_push_descriptor.hs +6/−4
- src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs +7/−10
- src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs +201/−0
- src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs-boot +108/−0
- src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs +215/−0
- src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs-boot +117/−0
- src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs +222/−0
- src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs-boot +121/−0
- src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs +222/−0
- src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs-boot +125/−0
- src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs +230/−0
- src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs-boot +127/−0
- src/Vulkan/Extensions/VK_KHR_win32_surface.hs +29/−0
- src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs +0/−15
- src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs +2/−2
- src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs +25/−69
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +46/−22
- src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs +2/−2
- src/Vulkan/Extensions/VK_NV_displacement_micromap.hs +8/−0
- src/Vulkan/Extensions/VK_NV_low_latency2.hs +6/−8
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +132/−60
- src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs +242/−0
- src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs-boot +123/−0
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +7/−5
- src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_image_processing.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_image_processing2.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs +16/−10
- src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot +14/−8
- src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs +15/−9
- src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot +13/−7
- src/Vulkan/Extensions/VK_QCOM_tile_properties.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot +2/−2
- src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs +2/−2
- src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot +2/−2
- src/Vulkan/SPIRVRequirements.hs +125/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +12/−1
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