vulkan 3.11.3 → 3.11.4
raw patch · 24 files changed
+219/−181 lines, 24 files
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/Core10/CommandBufferBuilding.hs +32/−50
- src/Vulkan/Core10/Pipeline.hs +2/−2
- src/Vulkan/Core10/Queue.hs +6/−2
- src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs +3/−3
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +6/−6
- src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs +7/−0
- src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs +8/−8
- src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs +7/−0
- src/Vulkan/Extensions/VK_EXT_line_rasterization.hs +5/−0
- src/Vulkan/Extensions/VK_EXT_multi_draw.hs +6/−6
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +3/−3
- src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs +2/−2
- src/Vulkan/Extensions/VK_KHR_copy_commands2.hs +44/−47
- src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs +7/−3
- src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs +28/−28
- src/Vulkan/Extensions/VK_KHR_surface.hs +16/−2
- src/Vulkan/Extensions/VK_KHR_swapchain.hs +15/−0
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +3/−3
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +9/−9
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +3/−3
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +1/−1
changelog.md view
@@ -2,6 +2,9 @@ ## WIP +## [3.11.4] - 2021-07-27+- Bump API version to v1.2.186+ ## [3.11.3] - 2021-07-21 - Bump API version to v1.2.185
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.11.3"+version: "3.11.4" 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
@@ -1851,9 +1851,9 @@ -- - #VUID-vkCmdDraw-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDraw-None-02859# There /must/ not have been any calls to -- dynamic state setting commands for any state not specified as@@ -2467,9 +2467,9 @@ -- - #VUID-vkCmdDrawIndexed-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndexed-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified@@ -3082,9 +3082,9 @@ -- - #VUID-vkCmdDrawIndirect-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndirect-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified@@ -3725,9 +3725,9 @@ -- - #VUID-vkCmdDrawIndexedIndirect-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndexedIndirect-None-02859# There /must/ not have -- been any calls to dynamic state setting commands for any state not@@ -4362,9 +4362,9 @@ -- - #VUID-vkCmdDispatch-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDispatch-None-02859# There /must/ not have been any calls -- to dynamic state setting commands for any state not specified as@@ -4690,9 +4690,9 @@ -- - #VUID-vkCmdDispatchIndirect-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDispatchIndirect-None-02859# There /must/ not have been -- any calls to dynamic state setting commands for any state not@@ -5061,8 +5061,8 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility Compatible Formats> -- table. Depth\/stencil formats /must/ match exactly. ----- If the format of @srcImage@ or @dstImage@ is a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar image format>,+-- If either @srcImage@ or @dstImage@ has a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>, -- regions of each plane to be copied /must/ be specified separately using -- the @srcSubresource@ and @dstSubresource@ members of the 'ImageCopy' -- structure. In this case, the @aspectMask@ of the @srcSubresource@ or@@ -6046,8 +6046,8 @@ -- Each region in @pRegions@ is copied from the specified region of the -- source buffer to the specified region of the destination image. ----- If the format of @dstImage@ is a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar image format>,+-- If @dstImage@ has a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>, -- regions of each plane to be a target of a copy /must/ be specified -- separately using the @pRegions@ member of the 'BufferImageCopy' -- structure. In this case, the @aspectMask@ of @imageSubresource@ /must/@@ -6078,13 +6078,8 @@ -- unprotected image -- -- - #VUID-vkCmdCopyBufferToImage-pRegions-00172# The image region--- specified by each element of @pRegions@ /must/ be a region that is--- contained within @dstImage@ if the @dstImage@’s--- 'Vulkan.Core10.Enums.Format.Format' is not a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- and /must/ be a region that is contained within the plane being--- copied to if the @dstImage@’s 'Vulkan.Core10.Enums.Format.Format' is--- a multi-planar format+-- specified by each element of @pRegions@ /must/ be contained within+-- the specified @imageSubresource@ of @dstImage@ -- -- - #VUID-vkCmdCopyBufferToImage-pRegions-00171# @srcBuffer@ /must/ be -- large enough to contain all buffer locations that are accessed@@ -6168,17 +6163,13 @@ -- @pRegions@, @imageOffset.x@ and (@imageExtent.width@ + -- @imageOffset.x@) /must/ both be greater than or equal to @0@ and -- less than or equal to the width of the specified @imageSubresource@--- of @dstImage@ where this refers to the width of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @dstImage@ -- -- - #VUID-vkCmdCopyBufferToImage-imageOffset-00198# For each element of -- @pRegions@, @imageOffset.y@ and (@imageExtent.height@ + -- @imageOffset.y@) /must/ both be greater than or equal to @0@ and -- less than or equal to the height of the specified @imageSubresource@--- of @dstImage@ where this refers to the height of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @dstImage@ -- -- - #VUID-vkCmdCopyBufferToImage-bufferOffset-01558# If @dstImage@ does -- not have either a depth\/stencil or a@@ -6402,8 +6393,8 @@ -- Each region in @pRegions@ is copied from the specified region of the -- source image to the specified region of the destination buffer. ----- If the 'Vulkan.Core10.Enums.Format.Format' of @srcImage@ is a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar image format>,+-- If @srcImage@ has a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>, -- regions of each plane to be a source of a copy /must/ be specified -- separately using the @pRegions@ member of the 'BufferImageCopy' -- structure. In this case, the @aspectMask@ of @imageSubresource@ /must/@@ -6434,13 +6425,8 @@ -- unprotected buffer -- -- - #VUID-vkCmdCopyImageToBuffer-pRegions-00182# The image region--- specified by each element of @pRegions@ /must/ be a region that is--- contained within @srcImage@ if the @srcImage@’s--- 'Vulkan.Core10.Enums.Format.Format' is not a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- and /must/ be a region that is contained within the plane being--- copied if the @srcImage@’s 'Vulkan.Core10.Enums.Format.Format' is a--- multi-planar format+-- specified by each element of @pRegions@ /must/ be contained within+-- the specified @imageSubresource@ of @srcImage@ -- -- - #VUID-vkCmdCopyImageToBuffer-pRegions-00183# @dstBuffer@ /must/ be -- large enough to contain all buffer locations that are accessed@@ -6515,17 +6501,13 @@ -- @pRegions@, @imageOffset.x@ and (@imageExtent.width@ + -- @imageOffset.x@) /must/ both be greater than or equal to @0@ and -- less than or equal to the width of the specified @imageSubresource@--- of @srcImage@ where this refers to the width of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @srcImage@ -- -- - #VUID-vkCmdCopyImageToBuffer-imageOffset-00198# For each element of -- @pRegions@, @imageOffset.y@ and (imageExtent.height + -- @imageOffset.y@) /must/ both be greater than or equal to @0@ and -- less than or equal to the height of the specified @imageSubresource@--- of @srcImage@ where this refers to the height of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @srcImage@ -- -- - #VUID-vkCmdCopyImageToBuffer-bufferOffset-01558# If @srcImage@ does -- not have either a depth\/stencil or a
src/Vulkan/Core10/Pipeline.hs view
@@ -1506,8 +1506,8 @@ data VertexInputBindingDescription = VertexInputBindingDescription { -- | @binding@ is the binding number that this structure describes. binding :: Word32- , -- | @stride@ is the distance in bytes between two consecutive elements- -- within the buffer.+ , -- | @stride@ is the byte stride between consecutive elements within the+ -- buffer. stride :: Word32 , -- | @inputRate@ is a 'Vulkan.Core10.Enums.VertexInputRate.VertexInputRate' -- value specifying whether vertex attribute addressing is a function of
src/Vulkan/Core10/Queue.hs view
@@ -445,8 +445,12 @@ -- -- = Description ----- 'queueWaitIdle' is equivalent to submitting a fence to a queue and--- waiting with an infinite timeout for that fence to signal.+-- 'queueWaitIdle' is equivalent to having submitted a valid fence to every+-- previously executed+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-submission queue submission command>+-- that accepts a fence, then waiting for all of those fences to signal+-- using 'Vulkan.Core10.Fence.waitForFences' with an infinite timeout and+-- @waitAll@ set to 'Vulkan.Core10.FundamentalTypes.TRUE'. -- -- == Valid Usage (Implicit) --
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -355,9 +355,9 @@ -- - #VUID-vkCmdDispatchBase-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDispatchBase-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -143,9 +143,9 @@ -- - #VUID-vkCmdDrawIndirectCount-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndirectCount-None-02859# There /must/ not have been -- any calls to dynamic state setting commands for any state not@@ -809,9 +809,9 @@ -- - #VUID-vkCmdDrawIndexedIndirectCount-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndexedIndirectCount-None-02859# There /must/ not -- have been any calls to dynamic state setting commands for any state
src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs view
@@ -196,6 +196,13 @@ -- with the ability to return extended information by adding extending -- structures to the @pNext@ chain of its @pSurfaceCapabilities@ parameter. --+-- == Valid Usage+--+-- - [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by+-- @physicalDevice@, as reported by+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'+-- or an equivalent platform-specific mechanism+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkGetPhysicalDeviceSurfaceCapabilities2EXT-physicalDevice-parameter#
src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs view
@@ -686,9 +686,9 @@ -- -- If the bound pipeline state object was created with the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'--- dynamic state enabled then @pStrides@[i] specifies the distance in bytes--- between two consecutive elements within the corresponding buffer. In--- this case the+-- dynamic state enabled then @pStrides@[i] specifies the byte stride+-- between consecutive elements within the corresponding buffer. In this+-- case the -- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'::@stride@ state -- from the pipeline state object is ignored. --@@ -739,11 +739,11 @@ -- to -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputBindingStride@ ----- - #VUID-vkCmdBindVertexBuffers2EXT-pStrides-03363# If @pStrides@ is--- not @NULL@ each element of @pStrides@ /must/ be greater than or--- equal to the maximum extent of all vertex input attributes fetched--- from the corresponding binding, where the extent is calculated as--- the+-- - #VUID-vkCmdBindVertexBuffers2EXT-pStrides-06209# If @pStrides@ is+-- not @NULL@ each element of @pStrides@ /must/ be either 0 or greater+-- than or equal to the maximum extent of all vertex input attributes+-- fetched from the corresponding binding, where the extent is+-- calculated as the -- 'Vulkan.Core10.Pipeline.VertexInputAttributeDescription'::@offset@ -- plus -- 'Vulkan.Core10.Pipeline.VertexInputAttributeDescription'::@format@
src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs view
@@ -381,6 +381,13 @@ -- with the ability to specify extended inputs via chained input -- structures. --+-- == Valid Usage+--+-- - [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/+-- be supported by @physicalDevice@, as reported by+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'+-- or an equivalent platform-specific mechanism+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkGetPhysicalDeviceSurfacePresentModes2EXT-physicalDevice-parameter#
src/Vulkan/Extensions/VK_EXT_line_rasterization.hs view
@@ -444,6 +444,11 @@ -- | VkPipelineRasterizationLineStateCreateInfoEXT - Structure specifying -- parameters of a newly created pipeline line rasterization state --+-- = Description+--+-- If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the+-- values of @lineStippleFactor@ and @lineStipplePattern@ are ignored.+-- -- == Valid Usage -- -- - #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768#
src/Vulkan/Extensions/VK_EXT_multi_draw.hs view
@@ -298,9 +298,9 @@ -- - #VUID-vkCmdDrawMultiEXT-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawMultiEXT-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified@@ -925,9 +925,9 @@ -- - #VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawMultiIndexedEXT-None-02859# There /must/ not have -- been any calls to dynamic state setting commands for any state not
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -1289,9 +1289,9 @@ -- - #VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawIndirectByteCountEXT-None-02859# There /must/ not -- have been any calls to dynamic state setting commands for any state
src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs view
@@ -405,8 +405,8 @@ data VertexInputBindingDescription2EXT = VertexInputBindingDescription2EXT { -- | @binding@ is the binding number that this structure describes. binding :: Word32- , -- | @stride@ is the distance in bytes between two consecutive elements- -- within the buffer.+ , -- | @stride@ is the byte stride between consecutive elements within the+ -- buffer. stride :: Word32 , -- | @inputRate@ is a 'Vulkan.Core10.Enums.VertexInputRate.VertexInputRate' -- value specifying whether vertex attribute addressing is a function of
src/Vulkan/Extensions/VK_KHR_copy_commands2.hs view
@@ -2134,16 +2134,21 @@ -- - #VUID-VkBlitImageInfo2KHR-pRegions-04561# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then @srcImage@ and @dstImage@ /must/ not be a--- block-compressed image.+-- in its @pNext@ chain, then @srcImage@ and @dstImage@ /must/ not be+-- block-compressed images ----- - #VUID-VkBlitImageInfo2KHR-pRegions-04562# If any element of+-- - #VUID-VkBlitImageInfo2KHR-pRegions-06207# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then the @srcImage@ /must/ be of type--- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' and /must/ not be a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>.+-- in its @pNext@ chain, then @srcImage@ /must/ be of type+-- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' --+-- - #VUID-VkBlitImageInfo2KHR-pRegions-06208# If any element of+-- @pRegions@ contains+-- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'+-- in its @pNext@ chain, then @srcImage@ /must/ not have a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- -- == Valid Usage (Implicit) -- -- - #VUID-VkBlitImageInfo2KHR-sType-sType# @sType@ /must/ be@@ -2267,31 +2272,31 @@ -- region specified by each element of @pRegions@ does not contain -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM' -- in its @pNext@ chain, it /must/ be a region that is contained within--- @dstImage@ if the @dstImage@’s 'Vulkan.Core10.Enums.Format.Format'--- is not a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- and /must/ be a region that is contained within the plane being--- copied to if the @dstImage@’s 'Vulkan.Core10.Enums.Format.Format' is--- a multi-planar format+-- the specified @imageSubresource@ of @dstImage@ -- -- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-04554# If the image--- region specified by each element of @pRegions@ does contain+-- region specified by each element of @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM' -- in its @pNext@ chain, the rotated destination region as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-rotation-addressing>--- /must/ be contained within @dstImage@.+-- /must/ be contained within @dstImage@ -- -- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-04555# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then the @dstImage@ /must/ not be a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#blocked-image blocked image>.+-- in its @pNext@ chain, then @dstImage@ /must/ not be a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#blocked-image blocked image> ----- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-04556# If any element of+-- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-06203# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then the @dstImage@ /must/ be of type--- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' and /must/ not be a+-- in its @pNext@ chain, then @dstImage@ /must/ be of type+-- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D'+--+-- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-06204# If any element of+-- @pRegions@ contains+-- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'+-- in its @pNext@ chain, then @dstImage@ /must/ not have a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>. -- -- - #VUID-VkCopyBufferToImageInfo2KHR-pRegions-00171# @srcBuffer@ /must/@@ -2379,9 +2384,7 @@ -- in its @pNext@ chain, @imageOffset.x@ and (@imageExtent.width@ + -- @imageOffset.x@) /must/ both be greater than or equal to @0@ and -- less than or equal to the width of the specified @imageSubresource@--- of @dstImage@ where this refers to the width of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @dstImage@ -- -- - #VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00198# For each -- element of @pRegions@ not containing@@ -2389,9 +2392,7 @@ -- in its @pNext@ chain, @imageOffset.y@ and (@imageExtent.height@ + -- @imageOffset.y@) /must/ both be greater than or equal to @0@ and -- less than or equal to the height of the specified @imageSubresource@--- of @dstImage@ where this refers to the height of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @dstImage@ -- -- - #VUID-VkCopyBufferToImageInfo2KHR-bufferOffset-01558# If @dstImage@ -- does not have either a depth\/stencil or a@@ -2623,34 +2624,34 @@ -- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-04566# If the image -- region specified by each element of @pRegions@ does not contain -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, it /must/ be a region that is contained within--- @srcImage@ if the @srcImage@’s 'Vulkan.Core10.Enums.Format.Format'--- is not a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,--- and /must/ be a region that is contained within the plane being--- copied if the @srcImage@’s 'Vulkan.Core10.Enums.Format.Format' is a--- multi-planar format+-- in its @pNext@ chain, it /must/ be contained within the specified+-- @imageSubresource@ of @srcImage@ -- -- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-04557# If the image--- region specified by each element of @pRegions@ does contain+-- region specified by each element of @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM' -- in its @pNext@ chain, the rotated source region as described in -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-rotation-addressing>--- /must/ be contained within @srcImage@.+-- /must/ be contained within @srcImage@ -- -- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-04558# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then the @srcImage@ /must/ not be a+-- in its @pNext@ chain, then @srcImage@ /must/ not be a -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#blocked-image blocked image> ----- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-04559# If any element of+-- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-06205# If any element of -- @pRegions@ contains -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, then the @srcImage@ /must/ be of type--- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D', and /must/ not be a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>.+-- in its @pNext@ chain, then @srcImage@ /must/ be of type+-- 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D' --+-- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-06206# If any element of+-- @pRegions@ contains+-- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'+-- in its @pNext@ chain, then @srcImage@ /must/ not have a+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- -- - #VUID-VkCopyImageToBufferInfo2KHR-pRegions-00183# @dstBuffer@ /must/ -- be large enough to contain all buffer locations that are accessed -- according to@@ -2724,22 +2725,18 @@ -- - #VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00197# For each -- element of @pRegions@ not containing -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, , @imageOffset.x@ and (@imageExtent.width@ ++-- in its @pNext@ chain, @imageOffset.x@ and (@imageExtent.width@ + -- @imageOffset.x@) /must/ both be greater than or equal to @0@ and -- less than or equal to the width of the specified @imageSubresource@--- of @srcImage@ where this refers to the width of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @srcImage@ -- -- - #VUID-VkCopyImageToBufferInfo2KHR-imageOffset-00198# For each -- element of @pRegions@ not containing -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'--- in its @pNext@ chain, , @imageOffset.y@ and (@imageExtent.height@ ++-- in its @pNext@ chain, @imageOffset.y@ and (@imageExtent.height@ + -- @imageOffset.y@) /must/ both be greater than or equal to @0@ and -- less than or equal to the height of the specified @imageSubresource@--- of @srcImage@ where this refers to the height of the /plane/ of the--- image involved in the copy in the case of a--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>+-- of @srcImage@ -- -- - #VUID-VkCopyImageToBufferInfo2KHR-bufferOffset-01558# If -- {imageparam} does not have either a depth\/stencil or a
src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs view
@@ -261,6 +261,11 @@ -- -- == Valid Usage --+-- - [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/+-- be supported by @physicalDevice@, as reported by+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'+-- or an equivalent platform-specific mechanism+-- -- - #VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pNext-02671# If a -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT' -- structure is included in the @pNext@ chain of@@ -354,9 +359,8 @@ -- -- == Valid Usage ----- - #VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-02740#--- @pSurfaceInfo->surface@ /must/ be supported by @physicalDevice@, as--- reported by+-- - [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/+-- be supported by @physicalDevice@, as reported by -- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR' -- or an equivalent platform-specific mechanism --
src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs view
@@ -985,9 +985,9 @@ -- - #VUID-vkCmdTraceRaysKHR-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdTraceRaysKHR-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified@@ -1858,9 +1858,9 @@ -- - #VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdTraceRaysIndirectKHR-None-02859# There /must/ not have -- been any calls to dynamic state setting commands for any state not@@ -3357,37 +3357,37 @@ -- -- == Valid Usage --+-- - #VUID-VkTraceRaysIndirectCommandKHR-width-03638# @width@ /must/ be+-- less than or equal to+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]+-- ×+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[0]+--+-- - #VUID-VkTraceRaysIndirectCommandKHR-height-03639# @height@ /must/ be+-- less than or equal to+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]+-- ×+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[1]+--+-- - #VUID-VkTraceRaysIndirectCommandKHR-depth-03640# @depth@ /must/ be+-- less than or equal to+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]+-- ×+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[2]+--+-- - #VUID-VkTraceRaysIndirectCommandKHR-width-03641# @width@ × @height@+-- × @depth@ /must/ be less than or equal to+-- 'PhysicalDeviceRayTracingPipelinePropertiesKHR'::@maxRayDispatchInvocationCount@+-- -- = See Also -- -- No cross-references are available data TraceRaysIndirectCommandKHR = TraceRaysIndirectCommandKHR { -- | @width@ is the width of the ray trace query dimensions.- --- -- #VUID-VkTraceRaysIndirectCommandKHR-width-03638# @width@ /must/ be less- -- than or equal to- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]- -- ×- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[0]- --- -- #VUID-VkTraceRaysIndirectCommandKHR-width-03641# @width@ × @height@ ×- -- @depth@ /must/ be less than or equal to- -- 'PhysicalDeviceRayTracingPipelinePropertiesKHR'::@maxRayDispatchInvocationCount@ width :: Word32 , -- | @height@ is height of the ray trace query dimensions.- --- -- #VUID-VkTraceRaysIndirectCommandKHR-height-03639# @height@ /must/ be- -- less than or equal to- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]- -- ×- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[1] height :: Word32 , -- | @depth@ is depth of the ray trace query dimensions.- --- -- #VUID-VkTraceRaysIndirectCommandKHR-depth-03640# @depth@ /must/ be less- -- than or equal to- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]- -- ×- -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupSize@[2] depth :: Word32 } deriving (Typeable, Eq)
src/Vulkan/Extensions/VK_KHR_surface.hs view
@@ -669,6 +669,13 @@ -- | vkGetPhysicalDeviceSurfaceCapabilitiesKHR - Query surface capabilities --+-- == Valid Usage+--+-- - [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by+-- @physicalDevice@, as reported by+-- 'getPhysicalDeviceSurfaceSupportKHR' or an equivalent+-- platform-specific mechanism+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-physicalDevice-parameter#@@ -766,8 +773,8 @@ -- -- == Valid Usage ----- - #VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-surface-02739# @surface@--- /must/ be supported by @physicalDevice@, as reported by+-- - [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by+-- @physicalDevice@, as reported by -- 'getPhysicalDeviceSurfaceSupportKHR' or an equivalent -- platform-specific mechanism --@@ -866,6 +873,13 @@ -- 'Vulkan.Core10.Enums.Result.INCOMPLETE' will be returned instead of -- 'Vulkan.Core10.Enums.Result.SUCCESS', to indicate that not all the -- available modes were returned.+--+-- == Valid Usage+--+-- - [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by+-- @physicalDevice@, as reported by+-- 'getPhysicalDeviceSurfaceSupportKHR' or an equivalent+-- platform-specific mechanism -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions/VK_KHR_swapchain.hs view
@@ -2016,6 +2016,14 @@ -- modes /must/ be a subset of the modes returned by -- 'getDeviceGroupPresentCapabilitiesKHR'. --+-- == Valid Usage+--+-- - #VUID-vkGetDeviceGroupSurfacePresentModesKHR-surface-06212#+-- @surface@ /must/ be supported by all physical devices associated+-- with @device@, as reported by+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'+-- or an equivalent platform-specific mechanism+-- -- == Valid Usage (Implicit) -- -- - #VUID-vkGetDeviceGroupSurfacePresentModesKHR-device-parameter#@@ -2212,6 +2220,13 @@ -- in response to the surface being moved, resized, or occluded. -- -- The rectangles returned by this command /must/ not overlap.+--+-- == Valid Usage+--+-- - [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by+-- @physicalDevice@, as reported by+-- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'+-- or an equivalent platform-specific mechanism -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -810,9 +810,9 @@ -- - #VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdExecuteGeneratedCommandsNV-None-02859# There /must/ not -- have been any calls to dynamic state setting commands for any state
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -429,9 +429,9 @@ -- - #VUID-vkCmdDrawMeshTasksNV-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawMeshTasksNV-None-02859# There /must/ not have been -- any calls to dynamic state setting commands for any state not@@ -1005,9 +1005,9 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawMeshTasksIndirectNV-None-02859# There /must/ not have -- been any calls to dynamic state setting commands for any state not@@ -1629,9 +1629,9 @@ -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02859# There /must/ not -- have been any calls to dynamic state setting commands for any state
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -1715,9 +1715,9 @@ -- - #VUID-vkCmdTraceRaysNV-commandBuffer-02701# If the -- 'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind -- point used by this command requires any dynamic state, that state--- /must/ have been set or inherited for @commandBuffer@, and done so--- after any previously bound pipeline with the corresponding state not--- specified as dynamic+-- /must/ have been set or inherited (if the @@ extension is enabled)+-- for @commandBuffer@, and done so after any previously bound pipeline+-- with the corresponding state not specified as dynamic -- -- - #VUID-vkCmdTraceRaysNV-None-02859# There /must/ not have been any -- calls to dynamic state setting commands for any state not specified
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 185+pattern HEADER_VERSION = 186 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 185+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 186 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.11.3+version: 3.11.4 synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics