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