vulkan 3.4 → 3.5
raw patch · 55 files changed
+2890/−437 lines, 55 files
Files
- changelog.md +6/−0
- readme.md +4/−0
- src/Vulkan/CStruct/Extends.hs +9/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +598/−179
- src/Vulkan/Core10/Device.hs +6/−0
- src/Vulkan/Core10/DeviceInitialization.hs +1/−1
- src/Vulkan/Core10/Enums/AccessFlagBits.hs +1/−0
- src/Vulkan/Core10/Enums/CompareOp.hs +3/−1
- src/Vulkan/Core10/Enums/CompareOp.hs-boot +7/−0
- src/Vulkan/Core10/Enums/CullModeFlagBits.hs-boot +11/−0
- src/Vulkan/Core10/Enums/DynamicState.hs +132/−0
- src/Vulkan/Core10/Enums/Format.hs +88/−80
- src/Vulkan/Core10/Enums/FrontFace.hs +2/−1
- src/Vulkan/Core10/Enums/FrontFace.hs-boot +7/−0
- src/Vulkan/Core10/Enums/PrimitiveTopology.hs +2/−1
- src/Vulkan/Core10/Enums/PrimitiveTopology.hs-boot +7/−0
- src/Vulkan/Core10/Enums/StencilOp.hs +2/−1
- src/Vulkan/Core10/Enums/StencilOp.hs-boot +7/−0
- src/Vulkan/Core10/Enums/StructureType.hs +7/−0
- src/Vulkan/Core10/FundamentalTypes.hs +7/−0
- src/Vulkan/Core10/FundamentalTypes.hs-boot +1/−0
- src/Vulkan/Core10/Handles.hs +13/−0
- src/Vulkan/Core10/Image.hs +4/−4
- src/Vulkan/Core10/ImageView.hs +33/−14
- src/Vulkan/Core10/Memory.hs +4/−0
- src/Vulkan/Core10/OtherTypes.hs +21/−42
- src/Vulkan/Core10/Pass.hs +25/−11
- src/Vulkan/Core10/Pipeline.hs +29/−1
- src/Vulkan/Core10/Sampler.hs +14/−2
- src/Vulkan/Core10/Shader.hs +2/−3
- src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs +4/−2
- src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs +5/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +4/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs +23/−24
- src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs +6/−5
- src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs +45/−7
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +116/−0
- src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs +0/−16
- src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs +4/−0
- src/Vulkan/Dynamic.hs +44/−1
- src/Vulkan/Extensions.hs +2/−0
- src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs +4/−5
- src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs +2/−29
- src/Vulkan/Extensions/VK_EXT_custom_border_color.hs +3/−1
- src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs +1229/−0
- src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot +13/−0
- src/Vulkan/Extensions/VK_EXT_sample_locations.hs +1/−1
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +58/−0
- src/Vulkan/Extensions/VK_KHR_ray_tracing.hs +11/−1
- src/Vulkan/Extensions/VK_KHR_swapchain.hs +17/−0
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +62/−0
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +174/−0
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +5/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +3/−2
changelog.md view
@@ -2,6 +2,12 @@ ## WIP +## [3.5] - 2020-06-22+ - Bump API version to 1.2.145+ - Bump API version to 1.2.143+ - Bump API version to 1.2.144+ - Only documentation and version number changes+ ## [3.4] - 2020-06-03 - Bump API version to 1.2.142 - The spec includes specific locations for types, so we use them
readme.md view
@@ -298,6 +298,10 @@ - `pkg-config` and `SDL2` to build the Haskell `sdl2` package. - `glslang` (for the `glslangValidator` binary, to build the shaders) +Jonathan Merritt has made an excellent video detailing how to set up everything +necessary for running the examples on macOS +[here](https://www.youtube.com/watch?v=BaBt-CNBfd0).+ ### Building on Windows - Clone this repo
src/Vulkan/CStruct/Extends.hs view
@@ -330,6 +330,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_discard_rectangles (PhysicalDeviceDiscardRectanglePropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state (PhysicalDeviceExtendedDynamicStateFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalBufferInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities (PhysicalDeviceExternalFenceInfo) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalImageFormatInfo)@@ -725,6 +726,7 @@ Extends DescriptorSetLayoutSupport DescriptorSetVariableDescriptorCountLayoutSupport = () Extends DeviceCreateInfo PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = () Extends DeviceCreateInfo DevicePrivateDataCreateInfoEXT = ()+ Extends DeviceCreateInfo PhysicalDevicePrivateDataFeaturesEXT = () Extends DeviceCreateInfo (PhysicalDeviceFeatures2 '[]) = () Extends DeviceCreateInfo PhysicalDeviceVariablePointersFeatures = () Extends DeviceCreateInfo PhysicalDeviceMultiviewFeatures = ()@@ -787,6 +789,7 @@ Extends DeviceCreateInfo PhysicalDeviceVulkan12Features = () Extends DeviceCreateInfo PhysicalDeviceCoherentMemoryFeaturesAMD = () Extends DeviceCreateInfo PhysicalDeviceCustomBorderColorFeaturesEXT = ()+ Extends DeviceCreateInfo PhysicalDeviceExtendedDynamicStateFeaturesEXT = () Extends DeviceCreateInfo PhysicalDeviceDiagnosticsConfigFeaturesNV = () Extends DeviceCreateInfo DeviceDiagnosticsConfigCreateInfoNV = () Extends DeviceCreateInfo PhysicalDeviceRobustness2FeaturesEXT = ()@@ -840,6 +843,7 @@ Extends MemoryRequirements2 MemoryDedicatedRequirements = () Extends PhysicalDeviceExternalSemaphoreInfo SemaphoreTypeCreateInfo = () Extends PhysicalDeviceFeatures2 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = ()+ Extends PhysicalDeviceFeatures2 PhysicalDevicePrivateDataFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDeviceVariablePointersFeatures = () Extends PhysicalDeviceFeatures2 PhysicalDeviceMultiviewFeatures = () Extends PhysicalDeviceFeatures2 PhysicalDevice16BitStorageFeatures = ()@@ -899,6 +903,7 @@ Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan12Features = () Extends PhysicalDeviceFeatures2 PhysicalDeviceCoherentMemoryFeaturesAMD = () Extends PhysicalDeviceFeatures2 PhysicalDeviceCustomBorderColorFeaturesEXT = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceExtendedDynamicStateFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDeviceDiagnosticsConfigFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceRobustness2FeaturesEXT = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()@@ -1132,6 +1137,7 @@ STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV -> go @Win32KeyedMutexAcquireReleaseInfoNV STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV -> go @PhysicalDeviceDeviceGeneratedCommandsFeaturesNV STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT -> go @DevicePrivateDataCreateInfoEXT+ STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT -> go @PhysicalDevicePrivateDataFeaturesEXT STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV -> go @PhysicalDeviceDeviceGeneratedCommandsPropertiesNV STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV -> go @GraphicsPipelineShaderGroupsCreateInfoNV STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 -> go @(PhysicalDeviceFeatures2 '[])@@ -1349,6 +1355,7 @@ STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT -> go @PhysicalDeviceCustomBorderColorPropertiesEXT STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT -> go @PhysicalDeviceCustomBorderColorFeaturesEXT STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR -> go @DeferredOperationInfoKHR+ STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT -> go @PhysicalDeviceExtendedDynamicStateFeaturesEXT STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM -> go @RenderPassTransformBeginInfoQCOM STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM -> go @CommandBufferInheritanceRenderPassTransformInfoQCOM STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV -> go @PhysicalDeviceDiagnosticsConfigFeaturesNV@@ -1422,6 +1429,7 @@ {-# complete (::&) :: Win32KeyedMutexAcquireReleaseInfoNV #-} {-# complete (::&) :: PhysicalDeviceDeviceGeneratedCommandsFeaturesNV #-} {-# complete (::&) :: DevicePrivateDataCreateInfoEXT #-}+{-# complete (::&) :: PhysicalDevicePrivateDataFeaturesEXT #-} {-# complete (::&) :: PhysicalDeviceDeviceGeneratedCommandsPropertiesNV #-} {-# complete (::&) :: GraphicsPipelineShaderGroupsCreateInfoNV #-} {-# complete (::&) :: PhysicalDeviceFeatures2 #-}@@ -1639,6 +1647,7 @@ {-# complete (::&) :: PhysicalDeviceCustomBorderColorPropertiesEXT #-} {-# complete (::&) :: PhysicalDeviceCustomBorderColorFeaturesEXT #-} {-# complete (::&) :: DeferredOperationInfoKHR #-}+{-# complete (::&) :: PhysicalDeviceExtendedDynamicStateFeaturesEXT #-} {-# complete (::&) :: RenderPassTransformBeginInfoQCOM #-} {-# complete (::&) :: CommandBufferInheritanceRenderPassTransformInfoQCOM #-} {-# complete (::&) :: PhysicalDeviceDiagnosticsConfigFeaturesNV #-}
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -1746,6 +1746,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -1780,6 +1785,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - If @commandBuffer@ is a protected command buffer, any resource -- written to by the 'Vulkan.Core10.Handles.Pipeline' object bound to -- the pipeline bind point used by this command /must/ not be an@@ -1881,7 +1939,7 @@ -- 'cmdBindIndexBuffer'::@indexType@ parameter with which the buffer was -- bound. ----- The first vertex index is at an offset of @firstIndex@ * @indexSize@ ++-- The first vertex index is at an offset of @firstIndex@ × @indexSize@ + -- @offset@ within the bound index buffer, where @offset@ is the offset -- specified by 'cmdBindIndexBuffer' and @indexSize@ is the byte size of -- the type specified by @indexType@. Subsequent index values are retrieved@@ -2034,6 +2092,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -2068,6 +2131,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - If @commandBuffer@ is a protected command buffer, any resource -- written to by the 'Vulkan.Core10.Handles.Pipeline' object bound to -- the pipeline bind point used by this command /must/ not be an@@ -2094,7 +2210,7 @@ -- binding, as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input ???> ----- - (@indexSize@ * (@firstIndex@ + @indexCount@) + @offset@) /must/ be+-- - (@indexSize@ × (@firstIndex@ + @indexCount@) + @offset@) /must/ be -- less than or equal to the size of the bound index buffer, with -- @indexSize@ being based on the type specified by @indexType@, where -- the index buffer, @indexType@, and @offset@ are specified via@@ -2316,6 +2432,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -2350,6 +2471,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - All vertex input bindings accessed via vertex input variables -- declared in the vertex shader entry point’s interface /must/ have -- either valid or 'Vulkan.Core10.APIConstants.NULL_HANDLE' buffers@@ -2622,6 +2796,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -2656,6 +2835,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - All vertex input bindings accessed via vertex input variables -- declared in the vertex shader entry point’s interface /must/ have -- either valid or 'Vulkan.Core10.APIConstants.NULL_HANDLE' buffers@@ -2928,6 +3160,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - If @commandBuffer@ is a protected command buffer, any resource -- written to by the 'Vulkan.Core10.Handles.Pipeline' object bound to -- the pipeline bind point used by this command /must/ not be an@@ -3160,6 +3397,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - If @buffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object --@@ -3252,6 +3494,15 @@ -- -- == Valid Usage --+-- - If @commandBuffer@ is an unprotected command buffer, then+-- @srcBuffer@ /must/ not be a protected buffer+--+-- - If @commandBuffer@ is an unprotected command buffer, then+-- @dstBuffer@ /must/ not be a protected buffer+--+-- - If @commandBuffer@ is a protected command buffer, then @dstBuffer@+-- /must/ not be an unprotected buffer+-- -- - The @srcOffset@ member of each element of @pRegions@ /must/ be less -- than the size of @srcBuffer@ --@@ -3282,15 +3533,6 @@ -- - If @dstBuffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object ----- - If @commandBuffer@ is an unprotected command buffer, then--- @srcBuffer@ /must/ not be a protected buffer------ - If @commandBuffer@ is an unprotected command buffer, then--- @dstBuffer@ /must/ not be a protected buffer------ - If @commandBuffer@ is a protected command buffer, then @dstBuffer@--- /must/ not be an unprotected buffer--- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -3490,6 +3732,15 @@ -- -- == Valid Usage --+-- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is an unprotected command buffer, then @dstImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is a protected command buffer, then @dstImage@+-- /must/ not be an unprotected image+-- -- - The union of all source regions, and the union of all destination -- regions, specified by the elements of @pRegions@, /must/ not overlap -- in memory@@ -3554,15 +3805,6 @@ -- -- - The sample count of @srcImage@ and @dstImage@ /must/ match ----- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@--- /must/ not be a protected image------ - If @commandBuffer@ is an unprotected command buffer, then @dstImage@--- /must/ not be a protected image------ - If @commandBuffer@ is a protected command buffer, then @dstImage@--- /must/ not be an unprotected image--- -- - The @srcSubresource.mipLevel@ member of each element of @pRegions@ -- /must/ be less than the @mipLevels@ specified in -- 'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created@@ -3724,17 +3966,17 @@ -- - The scale is determined from the source and destination regions, and -- applied to the offset coordinates: ----- - scale_u = (xsrc1 - xsrc0) \/ (xdst1 - xdst0)+-- - scaleu = (xsrc1 - xsrc0) \/ (xdst1 - xdst0) ----- - scale_v = (ysrc1 - ysrc0) \/ (ydst1 - ydst0)+-- - scalev = (ysrc1 - ysrc0) \/ (ydst1 - ydst0) ----- - scale_w = (zsrc1 - zsrc0) \/ (zdst1 - zdst0)+-- - scalew = (zsrc1 - zsrc0) \/ (zdst1 - zdst0) ----- - uscaled = uoffset * scaleu+-- - uscaled = uoffset × scaleu ----- - vscaled = voffset * scalev+-- - vscaled = voffset × scalev ----- - wscaled = woffset * scalew+-- - wscaled = woffset × scalew -- -- - Finally the source offset is added to the scaled coordinates, to -- determine the final unnormalized coordinates used to sample from@@ -3810,6 +4052,15 @@ -- -- == Valid Usage --+-- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is an unprotected command buffer, then @dstImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is a protected command buffer, then @dstImage@+-- /must/ not be an unprotected image+-- -- - The source region specified by each element of @pRegions@ /must/ be -- a region that is contained within @srcImage@ --@@ -3826,7 +4077,7 @@ -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_SRC_BIT' -- -- - @srcImage@ /must/ not use a format listed in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???> -- -- - @srcImage@ /must/ have been created with -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_SRC_BIT'@@ -3850,7 +4101,7 @@ -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_DST_BIT' -- -- - @dstImage@ /must/ not use a format listed in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???> -- -- - @dstImage@ /must/ have been created with -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'@@ -3906,15 +4157,6 @@ -- /must/ have a 'Vulkan.Core10.Enums.ImageType.ImageType' of -- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' ----- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@--- /must/ not be a protected image------ - If @commandBuffer@ is an unprotected command buffer, then @dstImage@--- /must/ not be a protected image------ - If @commandBuffer@ is a protected command buffer, then @dstImage@--- /must/ not be an unprotected image--- -- - The @srcSubresource.mipLevel@ member of each element of @pRegions@ -- /must/ be less than the @mipLevels@ specified in -- 'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created@@ -4060,6 +4302,15 @@ -- -- == Valid Usage --+-- - If @commandBuffer@ is an unprotected command buffer, then+-- @srcBuffer@ /must/ not be a protected buffer+--+-- - If @commandBuffer@ is an unprotected command buffer, then @dstImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is a protected command buffer, then @dstImage@+-- /must/ not be an unprotected image+-- -- - @srcBuffer@ /must/ be large enough to contain all buffer locations -- that are accessed according to -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-addressing Buffer and Image Addressing>,@@ -4108,15 +4359,6 @@ -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or -- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR' ----- - If @commandBuffer@ is an unprotected command buffer, then--- @srcBuffer@ /must/ not be a protected buffer------ - If @commandBuffer@ is an unprotected command buffer, then @dstImage@--- /must/ not be a protected image------ - If @commandBuffer@ is a protected command buffer, then @dstImage@--- /must/ not be an unprotected image--- -- - The @imageSubresource.mipLevel@ member of each element of @pRegions@ -- /must/ be less than the @mipLevels@ specified in -- 'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@ was created@@ -4260,6 +4502,15 @@ -- -- == Valid Usage --+-- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@+-- /must/ not be a protected image+--+-- - If @commandBuffer@ is an unprotected command buffer, then+-- @dstBuffer@ /must/ not be a protected buffer+--+-- - If @commandBuffer@ is a protected command buffer, then @dstBuffer@+-- /must/ not be an unprotected buffer+-- -- - The image region specified by each element of @pRegions@ /must/ be a -- region that is contained within @srcImage@ if the @srcImage@’s -- 'Vulkan.Core10.Enums.Format.Format' is not a@@ -4308,15 +4559,6 @@ -- - If @dstBuffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object ----- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@--- /must/ not be a protected image------ - If @commandBuffer@ is an unprotected command buffer, then--- @dstBuffer@ /must/ not be a protected buffer------ - If @commandBuffer@ is a protected command buffer, then @dstBuffer@--- /must/ not be an unprotected buffer--- -- - The @imageSubresource.mipLevel@ member of each element of @pRegions@ -- /must/ be less than the @mipLevels@ specified in -- 'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created@@ -5233,7 +5475,8 @@ -- @srcOffset@ and @dstOffset@ select the initial @x@, @y@, and @z@ offsets -- in texels of the sub-regions of the source and destination image data. -- @extent@ is the size in texels of the source image to resolve in--- @width@, @height@ and @depth@.+-- @width@, @height@ and @depth@. Each element of @pRegions@ /must/ be a+-- region that is contained within its corresponding image. -- -- Resolves are done layer by layer starting with @baseArrayLayer@ member -- of @srcSubresource@ for the source and @dstSubresource@ for the@@ -5241,12 +5484,15 @@ -- -- == Valid Usage ----- - The source region specified by each element of @pRegions@ /must/ be--- a region that is contained within @srcImage@+-- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@+-- /must/ not be a protected image ----- - The destination region specified by each element of @pRegions@--- /must/ be a region that is contained within @dstImage@+-- - If @commandBuffer@ is an unprotected command buffer, then @dstImage@+-- /must/ not be a protected image --+-- - If @commandBuffer@ is a protected command buffer, then @dstImage@+-- /must/ not be an unprotected image+-- -- - The union of all source regions, and the union of all destination -- regions, specified by the elements of @pRegions@, /must/ not overlap -- in memory@@ -5290,15 +5536,6 @@ -- - @srcImage@ and @dstImage@ /must/ have been created with the same -- image format ----- - If @commandBuffer@ is an unprotected command buffer, then @srcImage@--- /must/ not be a protected image------ - If @commandBuffer@ is an unprotected command buffer, then @dstImage@--- /must/ not be a protected image------ - If @commandBuffer@ is a protected command buffer, then @dstImage@--- /must/ not be an unprotected image--- -- - The @srcSubresource.mipLevel@ member of each element of @pRegions@ -- /must/ be less than the @mipLevels@ specified in -- 'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created@@ -5439,9 +5676,6 @@ -- -- == Valid Usage ----- - @stageMask@ /must/ not include--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'--- -- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> -- feature is not enabled, @stageMask@ /must/ not contain@@ -5454,10 +5688,22 @@ -- or -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- - @commandBuffer@’s current device mask /must/ include exactly one--- physical device+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' -- -- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders> -- feature is not enabled, @stageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'@@ -5467,6 +5713,25 @@ -- feature is not enabled, @stageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' --+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @stageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- - @stageMask@ /must/ not include+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'+--+-- - @commandBuffer@’s current device mask /must/ include exactly one+-- physical device+-- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -5569,9 +5834,6 @@ -- -- == Valid Usage ----- - @stageMask@ /must/ not include--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'--- -- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> -- feature is not enabled, @stageMask@ /must/ not contain@@ -5584,13 +5846,22 @@ -- or -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- - When this command executes, @event@ /must/ not be waited on by a--- 'cmdWaitEvents' command that is currently executing+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' ----- - @commandBuffer@’s current device mask /must/ include exactly one--- physical device+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' -- -- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders> -- feature is not enabled, @stageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'@@ -5600,6 +5871,28 @@ -- feature is not enabled, @stageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' --+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @stageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @stageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- - @stageMask@ /must/ not include+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'+--+-- - When this command executes, @event@ /must/ not be waited on by a+-- 'cmdWaitEvents' command that is currently executing+--+-- - @commandBuffer@’s current device mask /must/ include exactly one+-- physical device+-- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -5806,6 +6099,106 @@ -- -- == Valid Usage --+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'+-- or+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @srcStageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'+-- or+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @dstStageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+-- -- - The @srcAccessMask@ member of each element of @pMemoryBarriers@ -- /must/ only include access flags that are supported by one or more -- of the pipeline stages in @srcStageMask@, as specified in the@@ -5859,43 +6252,11 @@ -- if any of the members of @pEvents@ was set using -- 'Vulkan.Core10.Event.setEvent' ----- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>--- feature is not enabled, @dstStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'--- or--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>--- feature is not enabled, @dstStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'--- or--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'--- -- - If @pEvents@ includes one or more events that will be signaled by -- 'Vulkan.Core10.Event.setEvent' after @commandBuffer@ has been -- submitted to a queue, then 'cmdWaitEvents' /must/ not be called -- inside a render pass instance ----- - Any pipeline stage included in @srcStageMask@ or @dstStageMask@--- /must/ be supported by the capabilities of the queue family--- specified by the @queueFamilyIndex@ member of the--- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was--- used to create the 'Vulkan.Core10.Handles.CommandPool' that--- @commandBuffer@ was allocated from, as specified in the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>--- -- - The @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any -- element of @pBufferMemoryBarriers@ or @pImageMemoryBarriers@ /must/ -- be equal@@ -5903,26 +6264,6 @@ -- - @commandBuffer@’s current device mask /must/ include exactly one -- physical device ----- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>--- feature is not enabled, @dstStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>--- feature is not enabled, @dstStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'--- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -6128,77 +6469,82 @@ -- -- == Valid Usage ----- - If 'cmdPipelineBarrier' is called within a render pass instance, the--- render pass /must/ have been created with at least one--- 'Vulkan.Core10.Pass.SubpassDependency' instance in--- 'Vulkan.Core10.Pass.RenderPassCreateInfo'::@pDependencies@ that--- expresses a dependency from the current subpass to itself, with--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scopes>--- and--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scopes>--- that are all supersets of the scopes defined in this command+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT' ----- - If 'cmdPipelineBarrier' is called within a render pass instance, it--- /must/ not include any buffer memory barriers+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'+-- or+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- - If 'cmdPipelineBarrier' is called within a render pass instance, the--- @image@ member of any image memory barrier included in this command--- /must/ be an attachment used in the current subpass both as an input--- attachment, and as either a color or depth\/stencil attachment+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' ----- - If 'cmdPipelineBarrier' is called within a render pass instance, the--- @oldLayout@ and @newLayout@ members of any image memory barrier--- included in this command /must/ be equal+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' ----- - If 'cmdPipelineBarrier' is called within a render pass instance, the--- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any image--- memory barrier included in this command /must/ be equal+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT' ----- - If 'cmdPipelineBarrier' is called outside of a render pass instance,--- 'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'--- /must/ not be included in the dependency flags+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders> -- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' -- -- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @srcStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @srcStageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> -- feature is not enabled, @dstStageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT' -- -- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain+-- feature is not enabled, @dstStageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' -- or -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering> -- feature is not enabled, @dstStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'--- or--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'------ - Any pipeline stage included in @srcStageMask@ or @dstStageMask@--- /must/ be supported by the capabilities of the queue family--- specified by the @queueFamilyIndex@ member of the--- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was--- used to create the 'Vulkan.Core10.Handles.CommandPool' that--- @commandBuffer@ was allocated from, as specified in the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>--- feature is not enabled, @srcStageMask@ /must/ not contain--- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT' -- -- - If the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>@@ -6210,6 +6556,19 @@ -- feature is not enabled, @dstStageMask@ /must/ not contain -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' --+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+-- feature is not enabled, @dstStageMask@ /must/ not contain+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- - Any pipeline stage included in @dstStageMask@ /must/ be supported by+-- the capabilities of the queue family specified by the+-- @queueFamilyIndex@ member of the+-- 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was+-- used to create the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from, as specified in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+-- -- - The @srcAccessMask@ member of each element of @pMemoryBarriers@ -- /must/ only include access flags that are supported by one or more -- of the pipeline stages in @srcStageMask@, as specified in the@@ -6256,6 +6615,36 @@ -- @dstStageMask@, as specified in the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types> --+-- - If 'cmdPipelineBarrier' is called within a render pass instance, the+-- render pass /must/ have been created with at least one+-- 'Vulkan.Core10.Pass.SubpassDependency' instance in+-- 'Vulkan.Core10.Pass.RenderPassCreateInfo'::@pDependencies@ that+-- expresses a dependency from the current subpass to itself, with+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scopes>+-- and+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scopes>+-- that are all supersets of the scopes defined in this command+--+-- - If 'cmdPipelineBarrier' is called within a render pass instance, it+-- /must/ not include any buffer memory barriers+--+-- - If 'cmdPipelineBarrier' is called within a render pass instance, the+-- @image@ member of any image memory barrier included in this command+-- /must/ be an attachment used in the current subpass both as an input+-- attachment, and as either a color or depth\/stencil attachment+--+-- - If 'cmdPipelineBarrier' is called within a render pass instance, the+-- @oldLayout@ and @newLayout@ members of any image memory barrier+-- included in this command /must/ be equal+--+-- - If 'cmdPipelineBarrier' is called within a render pass instance, the+-- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ members of any image+-- memory barrier included in this command /must/ be equal+--+-- - If 'cmdPipelineBarrier' is called outside of a render pass instance,+-- 'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'+-- /must/ not be included in the dependency flags+-- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -7440,6 +7829,36 @@ -- 'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT' -- set --+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pInputAttachments@ of any element+-- of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- containing at least+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+-- or+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pColorAttachments@ of any element+-- of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- containing+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pResolveAttachments@ of any+-- element of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- containing+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pDepthStencilAttachment@ of any+-- element of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- containing+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -8604,7 +9023,7 @@ -- then @bufferOffset@ /must/ be a multiple of the element size of the -- compatible format for the format and the @aspectMask@ of the -- @imageSubresource@ as defined in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes>+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatible-planes ???> -- -- - @bufferRowLength@ /must/ be @0@, or greater than or equal to the -- @width@ member of @imageExtent@
src/Vulkan/Core10/Device.hs view
@@ -98,6 +98,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state (PhysicalDeviceExtendedDynamicStateFeaturesEXT) import Vulkan.Core10.DeviceInitialization (PhysicalDeviceFeatures) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceFeatures2) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_fragment_density_map (PhysicalDeviceFragmentDensityMapFeaturesEXT)@@ -114,6 +115,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PhysicalDevicePrivateDataFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (PhysicalDeviceProtectedMemoryFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (PhysicalDeviceRayTracingFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_representative_fragment_test (PhysicalDeviceRepresentativeFragmentTestFeaturesNV)@@ -616,6 +618,7 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV',@@ -631,6 +634,7 @@ -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.PhysicalDeviceRayTracingFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV',@@ -735,6 +739,7 @@ | Just Refl <- eqT @e @PhysicalDeviceRobustness2FeaturesEXT = Just f | Just Refl <- eqT @e @DeviceDiagnosticsConfigCreateInfoNV = Just f | Just Refl <- eqT @e @PhysicalDeviceDiagnosticsConfigFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicStateFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceCustomBorderColorFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceCoherentMemoryFeaturesAMD = Just f | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f@@ -797,6 +802,7 @@ | Just Refl <- eqT @e @PhysicalDeviceMultiviewFeatures = Just f | Just Refl <- eqT @e @PhysicalDeviceVariablePointersFeatures = Just f | Just Refl <- eqT @e @(PhysicalDeviceFeatures2 '[]) = Just f+ | Just Refl <- eqT @e @PhysicalDevicePrivateDataFeaturesEXT = Just f | Just Refl <- eqT @e @DevicePrivateDataCreateInfoEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = Just f | otherwise = Nothing
src/Vulkan/Core10/DeviceInitialization.hs view
@@ -2925,7 +2925,7 @@ -- be created with @samples@ equal to -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'. This also -- specifies whether shader modules /can/ declare the- -- @StorageImageMultisample@ capability.+ -- @StorageImageMultisample@ and @ImageMSArray@ capabilities. shaderStorageImageMultisample :: Bool , -- | @shaderStorageImageReadWithoutFormat@ specifies whether storage images -- require a format qualifier to be specified when reading from storage
src/Vulkan/Core10/Enums/AccessFlagBits.hs view
@@ -179,6 +179,7 @@ -- | 'ACCESS_SHADER_READ_BIT' specifies read access to a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagebuffer storage buffer>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-physical-storage-buffer physical storage buffer>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-binding-table shader binding table>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-uniformtexelbuffer uniform texel buffer>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storagetexelbuffer storage texel buffer>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampledimage sampled image>,
src/Vulkan/Core10/Enums/CompareOp.hs view
@@ -30,7 +30,9 @@ -- -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo', -- 'Vulkan.Core10.Sampler.SamplerCreateInfo',--- 'Vulkan.Core10.Pipeline.StencilOpState'+-- 'Vulkan.Core10.Pipeline.StencilOpState',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT' newtype CompareOp = CompareOp Int32 deriving newtype (Eq, Ord, Storable, Zero)
+ src/Vulkan/Core10/Enums/CompareOp.hs-boot view
@@ -0,0 +1,7 @@+{-# language CPP #-}+module Vulkan.Core10.Enums.CompareOp (CompareOp) where++++data CompareOp+
+ src/Vulkan/Core10/Enums/CullModeFlagBits.hs-boot view
@@ -0,0 +1,11 @@+{-# language CPP #-}+module Vulkan.Core10.Enums.CullModeFlagBits ( CullModeFlagBits+ , CullModeFlags+ ) where++++data CullModeFlagBits++type CullModeFlags = CullModeFlagBits+
src/Vulkan/Core10/Enums/DynamicState.hs view
@@ -8,6 +8,18 @@ , DYNAMIC_STATE_STENCIL_COMPARE_MASK , DYNAMIC_STATE_STENCIL_WRITE_MASK , DYNAMIC_STATE_STENCIL_REFERENCE+ , DYNAMIC_STATE_STENCIL_OP_EXT+ , DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT+ , DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT+ , DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT+ , DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT+ , DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT+ , DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT+ , DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT+ , DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT+ , DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT+ , DYNAMIC_STATE_FRONT_FACE_EXT+ , DYNAMIC_STATE_CULL_MODE_EXT , DYNAMIC_STATE_LINE_STIPPLE_EXT , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV , DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV@@ -115,6 +127,90 @@ -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member -- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE' pattern DYNAMIC_STATE_STENCIL_REFERENCE = DynamicState 8+-- | 'DYNAMIC_STATE_STENCIL_OP_EXT' specifies that the @failOp@, @passOp@,+-- @depthFailOp@, and @compareOp@ states in+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' for both+-- @front@ and @back@ will be ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT'+-- before any draws are performed with a pipeline state with+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' member+-- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE'+pattern DYNAMIC_STATE_STENCIL_OP_EXT = DynamicState 1000267011+-- | 'DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT' specifies that the+-- @stencilTestEnable@ state in+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilTestEnableEXT'+-- before any draw call.+pattern DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = DynamicState 1000267010+-- | 'DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT' specifies that the+-- @depthBoundsTestEnable@ state in+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT'+-- before any draw call.+pattern DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = DynamicState 1000267009+-- | 'DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT' specifies that the @depthCompareOp@+-- state in 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'+-- will be ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT'+-- before any draw call.+pattern DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = DynamicState 1000267008+-- | 'DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT' specifies that the+-- @depthWriteEnable@ state in+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT'+-- before any draw call.+pattern DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = DynamicState 1000267007+-- | 'DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT' specifies that the+-- @depthTestEnable@ state in+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT'+-- before any draw call.+pattern DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = DynamicState 1000267006+-- | 'DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' specifies that the+-- @stride@ state in 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'+-- will be ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT'+-- before any draw call.+pattern DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = DynamicState 1000267005+-- | 'DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT' specifies that the @scissorCount@+-- and @pScissors@ state in+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo' will be ignored+-- and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- before any draw call.+pattern DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = DynamicState 1000267004+-- | 'DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT' specifies that the+-- @viewportCount@ and @pViewports@ state in+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo' will be ignored+-- and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- before any draw call.+pattern DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = DynamicState 1000267003+-- | 'DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT' specifies that the @topology@+-- state in 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'+-- only specifies the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>,+-- and the specific topology order and adjacency /must/ be set dynamically+-- with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- before any draw commands.+pattern DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = DynamicState 1000267002+-- | 'DYNAMIC_STATE_FRONT_FACE_EXT' specifies that the @frontFace@ state in+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT'+-- before any draw commands.+pattern DYNAMIC_STATE_FRONT_FACE_EXT = DynamicState 1000267001+-- | 'DYNAMIC_STATE_CULL_MODE_EXT' specifies that the @cullMode@ state in+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' will be+-- ignored and /must/ be set dynamically with+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT'+-- before any draw commands.+pattern DYNAMIC_STATE_CULL_MODE_EXT = DynamicState 1000267000 -- | 'DYNAMIC_STATE_LINE_STIPPLE_EXT' specifies that the @lineStippleFactor@ -- and @lineStipplePattern@ state in -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'@@ -188,6 +284,18 @@ DYNAMIC_STATE_STENCIL_COMPARE_MASK, DYNAMIC_STATE_STENCIL_WRITE_MASK, DYNAMIC_STATE_STENCIL_REFERENCE,+ DYNAMIC_STATE_STENCIL_OP_EXT,+ DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,+ DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,+ DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,+ DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,+ DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,+ DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,+ DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,+ DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,+ DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,+ DYNAMIC_STATE_FRONT_FACE_EXT,+ DYNAMIC_STATE_CULL_MODE_EXT, DYNAMIC_STATE_LINE_STIPPLE_EXT, DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV, DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV,@@ -207,6 +315,18 @@ DYNAMIC_STATE_STENCIL_COMPARE_MASK -> showString "DYNAMIC_STATE_STENCIL_COMPARE_MASK" DYNAMIC_STATE_STENCIL_WRITE_MASK -> showString "DYNAMIC_STATE_STENCIL_WRITE_MASK" DYNAMIC_STATE_STENCIL_REFERENCE -> showString "DYNAMIC_STATE_STENCIL_REFERENCE"+ DYNAMIC_STATE_STENCIL_OP_EXT -> showString "DYNAMIC_STATE_STENCIL_OP_EXT"+ DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT -> showString "DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT"+ DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT -> showString "DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT"+ DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT -> showString "DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT"+ DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT -> showString "DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT"+ DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT -> showString "DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT"+ DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT -> showString "DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT"+ DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT -> showString "DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT"+ DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT -> showString "DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT"+ DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT -> showString "DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT"+ DYNAMIC_STATE_FRONT_FACE_EXT -> showString "DYNAMIC_STATE_FRONT_FACE_EXT"+ DYNAMIC_STATE_CULL_MODE_EXT -> showString "DYNAMIC_STATE_CULL_MODE_EXT" DYNAMIC_STATE_LINE_STIPPLE_EXT -> showString "DYNAMIC_STATE_LINE_STIPPLE_EXT" DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV -> showString "DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV" DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV -> showString "DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV"@@ -226,6 +346,18 @@ , ("DYNAMIC_STATE_STENCIL_COMPARE_MASK", pure DYNAMIC_STATE_STENCIL_COMPARE_MASK) , ("DYNAMIC_STATE_STENCIL_WRITE_MASK", pure DYNAMIC_STATE_STENCIL_WRITE_MASK) , ("DYNAMIC_STATE_STENCIL_REFERENCE", pure DYNAMIC_STATE_STENCIL_REFERENCE)+ , ("DYNAMIC_STATE_STENCIL_OP_EXT", pure DYNAMIC_STATE_STENCIL_OP_EXT)+ , ("DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT", pure DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT)+ , ("DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT", pure DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT)+ , ("DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT", pure DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT)+ , ("DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT", pure DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT)+ , ("DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT", pure DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT)+ , ("DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT", pure DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT)+ , ("DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT", pure DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT)+ , ("DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT", pure DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT)+ , ("DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT", pure DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT)+ , ("DYNAMIC_STATE_FRONT_FACE_EXT", pure DYNAMIC_STATE_FRONT_FACE_EXT)+ , ("DYNAMIC_STATE_CULL_MODE_EXT", pure DYNAMIC_STATE_CULL_MODE_EXT) , ("DYNAMIC_STATE_LINE_STIPPLE_EXT", pure DYNAMIC_STATE_LINE_STIPPLE_EXT) , ("DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV", pure DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV) , ("DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV", pure DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV)
src/Vulkan/Core10/Enums/Format.hs view
@@ -1225,11 +1225,11 @@ -- in the word in bytes 2..3. The horizontal dimensions of the BR plane is -- halved relative to the image dimensions, and each R and B value is -- shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of each--- plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane, and+-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the BR plane. Images in this format /must/ be defined with a width that -- is a multiple of two.@@ -1240,11 +1240,11 @@ -- 16-bit R component in each 16-bit word of plane 2. The horizontal -- dimension of the R and B plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for--- which \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of--- each plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane,+-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1258,10 +1258,11 @@ -- in the word in bytes 2..3. The horizontal and vertical dimensions of the -- BR plane is halved relative to the image dimensions, and each R and B -- value is shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor =--- i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B = j_R\). The--- location of each plane when this image is in linear layout can be--- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for -- the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for@@ -1274,12 +1275,13 @@ -- 16-bit R component in each 16-bit word of plane 2. The horizontal and -- vertical dimensions of the R and B planes are halved relative to the -- image dimensions, and each R and B component is shared with the G--- components for which \(\lfloor i_G \times 0.5--- \rfloor = i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B--- = j_R\). The location of each plane when this image is in linear layout--- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',--- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'--- for the G plane,+-- components for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for+-- the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1338,11 +1340,11 @@ -- word in bytes 2..3, the bottom 4 bits of each word unused. The -- horizontal dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for--- which \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of--- each plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane, and+-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the BR plane. Images in this format /must/ be defined with a width that -- is a multiple of two.@@ -1355,11 +1357,11 @@ -- bottom 4 bits of each word unused. The horizontal dimension of the R and -- B plane is halved relative to the image dimensions, and each R and B -- value is shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of each--- plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane,+-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1374,10 +1376,11 @@ -- word in bytes 2..3, the bottom 4 bits of each word unused. The -- horizontal and vertical dimensions of the BR plane is halved relative to -- the image dimensions, and each R and B value is shared with the G--- components for which \(\lfloor i_G \times 0.5 \rfloor =--- i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B = j_R\). The--- location of each plane when this image is in linear layout can be--- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- components for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for -- the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for@@ -1392,12 +1395,13 @@ -- bottom 4 bits of each word unused. The horizontal and vertical -- dimensions of the R and B planes are halved relative to the image -- dimensions, and each R and B component is shared with the G components--- for which \(\lfloor i_G \times 0.5--- \rfloor = i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B--- = j_R\). The location of each plane when this image is in linear layout--- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',--- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'--- for the G plane,+-- for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for+-- the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1478,11 +1482,11 @@ -- word in bytes 2..3, the bottom 6 bits of each word unused. The -- horizontal dimensions of the BR plane is halved relative to the image -- dimensions, and each R and B value is shared with the G components for--- which \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of--- each plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane, and+-- which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the BR plane. Images in this format /must/ be defined with a width that -- is a multiple of two.@@ -1495,11 +1499,11 @@ -- bottom 6 bits of each word unused. The horizontal dimension of the R and -- B plane is halved relative to the image dimensions, and each R and B -- value is shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of each--- plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane,+-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1514,10 +1518,11 @@ -- word in bytes 2..3, the bottom 6 bits of each word unused. The -- horizontal and vertical dimensions of the BR plane is halved relative to -- the image dimensions, and each R and B value is shared with the G--- components for which \(\lfloor i_G \times 0.5 \rfloor =--- i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B = j_R\). The--- location of each plane when this image is in linear layout can be--- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- components for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for -- the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for@@ -1532,12 +1537,13 @@ -- bottom 6 bits of each word unused. The horizontal and vertical -- dimensions of the R and B planes are halved relative to the image -- dimensions, and each R and B component is shared with the G components--- for which \(\lfloor i_G \times 0.5--- \rfloor = i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B--- = j_R\). The location of each plane when this image is in linear layout--- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',--- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'--- for the G plane,+-- for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for+-- the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1614,11 +1620,11 @@ -- byte 0 and an 8-bit R component in byte 1. The horizontal dimensions of -- the BR plane is halved relative to the image dimensions, and each R and -- B value is shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location of each--- plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane, and+-- \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the BR plane. Images in this format /must/ be defined with a width that -- is a multiple of two.@@ -1628,11 +1634,11 @@ -- B component in plane 1, and an 8-bit R component in plane 2. The -- horizontal dimension of the R and B plane is halved relative to the -- image dimensions, and each R and B value is shared with the G components--- for which \(\lfloor i_G \times 0.5 \rfloor = i_B = i_R\). The location--- of each plane when this image is in linear layout can be determined via--- 'Vulkan.Core10.Image.getImageSubresourceLayout', using--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for--- the G plane,+-- for which \(\left\lfloor i_G \times 0.5 \right\rfloor = i_B =+-- i_R\). The location of each plane when this image is in linear layout+-- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',+-- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'+-- for the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for@@ -1645,10 +1651,11 @@ -- byte 0 and an 8-bit R component in byte 1. The horizontal and vertical -- dimensions of the BR plane is halved relative to the image dimensions, -- and each R and B value is shared with the G components for which--- \(\lfloor i_G \times 0.5 \rfloor =--- i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B = j_R\). The--- location of each plane when this image is in linear layout can be--- determined via 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for -- the G plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for@@ -1660,12 +1667,13 @@ -- B component in plane 1, and an 8-bit R component in plane 2. The -- horizontal and vertical dimensions of the R and B planes are halved -- relative to the image dimensions, and each R and B component is shared--- with the G components for which \(\lfloor i_G \times 0.5--- \rfloor = i_B = i_R\) and \(\lfloor j_G \times 0.5 \rfloor = j_B--- = j_R\). The location of each plane when this image is in linear layout--- can be determined via 'Vulkan.Core10.Image.getImageSubresourceLayout',--- using 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'--- for the G plane,+-- with the G components for which \(\left\lfloor i_G \times 0.5+-- \right\rfloor = i_B = i_R\) and \(\left\lfloor j_G \times 0.5+-- \right\rfloor = j_B = j_R\). The location of each plane when this image+-- is in linear layout can be determined via+-- 'Vulkan.Core10.Image.getImageSubresourceLayout', using+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT' for+-- the G plane, -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT' for -- the B plane, and -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT' for
src/Vulkan/Core10/Enums/FrontFace.hs view
@@ -27,7 +27,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT' newtype FrontFace = FrontFace Int32 deriving newtype (Eq, Ord, Storable, Zero)
+ src/Vulkan/Core10/Enums/FrontFace.hs-boot view
@@ -0,0 +1,7 @@+{-# language CPP #-}+module Vulkan.Core10.Enums.FrontFace (FrontFace) where++++data FrontFace+
src/Vulkan/Core10/Enums/PrimitiveTopology.hs view
@@ -63,7 +63,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT' newtype PrimitiveTopology = PrimitiveTopology Int32 deriving newtype (Eq, Ord, Storable, Zero)
+ src/Vulkan/Core10/Enums/PrimitiveTopology.hs-boot view
@@ -0,0 +1,7 @@+{-# language CPP #-}+module Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology) where++++data PrimitiveTopology+
src/Vulkan/Core10/Enums/StencilOp.hs view
@@ -33,7 +33,8 @@ -- -- = See Also ----- 'Vulkan.Core10.Pipeline.StencilOpState'+-- 'Vulkan.Core10.Pipeline.StencilOpState',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT' newtype StencilOp = StencilOp Int32 deriving newtype (Eq, Ord, Storable, Zero)
+ src/Vulkan/Core10/Enums/StencilOp.hs-boot view
@@ -0,0 +1,7 @@+{-# language CPP #-}+module Vulkan.Core10.Enums.StencilOp (StencilOp) where++++data StencilOp+
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -80,6 +80,7 @@ , STRUCTURE_TYPE_PIPELINE_INFO_KHR , STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR , STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT@@ -702,6 +703,7 @@ -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PhysicalDeviceDiscardRectanglePropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalBufferInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities.PhysicalDeviceExternalFenceInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceExternalImageFormatInfo',@@ -1073,6 +1075,8 @@ pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = StructureType 1000269000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR" pattern STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR = StructureType 1000268000+-- 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_LINE_RASTERIZATION_PROPERTIES_EXT"@@ -1864,6 +1868,7 @@ STRUCTURE_TYPE_PIPELINE_INFO_KHR, STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR,+ STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT,@@ -2303,6 +2308,7 @@ STRUCTURE_TYPE_PIPELINE_INFO_KHR -> showString "STRUCTURE_TYPE_PIPELINE_INFO_KHR" STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR" STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR -> showString "STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR"+ STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT" STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT" STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT" STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT -> showString "STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"@@ -2742,6 +2748,7 @@ , ("STRUCTURE_TYPE_PIPELINE_INFO_KHR", pure STRUCTURE_TYPE_PIPELINE_INFO_KHR) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR) , ("STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR", pure STRUCTURE_TYPE_DEFERRED_OPERATION_INFO_KHR)+ , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT) , ("STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT", pure STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT)
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -313,6 +313,7 @@ -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetScissor',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT', -- 'Vulkan.Extensions.VK_KHR_swapchain.getPhysicalDevicePresentRectanglesKHR' data Rect2D = Rect2D { -- | @offset@ is a 'Offset2D' specifying the rectangle offset.@@ -406,6 +407,7 @@ -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT',@@ -494,6 +496,10 @@ -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilTestEnableEXT', -- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR', -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD', -- 'Vulkan.Core10.Fence.waitForFences'@@ -624,6 +630,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',
src/Vulkan/Core10/FundamentalTypes.hs-boot view
@@ -118,6 +118,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',
src/Vulkan/Core10/Handles.hs view
@@ -474,6 +474,7 @@ -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdBindShadingRateImageNV', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureKHR',@@ -537,26 +538,37 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetBlendConstants', -- 'Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.cmdSetCheckpointNV', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdSetCoarseSampleOrderNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBias', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBounds',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT',+-- '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.Core11.Promoted_From_VK_KHR_device_group.cmdSetDeviceMask', -- 'Vulkan.Extensions.VK_KHR_device_group.cmdSetDeviceMaskKHR', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetEvent', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetLineWidth', -- 'Vulkan.Extensions.VK_INTEL_performance_query.cmdSetPerformanceMarkerINTEL', -- 'Vulkan.Extensions.VK_INTEL_performance_query.cmdSetPerformanceOverrideINTEL', -- 'Vulkan.Extensions.VK_INTEL_performance_query.cmdSetPerformanceStreamMarkerINTEL',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT', -- 'Vulkan.Extensions.VK_EXT_sample_locations.cmdSetSampleLocationsEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetScissor',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilCompareMask',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilReference',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilTestEnableEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetStencilWriteMask', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetViewport', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdSetViewportShadingRatePaletteNV', -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.cmdSetViewportWScalingNV',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysIndirectKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdTraceRaysKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',@@ -657,6 +669,7 @@ -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing.cmdBuildAccelerationStructureIndirectKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBuffer',
src/Vulkan/Core10/Image.hs view
@@ -516,7 +516,7 @@ -- - If @tiling@ is -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR', then -- @imageCreateFormatFeatures@ is the value of--- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@linearTilingFeatures@+-- 'Vulkan.Core10.DeviceInitialization.FormatProperties'::@linearTilingFeatures@ -- found by calling -- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceFormatProperties' -- with parameter @format@ equal to 'ImageCreateInfo'::@format@.@@ -527,7 +527,7 @@ -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID' -- structure with non-zero @externalFormat@, then -- @imageCreateFormatFeatures@ is value of--- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@optimalTilingFeatures@+-- 'Vulkan.Core10.DeviceInitialization.FormatProperties'::@optimalTilingFeatures@ -- found by calling -- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceFormatProperties' -- with parameter @format@ equal to 'ImageCreateInfo'::@format@.@@ -828,12 +828,12 @@ -- - If @usage@ includes -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT', -- @extent.width@ /must/ be less than or equal to--- \(\lceil{\frac{maxFramebufferWidth}{minFragmentDensityTexelSize_{width}}}\rceil\)+-- \(\left\lceil{\frac{maxFramebufferWidth}{minFragmentDensityTexelSize_{width}}}\right\rceil\) -- -- - If @usage@ includes -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT', -- @extent.height@ /must/ be less than or equal to--- \(\lceil{\frac{maxFramebufferHeight}{minFragmentDensityTexelSize_{height}}}\rceil\)+-- \(\left\lceil{\frac{maxFramebufferHeight}{minFragmentDensityTexelSize_{height}}}\right\rceil\) -- -- - If @usage@ includes -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT',
src/Vulkan/Core10/ImageView.hs view
@@ -378,14 +378,6 @@ -- depth\/stencil framebuffer attachment, the @aspectMask@ is ignored and -- both depth and stencil image subresources are used. ----- The 'ComponentMapping' @components@ member describes a remapping from--- components of the image to components of the vector returned by shader--- image instructions. This remapping /must/ be identity for storage image--- descriptors, input attachment descriptors, framebuffer attachments, and--- any 'Vulkan.Core10.Handles.ImageView' used with a combined image sampler--- that enables--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.--- -- When creating a 'Vulkan.Core10.Handles.ImageView', if -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion> -- is enabled in the sampler, the @aspectMask@ of a @subresourceRange@ used@@ -572,6 +564,14 @@ -- dimensions of the selected mip level divided by the compressed texel -- block size and rounded up. --+-- The 'ComponentMapping' @components@ member describes a remapping from+-- components of the image to components of the vector returned by shader+-- image instructions. This remapping /must/ be the identity swizzle for+-- storage image descriptors, input attachment descriptors, framebuffer+-- attachments, and any 'Vulkan.Core10.Handles.ImageView' used with a+-- combined image sampler that enables+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y’CBCR conversion>.+-- -- If the image view is to be used with a sampler which supports -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>, -- an /identically defined object/ of type@@ -893,11 +893,30 @@ -- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo' -- structure was included in the @pNext@ chain of the -- 'Vulkan.Core10.Image.ImageCreateInfo' structure used when creating--- @image@ and the @viewFormatCount@ field of--- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'+-- @image@ and+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@ -- is not zero then @format@ /must/ be one of the formats in -- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@pViewFormats@ --+-- - If a+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'+-- structure was included in the @pNext@ chain of the+-- 'Vulkan.Core10.Image.ImageCreateInfo' structure used when creating+-- @image@ and+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@+-- is not zero then all of the formats in+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@pViewFormats@+-- /must/ be compatible with the @format@ as described in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility compatibility table>+--+-- - If @flags@ dose not contain+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT'+-- and the @pNext@ chain include a+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'+-- structure then+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@+-- /must/ be @0@ or @1@+-- -- - If @image@ was created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT' -- flag, if the @format@ of the @image@ is a@@ -924,8 +943,8 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo' -- structure with a @conversion@ value other than -- 'Vulkan.Core10.APIConstants.NULL_HANDLE', all members of--- @components@ /must/ have the value--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'+-- @components@ /must/ have the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- - If @image@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object@@ -947,8 +966,8 @@ -- -- - If @image@ has an -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-external-android-hardware-buffer-external-formats external format>,--- all members of @components@ /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'+-- all members of @components@ /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- - If @image@ was created with @usage@ containing -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV',
src/Vulkan/Core10/Memory.hs view
@@ -180,6 +180,10 @@ -- identify a memory type supporting -- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD' --+-- - There /must/ be less than+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxMemoryAllocationCount@+-- device memory allocations currently allocated on the device.+-- -- == Valid Usage (Implicit) -- -- - @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
src/Vulkan/Core10/OtherTypes.hs view
@@ -188,52 +188,33 @@ -- @size@ /must/ be less than or equal to than the size of @buffer@ -- minus @offset@ ----- - If @buffer@ was created with a sharing mode of--- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', at least--- one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ be--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'------ - If @buffer@ was created with a sharing mode of--- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', and one--- of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ is--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', the other /must/--- be 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED' or a special--- queue family reserved for external memory ownership transfers, as--- described in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>------ - If @buffer@ was created with a sharing mode of--- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and--- @srcQueueFamilyIndex@ is--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED',--- @dstQueueFamilyIndex@ /must/ also be--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED'+-- - If @buffer@ is non-sparse then it /must/ be bound completely and+-- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object ----- - If @buffer@ was created with a sharing mode of--- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and--- @srcQueueFamilyIndex@ is not--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', it /must/ be a--- valid queue family or a special queue family reserved for external--- memory transfers, as described in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>+-- - If @srcQueueFamilyIndex@ is not equal to @dstQueueFamilyIndex@, at+-- least one /must/ not be a special queue family reserved for external+-- memory ownership transfers, as described in+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???> -- -- - If @buffer@ was created with a sharing mode of--- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE' and--- @dstQueueFamilyIndex@ is not--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', it /must/ be a--- valid queue family or a special queue family reserved for external--- memory transfers, as described in--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers>+-- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT',+-- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not equal, and+-- one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ is a special+-- queue family values reserved for external memory transfers, the+-- other /must/ be 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED' -- -- - If @buffer@ was created with a sharing mode of -- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_EXCLUSIVE', and--- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not--- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED', at least one of--- them /must/ be the same as the family of the queue that will execute--- this barrier+-- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ are not equal,+-- @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ both be valid+-- queue families, or one of the special queue family values reserved+-- for external memory transfers, as described in+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???> ----- - If @buffer@ is non-sparse then it /must/ be bound completely and--- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object+-- - If @buffer@ was created with a sharing mode of+-- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', at least+-- one of @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ /must/ be+-- 'Vulkan.Core10.APIConstants.QUEUE_FAMILY_IGNORED' -- -- == Valid Usage (Implicit) --@@ -439,8 +420,6 @@ -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' -- set ----- - --- -- - 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 a@@ -860,7 +839,7 @@ -- binding, as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input> ----- - (@indexSize@ * (@firstIndex@ + @indexCount@) + @offset@) /must/ be+-- - (@indexSize@ × (@firstIndex@ + @indexCount@) + @offset@) /must/ be -- less than or equal to the size of the bound index buffer, with -- @indexSize@ being based on the type specified by @indexType@, where -- the index buffer, @indexType@, and @offset@ are specified via
src/Vulkan/Core10/Pass.hs view
@@ -1105,25 +1105,33 @@ -- sample count -- -- - All attachments in @pInputAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain at least one of+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain at least -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- or -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- - All attachments in @pColorAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- -- - All attachments in @pResolveAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- -- - If @pDepthStencilAttachment@ is not @NULL@ and the attachment is not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' then it /must/ have a--- format whose features contain+-- image format whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- - If the @VK_AMD_mixed_attachment_samples@ extension is enabled, and@@ -2044,14 +2052,14 @@ -- an element of @pAttachments@ that is referenced by -- @fragmentDensityMapAttachment@ /must/ have a width at least as large -- as--- \(\lceil{\frac{width}{maxFragmentDensityTexelSize_{width}}}\rceil\)+-- \(\left\lceil{\frac{width}{maxFragmentDensityTexelSize_{width}}}\right\rceil\) -- -- - If @flags@ does not include -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT', -- an element of @pAttachments@ that is referenced by -- @fragmentDensityMapAttachment@ /must/ have a height at least as -- large as--- \(\lceil{\frac{height}{maxFragmentDensityTexelSize_{height}}}\rceil\)+-- \(\left\lceil{\frac{height}{maxFragmentDensityTexelSize_{height}}}\right\rceil\) -- -- - If @flags@ does not include -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT',@@ -2138,7 +2146,7 @@ -- structure included in the @pNext@ chain that is referenced by -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT'::@fragmentDensityMapAttachment@ -- in @renderPass@ /must/ be greater than or equal to--- \(\lceil{\frac{width}{maxFragmentDensityTexelSize_{width}}}\rceil\)+-- \(\left\lceil{\frac{width}{maxFragmentDensityTexelSize_{width}}}\right\rceil\) -- -- - If @flags@ includes -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT',@@ -2148,7 +2156,7 @@ -- structure included in the @pNext@ chain that is referenced by -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT'::@fragmentDensityMapAttachment@ -- in @renderPass@ /must/ be greater than or equal to--- \(\lceil{\frac{height}{maxFragmentDensityTexelSize_{height}}}\rceil\)+-- \(\left\lceil{\frac{height}{maxFragmentDensityTexelSize_{height}}}\right\rceil\) -- -- - If multiview is enabled for @renderPass@, and @flags@ includes -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT',@@ -2213,6 +2221,12 @@ -- structure included in the @pNext@ chain /must/ be equal to the -- corresponding value of 'AttachmentDescription'::@format@ used to -- create @renderPass@+--+-- - If @flags@ does not include+-- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT',+-- each element of @pAttachments@ /must/ have been created with+-- 'Vulkan.Core10.ImageView.ImageViewCreateInfo'::@viewType@ not equal+-- to 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_3D' -- -- == Valid Usage (Implicit) --
src/Vulkan/Core10/Pipeline.hs view
@@ -650,7 +650,8 @@ -- = See Also -- -- 'PipelineViewportStateCreateInfo',--- 'Vulkan.Core10.CommandBufferBuilding.cmdSetViewport'+-- 'Vulkan.Core10.CommandBufferBuilding.cmdSetViewport',+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT' data Viewport = Viewport { -- | @x@ and @y@ are the viewport’s upper left corner (x,y). x :: Float@@ -3568,6 +3569,33 @@ -- -- - @flags@ /must/ not include -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR'+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature is not enabled, there /must/ be no element of the+-- @pDynamicStates@ member of @pDynamicState@ set to+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CULL_MODE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRONT_FACE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT',+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT',+-- or 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_OP_EXT'+--+-- - If+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- is included in the @pDynamicStates@ array then @viewportCount@+-- /must/ be zero+--+-- - If+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- is included in the @pDynamicStates@ array then @scissorCount@ /must/+-- be zero -- -- - If @flags@ includes -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV',
src/Vulkan/Core10/Sampler.hs view
@@ -99,6 +99,12 @@ -- | vkCreateSampler - Create a new sampler object --+-- == Valid Usage+--+-- - There /must/ be less than+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxSamplerAllocationCount@+-- VkSampler objects currently created on the device.+-- -- == Valid Usage (Implicit) -- -- - @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle@@ -305,8 +311,8 @@ -- - If -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion> -- is enabled and the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- do not support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT', -- @minFilter@ and @magFilter@ /must/ be equal to the sampler Y′CBCR -- conversion’s @chromaFilter@@@ -420,6 +426,12 @@ -- a -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT' -- /must/ be present in the @pNext@ chain+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-customBorderColors customBorderColors>+-- feature is not enabled, @borderColor@ /must/ not be set to+-- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_CUSTOM_EXT' or+-- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_INT_CUSTOM_EXT' -- -- - The maximum number of samplers with custom border colors which /can/ -- be simultaneously created on a device is implementation-dependent
src/Vulkan/Core10/Shader.hs view
@@ -281,10 +281,9 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities SPIR-V Environment> -- appendix ----- - If @pCode@ declares any of the capabilities listed as /optional/ in--- the+-- - If @pCode@ declares any of the capabilities listed in the -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table SPIR-V Environment>--- appendix, the corresponding feature(s) /must/ be enabled+-- appendix, one of the corresponding requirements /must/ be satisfied -- -- == Valid Usage (Implicit) --
src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs view
@@ -370,8 +370,10 @@ -> -- | @pData@ is a pointer to memory containing one or more -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', or- -- 'Vulkan.Core10.Handles.BufferView' structures used to write the- -- descriptors.+ -- 'Vulkan.Core10.Handles.BufferView' structures or+ -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR' or+ -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureNV' handles+ -- used to write the descriptors. ("data" ::: Ptr ()) -> io () updateDescriptorSetWithTemplate device descriptorSet descriptorUpdateTemplate data' = liftIO $ do
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -378,6 +378,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - @baseGroupX@ /must/ be less than -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0] --
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -112,6 +112,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_discard_rectangles (PhysicalDeviceDiscardRectanglePropertiesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state (PhysicalDeviceExtendedDynamicStateFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities (PhysicalDeviceExternalImageFormatInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_external_memory_host (PhysicalDeviceExternalMemoryHostPropertiesEXT) import Vulkan.Core10.DeviceInitialization (PhysicalDeviceFeatures)@@ -145,6 +146,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance2 (PhysicalDevicePointClippingProperties)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PhysicalDevicePrivateDataFeaturesEXT) import Vulkan.Core10.DeviceInitialization (PhysicalDeviceProperties) import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (PhysicalDeviceProtectedMemoryFeatures) import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (PhysicalDeviceProtectedMemoryProperties)@@ -636,6 +638,7 @@ extends _ f | Just Refl <- eqT @e @PhysicalDeviceRobustness2FeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceDiagnosticsConfigFeaturesNV = Just f+ | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicStateFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceCustomBorderColorFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceCoherentMemoryFeaturesAMD = Just f | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f@@ -695,6 +698,7 @@ | Just Refl <- eqT @e @PhysicalDevice16BitStorageFeatures = Just f | Just Refl <- eqT @e @PhysicalDeviceMultiviewFeatures = Just f | Just Refl <- eqT @e @PhysicalDeviceVariablePointersFeatures = Just f+ | Just Refl <- eqT @e @PhysicalDevicePrivateDataFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = Just f | otherwise = Nothing
src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs view
@@ -357,51 +357,50 @@ -- a @UNORM@ format) -- -- - The--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- /must/ support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion /must/ support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT' -- or -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- do not support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT', -- @xChromaOffset@ and @yChromaOffset@ /must/ not be -- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- do not support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT', -- @xChromaOffset@ and @yChromaOffset@ /must/ not be -- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT' -- -- - If the format has a @_422@ or @_420@ suffix, then @components.g@--- /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'+-- /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle> -- -- - If the format has a @_422@ or @_420@ suffix, then @components.a@--- /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY',+-- /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>, -- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ONE', or -- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ZERO' -- -- - If the format has a @_422@ or @_420@ suffix, then @components.r@--- /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY' or--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_B'+-- /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+-- or 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_B' -- -- - If the format has a @_422@ or @_420@ suffix, then @components.b@--- /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY' or--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_R'+-- /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+-- or 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_R' -- -- - If the format has a @_422@ or @_420@ suffix, and if either--- @components.r@ or @components.b@ is--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY',--- both values /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'+-- @components.r@ or @components.b@ is the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>,+-- both values /must/ be the identity swizzle -- -- - If @ycbcrModel@ is not -- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY',@@ -421,15 +420,15 @@ -- equal to 8 -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- do not support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT' -- @forceExplicitReconstruction@ /must/ be -- 'Vulkan.Core10.FundamentalTypes.FALSE' -- -- - If the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-sampler-ycbcr-conversion-format-features sampler Y′CBCR conversion’s features>--- do not support+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- of the sampler Y′CBCR conversion do not support -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT', -- @chromaFilter@ /must/ not be -- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'
src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs view
@@ -65,11 +65,12 @@ -- If @filterMinmaxImageComponentMapping@ is -- 'Vulkan.Core10.FundamentalTypes.FALSE' the component mapping of the -- image view used with min\/max filtering /must/ have been created with--- the @r@ component set to--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'. Only--- the @r@ component of the sampled image value is defined and the other--- component values are undefined. If @filterMinmaxImageComponentMapping@--- is 'Vulkan.Core10.FundamentalTypes.TRUE' this restriction does not apply+-- the @r@ component set to the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>.+-- Only the @r@ component of the sampled image value is defined and the+-- other component values are undefined. If+-- @filterMinmaxImageComponentMapping@ is+-- 'Vulkan.Core10.FundamentalTypes.TRUE' this restriction does not apply -- and image component mapping works as normal. -- -- == Valid Usage (Implicit)
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -326,6 +326,36 @@ -- 'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT' -- set --+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pInputAttachments@ of any element+-- of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- contain at least+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+-- or+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pColorAttachments@ of any element+-- of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- contain+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pResolveAttachments@ of any+-- element of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- contain+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'+--+-- - Each element of the @pAttachments@ of @framebuffer@ that is+-- referenced by any element of the @pDepthStencilAttachment@ of any+-- element of @pSubpasses@ of @renderPass@ /must/ have+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features image view format features>+-- contain+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'+-- -- == Valid Usage (Implicit) -- -- - @commandBuffer@ /must/ be a valid@@ -1104,25 +1134,33 @@ -- sample count -- -- - All attachments in @pInputAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain at least one of+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain at least -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- or -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- - All attachments in @pColorAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- -- - All attachments in @pResolveAttachments@ that are not--- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have formats--- whose features contain+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have image+-- formats whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT' -- -- - If @pDepthStencilAttachment@ is not @NULL@ and the attachment is not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' then it /must/ have a--- format whose features contain+-- image format whose+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>+-- contain -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT' -- -- - If the @VK_AMD_mixed_attachment_samples@ extension is enabled, all
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -178,6 +178,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -212,6 +217,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - All vertex input bindings accessed via vertex input variables -- declared in the vertex shader entry point’s interface /must/ have -- either valid or 'Vulkan.Core10.APIConstants.NULL_HANDLE' buffers@@ -503,6 +561,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -536,6 +599,59 @@ -- been created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state -- -- - All vertex input bindings accessed via vertex input variables -- declared in the vertex shader entry point’s interface /must/ have
src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs view
@@ -39,22 +39,6 @@ -- created as if the 'ImageFormatListCreateInfo' structure were not -- included in the @pNext@ list of 'Vulkan.Core10.Image.ImageCreateInfo'. ----- == Valid Usage------ - If @viewFormatCount@ is not @0@, all of the formats in the--- @pViewFormats@ array /must/ be compatible with the format specified--- in the @format@ field of 'Vulkan.Core10.Image.ImageCreateInfo', as--- described in the--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility compatibility table>------ - If 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ does not contain--- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT',--- @viewFormatCount@ /must/ be @0@ or @1@------ - If @viewFormatCount@ is not @0@,--- 'Vulkan.Core10.Image.ImageCreateInfo'::@format@ /must/ be in--- @pViewFormats@--- -- == Valid Usage (Implicit) -- -- - @sType@ /must/ be
src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs view
@@ -302,6 +302,10 @@ -- - Each element of @pAttachments@ /must/ have been created with the -- identity swizzle --+-- - Each element of @pAttachments@ /must/ have been created with+-- 'Vulkan.Core10.ImageView.ImageViewCreateInfo'::@viewType@ not equal+-- to 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_3D'+-- -- == Valid Usage (Implicit) -- -- - @sType@ /must/ be
src/Vulkan/Dynamic.hs view
@@ -69,6 +69,7 @@ import {-# SOURCE #-} Vulkan.Core10.CommandPool (CommandPoolCreateInfo) import {-# SOURCE #-} Vulkan.Core10.Enums.CommandPoolResetFlagBits (CommandPoolResetFlags) import {-# SOURCE #-} Vulkan.Core11.Enums.CommandPoolTrimFlags (CommandPoolTrimFlags)+import {-# SOURCE #-} Vulkan.Core10.Enums.CompareOp (CompareOp) import {-# SOURCE #-} Vulkan.Core10.Pipeline (ComputePipelineCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conditional_rendering (ConditionalRenderingBeginInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_cooperative_matrix (CooperativeMatrixPropertiesNV)@@ -77,6 +78,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyAccelerationStructureToMemoryInfoKHR) import {-# SOURCE #-} Vulkan.Core10.DescriptorSet (CopyDescriptorSet) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (CopyMemoryToAccelerationStructureInfoKHR)+import {-# SOURCE #-} Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerMarkerInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerObjectNameInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_debug_marker (DebugMarkerObjectTagInfoEXT)@@ -151,6 +153,7 @@ import {-# SOURCE #-} Vulkan.Core10.Handles (Framebuffer) import {-# SOURCE #-} Vulkan.Core10.Pass (FramebufferCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (FramebufferMixedSamplesCombinationNV)+import {-# SOURCE #-} Vulkan.Core10.Enums.FrontFace (FrontFace) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsInfoNV) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (GeneratedCommandsMemoryRequirementsInfoNV) import {-# SOURCE #-} Vulkan.Core10.Pipeline (GraphicsPipelineCreateInfo)@@ -250,6 +253,7 @@ import {-# SOURCE #-} Vulkan.Core10.Enums.PipelineStageFlagBits (PipelineStageFlags) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (PresentInfoKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_surface (PresentModeKHR)+import {-# SOURCE #-} Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PrivateDataSlotCreateInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.Handles (PrivateDataSlotEXT) import {-# SOURCE #-} Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags)@@ -295,6 +299,7 @@ import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (SparseImageMemoryRequirements) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (SparseImageMemoryRequirements2) import {-# SOURCE #-} Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlags)+import {-# SOURCE #-} Vulkan.Core10.Enums.StencilOp (StencilOp) import {-# SOURCE #-} Vulkan.Extensions.VK_GGP_stream_descriptor_surface (StreamDescriptorSurfaceCreateInfoGGP) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing (StridedBufferRegionKHR) import {-# SOURCE #-} Vulkan.Core10.Queue (SubmitInfo)@@ -882,6 +887,18 @@ , pVkGetDeferredOperationMaxConcurrencyKHR :: FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Word32) , pVkGetDeferredOperationResultKHR :: FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result) , pVkDeferredOperationJoinKHR :: FunPtr (Ptr Device_T -> DeferredOperationKHR -> IO Result)+ , pVkCmdSetCullModeEXT :: FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ())+ , pVkCmdSetFrontFaceEXT :: FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ())+ , pVkCmdSetPrimitiveTopologyEXT :: FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ())+ , pVkCmdSetViewportWithCountEXT :: FunPtr (Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ())+ , pVkCmdSetScissorWithCountEXT :: FunPtr (Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ())+ , pVkCmdBindVertexBuffers2EXT :: FunPtr (Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ())+ , pVkCmdSetDepthTestEnableEXT :: FunPtr (Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ())+ , pVkCmdSetDepthWriteEnableEXT :: FunPtr (Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ())+ , pVkCmdSetDepthCompareOpEXT :: FunPtr (Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ())+ , pVkCmdSetDepthBoundsTestEnableEXT :: FunPtr (Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ())+ , pVkCmdSetStencilTestEnableEXT :: FunPtr (Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ())+ , pVkCmdSetStencilOpEXT :: FunPtr (Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ()) , pVkCreatePrivateDataSlotEXT :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlotEXT) -> IO Result) , pVkDestroyPrivateDataSlotEXT :: FunPtr (Ptr Device_T -> PrivateDataSlotEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) , pVkSetPrivateDataEXT :: FunPtr (Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> IO Result)@@ -928,7 +945,9 @@ nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr- nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr+ nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr+ nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr+ nullFunPtr foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -1230,6 +1249,18 @@ vkGetDeferredOperationMaxConcurrencyKHR <- getDeviceProcAddr' handle (Ptr "vkGetDeferredOperationMaxConcurrencyKHR"#) vkGetDeferredOperationResultKHR <- getDeviceProcAddr' handle (Ptr "vkGetDeferredOperationResultKHR"#) vkDeferredOperationJoinKHR <- getDeviceProcAddr' handle (Ptr "vkDeferredOperationJoinKHR"#)+ vkCmdSetCullModeEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetCullModeEXT"#)+ vkCmdSetFrontFaceEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetFrontFaceEXT"#)+ vkCmdSetPrimitiveTopologyEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetPrimitiveTopologyEXT"#)+ vkCmdSetViewportWithCountEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetViewportWithCountEXT"#)+ vkCmdSetScissorWithCountEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetScissorWithCountEXT"#)+ vkCmdBindVertexBuffers2EXT <- getDeviceProcAddr' handle (Ptr "vkCmdBindVertexBuffers2EXT"#)+ vkCmdSetDepthTestEnableEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDepthTestEnableEXT"#)+ vkCmdSetDepthWriteEnableEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDepthWriteEnableEXT"#)+ vkCmdSetDepthCompareOpEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDepthCompareOpEXT"#)+ vkCmdSetDepthBoundsTestEnableEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDepthBoundsTestEnableEXT"#)+ vkCmdSetStencilTestEnableEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetStencilTestEnableEXT"#)+ vkCmdSetStencilOpEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetStencilOpEXT"#) vkCreatePrivateDataSlotEXT <- getDeviceProcAddr' handle (Ptr "vkCreatePrivateDataSlotEXT"#) vkDestroyPrivateDataSlotEXT <- getDeviceProcAddr' handle (Ptr "vkDestroyPrivateDataSlotEXT"#) vkSetPrivateDataEXT <- getDeviceProcAddr' handle (Ptr "vkSetPrivateDataEXT"#)@@ -1523,6 +1554,18 @@ (castFunPtr @_ @(Ptr Device_T -> DeferredOperationKHR -> IO Word32) vkGetDeferredOperationMaxConcurrencyKHR) (castFunPtr @_ @(Ptr Device_T -> DeferredOperationKHR -> IO Result) vkGetDeferredOperationResultKHR) (castFunPtr @_ @(Ptr Device_T -> DeferredOperationKHR -> IO Result) vkDeferredOperationJoinKHR)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> CullModeFlags -> IO ()) vkCmdSetCullModeEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> FrontFace -> IO ()) vkCmdSetFrontFaceEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) vkCmdSetPrimitiveTopologyEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr Viewport) -> IO ()) vkCmdSetViewportWithCountEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr Rect2D) -> IO ()) vkCmdSetScissorWithCountEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr Buffer) -> ("pOffsets" ::: Ptr DeviceSize) -> ("pSizes" ::: Ptr DeviceSize) -> ("pStrides" ::: Ptr DeviceSize) -> IO ()) vkCmdBindVertexBuffers2EXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("depthTestEnable" ::: Bool32) -> IO ()) vkCmdSetDepthTestEnableEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("depthWriteEnable" ::: Bool32) -> IO ()) vkCmdSetDepthWriteEnableEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("depthCompareOp" ::: CompareOp) -> IO ()) vkCmdSetDepthCompareOpEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("depthBoundsTestEnable" ::: Bool32) -> IO ()) vkCmdSetDepthBoundsTestEnableEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("stencilTestEnable" ::: Bool32) -> IO ()) vkCmdSetStencilTestEnableEXT)+ (castFunPtr @_ @(Ptr CommandBuffer_T -> ("faceMask" ::: StencilFaceFlags) -> ("failOp" ::: StencilOp) -> ("passOp" ::: StencilOp) -> ("depthFailOp" ::: StencilOp) -> CompareOp -> IO ()) vkCmdSetStencilOpEXT) (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr PrivateDataSlotCreateInfoEXT) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPrivateDataSlot" ::: Ptr PrivateDataSlotEXT) -> IO Result) vkCreatePrivateDataSlotEXT) (castFunPtr @_ @(Ptr Device_T -> PrivateDataSlotEXT -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyPrivateDataSlotEXT) (castFunPtr @_ @(Ptr Device_T -> ObjectType -> ("objectHandle" ::: Word64) -> PrivateDataSlotEXT -> ("data" ::: Word64) -> IO Result) vkSetPrivateDataEXT)
src/Vulkan/Extensions.hs view
@@ -40,6 +40,7 @@ , module Vulkan.Extensions.VK_EXT_discard_rectangles , module Vulkan.Extensions.VK_EXT_display_control , module Vulkan.Extensions.VK_EXT_display_surface_counter+ , module Vulkan.Extensions.VK_EXT_extended_dynamic_state , module Vulkan.Extensions.VK_EXT_external_memory_dma_buf , module Vulkan.Extensions.VK_EXT_external_memory_host , module Vulkan.Extensions.VK_EXT_filter_cubic@@ -247,6 +248,7 @@ import Vulkan.Extensions.VK_EXT_discard_rectangles import Vulkan.Extensions.VK_EXT_display_control import Vulkan.Extensions.VK_EXT_display_surface_counter+import Vulkan.Extensions.VK_EXT_extended_dynamic_state import Vulkan.Extensions.VK_EXT_external_memory_dma_buf import Vulkan.Extensions.VK_EXT_external_memory_host import Vulkan.Extensions.VK_EXT_filter_cubic
src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -221,9 +221,8 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.ExternalBufferProperties' -- -- - If @buffer@ is not @NULL@, it /must/ be a valid Android hardware--- buffer object with @AHardwareBuffer_Desc@::@format@ and--- @AHardwareBuffer_Desc@::@usage@ compatible with Vulkan as described--- in+-- buffer object with @AHardwareBuffer_Desc@::@usage@ compatible with+-- Vulkan as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-external-android-hardware-buffer Android Hardware Buffers> -- -- == Valid Usage (Implicit)@@ -566,8 +565,8 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo' -- with that format. If @format@ is -- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED', all members of--- @samplerYcbcrConversionComponents@ /must/ be--- 'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_IDENTITY'.+-- @samplerYcbcrConversionComponents@ /must/ be the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>. -- -- Implementations /may/ not always be able to determine the color model, -- numerical range, or chroma offsets of the image contents, so the values
src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs view
@@ -50,35 +50,8 @@ -- 'Vulkan.Core10.Enums.Format.FORMAT_R8G8B8A8_UNORM' the image view -- /must/ not include blocks using any of the ASTC HDR modes ----- - @format@ of the image view /must/ be one of--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_4x4_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_4x4_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x4_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x4_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x5_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x5_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x5_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x5_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x6_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x6_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x5_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x5_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x6_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x6_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x8_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x8_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x5_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x5_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x6_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x6_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x8_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x8_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x10_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x10_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x10_UNORM_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x10_SRGB_BLOCK',--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x12_UNORM_BLOCK', or--- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x12_SRGB_BLOCK'+-- - @format@ of the image view /must/ be one of the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#appendix-compressedtex-astc ASTC Compressed Image Formats> -- -- If @format@ uses sRGB encoding then the @decodeMode@ has no effect. --
src/Vulkan/Extensions/VK_EXT_custom_border_color.hs view
@@ -57,7 +57,9 @@ -- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' -- -- - If the sampler is used to sample an image view of--- 'Vulkan.Core10.Enums.Format.FORMAT_B4G4R4A4_UNORM_PACK16' format+-- 'Vulkan.Core10.Enums.Format.FORMAT_B4G4R4A4_UNORM_PACK16',+-- 'Vulkan.Core10.Enums.Format.FORMAT_B5G6R5_UNORM_PACK16', or+-- 'Vulkan.Core10.Enums.Format.FORMAT_B5G5R5A1_UNORM_PACK16' format -- then @format@ /must/ not be -- 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' --
+ src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs view
@@ -0,0 +1,1229 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_extended_dynamic_state ( cmdSetCullModeEXT+ , cmdSetFrontFaceEXT+ , cmdSetPrimitiveTopologyEXT+ , cmdSetViewportWithCountEXT+ , cmdSetScissorWithCountEXT+ , cmdBindVertexBuffers2EXT+ , cmdSetDepthTestEnableEXT+ , cmdSetDepthWriteEnableEXT+ , cmdSetDepthCompareOpEXT+ , cmdSetDepthBoundsTestEnableEXT+ , cmdSetStencilTestEnableEXT+ , cmdSetStencilOpEXT+ , PhysicalDeviceExtendedDynamicStateFeaturesEXT(..)+ , EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION+ , pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION+ , EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME+ , pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME+ ) where++import Control.Monad (unless)+import Control.Monad.IO.Class (liftIO)+import Foreign.Marshal.Alloc (allocaBytesAligned)+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 qualified Data.Vector (imapM_)+import qualified Data.Vector (length)+import qualified Data.Vector (null)+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.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.NamedType ((:::))+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.Core10.FundamentalTypes (Bool32(..))+import Vulkan.Core10.Handles (Buffer)+import Vulkan.Core10.Handles (Buffer(..))+import Vulkan.Core10.Handles (CommandBuffer)+import Vulkan.Core10.Handles (CommandBuffer(..))+import Vulkan.Core10.Handles (CommandBuffer_T)+import Vulkan.Core10.Enums.CompareOp (CompareOp)+import Vulkan.Core10.Enums.CompareOp (CompareOp(..))+import Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlagBits(..))+import Vulkan.Core10.Enums.CullModeFlagBits (CullModeFlags)+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindVertexBuffers2EXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetCullModeEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDepthBoundsTestEnableEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDepthCompareOpEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDepthTestEnableEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDepthWriteEnableEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetFrontFaceEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetPrimitiveTopologyEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetScissorWithCountEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetStencilOpEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetStencilTestEnableEXT))+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportWithCountEXT))+import Vulkan.Core10.FundamentalTypes (DeviceSize)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.Core10.Enums.FrontFace (FrontFace)+import Vulkan.Core10.Enums.FrontFace (FrontFace(..))+import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology)+import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology(..))+import Vulkan.Core10.FundamentalTypes (Rect2D)+import Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlagBits(..))+import Vulkan.Core10.Enums.StencilFaceFlagBits (StencilFaceFlags)+import Vulkan.Core10.Enums.StencilOp (StencilOp)+import Vulkan.Core10.Enums.StencilOp (StencilOp(..))+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Core10.Pipeline (Viewport)+import Vulkan.Zero (Zero(..))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT))+foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetCullModeEXT+ :: FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ()) -> Ptr CommandBuffer_T -> CullModeFlags -> IO ()++-- | vkCmdSetCullModeEXT - Set the cull mode property+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @cullMode@ /must/ be a valid combination of+-- 'Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlagBits' values+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlags'+cmdSetCullModeEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @cullMode@ specifies the cull mode property to use for drawing.+ CullModeFlags+ -> io ()+cmdSetCullModeEXT commandBuffer cullMode = liftIO $ do+ let vkCmdSetCullModeEXTPtr = pVkCmdSetCullModeEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetCullModeEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetCullModeEXT is null" Nothing Nothing+ let vkCmdSetCullModeEXT' = mkVkCmdSetCullModeEXT vkCmdSetCullModeEXTPtr+ vkCmdSetCullModeEXT' (commandBufferHandle (commandBuffer)) (cullMode)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetFrontFaceEXT+ :: FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ()) -> Ptr CommandBuffer_T -> FrontFace -> IO ()++-- | vkCmdSetFrontFaceEXT - Set the front face property+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @frontFace@ /must/ be a valid+-- 'Vulkan.Core10.Enums.FrontFace.FrontFace' value+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.FrontFace.FrontFace'+cmdSetFrontFaceEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @frontFace@ specifies the front face property to use for drawing.+ FrontFace+ -> io ()+cmdSetFrontFaceEXT commandBuffer frontFace = liftIO $ do+ let vkCmdSetFrontFaceEXTPtr = pVkCmdSetFrontFaceEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetFrontFaceEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetFrontFaceEXT is null" Nothing Nothing+ let vkCmdSetFrontFaceEXT' = mkVkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXTPtr+ vkCmdSetFrontFaceEXT' (commandBufferHandle (commandBuffer)) (frontFace)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetPrimitiveTopologyEXT+ :: FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) -> Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()++-- | vkCmdSetPrimitiveTopologyEXT - Set the primitive topology state+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @primitiveTopology@ /must/ be a valid+-- 'Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology' value+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology'+cmdSetPrimitiveTopologyEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- No documentation found for Nested "vkCmdSetPrimitiveTopologyEXT" "primitiveTopology"+ PrimitiveTopology+ -> io ()+cmdSetPrimitiveTopologyEXT commandBuffer primitiveTopology = liftIO $ do+ let vkCmdSetPrimitiveTopologyEXTPtr = pVkCmdSetPrimitiveTopologyEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetPrimitiveTopologyEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetPrimitiveTopologyEXT is null" Nothing Nothing+ let vkCmdSetPrimitiveTopologyEXT' = mkVkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXTPtr+ vkCmdSetPrimitiveTopologyEXT' (commandBufferHandle (commandBuffer)) (primitiveTopology)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetViewportWithCountEXT+ :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Viewport -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Viewport -> IO ()++-- | vkCmdSetViewportWithCountEXT - Set the viewport count and viewports+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- - @viewportCount@ /must/ be between @1@ and+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewports@,+-- inclusive+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-multiViewport multiple viewports>+-- feature is not enabled, @viewportCount@ /must/ be @1@+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @pViewports@ /must/ be a valid pointer to an array of+-- @viewportCount@ valid 'Vulkan.Core10.Pipeline.Viewport' structures+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- - @viewportCount@ /must/ be greater than @0@+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Pipeline.Viewport'+cmdSetViewportWithCountEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @pViewports@ specifies the viewports to use for drawing.+ ("viewports" ::: Vector Viewport)+ -> io ()+cmdSetViewportWithCountEXT commandBuffer viewports = liftIO . evalContT $ do+ let vkCmdSetViewportWithCountEXTPtr = pVkCmdSetViewportWithCountEXT (deviceCmds (commandBuffer :: CommandBuffer))+ lift $ unless (vkCmdSetViewportWithCountEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetViewportWithCountEXT is null" Nothing Nothing+ let vkCmdSetViewportWithCountEXT' = mkVkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXTPtr+ pPViewports <- ContT $ allocaBytesAligned @Viewport ((Data.Vector.length (viewports)) * 24) 4+ Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPViewports `plusPtr` (24 * (i)) :: Ptr Viewport) (e) . ($ ())) (viewports)+ lift $ vkCmdSetViewportWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (viewports)) :: Word32)) (pPViewports)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetScissorWithCountEXT+ :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Rect2D -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Rect2D -> IO ()++-- | vkCmdSetScissorWithCountEXT - Set the scissor count and scissors+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- - @scissorCount@ /must/ be between @1@ and+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxViewports@,+-- inclusive+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-multiViewport multiple viewports>+-- feature is not enabled, @scissorCount@ /must/ be @1@+--+-- - The @x@ and @y@ members of @offset@ member of any element of+-- @pScissors@ /must/ be greater than or equal to @0@+--+-- - Evaluation of (@offset.x@ + @extent.width@) /must/ not cause a+-- signed integer addition overflow for any element of @pScissors@+--+-- - Evaluation of (@offset.y@ + @extent.height@) /must/ not cause a+-- signed integer addition overflow for any element of @pScissors@+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @pScissors@ /must/ be a valid pointer to an array of @scissorCount@+-- 'Vulkan.Core10.FundamentalTypes.Rect2D' structures+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- - @scissorCount@ /must/ be greater than @0@+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.Rect2D'+cmdSetScissorWithCountEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @pScissors@ specifies the scissors to use for drawing.+ ("scissors" ::: Vector Rect2D)+ -> io ()+cmdSetScissorWithCountEXT commandBuffer scissors = liftIO . evalContT $ do+ let vkCmdSetScissorWithCountEXTPtr = pVkCmdSetScissorWithCountEXT (deviceCmds (commandBuffer :: CommandBuffer))+ lift $ unless (vkCmdSetScissorWithCountEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetScissorWithCountEXT is null" Nothing Nothing+ let vkCmdSetScissorWithCountEXT' = mkVkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXTPtr+ pPScissors <- ContT $ allocaBytesAligned @Rect2D ((Data.Vector.length (scissors)) * 16) 4+ Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPScissors `plusPtr` (16 * (i)) :: Ptr Rect2D) (e) . ($ ())) (scissors)+ lift $ vkCmdSetScissorWithCountEXT' (commandBufferHandle (commandBuffer)) ((fromIntegral (Data.Vector.length $ (scissors)) :: Word32)) (pPScissors)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdBindVertexBuffers2EXT+ :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Buffer -> Ptr DeviceSize -> Ptr DeviceSize -> Ptr DeviceSize -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Buffer -> Ptr DeviceSize -> Ptr DeviceSize -> Ptr DeviceSize -> IO ()++-- | vkCmdBindVertexBuffers2EXT - Bind vertex buffers to a command buffer+--+-- = Description+--+-- The values taken from elements i of @pBuffers@ and @pOffsets@ replace+-- the current state for the vertex input binding @firstBinding@ + i, for i+-- in [0, @bindingCount@). The vertex input binding is updated to start at+-- the offset indicated by @pOffsets@[i] from the start of the buffer+-- @pBuffers@[i] If @pSizes@ is not @NULL@ then @pSizes@[i] specifies the+-- bound size of the corresponding vertex buffer. All vertex input+-- attributes that use each of these bindings will use these updated+-- addresses in their address calculations for subsequent draw commands.+--+-- If the bound pipeline state object was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'+-- dynamic state enabled then @pStrides@[i] specifies the distance in bytes+-- between two consecutive elements within the corresponding buffer. In+-- this case the+-- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'::@stride@ state+-- from the pipeline state object is ignored.+--+-- == Valid Usage+--+-- - @firstBinding@ /must/ be less than+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputBindings@+--+-- - The sum of @firstBinding@ and @bindingCount@ /must/ be less than or+-- equal to+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputBindings@+--+-- - All elements of @pOffsets@ /must/ be less than the size of the+-- corresponding element in @pBuffers@+--+-- - If @pSizes@ is not @NULL@, all elements of @pOffsets@ plus @pSizes@+-- /must/ be less than or equal to the size of the corresponding+-- element in @pBuffers@+--+-- - All elements of @pBuffers@ /must/ have been created with the+-- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_VERTEX_BUFFER_BIT'+-- flag+--+-- - Each element of @pBuffers@ that is non-sparse /must/ be bound+-- completely and contiguously to a single+-- 'Vulkan.Core10.Handles.DeviceMemory' object+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>+-- feature is not enabled, all elements of @pBuffers@ /must/ not be+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'+--+-- - If an element of @pBuffers@ is+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', then the corresponding+-- element of @pOffsets@ /must/ be zero+--+-- - If the bound pipeline state object was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'+-- dynamic state enabled then @pStrides@ /must/ not be @NULL@,+-- otherwise @pStrides@ /must/ be @NULL@+--+-- - If @pStrides@ is not @NULL@ each element of @pStrides@ /must/ be+-- less than or equal to+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputBindingStride@+--+-- - If @pStrides@ is not @NULL@ each element of @pStrides@ /must/ be+-- greater than or equal to the maximum extent of of all vertex input+-- attributes fetched from the corresponding binding, where the extent+-- is calculated as the VkVertexInputAttributeDescription::offset plus+-- VkVertexInputAttributeDescription::format size+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @pBuffers@ /must/ be a valid pointer to an array of @bindingCount@+-- valid 'Vulkan.Core10.Handles.Buffer' handles+--+-- - @pOffsets@ /must/ be a valid pointer to an array of @bindingCount@+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' values+--+-- - If @pSizes@ is not @NULL@, @pSizes@ /must/ be a valid pointer to an+-- array of @bindingCount@ 'Vulkan.Core10.FundamentalTypes.DeviceSize'+-- values+--+-- - If @pStrides@ is not @NULL@, @pStrides@ /must/ be a valid pointer to+-- an array of @bindingCount@+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize' values+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- - If any of @pSizes@, or @pStrides@ are not @NULL@, @bindingCount@+-- /must/ be greater than @0@+--+-- - Both of @commandBuffer@, and the elements of @pBuffers@ /must/ have+-- been created, allocated, or retrieved from the same+-- 'Vulkan.Core10.Handles.Device'+--+-- == Host Synchronization+--+-- - Host access to @commandBuffer@ /must/ be externally synchronized+--+-- - Host access to the 'Vulkan.Core10.Handles.CommandPool' that+-- @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize'+cmdBindVertexBuffers2EXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command is+ -- recorded.+ CommandBuffer+ -> -- | @firstBinding@ is the index of the first vertex input binding whose+ -- state is updated by the command.+ ("firstBinding" ::: Word32)+ -> -- | @pBuffers@ is a pointer to an array of buffer handles.+ ("buffers" ::: Vector Buffer)+ -> -- | @pOffsets@ is a pointer to an array of buffer offsets.+ ("offsets" ::: Vector DeviceSize)+ -> -- | @pSizes@ is optional, and when not @NULL@ is a pointer to an array of+ -- buffer sizes.+ ("sizes" ::: Vector DeviceSize)+ -> -- | @pStrides@ is optional, and when not @NULL@ is a pointer to an array of+ -- buffer strides.+ ("strides" ::: Vector DeviceSize)+ -> io ()+cmdBindVertexBuffers2EXT commandBuffer firstBinding buffers offsets sizes strides = liftIO . evalContT $ do+ let vkCmdBindVertexBuffers2EXTPtr = pVkCmdBindVertexBuffers2EXT (deviceCmds (commandBuffer :: CommandBuffer))+ lift $ unless (vkCmdBindVertexBuffers2EXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindVertexBuffers2EXT is null" Nothing Nothing+ let vkCmdBindVertexBuffers2EXT' = mkVkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXTPtr+ let pBuffersLength = Data.Vector.length $ (buffers)+ lift $ unless ((Data.Vector.length $ (offsets)) == pBuffersLength) $+ throwIO $ IOError Nothing InvalidArgument "" "pOffsets and pBuffers must have the same length" Nothing Nothing+ let pSizesLength = Data.Vector.length $ (sizes)+ lift $ unless (fromIntegral pSizesLength == pBuffersLength || pSizesLength == 0) $+ throwIO $ IOError Nothing InvalidArgument "" "pSizes and pBuffers must have the same length" Nothing Nothing+ let pStridesLength = Data.Vector.length $ (strides)+ lift $ unless (fromIntegral pStridesLength == pBuffersLength || pStridesLength == 0) $+ throwIO $ IOError Nothing InvalidArgument "" "pStrides and pBuffers must have the same length" Nothing Nothing+ pPBuffers <- ContT $ allocaBytesAligned @Buffer ((Data.Vector.length (buffers)) * 8) 8+ lift $ Data.Vector.imapM_ (\i e -> poke (pPBuffers `plusPtr` (8 * (i)) :: Ptr Buffer) (e)) (buffers)+ pPOffsets <- ContT $ allocaBytesAligned @DeviceSize ((Data.Vector.length (offsets)) * 8) 8+ lift $ Data.Vector.imapM_ (\i e -> poke (pPOffsets `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (offsets)+ pSizes <- if Data.Vector.null (sizes)+ then pure nullPtr+ else do+ pPSizes <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (sizes))) * 8) 8+ lift $ Data.Vector.imapM_ (\i e -> poke (pPSizes `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((sizes))+ pure $ pPSizes+ pStrides <- if Data.Vector.null (strides)+ then pure nullPtr+ else do+ pPStrides <- ContT $ allocaBytesAligned @DeviceSize (((Data.Vector.length (strides))) * 8) 8+ lift $ Data.Vector.imapM_ (\i e -> poke (pPStrides `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) ((strides))+ pure $ pPStrides+ lift $ vkCmdBindVertexBuffers2EXT' (commandBufferHandle (commandBuffer)) (firstBinding) ((fromIntegral pBuffersLength :: Word32)) (pPBuffers) (pPOffsets) pSizes pStrides+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetDepthTestEnableEXT+ :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()++-- | vkCmdSetDepthTestEnableEXT - Set the depth test enable for a command+-- buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdSetDepthTestEnableEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @depthTestEnable@ specifies if the depth test is enabled.+ ("depthTestEnable" ::: Bool)+ -> io ()+cmdSetDepthTestEnableEXT commandBuffer depthTestEnable = liftIO $ do+ let vkCmdSetDepthTestEnableEXTPtr = pVkCmdSetDepthTestEnableEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetDepthTestEnableEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthTestEnableEXT is null" Nothing Nothing+ let vkCmdSetDepthTestEnableEXT' = mkVkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXTPtr+ vkCmdSetDepthTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthTestEnable))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetDepthWriteEnableEXT+ :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()++-- | vkCmdSetDepthWriteEnableEXT - Set the depth write enable for the command+-- buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdSetDepthWriteEnableEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @depthWriteEnable@ specifies if depth writes are enabled.+ ("depthWriteEnable" ::: Bool)+ -> io ()+cmdSetDepthWriteEnableEXT commandBuffer depthWriteEnable = liftIO $ do+ let vkCmdSetDepthWriteEnableEXTPtr = pVkCmdSetDepthWriteEnableEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetDepthWriteEnableEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthWriteEnableEXT is null" Nothing Nothing+ let vkCmdSetDepthWriteEnableEXT' = mkVkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXTPtr+ vkCmdSetDepthWriteEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthWriteEnable))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetDepthCompareOpEXT+ :: FunPtr (Ptr CommandBuffer_T -> CompareOp -> IO ()) -> Ptr CommandBuffer_T -> CompareOp -> IO ()++-- | vkCmdSetDepthCompareOpEXT - Set the depth comparison operator for the+-- command buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @depthCompareOp@ /must/ be a valid+-- 'Vulkan.Core10.Enums.CompareOp.CompareOp' value+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.CompareOp.CompareOp'+cmdSetDepthCompareOpEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @depthCompareOp@ specifies the depth comparison operator.+ ("depthCompareOp" ::: CompareOp)+ -> io ()+cmdSetDepthCompareOpEXT commandBuffer depthCompareOp = liftIO $ do+ let vkCmdSetDepthCompareOpEXTPtr = pVkCmdSetDepthCompareOpEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetDepthCompareOpEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthCompareOpEXT is null" Nothing Nothing+ let vkCmdSetDepthCompareOpEXT' = mkVkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXTPtr+ vkCmdSetDepthCompareOpEXT' (commandBufferHandle (commandBuffer)) (depthCompareOp)+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetDepthBoundsTestEnableEXT+ :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()++-- | vkCmdSetDepthBoundsTestEnableEXT - Set the depth bounds test enable for+-- a command buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdSetDepthBoundsTestEnableEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @depthBoundsTestEnable@ specifies if the depth bounds test is enabled.+ ("depthBoundsTestEnable" ::: Bool)+ -> io ()+cmdSetDepthBoundsTestEnableEXT commandBuffer depthBoundsTestEnable = liftIO $ do+ let vkCmdSetDepthBoundsTestEnableEXTPtr = pVkCmdSetDepthBoundsTestEnableEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetDepthBoundsTestEnableEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDepthBoundsTestEnableEXT is null" Nothing Nothing+ let vkCmdSetDepthBoundsTestEnableEXT' = mkVkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXTPtr+ vkCmdSetDepthBoundsTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (depthBoundsTestEnable))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetStencilTestEnableEXT+ :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()++-- | vkCmdSetStencilTestEnableEXT - Set the stencil test enable for the+-- command buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT'+-- set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Handles.CommandBuffer'+cmdSetStencilTestEnableEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @stencilTestEnable@ specifies if the stencil test is enabled.+ ("stencilTestEnable" ::: Bool)+ -> io ()+cmdSetStencilTestEnableEXT commandBuffer stencilTestEnable = liftIO $ do+ let vkCmdSetStencilTestEnableEXTPtr = pVkCmdSetStencilTestEnableEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetStencilTestEnableEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilTestEnableEXT is null" Nothing Nothing+ let vkCmdSetStencilTestEnableEXT' = mkVkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXTPtr+ vkCmdSetStencilTestEnableEXT' (commandBufferHandle (commandBuffer)) (boolToBool32 (stencilTestEnable))+ pure $ ()+++foreign import ccall+#if !defined(SAFE_FOREIGN_CALLS)+ unsafe+#endif+ "dynamic" mkVkCmdSetStencilOpEXT+ :: FunPtr (Ptr CommandBuffer_T -> StencilFaceFlags -> StencilOp -> StencilOp -> StencilOp -> CompareOp -> IO ()) -> Ptr CommandBuffer_T -> StencilFaceFlags -> StencilOp -> StencilOp -> StencilOp -> CompareOp -> IO ()++-- | vkCmdSetStencilOpEXT - Set the stencil operation for the command buffer+--+-- = Description+--+-- This command sets the state for a given draw when the graphics pipeline+-- is created with+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_OP_EXT' set in+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.+--+-- == Valid Usage+--+-- - The+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-extendedDynamicState extendedDynamicState>+-- feature /must/ be enabled+--+-- == Valid Usage (Implicit)+--+-- - @commandBuffer@ /must/ be a valid+-- 'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- - @faceMask@ /must/ be a valid combination of+-- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlagBits' values+--+-- - @faceMask@ /must/ not be @0@+--+-- - @failOp@ /must/ be a valid 'Vulkan.Core10.Enums.StencilOp.StencilOp'+-- value+--+-- - @passOp@ /must/ be a valid 'Vulkan.Core10.Enums.StencilOp.StencilOp'+-- value+--+-- - @depthFailOp@ /must/ be a valid+-- 'Vulkan.Core10.Enums.StencilOp.StencilOp' value+--+-- - @compareOp@ /must/ be a valid+-- 'Vulkan.Core10.Enums.CompareOp.CompareOp' value+--+-- - @commandBuffer@ /must/ be in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- - The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+-- allocated from /must/ support graphics operations+--+-- == 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#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-types Pipeline Type> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+=====================================================================================================================================++-- | Primary | Both | Graphics | |+-- | Secondary | | | |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- 'Vulkan.Core10.Handles.CommandBuffer',+-- 'Vulkan.Core10.Enums.CompareOp.CompareOp',+-- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlags',+-- 'Vulkan.Core10.Enums.StencilOp.StencilOp'+cmdSetStencilOpEXT :: forall io+ . (MonadIO io)+ => -- | @commandBuffer@ is the command buffer into which the command will be+ -- recorded.+ CommandBuffer+ -> -- | @faceMask@ is a bitmask of VkStencilFaceFlagBits specifying the set of+ -- stencil state for which to update the stencil operation.+ ("faceMask" ::: StencilFaceFlags)+ -> -- | @failOp@ is a 'Vulkan.Core10.Enums.StencilOp.StencilOp' value specifying+ -- the action performed on samples that fail the stencil test.+ ("failOp" ::: StencilOp)+ -> -- | @passOp@ is a 'Vulkan.Core10.Enums.StencilOp.StencilOp' value specifying+ -- the action performed on samples that pass both the depth and stencil+ -- tests.+ ("passOp" ::: StencilOp)+ -> -- | @depthFailOp@ is a 'Vulkan.Core10.Enums.StencilOp.StencilOp' value+ -- specifying the action performed on samples that pass the stencil test+ -- and fail the depth test.+ ("depthFailOp" ::: StencilOp)+ -> -- | @compareOp@ is a 'Vulkan.Core10.Enums.CompareOp.CompareOp' value+ -- specifying the comparison operator used in the stencil test.+ CompareOp+ -> io ()+cmdSetStencilOpEXT commandBuffer faceMask failOp passOp depthFailOp compareOp = liftIO $ do+ let vkCmdSetStencilOpEXTPtr = pVkCmdSetStencilOpEXT (deviceCmds (commandBuffer :: CommandBuffer))+ unless (vkCmdSetStencilOpEXTPtr /= nullFunPtr) $+ throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetStencilOpEXT is null" Nothing Nothing+ let vkCmdSetStencilOpEXT' = mkVkCmdSetStencilOpEXT vkCmdSetStencilOpEXTPtr+ vkCmdSetStencilOpEXT' (commandBufferHandle (commandBuffer)) (faceMask) (failOp) (passOp) (depthFailOp) (compareOp)+ pure $ ()+++-- | VkPhysicalDeviceExtendedDynamicStateFeaturesEXT - Structure describing+-- what extended dynamic state can be used+--+-- = Members+--+-- The members of the 'PhysicalDeviceExtendedDynamicStateFeaturesEXT'+-- structure describe the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceExtendedDynamicStateFeaturesEXT' structure is+-- included in the @pNext@ chain of+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+-- it is filled with values indicating whether the feature is supported.+-- 'PhysicalDeviceExtendedDynamicStateFeaturesEXT' /can/ also be used in+-- the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to enable+-- features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceExtendedDynamicStateFeaturesEXT = PhysicalDeviceExtendedDynamicStateFeaturesEXT+ { -- | @extendedDynamicState@ indicates that the implementation supports the+ -- following dynamic states:+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CULL_MODE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRONT_FACE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT'+ --+ -- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_OP_EXT'+ extendedDynamicState :: Bool }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceExtendedDynamicStateFeaturesEXT)+#endif+deriving instance Show PhysicalDeviceExtendedDynamicStateFeaturesEXT++instance ToCStruct PhysicalDeviceExtendedDynamicStateFeaturesEXT where+ withCStruct x f = allocaBytesAligned 24 8 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceExtendedDynamicStateFeaturesEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (extendedDynamicState))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceExtendedDynamicStateFeaturesEXT where+ peekCStruct p = do+ extendedDynamicState <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ pure $ PhysicalDeviceExtendedDynamicStateFeaturesEXT+ (bool32ToBool extendedDynamicState)++instance Storable PhysicalDeviceExtendedDynamicStateFeaturesEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceExtendedDynamicStateFeaturesEXT where+ zero = PhysicalDeviceExtendedDynamicStateFeaturesEXT+ zero+++type EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION"+pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall a . Integral a => a+pattern EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1+++type EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state"++-- No documentation found for TopLevel "VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME"+pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state"+
+ src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot view
@@ -0,0 +1,13 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_extended_dynamic_state (PhysicalDeviceExtendedDynamicStateFeaturesEXT) where++import Data.Kind (Type)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+data PhysicalDeviceExtendedDynamicStateFeaturesEXT++instance ToCStruct PhysicalDeviceExtendedDynamicStateFeaturesEXT+instance Show PhysicalDeviceExtendedDynamicStateFeaturesEXT++instance FromCStruct PhysicalDeviceExtendedDynamicStateFeaturesEXT+
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -273,7 +273,7 @@ -- @sampleLocationsPerPixel@ number of sample locations for each pixel in -- the grid of the size specified in @sampleLocationGridSize@. The sample -- location for sample i at the pixel grid location (x,y) is taken from--- @pSampleLocations@[(x + y * @sampleLocationGridSize.width@) *+-- @pSampleLocations@[(x + y × @sampleLocationGridSize.width@) × -- @sampleLocationsPerPixel@ + i]. -- -- If the render pass has a fragment density map, the implementation will
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -992,6 +992,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -1025,6 +1030,59 @@ -- been created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state -- -- - All vertex input bindings accessed via vertex input variables -- declared in the vertex shader entry point’s interface /must/ have
src/Vulkan/Extensions/VK_KHR_ray_tracing.hs view
@@ -1441,6 +1441,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline --@@ -2123,6 +2128,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline --@@ -4820,7 +4830,7 @@ -- geometry doesn’t use indices, the offset @primitiveOffset@ from -- 'AccelerationStructureGeometryTrianglesDataKHR'::@vertexData@ /must/ -- be a multiple of the component size of--- 'AccelerationStructureGeometryTrianglesDataKHR'::@vertexType@+-- 'AccelerationStructureGeometryTrianglesDataKHR'::@vertexFormat@ -- -- - For geometries of type 'GEOMETRY_TYPE_TRIANGLES_KHR', the offset -- @transformOffset@ from
src/Vulkan/Extensions/VK_KHR_swapchain.hs view
@@ -1414,6 +1414,23 @@ -- structure with a @viewFormatCount@ greater than zero and -- @pViewFormats@ /must/ have an element equal to @imageFormat@ --+-- - If a+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'+-- structure was included in the @pNext@ chain and+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@+-- is not zero then all of the formats in+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@pViewFormats@+-- /must/ be compatible with the @format@ as described in the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility compatibility table>+--+-- - If @flags@ dose not contain+-- 'SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR' and the @pNext@ chain+-- include a+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'+-- structure then+-- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@+-- /must/ be @0@ or @1@+-- -- - If @flags@ contains 'SWAPCHAIN_CREATE_PROTECTED_BIT_KHR', then -- 'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR'::@supportsProtected@ -- /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE' in the
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -317,6 +317,11 @@ -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command /must/ not be a protected resource --+-- - [[VUID-{refpage}-None-04115]] If a 'Vulkan.Core10.Handles.ImageView'+-- is accessed using @OpImageWrite@ as a result of this command, then+-- the @Type@ of the @Texel@ operand of that instruction /must/ have at+-- least as many components as the image view’s format.+-- -- - [[VUID-{refpage}-renderPass-02684]] The current render pass /must/ -- be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible>@@ -353,6 +358,63 @@ -- been created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set+--+-- - [[VUID-{refpage}-viewportCount-03417]] If the bound graphics+-- pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - [[VUID-{refpage}-scissorCount-03418]] If the bound graphics pipeline+-- state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - [[VUID-{refpage}-viewportCount-03419]] If the bound graphics+-- pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - [[VUID-{refpage}-primitiveTopology-03420]] If the bound graphics+-- pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state -- -- - [[VUID-{refpage}-None-04007]] All vertex input bindings accessed via -- vertex input variables declared in the vertex shader entry point’s
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -208,6 +208,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -242,6 +247,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - @taskCount@ /must/ be less than or equal to -- 'PhysicalDeviceMeshShaderPropertiesNV'::@maxDrawMeshTasksCount@ --@@ -457,6 +515,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -491,6 +554,59 @@ -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set --+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state+-- -- - If @buffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object --@@ -740,6 +856,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -773,6 +894,59 @@ -- been created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT' -- bit set+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- dynamic state enabled, but not the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic state enabled, then then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ match the+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@+-- of the pipeline+--+-- - If the bound graphics pipeline state was created with both the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'+-- and+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'+-- dynamic states enabled then both+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- and+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @viewportCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT'+-- /must/ match the @scissorCount@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'+--+-- - If the bound graphics pipeline state was created with the+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'+-- dynamic state enabled then+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ have been called in the current command buffer prior to this+-- draw command, and the @primitiveTopology@ parameter of+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'+-- /must/ be of the same+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#drawing-primitive-topology-class topology class>+-- as the pipeline+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@+-- state -- -- - If @buffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -925,6 +925,11 @@ -- pipeline bind point used by this command /must/ not be a protected -- resource --+-- - If a 'Vulkan.Core10.Handles.ImageView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+-- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline --
src/Vulkan/Version.hs view
@@ -14,11 +14,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 142+pattern HEADER_VERSION = 145 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 142+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 145 pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 3c77f5fce0e982c3b81e2fe5ff6a0d28fbee1c6c2a168885b723ceda541b2b9a+-- hash: 4abff3b0c093724ec1d3e755d652d1c7693cd3efe7d03bcbc523e4dba41414ca name: vulkan-version: 3.4+version: 3.5 synopsis: Bindings to the Vulkan graphics API. category: Graphics homepage: https://github.com/expipiplus1/vulkan#readme@@ -290,6 +290,7 @@ Vulkan.Extensions.VK_EXT_discard_rectangles Vulkan.Extensions.VK_EXT_display_control Vulkan.Extensions.VK_EXT_display_surface_counter+ Vulkan.Extensions.VK_EXT_extended_dynamic_state Vulkan.Extensions.VK_EXT_external_memory_dma_buf Vulkan.Extensions.VK_EXT_external_memory_host Vulkan.Extensions.VK_EXT_filter_cubic