vulkan 3.23.3 → 3.23.4
raw patch · 12 files changed
+164/−67 lines, 12 files
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/Core10/CommandBufferBuilding.hs +8/−8
- src/Vulkan/Core10/Event.hs +8/−0
- src/Vulkan/Core10/Pipeline.hs +67/−33
- src/Vulkan/Core13/Enums/PipelineStageFlags2.hs +2/−1
- src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs +3/−0
- src/Vulkan/Extensions/VK_NV_memory_decompression.hs +15/−15
- src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs +0/−6
- src/Vulkan/SPIRVRequirements.hs +54/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +1/−1
changelog.md view
@@ -2,6 +2,9 @@ ## WIP +## [3.23.4] - 2022-12-27+- Bump API version to v1.3.234+ ## [3.23.3] - 2022-12-27 - Bump API version to v1.3.233
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.23.3"+version: "3.23.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
@@ -12186,9 +12186,9 @@ -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of -- @pRanges@, if the @levelCount@ member is not -- 'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', then--- @baseMipLevel@ + @levelCount@ /must/ be less than the @mipLevels@--- specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was--- created+-- @baseMipLevel@ + @levelCount@ /must/ be less than or equal to the+-- @mipLevels@ specified in 'Vulkan.Core10.Image.ImageCreateInfo' when+-- @image@ was created -- -- - #VUID-vkCmdClearColorImage-baseArrayLayer-01472# The -- 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseArrayLayer@@@ -12200,7 +12200,7 @@ -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of -- @pRanges@, if the @layerCount@ member is not -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', then--- @baseArrayLayer@ + @layerCount@ /must/ be less than the+-- @baseArrayLayer@ + @layerCount@ /must/ be less than or equal to the -- @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo' -- when @image@ was created --@@ -12418,9 +12418,9 @@ -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of -- @pRanges@, if the @levelCount@ member is not -- 'Vulkan.Core10.APIConstants.REMAINING_MIP_LEVELS', then--- @baseMipLevel@ + @levelCount@ /must/ be less than the @mipLevels@--- specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was--- created+-- @baseMipLevel@ + @levelCount@ /must/ be less than or equal to the+-- @mipLevels@ specified in 'Vulkan.Core10.Image.ImageCreateInfo' when+-- @image@ was created -- -- - #VUID-vkCmdClearDepthStencilImage-baseArrayLayer-01476# The -- 'Vulkan.Core10.ImageView.ImageSubresourceRange'::@baseArrayLayer@@@ -12432,7 +12432,7 @@ -- 'Vulkan.Core10.ImageView.ImageSubresourceRange' element of -- @pRanges@, if the @layerCount@ member is not -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', then--- @baseArrayLayer@ + @layerCount@ /must/ be less than the+-- @baseArrayLayer@ + @layerCount@ /must/ be less than or equal to the -- @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo' -- when @image@ was created --
src/Vulkan/Core10/Event.hs view
@@ -362,6 +362,14 @@ -- If @event@ is already in the signaled state when 'setEvent' is executed, -- then 'setEvent' has no effect, and no event signal operation occurs. --+-- Note+--+-- If a command buffer is waiting for an event to be signaled from the+-- host, the application must signal the event before submitting the+-- command buffer, as described in the+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#commandbuffers-submission-progress queue forward progress>+-- section.+-- -- == Valid Usage -- -- - #VUID-vkSetEvent-event-03941# @event@ /must/ not have been created
src/Vulkan/Core10/Pipeline.hs view
@@ -4370,43 +4370,51 @@ -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-noattachments zero-attachment subpass> -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06046# If @renderPass@--- is a valid renderPass, @subpass@ /must/ be a valid subpass within--- @renderPass@+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @subpass@ /must/ be+-- a valid subpass within @renderPass@ -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06047# If @renderPass@--- is a valid renderPass, the pipeline is being created with+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is+-- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @renderPass@ has multiview enabled and @subpass@ has more--- than one bit set in the view mask and @multiviewTessellationShader@--- is not enabled, then @pStages@ /must/ not include tessellation--- shaders+-- @subpass@ viewMask is not @0@, and @multiviewTessellationShader@ is+-- not enabled, then @pStages@ /must/ not include tessellation shaders -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06048# If @renderPass@--- is a valid renderPass, the pipeline is being created with+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is+-- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @renderPass@ has multiview enabled and @subpass@ has more--- than one bit set in the view mask and @multiviewGeometryShader@ is--- not enabled, then @pStages@ /must/ not include a geometry shader+-- @subpass@ viewMask is not @0@, and @multiviewGeometryShader@ is not+-- enabled, then @pStages@ /must/ not include a geometry shader -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06049# If @renderPass@--- is a valid renderPass, the pipeline is being created with+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is+-- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @renderPass@ has multiview enabled and @subpass@ has more--- than one bit set in the view mask, shaders in the pipeline /must/--- not write to the @Layer@ built-in output+-- and @subpass@ viewMask is not @0@, all of the shaders in the+-- pipeline /must/ not write to the @Layer@ built-in output -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06050# If @renderPass@--- is a valid renderPass and the pipeline is being created with+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the pipeline is+-- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @renderPass@ has multiview enabled, then all shaders /must/--- not include variables decorated with the @Layer@ built-in decoration--- in their interfaces+-- and @subpass@ viewMask is not @0@, then all of the shaders in the+-- pipeline /must/ not include variables decorated with the @Layer@+-- built-in decoration in their interfaces --+-- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-07717# If @renderPass@+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the pipeline is+-- being created with+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,+-- and @subpass@ viewMask is not @0@, then all of the shaders in the+-- pipeline /must/ not include variables decorated with the @ViewMask@+-- built-in decoration in their interfaces+-- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-07064# If @renderPass@--- is a valid renderPass, the pipeline is being created with+-- is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is+-- being created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @renderPass@ has multiview enabled and @subpass@ has more--- than one bit set in the view mask and @multiviewMeshShader@ is not+-- @subpass@ viewMask is not @0@, and @multiviewMeshShader@ is not -- enabled, then @pStages@ /must/ not include a mesh shader -- -- - #VUID-VkGraphicsPipelineCreateInfo-flags-00764# @flags@ /must/ not@@ -5253,9 +5261,8 @@ -- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being -- created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- the @viewMask@ member of a--- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'--- structure included in the @pNext@ chain is not @0@, and the+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, and the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-tess multiviewTessellationShader> -- feature is not enabled, then @pStages@ /must/ not include -- tessellation shaders@@ -5264,22 +5271,49 @@ -- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being -- created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- the @viewMask@ member of a--- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'--- structure included in the @pNext@ chain is not @0@, and the+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, and the -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-gs multiviewGeometryShader> -- feature is not enabled, then @pStages@ /must/ not include a geometry -- shader --+-- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-07718# If @renderPass@+-- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being+-- created with+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,+-- and+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, all of the shaders in the pipeline /must/ not write to+-- the @Layer@ built-in output+-- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06059# If @renderPass@ -- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being -- created with -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,--- and the @viewMask@ member of a--- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'--- structure included in the @pNext@ chain is not @0@, shaders in--- @pStages@ /must/ not include variables decorated with the @Layer@--- built-in decoration in their interfaces+-- and+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, all of the shaders in the pipeline /must/ not include+-- variables decorated with the @Layer@ built-in decoration in their+-- interfaces+--+-- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-07719# If @renderPass@+-- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being+-- created with+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,+-- and+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, all of the shaders in the pipeline /must/ not include+-- variables decorated with the @ViewIndex@ built-in decoration in+-- their interfaces+--+-- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-07720# If @renderPass@+-- is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline is being+-- created with+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,+-- and+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@viewMask@+-- is not @0@, and @multiviewMeshShader@ is not enabled, then @pStages@+-- /must/ not include a mesh shader -- -- - #VUID-VkGraphicsPipelineCreateInfo-renderPass-06061# If the pipeline -- is being created with
src/Vulkan/Core13/Enums/PipelineStageFlags2.hs view
@@ -404,7 +404,8 @@ -- are performed. pattern PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = PipelineStageFlagBits2 0x0000000020000000 --- No documentation found for Nested "VkPipelineStageFlagBits2" "VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"+-- | 'PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT' specifies the execution of+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#micromap micromap commands>. pattern PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = PipelineStageFlagBits2 0x0000000040000000 -- | 'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR' specifies the
src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs view
@@ -309,6 +309,9 @@ -> -- | @externalHandleType@ is either one of the bits from -- 'ExternalMemoryHandleTypeFlagBitsNV', or 0. --+ -- #VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-07721#+ -- @externalHandleType@ /must/ not have more than one bit set+ -- -- #VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-parameter# -- @externalHandleType@ /must/ be a valid combination of -- 'ExternalMemoryHandleTypeFlagBitsNV' values
src/Vulkan/Extensions/VK_NV_memory_decompression.hs view
@@ -205,9 +205,9 @@ -- -- == Valid Usage ----- - #VUID-vkCmdDecompressMemoryNV-None-07684#+-- - #VUID-vkCmdDecompressMemoryNV-None-07684# The -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-memoryDecompression memoryDecompression>--- /must/ be enabled+-- feature /must/ be enabled -- -- == Valid Usage (Implicit) --@@ -263,9 +263,9 @@ => -- | @commandBuffer@ is the command buffer into which the command will be -- recorded. CommandBuffer- -> -- | @pDecompressMemoryRegions@ is a pointer to an array of size- -- @decompressRegionCount@ of 'DecompressMemoryRegionNV' structures used to- -- specify the decompression parameters.+ -> -- | @pDecompressMemoryRegions@ is a pointer to an array of+ -- @decompressRegionCount@ 'DecompressMemoryRegionNV' structures specifying+ -- decompression parameters. ("decompressMemoryRegions" ::: Vector DecompressMemoryRegionNV) -> io () cmdDecompressMemoryNV commandBuffer@@ -301,9 +301,9 @@ -- -- == Valid Usage ----- - #VUID-vkCmdDecompressMemoryIndirectCountNV-None-07692#+-- - #VUID-vkCmdDecompressMemoryIndirectCountNV-None-07692# The -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-memoryDecompression memoryDecompression>--- /must/ be enabled+-- feature /must/ be enabled -- -- - #VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07693# -- If @indirectCommandsAddress@ comes from a non-sparse buffer then it@@ -521,9 +521,9 @@ -- 'MemoryDecompressionMethodFlagsNV', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceMemoryDecompressionPropertiesNV = PhysicalDeviceMemoryDecompressionPropertiesNV- { -- | @decompressionMethods@ specifies the list of all the memory- -- decompression methods supported by the implementation as a bitmask of- -- 'MemoryDecompressionMethodFlagBitsNV'.+ { -- | @decompressionMethods@ is a bitmask of+ -- 'MemoryDecompressionMethodFlagBitsNV' specifying memory decompression+ -- methods supported by the implementation. decompressionMethods :: MemoryDecompressionMethodFlagsNV , -- | @maxDecompressionIndirectCount@ specifies the maximum supported count -- value in the @countBuffer@ of 'cmdDecompressMemoryIndirectCountNV'@@ -626,9 +626,9 @@ compressedSize :: DeviceSize , -- | @decompressedSize@ is the size of decompressed data in bytes. decompressedSize :: DeviceSize- , -- | @decompressionMethod@ is a single bit value from- -- 'MemoryDecompressionMethodFlagBitsNV' which specifies the decompression- -- method used to decompress data.+ , -- | @decompressionMethod@ is a bitmask of+ -- 'MemoryDecompressionMethodFlagBitsNV' with a single bit set specifying+ -- the method used to decompress data. decompressionMethod :: MemoryDecompressionMethodFlagsNV } deriving (Typeable, Eq)@@ -696,8 +696,8 @@ newtype MemoryDecompressionMethodFlagBitsNV = MemoryDecompressionMethodFlagBitsNV Flags64 deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits) --- | 'MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV' specifies that--- GDEFLATE 1.0 algorithm is used to decompress data.+-- | 'MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV' specifies that the+-- GDeflate 1.0 algorithm is used to decompress data. pattern MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = MemoryDecompressionMethodFlagBitsNV 0x0000000000000001 conNameMemoryDecompressionMethodFlagBitsNV :: String
src/Vulkan/Extensions/VK_NV_ray_tracing_invocation_reorder.hs view
@@ -220,12 +220,6 @@ -- | VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV - Structure -- describing shader module identifier properties of an implementation ----- = Members------ The members of the--- 'PhysicalDeviceRayTracingInvocationReorderPropertiesNV' structure--- describe the following:--- -- = Description -- -- Note
src/Vulkan/SPIRVRequirements.hs view
@@ -380,6 +380,60 @@ , deviceExtensionMinVersion = 0 } ]+ "SPV_NV_shader_invocation_reorder" ->+ (,)+ [ RequireInstanceExtension+ { instanceExtensionLayerName = Nothing+ , instanceExtensionName = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+ , instanceExtensionMinVersion = 0+ }+ ]+ [ RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_SPIRV_1_4_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ , RequireDeviceExtension+ { deviceExtensionLayerName = Nothing+ , deviceExtensionName = KHR_MAINTENANCE_3_EXTENSION_NAME+ , deviceExtensionMinVersion = 0+ }+ ] "SPV_EXT_shader_viewport_index_layer" -> (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 2 0]
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 233+pattern HEADER_VERSION = 234 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 233+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 234 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.23.3+version: 3.23.4 synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics