packages feed

vulkan 3.24.2 → 3.24.3

raw patch · 25 files changed

+551/−160 lines, 25 files

Files

changelog.md view
@@ -2,6 +2,9 @@  ## WIP +## [3.24.3] - 2022-12-28+- Bump API version to v1.3.238+ ## [3.24.2] - 2022-12-27 - Bump API version to v1.3.237 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.24.2"+version: "3.24.3" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
src/Vulkan/Core10/Buffer.hs view
@@ -380,24 +380,26 @@ --     feature /must/ be enabled -- -- -   #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes---     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,+--     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or --     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain---     /must/ include a valid+--     /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@---     specifying a decode operation+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure with a @videoCodecOperation@ member specifying a decode+--     operation -- -- -   #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes---     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,+--     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or --     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain---     /must/ include a valid+--     /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@---     specifying an encode operation+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure with a @videoCodecOperation@ member specifying an encode+--     operation -- -- -   #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or --     equal to
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -5466,11 +5466,13 @@ -- -- -   #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound ----- -   #VUID-vkCmdDrawIndexed-firstIndex-04932# (@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 'cmdBindIndexBuffer'+-- -   #VUID-vkCmdDrawIndexed-robustBufferAccess2-07788# If+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>+--     is not enabled, (@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 'cmdBindIndexBuffer' -- -- == Valid Usage (Implicit) --@@ -10822,9 +10824,6 @@ --     'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@ --     used to create @dstImage@ ----- -   #VUID-vkCmdCopyImage-srcImage-07745# @srcImage@ and @dstImage@---     /must/ have the same sample count--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdCopyImage-commandBuffer-parameter# @commandBuffer@ /must/@@ -14636,6 +14635,29 @@ -- active in a primary command buffer when secondary command buffers are -- executed are considered active for those secondary command buffers. --+-- Furthermore, if the query is started within a video coding scope, the+-- following command buffer states are initialized for the query type:+--+-- -   #queries-operation-active-query-index# The /active_query_index/ is+--     set to the value specified by @query@.+--+-- -   #queries-operation-last-activatable-query-index# The /last+--     activatable query index/ is also set to the value specified by+--     @query@.+--+-- Each+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding operation>+-- stores a result to the query corresponding to the current active query+-- index, followed by incrementing the active query index. If the active+-- query index gets incremented past the last activatable query index,+-- issuing any further video coding operations results in undefined+-- behavior.+--+-- Note+--+-- In practice, this means that currently no more than a single video+-- coding operation /must/ be issued between a begin and end query pair.+-- -- This command defines an execution dependency between other query -- commands that reference the same query. --@@ -14718,13 +14740,60 @@ --     current subpass’s view mask /must/ be less than or equal to the --     number of queries in @queryPool@ --+-- -   #VUID-vkCmdBeginQuery-queryType-07126# If the @queryType@ used to+--     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then+--     the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ have been created with a queue family index+--     that supports+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,+--     as indicated by+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@+--+-- -   #VUID-vkCmdBeginQuery-None-07127# If there is a bound video session,+--     then there /must/ be no+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>+--     queries+--+-- -   #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to+--     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and+--     there is a bound video session, then @queryPool@ /must/ have been+--     created with a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure included in the @pNext@ chain of+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one+--     specified in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@+--     the bound video session was created with+-- -- -   #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to --     create @queryPool@ was---     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was --     allocated from /must/ support --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations> --+-- -   #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to+--     create @queryPool@ was+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there+--     /must/ be a bound video session+--+-- -   #VUID-vkCmdBeginQuery-queryType-07130# If the @queryType@ used to+--     create @queryPool@ was+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is+--     a bound video session, then @queryPool@ /must/ have been created+--     with a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure included in the @pNext@ chain of+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one+--     specified in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@+--     the bound video session was created with+--+-- -   #VUID-vkCmdBeginQuery-queryType-07131# If the @queryType@ used to+--     create @queryPool@ was not @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there+--     /must/ be no bound video session+-- -- -   #VUID-vkCmdBeginQuery-queryPool-01922# @queryPool@ /must/ have been --     created with a @queryType@ that differs from that of any queries --     that are@@ -15585,17 +15654,12 @@ -- -- -   #VUID-vkCmdCopyQueryPoolResults-queryType-06901# If the @queryType@ --     used to create @queryPool@ was---     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, @flags@ /must/ include+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then @flags@ /must/ include --     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@ -- -- -   #VUID-vkCmdCopyQueryPoolResults-flags-06902# If @flags@ includes---     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include+--     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include --     'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT'------ -   #VUID-vkCmdCopyQueryPoolResults-queryType-06903# If the @queryType@---     used to create @queryPool@ was---     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',---     @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@ -- -- -   #VUID-vkCmdCopyQueryPoolResults-None-07429# All queries used by the --     command /must/ not be active
src/Vulkan/Core10/Enums/AccessFlagBits.hs view
@@ -169,6 +169,14 @@ -- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ -- | 'ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT'                                  | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'         | -- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------++-- | @VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR@                                     | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@                                                          |+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------++-- | @VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR@                                    | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@                                                          |+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------++-- | @VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR@                                     | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@                                                          |+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------++-- | @VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR@                                    | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@                                                          |+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ -- -- Supported access types --
src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs view
@@ -228,30 +228,42 @@ --     numeric type other than @*UINT@, or set it as a buffer feature. -- -- -   @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an---     image view with this format /can/ be used as an output for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>+--     image view with this format /can/ be used as a+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>. -- -- -   @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an image---     view with this format /can/ be used as a DPB for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>+--     view with this format /can/ be used as an output+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>+--     or an input+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>. -- -- -   @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an---     image view with this format /can/ be used as an input to---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>+--     image view with this format /can/ be used as an+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>. -- -- -   @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an image---     view with this format /can/ be used as a DPB for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>+--     view with this format /can/ be used as an output+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>+--     or an input+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>. -- --     Note -----     Specific video profiles /may/ have additional restrictions on the---     format and other image creation parameters corresponding to image---     views used by video coding operations that /can/ be enumerated using---     the+--     Specific+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>+--     /may/ have additional restrictions on the format and other image+--     creation parameters corresponding to image views used by video+--     coding operations that /can/ be enumerated using the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>---     command, as described in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#supported-video-input-output-dpb-formats-enumeration Enumeration of Supported Video Output, Input and DPB Formats>.+--     command. -- -- The following bits /may/ be set in @bufferFeatures@, specifying that the -- features are supported by <VkBuffer.html buffers> or@@ -286,6 +298,13 @@ --     when doing --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure> --     builds.+--+-- Note+--+-- 'FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT' and+-- 'FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT' are only intended to be+-- advertised for single-component formats, since SPIR-V atomic operations+-- require a scalar type. -- -- = See Also --
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -1391,18 +1391,18 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCodingControlInfoKHR VkVideoCodingControlInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeCapabilitiesKHR VkVideoDecodeCapabilitiesKHR>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoEXT VkVideoDecodeH264DpbSlotInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264PictureInfoEXT VkVideoDecodeH264PictureInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoEXT VkVideoDecodeH264ProfileInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersAddInfoEXT VkVideoDecodeH264SessionParametersAddInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersCreateInfoEXT VkVideoDecodeH264SessionParametersCreateInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265CapabilitiesEXT VkVideoDecodeH265CapabilitiesEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265DpbSlotInfoEXT VkVideoDecodeH265DpbSlotInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265PictureInfoEXT VkVideoDecodeH265PictureInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoEXT VkVideoDecodeH265ProfileInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersAddInfoEXT VkVideoDecodeH265SessionParametersAddInfoEXT>,--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersCreateInfoEXT VkVideoDecodeH265SessionParametersCreateInfoEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoKHR VkVideoDecodeH264DpbSlotInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264PictureInfoKHR VkVideoDecodeH264PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersAddInfoKHR VkVideoDecodeH264SessionParametersAddInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersCreateInfoKHR VkVideoDecodeH264SessionParametersCreateInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265CapabilitiesKHR VkVideoDecodeH265CapabilitiesKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265DpbSlotInfoKHR VkVideoDecodeH265DpbSlotInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265PictureInfoKHR VkVideoDecodeH265PictureInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersAddInfoKHR VkVideoDecodeH265SessionParametersAddInfoKHR>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersCreateInfoKHR VkVideoDecodeH265SessionParametersCreateInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -66,7 +66,7 @@ -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR', -- 'Vulkan.Extensions.VK_QCOM_fragment_density_map_offset.SubpassFragmentDensityMapOffsetEndInfoQCOM', -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM',--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR> data Offset2D = Offset2D   { -- | @x@ is the x offset.
src/Vulkan/Core10/Image.hs view
@@ -337,7 +337,7 @@ -- -- == Valid Usage ----- -   #VUID-vkGetImageSubresourceLayout-image-02270# @image@ /must/ have+-- -   #VUID-vkGetImageSubresourceLayout-image-07790# @image@ /must/ have --     been created with @tiling@ equal to --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'@@ -1448,29 +1448,33 @@ --     /must/ be @0@ or @1@ -- -- -   #VUID-VkImageCreateInfo-usage-04815# If @usage@ includes---     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,+--     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,+--     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, or --     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @pNext@ chain---     /must/ include a valid+--     /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@---     specifying a decode operation+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure with a @videoCodecOperation@ member specifying a decode+--     operation -- -- -   #VUID-VkImageCreateInfo-usage-04816# If @usage@ includes---     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, --     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, or --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @pNext@ chain---     /must/ include a valid+--     /must/ include a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR> --     structure with @profileCount@ greater than @0@ and @pProfiles@ --     including at least one---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@---     specifying an encode operation+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure with a @videoCodecOperation@ member specifying an encode+--     operation -- -- -   #VUID-VkImageCreateInfo-pNext-06811# If the @pNext@ chain includes a --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>---     structure then @supportedVideoFormat@ /must/ be+--     structure with @profileCount@ greater than @0@, then+--     @supportedVideoFormat@ /must/ be --     'Vulkan.Core10.FundamentalTypes.TRUE' -- -- -   #VUID-VkImageCreateInfo-pNext-06390# If the
src/Vulkan/Core10/ImageView.hs view
@@ -622,40 +622,19 @@ -- -- If the image has a -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>--- @format@ and @subresourceRange.aspectMask@ is--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', and it--- was created with @usage@ value containing flags other than--- @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,--- @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@ ,--- @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,--- @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @format@ /must/ be--- identical to the image @format@, and the sampler to be used with the--- image view /must/ enable+-- @format@, @subresourceRange.aspectMask@ is+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', and+-- @usage@ includes+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT', then+-- the @format@ /must/ be identical to the image @format@ and the sampler+-- to be used with the image view /must/ enable -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>. ----- If the image has a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>--- @format@ and the @image@ has been created with a @usage@ value--- containing any of the @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,--- @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@, and--- @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@ flags, then all of the--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>--- would ignore the--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'--- structure and\/or--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>--- object, associated with the image view. If the image has a--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>--- @format@ and the @image@ has been created with a @usage@ value--- containing any of the @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@,--- @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, and--- @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@ flags, then all of the--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>--- would ignore the--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'--- structure and\/or+-- When such an image is used in a+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding>+-- operation, the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>--- object, associated with the image view.+-- has no effect. -- -- If @image@ was created with the -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT'@@ -1193,21 +1172,17 @@ -- -- -   #VUID-VkImageViewCreateInfo-image-04817# If @image@ was created with --     @usage@ containing @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,---     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,+--     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@, or --     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @viewType@ --     /must/ be 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or---     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' and all---     members of @components@ /must/ have the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' -- -- -   #VUID-VkImageViewCreateInfo-image-04818# If @image@ was created with --     @usage@ containing @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@,---     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, or --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @viewType@ --     /must/ be 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or---     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' and all---     members of @components@ /must/ have the---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' -- -- -   #VUID-VkImageViewCreateInfo-flags-08106# If @flags@ includes --     'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',
src/Vulkan/Core10/OtherTypes.hs view
@@ -600,13 +600,20 @@ --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   #VUID-VkImageMemoryBarrier-synchronization2-06911# If the+-- -   #VUID-VkImageMemoryBarrier-synchronization2-07793# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @layout@ /must/ not be+--     feature is not enabled, @oldLayout@ /must/ not be --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR' --     or --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR' --+-- -   #VUID-VkImageMemoryBarrier-synchronization2-07794# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @newLayout@ /must/ not be+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'+--     or+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'+-- -- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-03938# 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>@@ -702,6 +709,60 @@ --     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 ???>+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07120# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07121# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07122# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07123# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07124# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07125# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@ -- -- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07006# If --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
src/Vulkan/Core10/Query.hs view
@@ -443,17 +443,12 @@ -- -- -   #VUID-vkGetQueryPoolResults-queryType-04810# If the @queryType@ used --     to create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@,---     @flags@ /must/ include @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@+--     then @flags@ /must/ include @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@ -- -- -   #VUID-vkGetQueryPoolResults-flags-04811# If @flags@ includes---     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include+--     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include --     'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT' ----- -   #VUID-vkGetQueryPoolResults-queryType-06900# If the @queryType@ used---     to create @queryPool@ was---     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',---     @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@--- -- == Valid Usage (Implicit) -- -- -   #VUID-vkGetQueryPoolResults-device-parameter# @device@ /must/ be a@@ -591,6 +586,12 @@ -- -   #VUID-VkQueryPoolCreateInfo-queryCount-02763# @queryCount@ /must/ be --     greater than 0 --+-- -   #VUID-VkQueryPoolCreateInfo-queryType-07133# If @queryType@ is+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the+--     @pNext@ chain /must/ include a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure with @videoCodecOperation@ specifying an encode operation+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkQueryPoolCreateInfo-sType-sType# @sType@ /must/ be@@ -601,8 +602,8 @@ --     @NULL@ or a pointer to a valid instance of --     'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR', --     'Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL',---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoEXT VkVideoDecodeH264ProfileInfoEXT>,---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoEXT VkVideoDecodeH265ProfileInfoEXT>,+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>,+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>, --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -515,18 +515,17 @@ -- -- If the @pNext@ chain of @pImageFormatInfo@ includes a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>--- structure with a @profileCount@ member greater than @0@, then--- 'getPhysicalDeviceImageFormatProperties2' returns format capabilities--- specific to image types used in conjunction with the specified video--- codec operations and corresponding video profiles. In this case--- 'getPhysicalDeviceImageFormatProperties2' returns one of the+-- structure with a @profileCount@ member greater than @0@, then this+-- command returns format capabilities specific to image types used in+-- conjunction with the specified+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>.+-- In this case, this command will return one of the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profile-error-codes video-profile-specific error codes> -- if any of the profiles specified via -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>::@pProfiles@ -- are not supported. Furthermore, if--- 'PhysicalDeviceImageFormatInfo2'::@usage@ includes any image usage flags--- not supported by the specified video profiles then--- 'getPhysicalDeviceImageFormatProperties2' returns+-- 'PhysicalDeviceImageFormatInfo2'::@usage@ includes any image usage flag+-- not supported by the specified video profiles, then this command returns -- @VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR@. -- -- == Valid Usage
src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs view
@@ -363,30 +363,42 @@ --     numeric type other than @*UINT@, or set it as a buffer feature. -- -- -   @VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an---     image view with this format /can/ be used as an output for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>+--     image view with this format /can/ be used as a+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>. -- -- -   @VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an---     image view with this format /can/ be used as a DPB for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>+--     image view with this format /can/ be used as an output+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>+--     or an input+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>. -- -- -   @VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an---     image view with this format /can/ be used as an input to---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>+--     image view with this format /can/ be used as an+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>. -- -- -   @VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an---     image view with this format /can/ be used as a DPB for---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>+--     image view with this format /can/ be used as an output+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>+--     or an input+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>+--     in+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>. -- --     Note -----     Specific video profiles /may/ have additional restrictions on the---     format and other image creation parameters corresponding to image---     views used by video coding operations that /can/ be enumerated using---     the+--     Specific+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>+--     /may/ have additional restrictions on the format and other image+--     creation parameters corresponding to image views used by video+--     coding operations that /can/ be enumerated using the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>---     command, as described in---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#supported-video-input-output-dpb-formats-enumeration Enumeration of Supported Video Output, Input and DPB Formats>.+--     command. -- -- -   'FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT' specifies that --     image views or buffer views created with this format /can/ be used
src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs view
@@ -1835,9 +1835,6 @@ --     'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@ --     used to create @dstImage@ ----- -   #VUID-VkCopyImageInfo2-srcImage-07745# @srcImage@ and @dstImage@---     /must/ have the same sample count--- -- == Valid Usage (Implicit) -- -- -   #VUID-VkCopyImageInfo2-sType-sType# @sType@ /must/ be
src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs view
@@ -3313,13 +3313,20 @@ --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT' --     set ----- -   #VUID-VkImageMemoryBarrier2-synchronization2-06911# If the+-- -   #VUID-VkImageMemoryBarrier2-synchronization2-07793# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @layout@ /must/ not be+--     feature is not enabled, @oldLayout@ /must/ not be --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR' --     or --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR' --+-- -   #VUID-VkImageMemoryBarrier2-synchronization2-07794# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @newLayout@ /must/ not be+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'+--     or+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'+-- -- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-03938# 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>@@ -3415,6 +3422,60 @@ --     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 ???>+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07120# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07121# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07122# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07123# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07124# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@+--+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07125# If+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>+--     or @oldLayout@ and @newLayout@ define an+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,+--     and @oldLayout@ or @newLayout@ is+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR@ then @image@ /must/ have been+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@ -- -- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07006# If --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
src/Vulkan/Extensions/VK_EXT_image_compression_control.hs view
@@ -283,12 +283,19 @@ -- specify extended inputs via chained input structures, and to return -- extended information via chained output structures. ----- == Valid Usage+-- It is legal to call 'getImageSubresourceLayout2EXT' with a @image@+-- created with @tiling@ equal to+-- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL', but the members+-- of 'ImageSubresource2EXT'::@imageSubresource@ will have undefined values+-- in this case. ----- -   #VUID-vkGetImageSubresourceLayout2EXT-image-02270# @image@ /must/---     have been created with @tiling@ equal to---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'+-- Note+--+-- Structures chained from 'ImageSubresource2EXT'::@pNext@ will also be+-- updated when @tiling@ is equal to+-- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL'.+--+-- == Valid Usage -- -- -   #VUID-vkGetImageSubresourceLayout2EXT-aspectMask-00997# The --     @aspectMask@ member of @pSubresource@ /must/ only have a single bit
src/Vulkan/Extensions/VK_EXT_mesh_shader.hs view
@@ -1934,6 +1934,41 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries> --     must not be active --+-- -   #VUID-vkCmdDrawMeshTasksEXT-stage-06480# The bound graphics pipeline+--     /must/ not have been created with the+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@+--     member of an element of+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set+--     to+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'+--     or+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'+--+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07074#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07075#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksEXT-pipelineStatistics-07076# The+--     @pipelineStatistics@ member used to create any active+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>+--     /must/ not contain+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',+--     or+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT'+-- -- -   #VUID-vkCmdDrawMeshTasksEXT-TaskEXT-07322# If the current pipeline --     bound to --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'@@ -3696,6 +3731,41 @@ --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries> --     must not be active --+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480# The bound graphics+--     pipeline /must/ not have been created with the+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@+--     member of an element of+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set+--     to+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'+--     or+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07074#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07075#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-pipelineStatistics-07076# The+--     @pipelineStatistics@ member used to create any active+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>+--     /must/ not contain+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',+--     or+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT'+-- -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-buffer-02708# If @buffer@ is --     non-sparse then it /must/ be bound completely and contiguously to a --     single 'Vulkan.Core10.Handles.DeviceMemory' object@@ -5447,6 +5517,41 @@ --     then --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries> --     must not be active+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480# The bound+--     graphics pipeline /must/ not have been created with the+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@+--     member of an element of+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set+--     to+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'+--     or+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07074#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07075#+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>+--     /must/ not be active+--+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-pipelineStatistics-07076#+--     The @pipelineStatistics@ member used to create any active+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>+--     /must/ not contain+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',+--     or+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT' -- -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-buffer-02708# If @buffer@ --     is non-sparse then it /must/ be bound completely and contiguously to
src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs view
@@ -772,7 +772,7 @@ -- -- = Description ----- If @presentScaling@ is @0@, the result of presenting a swapchain image+-- If @scalingBehavior@ is @0@, the result of presenting a swapchain image -- with dimensions that do not match the surface dimensions is -- implementation and platform-dependent. If @presentGravityX@ or -- @presentGravityY@ are @0@, the presentation gravity /must/ match that@@ -787,8 +787,8 @@ -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityX-07766# --     If @presentGravityX@ is not @0@, @presentGravityY@ /must/ not be @0@ ----- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07767#---     @presentScaling@ /must/ not have more than one bit set+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07767#+--     @scalingBehavior@ /must/ not have more than one bit set -- -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityX-07768# --     @presentGravityX@ /must/ not have more than one bit set@@ -796,18 +796,18 @@ -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityY-07769# --     @presentGravityY@ /must/ not have more than one bit set ----- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07770#---     @presentScaling@ /must/ be a valid scaling method for the surface as---     returned in+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07770#+--     @scalingBehavior@ /must/ be a valid scaling method for the surface+--     as returned in --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentScalingCapabilitiesEXT'::@supportedPresentScaling@, --     given --     'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR'::@presentMode@ --     in --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentModeEXT' ----- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07771#+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07771# --     If the swapchain is created with---     'SwapchainPresentModesCreateInfoEXT', @presentScaling@ /must/ be a+--     'SwapchainPresentModesCreateInfoEXT', @scalingBehavior@ /must/ be a --     valid scaling method for the surface as returned in --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentScalingCapabilitiesEXT'::@supportedPresentScaling@, --     given each present mode in@@ -878,15 +878,16 @@ -- 'Vulkan.Extensions.VK_EXT_surface_maintenance1.PresentScalingFlagsEXT', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoEXT-  { -- No documentation found for Nested "VkSwapchainPresentScalingCreateInfoEXT" "scalingBehavior"+  { -- | @scalingBehavior@ is @0@ or the scaling method to use when the+    -- dimensions of the surface and swapchain images differ.     scalingBehavior :: PresentScalingFlagsEXT   , -- | @presentGravityX@ is @0@ or the x-axis direction in which swapchain-    -- image pixels gravitate relative to the surface when @presentScaling@+    -- image pixels gravitate relative to the surface when @scalingBehavior@     -- does not result in a one-to-one pixel mapping between the scaled     -- swapchain image and the surface.     presentGravityX :: PresentGravityFlagsEXT   , -- | @presentGravityY@ is @0@ or the y-axis direction in which swapchain-    -- image pixels gravitate relative to the surface when @presentScaling@+    -- image pixels gravitate relative to the surface when @scalingBehavior@     -- does not result in a one-to-one pixel mapping between the scaled     -- swapchain image and the surface.     presentGravityY :: PresentGravityFlagsEXT
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -966,12 +966,61 @@ --     in the current subpass’s view mask /must/ be less than or equal to --     the number of queries in @queryPool@ --+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07126# If the @queryType@+--     used to create @queryPool@ was+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then the+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ have been created with a queue family index+--     that supports+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,+--     as indicated by+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@+--+-- -   #VUID-vkCmdBeginQueryIndexedEXT-None-07127# If there is a bound+--     video session, then there /must/ be no+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>+--     queries+--+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07128# If the @queryType@+--     used to create @queryPool@ was+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and there is a bound video+--     session, then @queryPool@ /must/ have been created with a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure included in the @pNext@ chain of+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one+--     specified in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@+--     the bound video session was created with+-- -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-04862# If the @queryType@ --     used to create @queryPool@ was---     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was --     allocated from /must/ support --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>+--+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07129# If the @queryType@+--     used to create @queryPool@ was+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there+--     /must/ be a bound video session+--+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07130# If the @queryType@+--     used to create @queryPool@ was+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is+--     a bound video session, then @queryPool@ /must/ have been created+--     with a+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>+--     structure included in the @pNext@ chain of+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one+--     specified in+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@+--     the bound video session was created with+--+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07131# If the @queryType@+--     used to create @queryPool@ was not+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there+--     /must/ be no bound video session -- -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryPool-04753# If the @queryPool@ --     was created with the same @queryType@ as that of another
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -6667,6 +6667,15 @@ -- -   #VUID-VkCopyAccelerationStructureInfoKHR-buffer-03719# The @buffer@ --     used to create @dst@ /must/ be bound to device memory --+-- -   #VUID-VkCopyAccelerationStructureInfoKHR-dst-07791# The range of+--     memory backing @dst@ that is accessed by this command /must/ not+--     overlap the memory backing @src@ that is accessed by this command+--+-- -   #VUID-VkCopyAccelerationStructureInfoKHR-dst-07792# @dst@ /must/ be+--     bound completely and contiguously to a single+--     'Vulkan.Core10.Handles.DeviceMemory' object via+--     'Vulkan.Extensions.VK_NV_ray_tracing.bindAccelerationStructureMemoryNV'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkCopyAccelerationStructureInfoKHR-sType-sType# @sType@ /must/
src/Vulkan/Extensions/VK_KHR_surface.hs view
@@ -1432,7 +1432,7 @@ -- -- Note ----- For a traditional \"Linear\" or non-gamma transfer function color space+-- For a traditional “Linear” or non-gamma transfer function color space -- use 'COLOR_SPACE_PASS_THROUGH_EXT'. -- -- The color components of non-linear color space swap chain images /must/
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -1204,6 +1204,15 @@ -- -   #VUID-vkCmdCopyAccelerationStructureNV-buffer-03719# The @buffer@ --     used to create @dst@ /must/ be bound to device memory --+-- -   #VUID-vkCmdCopyAccelerationStructureNV-dst-07791# The range of+--     memory backing @dst@ that is accessed by this command /must/ not+--     overlap the memory backing @src@ that is accessed by this command+--+-- -   #VUID-vkCmdCopyAccelerationStructureNV-dst-07792# @dst@ /must/ be+--     bound completely and contiguously to a single+--     'Vulkan.Core10.Handles.DeviceMemory' object via+--     'bindAccelerationStructureMemoryNV'+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter#@@ -1551,6 +1560,11 @@ --     'Vulkan.Core10.FundamentalTypes.TRUE', the @src@ and @dst@ objects --     /must/ either be the same object or not have any --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-memory-aliasing memory aliasing>+--+-- -   #VUID-vkCmdBuildAccelerationStructureNV-dst-07787# @dst@ /must/ be+--     bound completely and contiguously to a single+--     'Vulkan.Core10.Handles.DeviceMemory' object via+--     'bindAccelerationStructureMemoryNV' -- -- == Valid Usage (Implicit) --
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 237+pattern HEADER_VERSION = 238   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 237+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 238   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.24.2+version:        3.24.3 synopsis:       Bindings to the Vulkan graphics API. description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category:       Graphics