vulkan 3.24.2 → 3.24.3
raw patch · 25 files changed
+551/−160 lines, 25 files
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/Core10/Buffer.hs +10/−8
- src/Vulkan/Core10/CommandBufferBuilding.hs +80/−16
- src/Vulkan/Core10/Enums/AccessFlagBits.hs +8/−0
- src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs +33/−14
- src/Vulkan/Core10/Enums/StructureType.hs +12/−12
- src/Vulkan/Core10/FundamentalTypes.hs +1/−1
- src/Vulkan/Core10/Image.hs +14/−10
- src/Vulkan/Core10/ImageView.hs +14/−39
- src/Vulkan/Core10/OtherTypes.hs +63/−2
- src/Vulkan/Core10/Query.hs +10/−9
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +7/−8
- src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs +26/−14
- src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs +0/−3
- src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs +63/−2
- src/Vulkan/Extensions/VK_EXT_image_compression_control.hs +12/−5
- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs +105/−0
- src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs +12/−11
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +50/−1
- src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs +9/−0
- src/Vulkan/Extensions/VK_KHR_surface.hs +1/−1
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +14/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +1/−1
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