packages feed

vulkan 3.16 → 3.16.1

raw patch · 36 files changed

+364/−228 lines, 36 files

Files

changelog.md view
@@ -2,6 +2,9 @@  ## WIP +## [3.16.1] - 2022-02-05+- Bump API version to v1.3.205+ ## [3.16] - 2022-02-05 - Bump API version to v1.3.204 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.16"+version: "3.16.1" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -819,7 +819,7 @@ -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BIAS' set in -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@. -- Otherwise, this state is specified by the corresponding--- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@depthBiasConstantFactor@,+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@depthBiasConstantFactor@, -- @depthBiasClamp@, and @depthBiasSlopeFactor@ values used to create the -- currently active pipeline. --@@ -1330,9 +1330,9 @@ -- -- = Description ----- 'cmdBindDescriptorSets' causes the sets numbered [@firstSet@..--- @firstSet@+@descriptorSetCount@-1] to use the bindings stored in--- @pDescriptorSets@[0..descriptorSetCount-1] for subsequent+-- 'cmdBindDescriptorSets' binds descriptor sets+-- @pDescriptorSets@[0..@descriptorSetCount@-1] to set numbers+-- [@firstSet@..@firstSet@+@descriptorSetCount@-1] for subsequent -- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#pipeline-bindpoint-commands bound pipeline commands> -- set by @pipelineBindPoint@. Any bindings that were previously applied -- via these sets are no longer valid.@@ -2072,13 +2072,20 @@ -- -   #VUID-vkCmdDraw-None-02686# Every input attachment used by the --     current subpass /must/ be bound to the pipeline via a descriptor set ----- -   #VUID-vkCmdDraw-None-04584# Image subresources used as attachments---     in the current render pass /must/ not be accessed in any way other---     than as an attachment by this command, except for cases involving---     read-only access to depth\/stencil attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDraw-None-06537# Memory backing image subresources used+--     as attachments in the current render pass /must/ not be written in+--     any way other than as an attachment by this command --+-- -   #VUID-vkCmdDraw-None-06538# If any recorded command in the current+--     subpass will write to an image subresource as an attachment, this+--     command /must/ not read from the memory backing that image+--     subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDraw-None-06539# If any recorded command in the current+--     subpass will read from an image subresource used as an attachment in+--     any way other than as an attachment, this command /must/ not write+--     to that image subresource as an attachment+-- -- -   #VUID-vkCmdDraw-maxMultiviewInstanceIndex-02688# If the draw is --     recorded in a render pass instance with multiview enabled, the --     maximum instance index /must/ be less than or equal to@@ -2973,14 +2980,20 @@ --     the current subpass /must/ be bound to the pipeline via a descriptor --     set ----- -   #VUID-vkCmdDrawIndexed-None-04584# Image subresources used as---     attachments in the current render pass /must/ not be accessed in any---     way other than as an attachment by this command, except for cases---     involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndexed-None-06537# Memory backing image subresources+--     used as attachments in the current render pass /must/ not be written+--     in any way other than as an attachment by this command --+-- -   #VUID-vkCmdDrawIndexed-None-06538# If any recorded command in the+--     current subpass will write to an image subresource as an attachment,+--     this command /must/ not read from the memory backing that image+--     subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndexed-None-06539# If any recorded command in the+--     current subpass will read from an image subresource used as an+--     attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-02688# If the draw --     is recorded in a render pass instance with multiview enabled, the --     maximum instance index /must/ be less than or equal to@@ -3869,14 +3882,21 @@ --     the current subpass /must/ be bound to the pipeline via a descriptor --     set ----- -   #VUID-vkCmdDrawIndirect-None-04584# Image subresources used as---     attachments in the current render pass /must/ not be accessed in any---     way other than as an attachment by this command, except for cases---     involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndirect-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawIndirect-None-06538# If any recorded command in the+--     current subpass will write to an image subresource as an attachment,+--     this command /must/ not read from the memory backing that image+--     subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndirect-None-06539# If any recorded command in the+--     current subpass will read from an image subresource used as an+--     attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-02688# If the draw --     is recorded in a render pass instance with multiview enabled, the --     maximum instance index /must/ be less than or equal to@@ -4788,14 +4808,21 @@ --     used by the current subpass /must/ be bound to the pipeline via a --     descriptor set ----- -   #VUID-vkCmdDrawIndexedIndirect-None-04584# Image subresources used---     as attachments in the current render pass /must/ not be accessed in---     any way other than as an attachment by this command, except for---     cases involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06538# If any recorded command+--     in the current subpass will write to an image subresource as an+--     attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06539# If any recorded command+--     in the current subpass will read from an image subresource used as+--     an attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-02688# If --     the draw is recorded in a render pass instance with multiview --     enabled, the maximum instance index /must/ be less than or equal to@@ -8006,7 +8033,7 @@ -- when the command is called. -- -- 'cmdUpdateBuffer' is only allowed outside of a render pass. This command--- is treated as “transfer” operation, for the purposes of synchronization+-- is treated as a “transfer” operation for the purposes of synchronization -- barriers. The -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT' -- /must/ be specified in @usage@ of@@ -8140,7 +8167,7 @@ -- -- = Description ----- 'cmdFillBuffer' is treated as “transfer” operation for the purposes of+-- 'cmdFillBuffer' is treated as a “transfer” operation for the purposes of -- synchronization barriers. The -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT' -- /must/ be specified in @usage@ of@@ -10893,7 +10920,7 @@ -- -   #VUID-vkCmdWriteTimestamp-synchronization2-06489# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @pipelineStage@ /must/ not be---     'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_NONE_KHR'+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE' -- -- -   #VUID-vkCmdWriteTimestamp-queryPool-01416# @queryPool@ /must/ have --     been created with a @queryType@ of@@ -11959,6 +11986,37 @@ -- -- -   #VUID-vkCmdExecuteCommands-None-02286# This command /must/ not be --     recorded when transform feedback is active+--+-- -   #VUID-vkCmdExecuteCommands-commandBuffer-06533# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     and any recorded command in @commandBuffer@ in the current subpass+--     will write to an image subresource as an attachment, commands+--     recorded in elements of @pCommandBuffers@ /must/ not read from the+--     memory backing that image subresource in any other way+--+-- -   #VUID-vkCmdExecuteCommands-commandBuffer-06534# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     and any recorded command in @commandBuffer@ in the current subpass+--     will read from an image subresource used as an attachment in any way+--     other than as an attachment, commands recorded in elements of+--     @pCommandBuffers@ /must/ not write to that image subresource as an+--     attachment+--+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06535# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     and any recorded command in a given element of @pCommandBuffers@+--     will write to an image subresource as an attachment, commands+--     recorded in elements of @pCommandBuffers@ at a higher index /must/+--     not read from the memory backing that image subresource in any other+--     way+--+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06536# If+--     'cmdExecuteCommands' is being called within a render pass instance+--     and any recorded command in a given element of @pCommandBuffers@+--     will read from an image subresource used as an attachment in any way+--     other than as an attachment, commands recorded in elements of+--     @pCommandBuffers@ at a higher index /must/ not write to that image+--     subresource as an attachment -- -- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06021# If --     @pCommandBuffers@ contains any
src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs view
@@ -5,11 +5,11 @@                                                                      , IMAGE_ASPECT_DEPTH_BIT                                                                      , IMAGE_ASPECT_STENCIL_BIT                                                                      , IMAGE_ASPECT_METADATA_BIT-                                                                     , IMAGE_ASPECT_NONE_KHR                                                                      , IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT                                                                      , IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT                                                                      , IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT                                                                      , IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT+                                                                     , IMAGE_ASPECT_NONE                                                                      , IMAGE_ASPECT_PLANE_2_BIT                                                                      , IMAGE_ASPECT_PLANE_1_BIT                                                                      , IMAGE_ASPECT_PLANE_0_BIT@@ -53,9 +53,6 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#sparsememory sparse resource> -- operations. pattern IMAGE_ASPECT_METADATA_BIT           = ImageAspectFlagBits 0x00000008--- | 'IMAGE_ASPECT_NONE_KHR' specifies no image aspect, or the image aspect--- is not applicable.-pattern IMAGE_ASPECT_NONE_KHR               = ImageAspectFlagBits 0x00000000 -- | 'IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT' specifies /memory plane/ 3. pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = ImageAspectFlagBits 0x00000400 -- | 'IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT' specifies /memory plane/ 2.@@ -64,6 +61,9 @@ pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = ImageAspectFlagBits 0x00000100 -- | 'IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT' specifies /memory plane/ 0. pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = ImageAspectFlagBits 0x00000080+-- | 'IMAGE_ASPECT_NONE' specifies no image aspect, or the image aspect is+-- not applicable.+pattern IMAGE_ASPECT_NONE                   = ImageAspectFlagBits 0x00000000 -- | 'IMAGE_ASPECT_PLANE_2_BIT' specifies plane 2 of a /multi-planar/ image -- format. pattern IMAGE_ASPECT_PLANE_2_BIT            = ImageAspectFlagBits 0x00000040@@ -86,11 +86,11 @@   , (IMAGE_ASPECT_DEPTH_BIT             , "DEPTH_BIT")   , (IMAGE_ASPECT_STENCIL_BIT           , "STENCIL_BIT")   , (IMAGE_ASPECT_METADATA_BIT          , "METADATA_BIT")-  , (IMAGE_ASPECT_NONE_KHR              , "NONE_KHR")   , (IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "MEMORY_PLANE_3_BIT_EXT")   , (IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "MEMORY_PLANE_2_BIT_EXT")   , (IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "MEMORY_PLANE_1_BIT_EXT")   , (IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, "MEMORY_PLANE_0_BIT_EXT")+  , (IMAGE_ASPECT_NONE                  , "NONE")   , (IMAGE_ASPECT_PLANE_2_BIT           , "PLANE_2_BIT")   , (IMAGE_ASPECT_PLANE_1_BIT           , "PLANE_1_BIT")   , (IMAGE_ASPECT_PLANE_0_BIT           , "PLANE_0_BIT")
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -1181,7 +1181,7 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoEXT VkVideoEncodeH265DpbSlotInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265EmitPictureParametersEXT VkVideoEncodeH265EmitPictureParametersEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceEXT VkVideoEncodeH265NaluSliceEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentEXT VkVideoEncodeH265NaluSliceSegmentEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileEXT VkVideoEncodeH265ProfileEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoEXT VkVideoEncodeH265RateControlInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,
src/Vulkan/Core10/Image.hs view
@@ -619,7 +619,7 @@ --         equal to 'ImageCreateInfo'::@format@ and with --         'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT' --         chained into---         'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2';+--         'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2'; --         by collecting all members of the returned array --         'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT'::@pDrmFormatModifierProperties@ --         whose @drmFormatModifier@ belongs to
src/Vulkan/Core10/ImageView.hs view
@@ -702,7 +702,8 @@ --     'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and @viewType@ is --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' then---     @flags@ /must/ not contain any of+--     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ /must/ not contain+--     any of --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_BINDING_BIT', --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT', --     and
src/Vulkan/Core10/Pass.hs view
@@ -2089,40 +2089,25 @@ -- -- = Description ----- Other than the exceptions listed below, applications /must/ ensure that--- all accesses to memory that backs image subresources used as attachments--- in a given render pass instance either happen-before the--- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-store-ops load operations>--- for those attachments, or happen-after the--- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-store-ops store operations>--- for those attachments.------ The exceptions to the general rule are:------ -   For depth\/stencil attachments, an aspect /can/ be used separately---     as attachment and non-attachment if both accesses are read-only.------ -   For depth\/stencil attachments, each aspect /can/ be used separately---     as attachment and non-attachment as long as the non-attachment---     accesses are also via an image subresource in either the---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL'---     layout or the---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL'---     layout, and the attachment resource uses whichever of those two---     layouts the image accesses do not.------ Use of non-attachment aspects in these cases is only well defined if the--- attachment is used in the subpass where the non-attachment access is--- being made, or the layout of the image subresource is constant--- throughout the entire render pass instance, including the--- @initialLayout@ and @finalLayout@.+-- Applications /must/ ensure that all non-attachment writes to memory+-- backing image subresources that are used as attachments in a render pass+-- instance happen-before or happen-after the render pass instance. If an+-- image subresource is written during a render pass instance by anything+-- other than load operations, store operations, and layout transitions,+-- applications /must/ ensure that all non-attachment reads from memory+-- backing that image subresource happen-before or happen-after the render+-- pass instance. For depth\/stencil images, the aspects are not treated+-- independently for the above guarantees - writes to either aspect /must/+-- be synchronized with accesses to the other aspect. -- -- Note ----- These restrictions mean that the render pass has full knowledge of all--- uses of all of the attachments, so that the implementation is able to--- make correct decisions about when and how to perform layout transitions,--- when to overlap execution of subpasses, etc.+-- An image subresource can be used as read-only as both an attachment and+-- a non-attachment during a render pass instance, but care must still be+-- taken to avoid data races with load\/store operations and layout+-- transitions. The simplest way to achieve this is to keep the+-- non-attachment and attachment accesses within the same subpass, or to+-- avoid layout transitions and load\/store operations that perform writes. -- -- It is legal for a subpass to use no color or depth\/stencil attachments, -- either because it has no attachment references or because all of them
src/Vulkan/Core10/SparseResourceMemoryManagement.hs view
@@ -438,15 +438,6 @@ -- -- -   Host access to @queue@ /must/ be externally synchronized ----- -   Host access to @pBindInfo@[].pBufferBinds[].buffer /must/ be---     externally synchronized------ -   Host access to @pBindInfo@[].pImageOpaqueBinds[].image /must/ be---     externally synchronized------ -   Host access to @pBindInfo@[].pImageBinds[].image /must/ be---     externally synchronized--- -- -   Host access to @fence@ /must/ be externally synchronized -- -- == Command Properties
src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs view
@@ -162,7 +162,7 @@ -- -- If the buffer was created with a non-zero value of -- 'BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@ or--- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT'::@deviceAddress@+-- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT'::@deviceAddress@, -- the return value will be the same address that was returned at capture -- time. --
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -312,14 +312,21 @@ --     by the current subpass /must/ be bound to the pipeline via a --     descriptor set ----- -   #VUID-vkCmdDrawIndirectCount-None-04584# Image subresources used as---     attachments in the current render pass /must/ not be accessed in any---     way other than as an attachment by this command, except for cases---     involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndirectCount-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawIndirectCount-None-06538# If any recorded command in+--     the current subpass will write to an image subresource as an+--     attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndirectCount-None-06539# If any recorded command in+--     the current subpass will read from an image subresource used as an+--     attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688# If the --     draw is recorded in a render pass instance with multiview enabled, --     the maximum instance index /must/ be less than or equal to@@ -1258,13 +1265,20 @@ --     attachment used by the current subpass /must/ be bound to the --     pipeline via a descriptor set ----- -   #VUID-vkCmdDrawIndexedIndirectCount-None-04584# Image subresources---     used as attachments in the current render pass /must/ not be---     accessed in any way other than as an attachment by this command,---     except for cases involving read-only access to depth\/stencil---     attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command+--+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06538# If any recorded+--     command in the current subpass will write to an image subresource as+--     an attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06539# If any recorded+--     command in the current subpass will read from an image subresource+--     used as an attachment in any way other than as an attachment, this+--     command /must/ not write to that image subresource as an attachment -- -- -   #VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688# --     If the draw is recorded in a render pass instance with multiview
src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs view
@@ -220,14 +220,14 @@ --     and as an input attachment. -- -- -   'FORMAT_FEATURE_2_BLIT_SRC_BIT' specifies that an image /can/ be---     used as @srcImage@ for the---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.+--     used as the @srcImage@ for+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'. -- -- -   'FORMAT_FEATURE_2_BLIT_DST_BIT' specifies that an image /can/ be---     used as @dstImage@ for the---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.+--     used as the @dstImage@ for+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'. -- -- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT' specifies that if --     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' is also set, an image view@@ -236,11 +236,11 @@ --     @mipmapMode@ set to --     'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'. --     If 'FORMAT_FEATURE_2_BLIT_SRC_BIT' is also set, an image can be used---     as the @srcImage@ to---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@---     of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only---     be exposed for formats that also support the+--     as the @srcImage@ for+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a+--     @filter@ of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit+--     /must/ only be exposed for formats that also support the --     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' or --     'FORMAT_FEATURE_2_BLIT_SRC_BIT'. --@@ -462,14 +462,14 @@ -- input attachment. pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT    = FormatFeatureFlagBits2 0x0000000000000200 -- | 'FORMAT_FEATURE_2_BLIT_SRC_BIT' specifies that an image /can/ be used as--- @srcImage@ for the--- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and--- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.+-- the @srcImage@ for+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'. pattern FORMAT_FEATURE_2_BLIT_SRC_BIT                    = FormatFeatureFlagBits2 0x0000000000000400 -- | 'FORMAT_FEATURE_2_BLIT_DST_BIT' specifies that an image /can/ be used as--- @dstImage@ for the--- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and--- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.+-- the @dstImage@ for+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'. pattern FORMAT_FEATURE_2_BLIT_DST_BIT                    = FormatFeatureFlagBits2 0x0000000000000800 -- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT' specifies that if -- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' is also set, an image view /can/ be@@ -477,9 +477,10 @@ -- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR', or @mipmapMode@ set to -- 'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'. If -- 'FORMAT_FEATURE_2_BLIT_SRC_BIT' is also set, an image can be used as the--- @srcImage@ to 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR'--- and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@--- of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only be+-- @srcImage@ for+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@ of+-- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only be -- exposed for formats that also support the -- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' or 'FORMAT_FEATURE_2_BLIT_SRC_BIT'. --
src/Vulkan/Core13/Promoted_From_VK_EXT_extended_dynamic_state.hs view
@@ -579,10 +579,11 @@ -- components are -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input-extraction filled with (0,0,1)>. ----- This command also \<pipelines-dynamic-state, dynamically sets>> the byte--- strides between consecutive elements within buffer @pBuffers@[i] to the--- corresponding @pStrides@[i] value when the graphics pipeline is created--- with+-- This command also+-- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-dynamic-state dynamically sets>+-- the byte strides between consecutive elements within buffer+-- @pBuffers@[i] to the corresponding @pStrides@[i] value when the graphics+-- pipeline is created with -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE' -- set in -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs view
@@ -882,8 +882,13 @@ -- -   #VUID-VkImageBlit2-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_BLIT_2' ----- -   #VUID-VkImageBlit2-pNext-pNext# @pNext@ /must/ be @NULL@+-- -   #VUID-VkImageBlit2-pNext-pNext# @pNext@ /must/ be @NULL@ or a+--     pointer to a valid instance of+--     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM' --+-- -   #VUID-VkImageBlit2-sType-unique# The @sType@ value of each struct in+--     the @pNext@ chain /must/ be unique+-- -- -   #VUID-VkImageBlit2-srcSubresource-parameter# @srcSubresource@ /must/ --     be a valid --     'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'@@ -1022,7 +1027,12 @@ -- -   #VUID-VkBufferImageCopy2-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2' ----- -   #VUID-VkBufferImageCopy2-pNext-pNext# @pNext@ /must/ be @NULL@+-- -   #VUID-VkBufferImageCopy2-pNext-pNext# @pNext@ /must/ be @NULL@ or a+--     pointer to a valid instance of+--     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'+--+-- -   #VUID-VkBufferImageCopy2-sType-unique# The @sType@ value of each+--     struct in the @pNext@ chain /must/ be unique -- -- -   #VUID-VkBufferImageCopy2-imageSubresource-parameter# --     @imageSubresource@ /must/ be a valid
src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs view
@@ -8,6 +8,8 @@                                                         , PhysicalDeviceMaintenance4Features(..)                                                         , PhysicalDeviceMaintenance4Properties(..)                                                         , StructureType(..)+                                                        , ImageAspectFlagBits(..)+                                                        , ImageAspectFlags                                                         ) where  import Vulkan.Internal.Utils (traceAroundEvent)@@ -76,6 +78,8 @@ import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES))+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits(..))+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags) import Vulkan.Core10.Enums.StructureType (StructureType(..)) foreign import ccall #if !defined(SAFE_FOREIGN_CALLS)@@ -294,16 +298,11 @@ --     structure -- -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06417# If+--     @pCreateInfo@::@format@ specifies a /multi-planar/ format and --     @pCreateInfo@::@flags@ has --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' --     set then @planeAspect@ /must/ not be---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'------ -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06418# If---     @pCreateInfo@::@flags@ has---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'---     set then @planeAspect@ /must/ not be---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'+--     'Vulkan.Extensions.VK_KHR_maintenance4.IMAGE_ASPECT_NONE_KHR' -- -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06419# If --     @pCreateInfo@::@flags@ has@@ -323,9 +322,7 @@ --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT') -- -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06420# If---     @pCreateInfo@::@flags@ has---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'---     set and the @pCreateInfo@::@tiling@ is+--     @pCreateInfo@::@tiling@ is --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT', --     then @planeAspect@ /must/ be a single valid /memory plane/ for the --     image (that is, @aspectMask@ /must/ specify a plane index that is@@ -369,10 +366,10 @@   , -- | @planeAspect@ is a     -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' value     -- specifying the aspect corresponding to the image plane to query. This-    -- parameter is ignored unless @pCreateInfo@::@flags@ has-    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' or-    -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'-    -- set.+    -- parameter is ignored unless @pCreateInfo@::@tiling@ is+    -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',+    -- or @pCreateInfo@::@flags@ has+    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' set.     planeAspect :: ImageAspectFlagBits   }   deriving (Typeable)
src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs view
@@ -3152,7 +3152,12 @@ -- -   #VUID-VkImageMemoryBarrier2-sType-sType# @sType@ /must/ be --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2' ----- -   #VUID-VkImageMemoryBarrier2-pNext-pNext# @pNext@ /must/ be @NULL@+-- -   #VUID-VkImageMemoryBarrier2-pNext-pNext# @pNext@ /must/ be @NULL@ or+--     a pointer to a valid instance of+--     'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT'+--+-- -   #VUID-VkImageMemoryBarrier2-sType-unique# The @sType@ value of each+--     struct in the @pNext@ chain /must/ be unique -- -- -   #VUID-VkImageMemoryBarrier2-srcStageMask-parameter# @srcStageMask@ --     /must/ be a valid combination of
src/Vulkan/Extensions/VK_AMD_buffer_marker.hs view
@@ -207,7 +207,7 @@ -- -   #VUID-vkCmdWriteBufferMarkerAMD-synchronization2-06489# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @pipelineStage@ /must/ not be---     'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_NONE_KHR'+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE' -- -- -   #VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798# @dstOffset@ /must/ --     be less than or equal to the size of @dstBuffer@ minus @4@
src/Vulkan/Extensions/VK_EXT_multi_draw.hs view
@@ -466,14 +466,21 @@ --     the current subpass /must/ be bound to the pipeline via a descriptor --     set ----- -   #VUID-vkCmdDrawMultiEXT-None-04584# Image subresources used as---     attachments in the current render pass /must/ not be accessed in any---     way other than as an attachment by this command, except for cases---     involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawMultiEXT-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawMultiEXT-None-06538# If any recorded command in the+--     current subpass will write to an image subresource as an attachment,+--     this command /must/ not read from the memory backing that image+--     subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawMultiEXT-None-06539# If any recorded command in the+--     current subpass will read from an image subresource used as an+--     attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawMultiEXT-maxMultiviewInstanceIndex-02688# If the draw --     is recorded in a render pass instance with multiview enabled, the --     maximum instance index /must/ be less than or equal to@@ -1372,13 +1379,20 @@ --     used by the current subpass /must/ be bound to the pipeline via a --     descriptor set ----- -   #VUID-vkCmdDrawMultiIndexedEXT-None-04584# Image subresources used---     as attachments in the current render pass /must/ not be accessed in---     any way other than as an attachment by this command, except for---     cases involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command+--+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06538# If any recorded command+--     in the current subpass will write to an image subresource as an+--     attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06539# If any recorded command+--     in the current subpass will read from an image subresource used as+--     an attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment -- -- -   #VUID-vkCmdDrawMultiIndexedEXT-maxMultiviewInstanceIndex-02688# If --     the draw is recorded in a render pass instance with multiview
src/Vulkan/Extensions/VK_EXT_sample_locations.hs view
@@ -100,7 +100,7 @@ -- -   'SubpassSampleLocationsEXT' -- -- -   Extending 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',---     'Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR':+--     'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.ImageMemoryBarrier2': -- --     -   'SampleLocationsInfoEXT' --
src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot view
@@ -100,7 +100,7 @@ -- -   'SubpassSampleLocationsEXT' -- -- -   Extending 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',---     'Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR':+--     'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.ImageMemoryBarrier2': -- --     -   'SampleLocationsInfoEXT' --
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -1468,13 +1468,20 @@ --     attachment used by the current subpass /must/ be bound to the --     pipeline via a descriptor set ----- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-04584# Image subresources---     used as attachments in the current render pass /must/ not be---     accessed in any way other than as an attachment by this command,---     except for cases involving read-only access to depth\/stencil---     attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command+--+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06538# If any recorded+--     command in the current subpass will write to an image subresource as+--     an attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06539# If any recorded+--     command in the current subpass will read from an image subresource+--     used as an attachment in any way other than as an attachment, this+--     command /must/ not write to that image subresource as an attachment -- -- -   #VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688# --     If the draw is recorded in a render pass instance with multiview
src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs view
@@ -196,9 +196,9 @@ -- values used to create the currently active pipeline. -- -- If the bound pipeline state object was also created with the--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE' -- dynamic state enabled, then--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT'+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2' -- can be used instead of 'cmdSetVertexInputEXT' to dynamically set the -- stride. --
src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs view
@@ -1381,15 +1381,13 @@   , -- | @sysmemPixelFormat@ is a @PixelFormatType@ value from the     -- @fuchsia.sysmem\/image_formats.fidl@ FIDL interface     sysmemPixelFormat :: Word64-  , -- | @colorSpaceCount@ the element count of @pColorSpaces@-    colorSpaceCount :: Word32   , -- | @pColorSpaces@ is a pointer to an array of 'SysmemColorSpaceFUCHSIA'     -- structs of size @colorSpaceCount@     --     -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameter#-    -- @pColorSpaces@ /must/ be a valid pointer to a valid-    -- 'SysmemColorSpaceFUCHSIA' structure-    colorSpaces :: SysmemColorSpaceFUCHSIA+    -- @pColorSpaces@ /must/ be a valid pointer to an array of+    -- @colorSpaceCount@ valid 'SysmemColorSpaceFUCHSIA' structures+    colorSpaces :: Vector SysmemColorSpaceFUCHSIA   }   deriving (Typeable) #if defined(GENERIC_INSTANCES)@@ -1406,9 +1404,10 @@     lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (requiredFormatFeatures)     lift $ poke ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA)) (flags)     lift $ poke ((p `plusPtr` 112 :: Ptr Word64)) (sysmemPixelFormat)-    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (colorSpaceCount)-    pColorSpaces'' <- ContT $ withCStruct (colorSpaces)-    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''+    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (colorSpaces)) :: Word32))+    pPColorSpaces' <- ContT $ allocaBytes @SysmemColorSpaceFUCHSIA ((Data.Vector.length (colorSpaces)) * 24)+    lift $ Data.Vector.imapM_ (\i e -> poke (pPColorSpaces' `plusPtr` (24 * (i)) :: Ptr SysmemColorSpaceFUCHSIA) (e)) (colorSpaces)+    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) (pPColorSpaces')     lift $ f   cStructSize = 136   cStructAlignment = 8@@ -1417,9 +1416,6 @@     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)     ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (ImageCreateInfo _)))) ((SomeStruct zero)) . ($ ())     lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (zero)-    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (zero)-    pColorSpaces'' <- ContT $ withCStruct (zero)-    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''     lift $ f  instance FromCStruct ImageFormatConstraintsInfoFUCHSIA where@@ -1429,9 +1425,10 @@     flags <- peek @ImageFormatConstraintsFlagsFUCHSIA ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA))     sysmemPixelFormat <- peek @Word64 ((p `plusPtr` 112 :: Ptr Word64))     colorSpaceCount <- peek @Word32 ((p `plusPtr` 120 :: Ptr Word32))-    pColorSpaces <- peekCStruct @SysmemColorSpaceFUCHSIA =<< peek ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))+    pColorSpaces <- peek @(Ptr SysmemColorSpaceFUCHSIA) ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))+    pColorSpaces' <- generateM (fromIntegral colorSpaceCount) (\i -> peekCStruct @SysmemColorSpaceFUCHSIA ((pColorSpaces `advancePtrBytes` (24 * (i)) :: Ptr SysmemColorSpaceFUCHSIA)))     pure $ ImageFormatConstraintsInfoFUCHSIA-             imageCreateInfo requiredFormatFeatures flags sysmemPixelFormat colorSpaceCount pColorSpaces+             imageCreateInfo requiredFormatFeatures flags sysmemPixelFormat pColorSpaces'  instance Zero ImageFormatConstraintsInfoFUCHSIA where   zero = ImageFormatConstraintsInfoFUCHSIA@@ -1439,8 +1436,7 @@            zero            zero            zero-           zero-           zero+           mempty   -- | VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer
src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs view
@@ -122,9 +122,14 @@ -- -- All functionality in this extension is included in core Vulkan 1.2, with -- the KHR suffix omitted. However, if Vulkan 1.2 is supported and this--- extension is not, the @bufferDeviceAddress@ capability is optional. The+-- extension is not, the @bufferDeviceAddress@ feature is optional. The -- original type, enum and command names are still available as aliases of -- the core functionality.+--+-- == Promotion to Vulkan 1.3+--+-- Support for the @bufferDeviceAddress@ feature is mandatory in Vulkan+-- 1.3, regardless of whether this extension is supported. -- -- == New Commands --
src/Vulkan/Extensions/VK_KHR_device_group.hs view
@@ -43,6 +43,9 @@ -- -- [__Interactions and External Dependencies__] --+--     -   This extension requires+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_device_group.html SPV_KHR_device_group>+-- --     -   Promoted to Vulkan 1.1 Core -- -- [__Contributors__]
src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs view
@@ -700,18 +700,15 @@ --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD' -- -- -   #VUID-VkAttachmentSampleCountInfoAMD-pColorAttachmentSamples-parameter#---     @pColorAttachmentSamples@ /must/ be a valid pointer to an array of---     @colorAttachmentCount@ valid or---     'Vulkan.Core10.APIConstants.NULL_HANDLE'---     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' values+--     If @colorAttachmentCount@ is not @0@, @pColorAttachmentSamples@+--     /must/ be a valid pointer to an array of @colorAttachmentCount@+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'+--     values -- -- -   #VUID-VkAttachmentSampleCountInfoAMD-depthStencilAttachmentSamples-parameter# --     If @depthStencilAttachmentSamples@ is not @0@, --     @depthStencilAttachmentSamples@ /must/ be a valid --     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value------ -   #VUID-VkAttachmentSampleCountInfoAMD-colorAttachmentCount-arraylength#---     @colorAttachmentCount@ /must/ be greater than @0@ -- -- = See Also --
src/Vulkan/Extensions/VK_KHR_global_priority.hs view
@@ -382,6 +382,14 @@ -- -- = Description --+-- If the 'QueueFamilyGlobalPriorityPropertiesKHR' structure is included in+-- the @pNext@ chain of the+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2'+-- structure passed to+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceQueueFamilyProperties2',+-- it is filled in with the list of supported global queue priorities for+-- the indicated family.+-- -- The valid elements of @priorities@ /must/ not contain any duplicate -- values. --
src/Vulkan/Extensions/VK_KHR_maintenance4.hs view
@@ -137,7 +137,7 @@ -- -   Extending --     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits': -----     -   'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'+--     -   'IMAGE_ASPECT_NONE_KHR' -- -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType': --@@ -189,6 +189,7 @@                                               , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR                                               , pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR                                               , pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR+                                              , pattern IMAGE_ASPECT_NONE_KHR                                               , getDeviceBufferMemoryRequirementsKHR                                               , getDeviceImageMemoryRequirementsKHR                                               , getDeviceImageSparseMemoryRequirementsKHR@@ -210,6 +211,8 @@ import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (DeviceImageMemoryRequirements) import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features) import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties)+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits(IMAGE_ASPECT_NONE)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS)) import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES))@@ -228,6 +231,10 @@  -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR" pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS+++-- No documentation found for TopLevel "VK_IMAGE_ASPECT_NONE_KHR"+pattern IMAGE_ASPECT_NONE_KHR = IMAGE_ASPECT_NONE   -- No documentation found for TopLevel "vkGetDeviceBufferMemoryRequirementsKHR"
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -983,14 +983,21 @@ --     attachment used by the current subpass /must/ be bound to the --     pipeline via a descriptor set ----- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-04584# Image subresources---     used as attachments in the current render pass /must/ not be---     accessed in any way other than as an attachment by this command,---     except for cases involving read-only access to depth\/stencil---     attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06537# Memory backing+--     image subresources used as attachments in the current render pass+--     /must/ not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06538# If any recorded+--     command in the current subpass will write to an image subresource as+--     an attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06539# If any recorded+--     command in the current subpass will read from an image subresource+--     used as an attachment in any way other than as an attachment, this+--     command /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688# --     If the draw is recorded in a render pass instance with multiview --     enabled, the maximum instance index /must/ be less than or equal to@@ -2119,7 +2126,8 @@     -- 'GeneratedCommandsInfoNV' and in     -- 'GeneratedCommandsMemoryRequirementsInfoNV'.     maxIndirectSequenceCount :: Word32-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "maxIndirectCommandsTokenCount"+  , -- | @maxIndirectCommandsTokenCount@ is the maximum number of tokens in+    -- 'IndirectCommandsLayoutCreateInfoNV'.     maxIndirectCommandsTokenCount :: Word32   , -- | @maxIndirectCommandsStreamCount@ is the maximum number of streams in     -- 'IndirectCommandsLayoutCreateInfoNV'.@@ -2130,9 +2138,11 @@   , -- | @maxIndirectCommandsStreamStride@ is the maximum stream stride in     -- 'IndirectCommandsLayoutCreateInfoNV'.     maxIndirectCommandsStreamStride :: Word32-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "minSequencesCountBufferOffsetAlignment"+  , -- | @minSequencesCountBufferOffsetAlignment@ is the minimum alignment for+    -- memory addresses which /can/ be used in 'GeneratedCommandsInfoNV'.     minSequencesCountBufferOffsetAlignment :: Word32-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "minSequencesIndexBufferOffsetAlignment"+  , -- | @minSequencesIndexBufferOffsetAlignment@ is the minimum alignment for+    -- memory addresses which /can/ be used in 'GeneratedCommandsInfoNV'.     minSequencesIndexBufferOffsetAlignment :: Word32   , -- | @minIndirectCommandsBufferOffsetAlignment@ is the minimum alignment for     -- memory addresses used in 'IndirectCommandsStreamNV', and as preprocess
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -598,14 +598,21 @@ --     by the current subpass /must/ be bound to the pipeline via a --     descriptor set ----- -   #VUID-vkCmdDrawMeshTasksNV-None-04584# Image subresources used as---     attachments in the current render pass /must/ not be accessed in any---     way other than as an attachment by this command, except for cases---     involving read-only access to depth\/stencil attachments as---     described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06538# If any recorded command in+--     the current subpass will write to an image subresource as an+--     attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06539# If any recorded command in+--     the current subpass will read from an image subresource used as an+--     attachment in any way other than as an attachment, this command+--     /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688# If the --     draw is recorded in a render pass instance with multiview enabled, --     the maximum instance index /must/ be less than or equal to@@ -1394,14 +1401,21 @@ --     attachment used by the current subpass /must/ be bound to the --     pipeline via a descriptor set ----- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-04584# Image subresources---     used as attachments in the current render pass /must/ not be---     accessed in any way other than as an attachment by this command,---     except for cases involving read-only access to depth\/stencil---     attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06537# Memory backing image+--     subresources used as attachments in the current render pass /must/+--     not be written in any way other than as an attachment by this+--     command --+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06538# If any recorded+--     command in the current subpass will write to an image subresource as+--     an attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06539# If any recorded+--     command in the current subpass will read from an image subresource+--     used as an attachment in any way other than as an attachment, this+--     command /must/ not write to that image subresource as an attachment+-- -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688# --     If the draw is recorded in a render pass instance with multiview --     enabled, the maximum instance index /must/ be less than or equal to@@ -2235,13 +2249,20 @@ --     attachment used by the current subpass /must/ be bound to the --     pipeline via a descriptor set ----- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04584# Image---     subresources used as attachments in the current render pass /must/---     not be accessed in any way other than as an attachment by this---     command, except for cases involving read-only access to---     depth\/stencil attachments as described in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>---     chapter+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537# Memory backing+--     image subresources used as attachments in the current render pass+--     /must/ not be written in any way other than as an attachment by this+--     command+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06538# If any recorded+--     command in the current subpass will write to an image subresource as+--     an attachment, this command /must/ not read from the memory backing+--     that image subresource in any other way than as an attachment+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06539# If any recorded+--     command in the current subpass will read from an image subresource+--     used as an attachment in any way other than as an attachment, this+--     command /must/ not write to that image subresource as an attachment -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688# --     If the draw is recorded in a render pass instance with multiview
src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs view
@@ -273,7 +273,7 @@ -- 'Vulkan.Core10.FundamentalTypes.FALSE', and the representative fragment -- test is disabled. ----- If the active fragment shader specifies the @EarlyFragmentTests@+-- If the active fragment shader does not specify the @EarlyFragmentTests@ -- execution mode, the representative fragment shader test has no effect, -- even if enabled. --
src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs view
@@ -89,8 +89,8 @@ -- == New Structures -- -- -   Extending---     'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',---     'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR':+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2': -- --     -   'CopyCommandTransformInfoQCOM' --
src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot view
@@ -89,8 +89,8 @@ -- == New Structures -- -- -   Extending---     'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',---     'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR':+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2': -- --     -   'CopyCommandTransformInfoQCOM' --
src/Vulkan/SPIRVRequirements.hs view
@@ -633,6 +633,8 @@     ]   "SPV_KHR_integer_dot_product" ->     (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 3 0] [RequireDeviceVersion $ MAKE_API_VERSION 1 3 0]+  "SPV_KHR_device_group" ->+    (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 1 0] [RequireDeviceVersion $ MAKE_API_VERSION 1 1 0]   _ -> ([], [])  spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 204+pattern HEADER_VERSION = 205   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 204+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 205   pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           vulkan-version:        3.16+version:        3.16.1 synopsis:       Bindings to the Vulkan graphics API. description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category:       Graphics