From c6e33fe600a047c39225741a51efbffd2a980a4f Mon Sep 17 00:00:00 2001 From: Three Of Twelve Date: Fri, 17 Nov 2023 00:49:49 +0000 Subject: [PATCH] Bump vulkan version to v1.3.270 --- changelog.md | 1 + generate-new/Vulkan-Docs | 2 +- src/Vulkan/CStruct/Extends.hs | 5 + src/Vulkan/Core10/Buffer.hs | 8 +- src/Vulkan/Core10/CommandBufferBuilding.hs | 60 ++--- src/Vulkan/Core10/DescriptorSet.hs | 27 +++ src/Vulkan/Core10/Device.hs | 3 + src/Vulkan/Core10/Enums/StructureType.hs | 10 + src/Vulkan/Core10/FundamentalTypes.hs | 1 + src/Vulkan/Core10/Pass.hs | 27 ++- src/Vulkan/Core10/Pipeline.hs | 56 ++--- ..._VK_KHR_get_physical_device_properties2.hs | 2 + ...Promoted_From_VK_KHR_create_renderpass2.hs | 27 ++- ...romoted_From_VK_KHR_draw_indirect_count.hs | 13 +- .../Promoted_From_VK_KHR_copy_commands2.hs | 18 -- .../Promoted_From_VK_KHR_dynamic_rendering.hs | 26 ++- .../Promoted_From_VK_KHR_synchronization2.hs | 3 +- src/Vulkan/Extensions.hs | 2 + .../VK_EXT_attachment_feedback_loop_layout.hs | 2 +- ...XT_attachment_feedback_loop_layout.hs-boot | 2 +- .../Extensions/VK_EXT_descriptor_buffer.hs | 31 ++- .../Extensions/VK_EXT_discard_rectangles.hs | 2 +- .../VK_EXT_discard_rectangles.hs-boot | 2 +- .../VK_EXT_extended_dynamic_state3.hs | 7 +- .../VK_EXT_extended_dynamic_state3.hs-boot | 2 +- src/Vulkan/Extensions/VK_EXT_mesh_shader.hs | 14 +- src/Vulkan/Extensions/VK_EXT_multi_draw.hs | 14 +- .../Extensions/VK_EXT_opacity_micromap.hs | 6 +- .../VK_EXT_opacity_micromap.hs-boot | 6 +- .../Extensions/VK_EXT_transform_feedback.hs | 7 +- .../VK_HUAWEI_cluster_culling_shader.hs | 9 +- .../VK_IMG_relaxed_line_rasterization.hs | 214 ++++++++++++++++++ .../VK_IMG_relaxed_line_rasterization.hs-boot | 115 ++++++++++ .../VK_KHR_acceleration_structure.hs | 66 ++++-- .../Extensions/VK_KHR_cooperative_matrix.hs | 5 + src/Vulkan/Extensions/VK_KHR_display.hs | 72 +++--- src/Vulkan/Extensions/VK_KHR_display.hs-boot | 72 +++--- .../Extensions/VK_NV_copy_memory_indirect.hs | 5 - .../Extensions/VK_NV_cuda_kernel_launch.hs | 42 +++- .../VK_NV_device_generated_commands.hs | 7 +- ...VK_NV_device_generated_commands_compute.hs | 48 ++-- src/Vulkan/Extensions/VK_NV_low_latency2.hs | 21 +- .../Extensions/VK_NV_low_latency2.hs-boot | 7 +- src/Vulkan/Extensions/VK_NV_mesh_shader.hs | 14 +- src/Vulkan/Version.hs | 4 +- vulkan.cabal | 1 + 46 files changed, 800 insertions(+), 288 deletions(-) create mode 100644 src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs create mode 100644 src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs-boot diff --git a/changelog.md b/changelog.md index 15c35d73a..d5872eb61 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,7 @@ # Change Log ## WIP +- Bump API version to v1.3.270 ## [3.26.1] - 2023-10-21 - Bump API version to v1.3.269 diff --git a/generate-new/Vulkan-Docs b/generate-new/Vulkan-Docs index c8fff68b3..b4792eab9 160000 --- a/generate-new/Vulkan-Docs +++ b/generate-new/Vulkan-Docs @@ -1 +1 @@ -Subproject commit c8fff68b3d3be212db0c73b0e31a845294e249ab +Subproject commit b4792eab92a1d132ef95b56a7681cc6af69b570e diff --git a/src/Vulkan/CStruct/Extends.hs b/src/Vulkan/CStruct/Extends.hs index dfdb95d11..5ab28ae90 100644 --- a/src/Vulkan/CStruct/Extends.hs +++ b/src/Vulkan/CStruct/Extends.hs @@ -659,6 +659,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDev import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelinePropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch (PhysicalDeviceRayTracingPositionFetchFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (PhysicalDeviceRayTracingPropertiesNV) +import {-# SOURCE #-} Vulkan.Extensions.VK_IMG_relaxed_line_rasterization (PhysicalDeviceRelaxedLineRasterizationFeaturesIMG) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_representative_fragment_test (PhysicalDeviceRepresentativeFragmentTestFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_robustness2 (PhysicalDeviceRobustness2FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_robustness2 (PhysicalDeviceRobustness2PropertiesEXT) @@ -1307,6 +1308,7 @@ type family Extends (a :: [Type] -> Type) (b :: Type) :: Constraint where Extends DeviceCreateInfo PhysicalDeviceCudaKernelLaunchFeaturesNV = () Extends DeviceCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = () Extends DeviceCreateInfo PhysicalDeviceSchedulingControlsFeaturesARM = () + Extends DeviceCreateInfo PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = () Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = () Extends DeviceQueueCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = () Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = () @@ -1580,6 +1582,7 @@ type family Extends (a :: [Type] -> Type) (b :: Type) :: Constraint where Extends PhysicalDeviceFeatures2 PhysicalDeviceExternalFormatResolveFeaturesANDROID = () Extends PhysicalDeviceFeatures2 PhysicalDeviceCudaKernelLaunchFeaturesNV = () Extends PhysicalDeviceFeatures2 PhysicalDeviceSchedulingControlsFeaturesARM = () + Extends PhysicalDeviceFeatures2 PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = () Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = () @@ -2399,6 +2402,7 @@ peekChainHead ty p c = case ty of STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM -> go @DeviceQueueShaderCoreControlCreateInfoARM STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM -> go @PhysicalDeviceSchedulingControlsFeaturesARM STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM -> go @PhysicalDeviceSchedulingControlsPropertiesARM + STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG -> go @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing where go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b @@ -2943,6 +2947,7 @@ infix 6 ::& {-# complete (::&) :: DeviceQueueShaderCoreControlCreateInfoARM #-} {-# complete (::&) :: PhysicalDeviceSchedulingControlsFeaturesARM #-} {-# complete (::&) :: PhysicalDeviceSchedulingControlsPropertiesARM #-} +{-# complete (::&) :: PhysicalDeviceRelaxedLineRasterizationFeaturesIMG #-} -- | View the head and tail of a 'Chain', see '::&' -- diff --git a/src/Vulkan/Core10/Buffer.hs b/src/Vulkan/Core10/Buffer.hs index ac23e00d3..a8266f2ca 100644 --- a/src/Vulkan/Core10/Buffer.hs +++ b/src/Vulkan/Core10/Buffer.hs @@ -337,9 +337,9 @@ destroyBuffer device buffer allocator = liftIO . evalContT $ do -- 'Vulkan.Core10.Enums.SharingMode.SHARING_MODE_CONCURRENT', each -- element of @pQueueFamilyIndices@ /must/ be unique and /must/ be less -- than @pQueueFamilyPropertyCount@ returned by either --- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceQueueFamilyProperties' --- or -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceQueueFamilyProperties2' +-- or +-- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceQueueFamilyProperties' -- for the @physicalDevice@ that was used to create @device@ -- -- - #VUID-VkBufferCreateInfo-flags-00915# If the @@ -414,9 +414,7 @@ destroyBuffer device buffer allocator = liftIO . evalContT $ do -- - #VUID-VkBufferCreateInfo-flags-03338# If @flags@ includes -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT', -- the --- --- or --- +-- -- feature /must/ be enabled -- -- - #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes diff --git a/src/Vulkan/Core10/CommandBufferBuilding.hs b/src/Vulkan/Core10/CommandBufferBuilding.hs index 25332f264..2f7563ba3 100644 --- a/src/Vulkan/Core10/CommandBufferBuilding.hs +++ b/src/Vulkan/Core10/CommandBufferBuilding.hs @@ -388,12 +388,6 @@ foreign import ccall -- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI', -- @pipeline@ /must/ be a subpass shading pipeline -- --- - #VUID-vkCmdBindPipeline-pipelineBindPoint-06653# If --- @pipelineBindPoint@ is --- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS', --- @pipeline@ /must/ have been created without --- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_LIBRARY_BIT_KHR' --- -- == Valid Usage (Implicit) -- -- - #VUID-vkCmdBindPipeline-commandBuffer-parameter# @commandBuffer@ @@ -1544,12 +1538,6 @@ foreign import ccall -- is not enabled, each element of @pDescriptorSets@ /must/ be a valid -- 'Vulkan.Core10.Handles.DescriptorSet' -- --- - #VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010# Each element of --- @pDescriptorSets@ /must/ have been allocated with a --- 'Vulkan.Core10.Handles.DescriptorSetLayout' which was not created --- with --- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' --- -- == Valid Usage (Implicit) -- -- - #VUID-vkCmdBindDescriptorSets-commandBuffer-parameter# @@ -3394,8 +3382,10 @@ foreign import ccall -- equal to -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- --- - #VUID-vkCmdDraw-colorAttachmentCount-06179# If the current render --- pass instance was begun with +-- - #VUID-vkCmdDraw-colorAttachmentCount-06179# If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -5467,7 +5457,7 @@ foreign import ccall -- - #VUID-vkCmdDraw-pStrides-04913# If the bound graphics pipeline was -- created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -7142,8 +7132,10 @@ foreign import ccall -- equal to -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- --- - #VUID-vkCmdDrawIndexed-colorAttachmentCount-06179# If the current --- render pass instance was begun with +-- - #VUID-vkCmdDrawIndexed-colorAttachmentCount-06179# If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -9229,7 +9221,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndexed-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -10919,8 +10911,10 @@ foreign import ccall -- equal to -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- --- - #VUID-vkCmdDrawIndirect-colorAttachmentCount-06179# If the current --- render pass instance was begun with +-- - #VUID-vkCmdDrawIndirect-colorAttachmentCount-06179# If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -12984,7 +12978,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndirect-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -14694,7 +14688,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawIndexedIndirect-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -16766,7 +16762,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndexedIndirect-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -18733,12 +18729,6 @@ foreign import ccall -- @layerCount@ members of @srcSubresource@ or @dstSubresource@ /must/ -- match -- --- - #VUID-vkCmdCopyImage-maintenance5-08792# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-vkCmdCopyImage-srcImage-08794# If @srcImage@ and @dstImage@ -- have the same 'Vulkan.Core10.Enums.ImageType.ImageType', and one of -- the @layerCount@ members of @srcSubresource@ or @dstSubresource@ is @@ -25694,12 +25684,6 @@ instance Zero ImageCopy where -- @layerCount@ members of @srcSubresource@ or @dstSubresource@ /must/ -- match -- --- - #VUID-VkImageBlit-maintenance5-08799# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-VkImageBlit-layerCount-08801# If one of the @layerCount@ -- members of @srcSubresource@ or @dstSubresource@ is -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', the other @@ -25937,12 +25921,6 @@ instance Zero BufferImageCopy where -- @layerCount@ member of @srcSubresource@ and @dstSubresource@ /must/ -- match -- --- - #VUID-VkImageResolve-maintenance5-08802# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-VkImageResolve-layerCount-08804# If one of the @layerCount@ -- members of @srcSubresource@ or @dstSubresource@ is -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', the other diff --git a/src/Vulkan/Core10/DescriptorSet.hs b/src/Vulkan/Core10/DescriptorSet.hs index 73ba6c321..667c6288b 100644 --- a/src/Vulkan/Core10/DescriptorSet.hs +++ b/src/Vulkan/Core10/DescriptorSet.hs @@ -1170,6 +1170,26 @@ instance Zero DescriptorBufferInfo where -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' -- but not both -- +-- - #VUID-VkDescriptorImageInfo-imageLayout-09425# If @imageLayout@ is +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL', +-- then the @aspectMask@ used to create @imageView@ /must/ not include +-- either +-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or +-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT' +-- +-- - #VUID-VkDescriptorImageInfo-imageLayout-09426# If @imageLayout@ is +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL', +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL' +-- or +-- 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL', +-- then the @aspectMask@ used to create @imageView@ /must/ not include +-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT' +-- -- - #VUID-VkDescriptorImageInfo-imageLayout-00344# @imageLayout@ /must/ -- match the actual 'Vulkan.Core10.Enums.ImageLayout.ImageLayout' of -- each subresource accessible from @imageView@ at the time this @@ -2799,6 +2819,13 @@ instance Zero DescriptorPoolSize where -- element in @pPoolSizes@ /must/ not have sets of supported descriptor -- types which partially overlap -- +-- - #VUID-VkDescriptorPoolCreateInfo-pPoolSizes-09424# If @pPoolSizes@ +-- contains a @descriptorType@ of +-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK', +-- the @pNext@ chain /must/ include a +-- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.DescriptorPoolInlineUniformBlockCreateInfo' +-- structure whose @maxInlineUniformBlockBindings@ member is not zero +-- -- == Valid Usage (Implicit) -- -- - #VUID-VkDescriptorPoolCreateInfo-sType-sType# @sType@ /must/ be diff --git a/src/Vulkan/Core10/Device.hs b/src/Vulkan/Core10/Device.hs index 79c6148ab..1b9ee1fda 100644 --- a/src/Vulkan/Core10/Device.hs +++ b/src/Vulkan/Core10/Device.hs @@ -212,6 +212,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1 (Physica import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch (PhysicalDeviceRayTracingPositionFetchFeaturesKHR) +import {-# SOURCE #-} Vulkan.Extensions.VK_IMG_relaxed_line_rasterization (PhysicalDeviceRelaxedLineRasterizationFeaturesIMG) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_representative_fragment_test (PhysicalDeviceRepresentativeFragmentTestFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_robustness2 (PhysicalDeviceRobustness2FeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (PhysicalDeviceSamplerYcbcrConversionFeatures) @@ -1018,6 +1019,7 @@ instance es ~ '[] => Zero (DeviceQueueCreateInfo es) where -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch.PhysicalDeviceRayTracingPositionFetchFeaturesKHR', +-- 'Vulkan.Extensions.VK_IMG_relaxed_line_rasterization.PhysicalDeviceRelaxedLineRasterizationFeaturesIMG', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures', @@ -1150,6 +1152,7 @@ instance Extensible DeviceCreateInfo where getNext DeviceCreateInfo{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b extends _ f + | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f | Just Refl <- eqT @e @DeviceQueueShaderCoreControlCreateInfoARM = Just f | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f diff --git a/src/Vulkan/Core10/Enums/StructureType.hs b/src/Vulkan/Core10/Enums/StructureType.hs index 103de7011..a6d10a205 100644 --- a/src/Vulkan/Core10/Enums/StructureType.hs +++ b/src/Vulkan/Core10/Enums/StructureType.hs @@ -531,6 +531,7 @@ module Vulkan.Core10.Enums.StructureType (StructureType( STRUCTURE_TYPE_APPLICA , STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR , STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR , STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR + , STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG , STRUCTURE_TYPE_HDR_METADATA_EXT , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT @@ -1340,6 +1341,7 @@ import GHC.Show (Show(showsPrec)) -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelinePropertiesKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch.PhysicalDeviceRayTracingPositionFetchFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.PhysicalDeviceRayTracingPropertiesNV', +-- 'Vulkan.Extensions.VK_IMG_relaxed_line_rasterization.PhysicalDeviceRelaxedLineRasterizationFeaturesIMG', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT', @@ -3260,6 +3262,9 @@ pattern STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = StructureType 100011 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR" pattern STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = StructureType 1000111000 +-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG" +pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = StructureType 1000110000 + -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_HDR_METADATA_EXT" pattern STRUCTURE_TYPE_HDR_METADATA_EXT = StructureType 1000105000 @@ -4578,6 +4583,7 @@ pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = StructureType 10000 , STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR , STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR , STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR + , STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG , STRUCTURE_TYPE_HDR_METADATA_EXT , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT @@ -6954,6 +6960,10 @@ showTableStructureType = ( STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR , "SHARED_PRESENT_SURFACE_CAPABILITIES_KHR" ) + , + ( STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG + , "PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG" + ) , (STRUCTURE_TYPE_HDR_METADATA_EXT, "HDR_METADATA_EXT") , ( STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT diff --git a/src/Vulkan/Core10/FundamentalTypes.hs b/src/Vulkan/Core10/FundamentalTypes.hs index 66e3feb18..610ec25b7 100644 --- a/src/Vulkan/Core10/FundamentalTypes.hs +++ b/src/Vulkan/Core10/FundamentalTypes.hs @@ -589,6 +589,7 @@ instance Zero Rect2D where -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch.PhysicalDeviceRayTracingPositionFetchFeaturesKHR', +-- 'Vulkan.Extensions.VK_IMG_relaxed_line_rasterization.PhysicalDeviceRelaxedLineRasterizationFeaturesIMG', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT', diff --git a/src/Vulkan/Core10/Pass.hs b/src/Vulkan/Core10/Pass.hs index 86f252936..b89750dc5 100644 --- a/src/Vulkan/Core10/Pass.hs +++ b/src/Vulkan/Core10/Pass.hs @@ -1308,10 +1308,8 @@ instance Zero AttachmentReference where -- same 'Vulkan.Core10.Enums.Format.Format' as its corresponding color -- attachment -- --- - #VUID-VkSubpassDescription-pColorAttachments-06868# If neither the --- @VK_AMD_mixed_attachment_samples@ extension nor the --- @VK_NV_framebuffer_mixed_samples@ extension is enabled, all --- attachments in @pColorAttachments@ that are not +-- - #VUID-VkSubpassDescription-pColorAttachments-09430# All attachments +-- in @pColorAttachments@ that are not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have the same -- sample count -- @@ -1382,22 +1380,29 @@ instance Zero AttachmentReference where -- /must/ contain -- 'Vulkan.Core13.Enums.FormatFeatureFlags2.FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV' -- --- - #VUID-VkSubpassDescription-pColorAttachments-01506# If the --- @VK_AMD_mixed_attachment_samples@ extension is enabled, all --- attachments in @pColorAttachments@ that are not +-- - #VUID-VkSubpassDescription-None-09431# If either of the following is +-- enabled: +-- +-- - The @VK_AMD_mixed_attachment_samples@ extension +-- +-- - The @VK_NV_framebuffer_mixed_samples@ extension +-- +-- all attachments in @pColorAttachments@ that are not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have a sample -- count that is smaller than or equal to the sample count of -- @pDepthStencilAttachment@ if it is not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' -- --- - #VUID-VkSubpassDescription-pDepthStencilAttachment-01418# If neither --- the @VK_AMD_mixed_attachment_samples@ nor the --- @VK_NV_framebuffer_mixed_samples@ extensions are enabled, and if +-- - #VUID-VkSubpassDescription-pDepthStencilAttachment-01418# If -- @pDepthStencilAttachment@ is not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and any attachments -- in @pColorAttachments@ are not -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', they /must/ have the --- same sample count +-- same sample count , if none of the following are enabled: +-- +-- - The @VK_AMD_mixed_attachment_samples@ extension +-- +-- - The @VK_NV_framebuffer_mixed_samples@ extension -- -- - #VUID-VkSubpassDescription-attachment-00853# Each element of -- @pPreserveAttachments@ /must/ not be diff --git a/src/Vulkan/Core10/Pipeline.hs b/src/Vulkan/Core10/Pipeline.hs index 713a782f4..963bcdccf 100644 --- a/src/Vulkan/Core10/Pipeline.hs +++ b/src/Vulkan/Core10/Pipeline.hs @@ -4366,14 +4366,6 @@ instance Zero PipelineDepthStencilStateCreateInfo where -- @pViewportState@ is not @NULL@ it /must/ be a valid pointer to a -- valid 'PipelineViewportStateCreateInfo' structure -- --- - #VUID-VkGraphicsPipelineCreateInfo-pViewportState-04892# If the --- pipeline requires --- , --- and the graphics pipeline state was created with the --- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE' --- dynamic state enabled, @pViewportState@ /must/ be a valid pointer to --- a valid 'PipelineViewportStateCreateInfo' structure --- -- - #VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09026# If the -- pipeline requires -- , @@ -4454,8 +4446,8 @@ instance Zero PipelineDepthStencilStateCreateInfo where -- - #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-02510# If the -- pipeline requires -- , --- and the @VK_EXT_depth_range_unrestricted@ extension is not enabled --- and no element of the @pDynamicStates@ member of @pDynamicState@ is +-- the @VK_EXT_depth_range_unrestricted@ extension is not enabled and +-- no element of the @pDynamicStates@ member of @pDynamicState@ is -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS', and -- the @depthBoundsTestEnable@ member of @pDepthStencilState@ is -- 'Vulkan.Core10.FundamentalTypes.TRUE', the @minDepthBounds@ and @@ -5876,9 +5868,12 @@ instance Zero PipelineDepthStencilStateCreateInfo where -- @pStages@ /must/ be a valid pointer to an array of @stageCount@ -- valid 'PipelineShaderStageCreateInfo' structures -- --- - #VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09039# If the --- @VK_EXT_extended_dynamic_state3@ extension is not enabled, or any of --- the +-- - #VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09039# If +-- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@ +-- includes +-- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT', +-- and the @VK_EXT_extended_dynamic_state3@ extension is not enabled, +-- or any of the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT', -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT' @@ -6398,26 +6393,6 @@ instance Zero PipelineDepthStencilStateCreateInfo where -- @pStages@ /must/ be a valid pointer to an array of @stageCount@ -- valid 'PipelineShaderStageCreateInfo' structures -- --- - #VUID-VkGraphicsPipelineCreateInfo-flags-09041# If --- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@ --- includes --- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT', --- and the @VK_EXT_extended_dynamic_state3@ extension is not enabled, --- or any of the --- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT', --- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or --- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT' --- dynamic states are not set, or --- --- is enabled on the device and --- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT' --- is not set, @pMultisampleState@ /must/ be a valid pointer to a valid --- 'PipelineMultisampleStateCreateInfo' structure --- --- - #VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09042# If --- @pRasterizationState@ is not @NULL@ it /must/ be a valid pointer to --- a valid 'PipelineRasterizationStateCreateInfo' structure --- -- - #VUID-VkGraphicsPipelineCreateInfo-flags-06642# If -- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@ -- includes @@ -6964,6 +6939,21 @@ instance Zero PipelineDepthStencilStateCreateInfo where -- is not specified, the pipeline /must/ define -- -- +-- - #VUID-VkGraphicsPipelineCreateInfo-flags-08909# If @flags@ does not +-- include +-- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_LIBRARY_BIT_KHR', +-- +-- is specified either in a library or by the inclusion of +-- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT', +-- and that state either includes +-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE' +-- or has @pRasterizationState->rasterizerDiscardEnable@ set to +-- 'Vulkan.Core10.FundamentalTypes.FALSE', the pipeline /must/ define +-- +-- and +-- +-- or include those states in linked pipeline libraries +-- -- - #VUID-VkGraphicsPipelineCreateInfo-None-09043# If -- @pDynamicState->pDynamicStates@ does not include -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT', diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs index ffc57fba2..ae9d77882 100644 --- a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs @@ -284,6 +284,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDev import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelinePropertiesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch (PhysicalDeviceRayTracingPositionFetchFeaturesKHR) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (PhysicalDeviceRayTracingPropertiesNV) +import {-# SOURCE #-} Vulkan.Extensions.VK_IMG_relaxed_line_rasterization (PhysicalDeviceRelaxedLineRasterizationFeaturesIMG) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_representative_fragment_test (PhysicalDeviceRepresentativeFragmentTestFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_robustness2 (PhysicalDeviceRobustness2FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_robustness2 (PhysicalDeviceRobustness2PropertiesEXT) @@ -900,6 +901,7 @@ instance Extensible PhysicalDeviceFeatures2 where getNext PhysicalDeviceFeatures2{..} = next extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b extends _ f + | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f | Just Refl <- eqT @e @PhysicalDeviceExternalFormatResolveFeaturesANDROID = Just f diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs index 8e0c84fc7..1ec0bb0ab 100644 --- a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs +++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs @@ -1564,12 +1564,11 @@ instance es ~ '[] => Zero (AttachmentReference2 es) where -- color attachment -- -- - #VUID-VkSubpassDescription2-multisampledRenderToSingleSampled-06869# --- If none of the @VK_AMD_mixed_attachment_samples@ extension, the --- @VK_NV_framebuffer_mixed_samples@ extension, or the +-- If the -- --- feature are enabled, all attachments in @pColorAttachments@ that are --- not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have the --- same sample count +-- feature is not enabled, all attachments in @pColorAttachments@ that +-- are not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have +-- the same sample count -- -- - #VUID-VkSubpassDescription2-pInputAttachments-02897# All attachments -- in @pInputAttachments@ that are not @@ -1688,13 +1687,17 @@ instance es ~ '[] => Zero (AttachmentReference2 es) where -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' -- -- - #VUID-VkSubpassDescription2-multisampledRenderToSingleSampled-06872# --- If none of the @VK_AMD_mixed_attachment_samples@ extension, the --- @VK_NV_framebuffer_mixed_samples@ extension, or the --- --- feature are enabled, all attachments in @pDepthStencilAttachment@ or --- @pColorAttachments@ that are not --- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ have the same --- sample count +-- All attachments in @pDepthStencilAttachment@ or @pColorAttachments@ +-- that are not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ +-- have the same sample count , if none of the following are enabled: +-- +-- - The @VK_AMD_mixed_attachment_samples@ extension +-- +-- - The @VK_NV_framebuffer_mixed_samples@ extension +-- +-- - The +-- +-- feature, -- -- - #VUID-VkSubpassDescription2-attachment-03073# Each element of -- @pPreserveAttachments@ /must/ not be diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs index 78fe39c7a..3724decda 100644 --- a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs @@ -1527,7 +1527,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawIndirectCount-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -3600,7 +3602,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndirectCount-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -5380,7 +5382,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawIndexedIndirectCount-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -7456,7 +7461,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndexedIndirectCount-pStrides-04913# If the bound -- graphics pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs index c48d69761..391523857 100644 --- a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs +++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs @@ -971,12 +971,6 @@ instance Zero ImageCopy2 where -- @layerCount@ members of @srcSubresource@ or @dstSubresource@ /must/ -- match -- --- - #VUID-VkImageBlit2-maintenance5-08799# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-VkImageBlit2-layerCount-08801# If one of the @layerCount@ -- members of @srcSubresource@ or @dstSubresource@ is -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', the other @@ -1286,12 +1280,6 @@ instance es ~ '[] => Zero (BufferImageCopy2 es) where -- @layerCount@ member of @srcSubresource@ and @dstSubresource@ /must/ -- match -- --- - #VUID-VkImageResolve2-maintenance5-08802# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-VkImageResolve2-layerCount-08804# If one of the @layerCount@ -- members of @srcSubresource@ or @dstSubresource@ is -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', the other @@ -1731,12 +1719,6 @@ instance Zero CopyBufferInfo2 where -- @layerCount@ members of @srcSubresource@ or @dstSubresource@ /must/ -- match -- --- - #VUID-VkCopyImageInfo2-maintenance5-08792# If the --- --- feature is not enabled, the @layerCount@ member of @srcSubresource@ --- or @dstSubresource@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-VkCopyImageInfo2-srcImage-08794# If @srcImage@ and @dstImage@ -- have the same 'Vulkan.Core10.Enums.ImageType.ImageType', and one of -- the @layerCount@ members of @srcSubresource@ or @dstSubresource@ is diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs index 8aa272002..c4bb1b0c7 100644 --- a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs +++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs @@ -433,14 +433,26 @@ instance Zero PipelineRenderingCreateInfo where -- - #VUID-VkRenderingInfo-viewMask-06069# If @viewMask@ is @0@, -- @layerCount@ /must/ not be @0@ -- --- - #VUID-VkRenderingInfo-multisampledRenderToSingleSampled-06857# If --- none of the @VK_AMD_mixed_attachment_samples@ extension, the --- @VK_NV_framebuffer_mixed_samples@ extension, or the +-- - #VUID-VkRenderingInfo-multisampledRenderToSingleSampled-06857# +-- @imageView@ members of @pDepthAttachment@, @pStencilAttachment@, and +-- elements of @pColorAttachments@ that are not +-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' /must/ have been created +-- with the same @sampleCount@ , if none of the following are enabled: +-- +-- - The @VK_AMD_mixed_attachment_samples@ extension +-- +-- - The @VK_NV_framebuffer_mixed_samples@ extension +-- +-- - The +-- +-- feature, +-- +-- - #VUID-VkRenderingInfo-imageView-09429# @imageView@ members of +-- elements of @pColorAttachments@ that are not +-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' /must/ have been created +-- with the same @sampleCount@ , if the -- --- feature are enabled, @imageView@ members of @pDepthAttachment@, --- @pStencilAttachment@, and elements of @pColorAttachments@ that are --- not 'Vulkan.Core10.APIConstants.NULL_HANDLE' /must/ have been --- created with the same @sampleCount@ +-- feature is not enabled -- -- - #VUID-VkRenderingInfo-None-08994# If -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo'::@deviceRenderAreaCount@ diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs index f10ce95ea..789c1f70c 100644 --- a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs +++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs @@ -672,8 +672,7 @@ cmdWaitEvents2SafeOrUnsafe mkVkCmdWaitEvents2 commandBuffer -- @pImageMemoryBarriers@ members of @pDependencyInfos@ /must/ either -- include only pipeline stages valid for the queue family that was -- used to create the command pool that @commandBuffer@ was allocated --- from, or include only --- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_HOST_BIT' +-- from -- -- - #VUID-vkCmdWaitEvents2-dstStageMask-03843# The @dstStageMask@ member -- of any element of the @pMemoryBarriers@, @pBufferMemoryBarriers@, or diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs index 4086e34e6..540879604 100644 --- a/src/Vulkan/Extensions.hs +++ b/src/Vulkan/Extensions.hs @@ -171,6 +171,7 @@ module Vulkan.Extensions ( module Vulkan.Extensions.Dependencies , module Vulkan.Extensions.VK_HUAWEI_subpass_shading , module Vulkan.Extensions.VK_IMG_filter_cubic , module Vulkan.Extensions.VK_IMG_format_pvrtc + , module Vulkan.Extensions.VK_IMG_relaxed_line_rasterization , module Vulkan.Extensions.VK_INTEL_performance_query , module Vulkan.Extensions.VK_INTEL_shader_integer_functions2 , module Vulkan.Extensions.VK_KHR_16bit_storage @@ -515,6 +516,7 @@ import Vulkan.Extensions.VK_HUAWEI_invocation_mask import Vulkan.Extensions.VK_HUAWEI_subpass_shading import Vulkan.Extensions.VK_IMG_filter_cubic import Vulkan.Extensions.VK_IMG_format_pvrtc +import Vulkan.Extensions.VK_IMG_relaxed_line_rasterization import Vulkan.Extensions.VK_INTEL_performance_query import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 import Vulkan.Extensions.VK_KHR_16bit_storage diff --git a/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs b/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs index 818a96546..a4798e6ad 100644 --- a/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs +++ b/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- diff --git a/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs-boot b/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs-boot index 24f771c23..340938457 100644 --- a/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs-boot +++ b/src/Vulkan/Extensions/VK_EXT_attachment_feedback_loop_layout.hs-boot @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- diff --git a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs index 437c8d9af..b325dc3ef 100644 --- a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs +++ b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs @@ -2555,14 +2555,21 @@ instance es ~ '[] => Zero (DescriptorBufferBindingInfoEXT es) where -- -- == Valid Usage (Implicit) -- +-- - #VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-sType-sType# +-- @sType@ /must/ be +-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT' +-- +-- - #VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-buffer-parameter# +-- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle +-- -- = See Also -- -- , -- 'Vulkan.Core10.Handles.Buffer', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data DescriptorBufferBindingPushDescriptorBufferHandleEXT = DescriptorBufferBindingPushDescriptorBufferHandleEXT - { -- | #VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-buffer-parameter# - -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle + { -- | @buffer@ is the 'Vulkan.Core10.Handles.Buffer' handle of the buffer for + -- push descriptors. buffer :: Buffer } deriving (Typeable, Eq) #if defined(GENERIC_INSTANCES) @@ -2667,6 +2674,26 @@ instance Zero DescriptorBufferBindingPushDescriptorBufferHandleEXT where -- zero, @pStorageBuffer->address@ must be an address within a -- 'Vulkan.Core10.Handles.Buffer' created on @device@ -- +-- - #VUID-VkDescriptorGetInfoEXT-type-09427# If @type@ is +-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER', +-- @pUniformBuffer@ is not @NULL@ , the number of texel buffer elements +-- given by (⌊@pUniformBuffer->range@ \/ (texel block size)⌋ × (texels +-- per block)) where texel block size and texels per block are as +-- defined in the +-- +-- table for @pUniformBuffer->format@, /must/ be less than or equal to +-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxTexelBufferElements@ +-- +-- - #VUID-VkDescriptorGetInfoEXT-type-09428# If @type@ is +-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER', +-- @pStorageBuffer@ is not @NULL@ , the number of texel buffer elements +-- given by (⌊@pStorageBuffer->range@ \/ (texel block size)⌋ × (texels +-- per block)) where texel block size and texels per block are as +-- defined in the +-- +-- table for @pStorageBuffer->format@, /must/ be less than or equal to +-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxTexelBufferElements@ +-- -- - #VUID-VkDescriptorGetInfoEXT-type-08028# If @type@ is -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR' -- and @accelerationStructure@ is not @0@, @accelerationStructure@ diff --git a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs index 3e369f20d..75090e57b 100644 --- a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs +++ b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- diff --git a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot index c28876124..71cc45c8c 100644 --- a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot +++ b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs index f632c44e3..071a40ade 100644 --- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs +++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- @@ -1262,6 +1262,11 @@ foreign import ccall -- -- feature is enabled -- +-- - #VUID-vkCmdSetLogicOpEnableEXT-logicOp-07366# If the +-- +-- feature is not enabled, @logicOpEnable@ /must/ be +-- 'Vulkan.Core10.FundamentalTypes.FALSE' +-- -- == Valid Usage (Implicit) -- -- - #VUID-vkCmdSetLogicOpEnableEXT-commandBuffer-parameter# diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot index ca18f8ecc..b20a5e2e4 100644 --- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot +++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- diff --git a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs index b274f404a..03589be89 100644 --- a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs +++ b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs @@ -1811,7 +1811,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksEXT-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -5513,7 +5515,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksIndirectEXT-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -9211,7 +9216,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountEXT-colorAttachmentCount-06179# --- If the current render pass instance was begun with +-- If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a diff --git a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs index 231c8631e..62582601f 100644 --- a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs +++ b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs @@ -1682,8 +1682,10 @@ foreign import ccall -- equal to -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- --- - #VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06179# If the current --- render pass instance was begun with +-- - #VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06179# If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -3771,7 +3773,7 @@ foreign import ccall -- - #VUID-vkCmdDrawMultiEXT-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' @@ -5482,7 +5484,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMultiIndexedEXT-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -7578,7 +7582,7 @@ foreign import ccall -- - #VUID-vkCmdDrawMultiIndexedEXT-pStrides-04913# If the bound graphics -- pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' diff --git a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs index 371b363c9..9aaf66eb7 100644 --- a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs +++ b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- @@ -60,8 +60,8 @@ -- -- == Description -- --- When adding adding transparency to a ray traced scene, an application --- can choose between further tessellating the geometry or using an any hit +-- When adding transparency to a ray traced scene, an application can +-- choose between further tessellating the geometry or using an any-hit -- shader to allow the ray through specific parts of the geometry. These -- options have the downside of either significantly increasing memory -- consumption or adding runtime overhead to run shader code in the middle diff --git a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs-boot b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs-boot index d97bee069..084d475a1 100644 --- a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs-boot +++ b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs-boot @@ -18,7 +18,7 @@ -- 2 -- -- [__Ratification Status__] --- Not ratified +-- Ratified -- -- [__Extension and Version Dependencies__] -- @@ -60,8 +60,8 @@ -- -- == Description -- --- When adding adding transparency to a ray traced scene, an application --- can choose between further tessellating the geometry or using an any hit +-- When adding transparency to a ray traced scene, an application can +-- choose between further tessellating the geometry or using an any-hit -- shader to allow the ray through specific parts of the geometry. These -- options have the downside of either significantly increasing memory -- consumption or adding runtime overhead to run shader code in the middle diff --git a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs index 9ce06faa4..5e33064ef 100644 --- a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +++ b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs @@ -2922,7 +2922,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawIndirectByteCountEXT-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -4998,7 +5001,7 @@ foreign import ccall -- - #VUID-vkCmdDrawIndirectByteCountEXT-pStrides-04913# If the bound -- graphics pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' diff --git a/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs b/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs index 6f834e063..f7316316f 100644 --- a/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs +++ b/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs @@ -1926,7 +1926,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawClusterHUAWEI-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -5592,7 +5594,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a diff --git a/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs b/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs new file mode 100644 index 000000000..1f7eb1143 --- /dev/null +++ b/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs @@ -0,0 +1,214 @@ +{-# language CPP #-} +-- | = Name +-- +-- VK_IMG_relaxed_line_rasterization - device extension +-- +-- == VK_IMG_relaxed_line_rasterization +-- +-- [__Name String__] +-- @VK_IMG_relaxed_line_rasterization@ +-- +-- [__Extension Type__] +-- Device extension +-- +-- [__Registered Extension Number__] +-- 111 +-- +-- [__Revision__] +-- 1 +-- +-- [__Ratification Status__] +-- Not ratified +-- +-- [__Extension and Version Dependencies__] +-- +-- or +-- +-- +-- [__Special Use__] +-- +-- - +-- +-- [__Contact__] +-- +-- - James Fitzpatrick +-- +-- +-- == Other Extension Metadata +-- +-- [__Last Modified Date__] +-- 2023-10-22 +-- +-- [__IP Status__] +-- No known IP claims. +-- +-- [__Contributors__] +-- +-- - James Fitzpatrick, Imagination +-- +-- - Andrew Garrard, Imagination +-- +-- - Alex Walters, Imagination +-- +-- == Description +-- +-- OpenGL specifies that implementations should rasterize lines using the +-- diamond exit rule (a slightly modified version of Bresenham’s +-- algorithm). To implement OpenGL some implementations have a device-level +-- compatibility mode to rasterize lines according to the OpenGL +-- specification. +-- +-- This extension allows OpenGL emulation layers to enable the OpenGL +-- compatible line rasterization mode of such implementations. +-- +-- == New Structures +-- +-- - Extending +-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', +-- 'Vulkan.Core10.Device.DeviceCreateInfo': +-- +-- - 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' +-- +-- == New Enum Constants +-- +-- - 'IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME' +-- +-- - 'IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION' +-- +-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': +-- +-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG' +-- +-- == Issues +-- +-- None. +-- +-- == Version History +-- +-- - Revision 1, 2023-10-22 (James Fitzpatrick) +-- +-- - Initial version +-- +-- == See Also +-- +-- 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' +-- +-- == Document Notes +-- +-- For more information, see the +-- +-- +-- This page is a generated document. Fixes and changes should be made to +-- the generator scripts, not directly. +module Vulkan.Extensions.VK_IMG_relaxed_line_rasterization ( PhysicalDeviceRelaxedLineRasterizationFeaturesIMG(..) + , IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION + , pattern IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION + , IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME + , pattern IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME + ) where + +import Foreign.Marshal.Alloc (allocaBytes) +import Foreign.Ptr (nullPtr) +import Foreign.Ptr (plusPtr) +import Vulkan.CStruct (FromCStruct) +import Vulkan.CStruct (FromCStruct(..)) +import Vulkan.CStruct (ToCStruct) +import Vulkan.CStruct (ToCStruct(..)) +import Vulkan.Zero (Zero(..)) +import Data.String (IsString) +import Data.Typeable (Typeable) +import Foreign.Storable (Storable) +import Foreign.Storable (Storable(peek)) +import Foreign.Storable (Storable(poke)) +import qualified Foreign.Storable (Storable(..)) +import GHC.Generics (Generic) +import Foreign.Ptr (Ptr) +import Data.Kind (Type) +import Vulkan.Core10.FundamentalTypes (bool32ToBool) +import Vulkan.Core10.FundamentalTypes (boolToBool32) +import Vulkan.Core10.FundamentalTypes (Bool32) +import Vulkan.Core10.Enums.StructureType (StructureType) +import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG)) +-- | VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG - Structure +-- describing relaxed line rasterization features that can be supported by +-- an implementation +-- +-- = Members +-- +-- This structure describes the following feature: +-- +-- = Description +-- +-- If the 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' structure is +-- included in the @pNext@ chain of the +-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2' +-- structure passed to +-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2', +-- it is filled in to indicate whether each corresponding feature is +-- supported. 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' /can/ +-- also be used in the @pNext@ chain of +-- 'Vulkan.Core10.Device.DeviceCreateInfo' to selectively enable these +-- features. +-- +-- == Valid Usage (Implicit) +-- +-- = See Also +-- +-- , +-- 'Vulkan.Core10.FundamentalTypes.Bool32', +-- 'Vulkan.Core10.Enums.StructureType.StructureType' +data PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + { -- | #features-relaxedLineRasterization# @relaxedLineRasterization@ indicates + -- that the implementation supports relaxed line rasterization control. + relaxedLineRasterization :: Bool } + deriving (Typeable, Eq) +#if defined(GENERIC_INSTANCES) +deriving instance Generic (PhysicalDeviceRelaxedLineRasterizationFeaturesIMG) +#endif +deriving instance Show PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + +instance ToCStruct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG where + withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p) + pokeCStruct p PhysicalDeviceRelaxedLineRasterizationFeaturesIMG{..} f = do + poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG) + poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr) + poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (relaxedLineRasterization)) + f + cStructSize = 24 + cStructAlignment = 8 + pokeZeroCStruct p f = do + poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG) + poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr) + poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero)) + f + +instance FromCStruct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG where + peekCStruct p = do + relaxedLineRasterization <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32)) + pure $ PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + (bool32ToBool relaxedLineRasterization) + +instance Storable PhysicalDeviceRelaxedLineRasterizationFeaturesIMG where + sizeOf ~_ = 24 + alignment ~_ = 8 + peek = peekCStruct + poke ptr poked = pokeCStruct ptr poked (pure ()) + +instance Zero PhysicalDeviceRelaxedLineRasterizationFeaturesIMG where + zero = PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + zero + + +type IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION = 1 + +-- No documentation found for TopLevel "VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION" +pattern IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION :: forall a . Integral a => a +pattern IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION = 1 + + +type IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME = "VK_IMG_relaxed_line_rasterization" + +-- No documentation found for TopLevel "VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME" +pattern IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a +pattern IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME = "VK_IMG_relaxed_line_rasterization" + diff --git a/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs-boot b/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs-boot new file mode 100644 index 000000000..274652f66 --- /dev/null +++ b/src/Vulkan/Extensions/VK_IMG_relaxed_line_rasterization.hs-boot @@ -0,0 +1,115 @@ +{-# language CPP #-} +-- | = Name +-- +-- VK_IMG_relaxed_line_rasterization - device extension +-- +-- == VK_IMG_relaxed_line_rasterization +-- +-- [__Name String__] +-- @VK_IMG_relaxed_line_rasterization@ +-- +-- [__Extension Type__] +-- Device extension +-- +-- [__Registered Extension Number__] +-- 111 +-- +-- [__Revision__] +-- 1 +-- +-- [__Ratification Status__] +-- Not ratified +-- +-- [__Extension and Version Dependencies__] +-- +-- or +-- +-- +-- [__Special Use__] +-- +-- - +-- +-- [__Contact__] +-- +-- - James Fitzpatrick +-- +-- +-- == Other Extension Metadata +-- +-- [__Last Modified Date__] +-- 2023-10-22 +-- +-- [__IP Status__] +-- No known IP claims. +-- +-- [__Contributors__] +-- +-- - James Fitzpatrick, Imagination +-- +-- - Andrew Garrard, Imagination +-- +-- - Alex Walters, Imagination +-- +-- == Description +-- +-- OpenGL specifies that implementations should rasterize lines using the +-- diamond exit rule (a slightly modified version of Bresenham’s +-- algorithm). To implement OpenGL some implementations have a device-level +-- compatibility mode to rasterize lines according to the OpenGL +-- specification. +-- +-- This extension allows OpenGL emulation layers to enable the OpenGL +-- compatible line rasterization mode of such implementations. +-- +-- == New Structures +-- +-- - Extending +-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', +-- 'Vulkan.Core10.Device.DeviceCreateInfo': +-- +-- - 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' +-- +-- == New Enum Constants +-- +-- - 'IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME' +-- +-- - 'IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION' +-- +-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': +-- +-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG' +-- +-- == Issues +-- +-- None. +-- +-- == Version History +-- +-- - Revision 1, 2023-10-22 (James Fitzpatrick) +-- +-- - Initial version +-- +-- == See Also +-- +-- 'PhysicalDeviceRelaxedLineRasterizationFeaturesIMG' +-- +-- == Document Notes +-- +-- For more information, see the +-- +-- +-- This page is a generated document. Fixes and changes should be made to +-- the generator scripts, not directly. +module Vulkan.Extensions.VK_IMG_relaxed_line_rasterization (PhysicalDeviceRelaxedLineRasterizationFeaturesIMG) where + +import Vulkan.CStruct (FromCStruct) +import Vulkan.CStruct (ToCStruct) +import Data.Kind (Type) + +data PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + +instance ToCStruct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG +instance Show PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + +instance FromCStruct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG + diff --git a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs index 3d274b9e4..b649a4f84 100644 --- a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs +++ b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs @@ -3167,15 +3167,23 @@ foreign import ccall -- built -- -- - #VUID-vkCmdBuildAccelerationStructuresKHR-primitiveCount-03769# For --- each 'AccelerationStructureBuildRangeInfoKHR' referenced by this --- command, its @primitiveCount@ member /must/ have the same value --- which was specified when @srcAccelerationStructure@ was last built +-- each element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, the @primitiveCount@ member +-- of its corresponding 'AccelerationStructureBuildRangeInfoKHR' +-- structure /must/ have the same value which was specified when +-- @srcAccelerationStructure@ was last built -- -- - #VUID-vkCmdBuildAccelerationStructuresKHR-firstVertex-03770# For --- each 'AccelerationStructureBuildRangeInfoKHR' referenced by this --- command, if the corresponding geometry uses indices, its --- @firstVertex@ member /must/ have the same value which was specified --- when @srcAccelerationStructure@ was last built +-- each element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, if the geometry uses +-- indices, the @firstVertex@ member of its corresponding +-- 'AccelerationStructureBuildRangeInfoKHR' structure /must/ have the +-- same value which was specified when @srcAccelerationStructure@ was +-- last built -- -- - #VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03801# For each -- element of @pInfos@[i].@pGeometries@ or @pInfos@[i].@ppGeometries@ @@ -3748,15 +3756,23 @@ foreign import ccall -- built -- -- - #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-primitiveCount-03769# --- For each 'AccelerationStructureBuildRangeInfoKHR' referenced by this --- command, its @primitiveCount@ member /must/ have the same value --- which was specified when @srcAccelerationStructure@ was last built +-- For each element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, the @primitiveCount@ member +-- of its corresponding 'AccelerationStructureBuildRangeInfoKHR' +-- structure /must/ have the same value which was specified when +-- @srcAccelerationStructure@ was last built -- -- - #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-firstVertex-03770# --- For each 'AccelerationStructureBuildRangeInfoKHR' referenced by this --- command, if the corresponding geometry uses indices, its --- @firstVertex@ member /must/ have the same value which was specified --- when @srcAccelerationStructure@ was last built +-- For each element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, if the geometry uses +-- indices, the @firstVertex@ member of its corresponding +-- 'AccelerationStructureBuildRangeInfoKHR' structure /must/ have the +-- same value which was specified when @srcAccelerationStructure@ was +-- last built -- -- - #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03801# For -- each element of @pInfos@[i].@pGeometries@ or @@ -4408,15 +4424,23 @@ foreign import ccall -- built -- -- - #VUID-vkBuildAccelerationStructuresKHR-primitiveCount-03769# For --- each 'AccelerationStructureBuildRangeInfoKHR' referenced by this --- command, its @primitiveCount@ member /must/ have the same value --- which was specified when @srcAccelerationStructure@ was last built +-- each element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, the @primitiveCount@ member +-- of its corresponding 'AccelerationStructureBuildRangeInfoKHR' +-- structure /must/ have the same value which was specified when +-- @srcAccelerationStructure@ was last built -- -- - #VUID-vkBuildAccelerationStructuresKHR-firstVertex-03770# For each --- 'AccelerationStructureBuildRangeInfoKHR' referenced by this command, --- if the corresponding geometry uses indices, its @firstVertex@ member --- /must/ have the same value which was specified when --- @srcAccelerationStructure@ was last built +-- element of @pInfos@, if its @mode@ member is +-- 'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', then for each +-- 'AccelerationStructureGeometryKHR' structure referred to by its +-- @pGeometries@ or @ppGeometries@ members, if the geometry uses +-- indices, the @firstVertex@ member of its corresponding +-- 'AccelerationStructureBuildRangeInfoKHR' structure /must/ have the +-- same value which was specified when @srcAccelerationStructure@ was +-- last built -- -- - #VUID-vkBuildAccelerationStructuresKHR-pInfos-03801# For each -- element of @pInfos@[i].@pGeometries@ or @pInfos@[i].@ppGeometries@ diff --git a/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs b/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs index f6e2e93a8..2913708f5 100644 --- a/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs +++ b/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs @@ -406,6 +406,8 @@ instance Zero PhysicalDeviceCooperativeMatrixFeaturesKHR where -- At least one entry in the list /must/ have power of two values for all -- of @MSize@, @KSize@, and @NSize@. -- +-- @scope@ /must/ be 'SCOPE_SUBGROUP_KHR'. +-- -- == Valid Usage (Implicit) -- -- = See Also @@ -536,6 +538,9 @@ instance Zero CooperativeMatrixPropertiesKHR where -- -- = Description -- +-- @cooperativeMatrixSupportedStages@ /must/ not have any bits other than +-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' set. +-- -- If the 'PhysicalDeviceCooperativeMatrixPropertiesKHR' structure is -- included in the @pNext@ chain of the -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2' diff --git a/src/Vulkan/Extensions/VK_KHR_display.hs b/src/Vulkan/Extensions/VK_KHR_display.hs index df4e902cd..e2642a458 100644 --- a/src/Vulkan/Extensions/VK_KHR_display.hs +++ b/src/Vulkan/Extensions/VK_KHR_display.hs @@ -132,8 +132,8 @@ -- non-stereo modes? YUV and RGB scanout even if they both take RGB input -- images? BGR vs. RGB input? etc. -- --- __PROPOSED RESOLUTION__: Many modern displays support at most a handful --- of resolutions and timings natively. Other “modes” are expected to be +-- __RESOLVED__: Many modern displays support at most a handful of +-- resolutions and timings natively. Other “modes” are expected to be -- supported using scaling hardware on the display engine or GPU. Other -- properties, such as rotation and mirroring should not require -- duplicating hardware modes just to express all combinations. Further, @@ -154,25 +154,25 @@ -- -- 2) What properties of a display itself are useful? -- --- __PROPOSED RESOLUTION__: This issue is too broad. It was meant to prompt --- general discussion, but resolving this issue amounts to completing this +-- __RESOLVED__: This issue is too broad. It was meant to prompt general +-- discussion, but resolving this issue amounts to completing this -- specification. All interesting properties should be included. The issue -- will remain as a placeholder since removing it would make it hard to -- parse existing discussion notes that refer to issues by number. -- -- 3) How are multiple overlay planes within a display or mode enumerated? -- --- __PROPOSED RESOLUTION__: They are referred to by an index. Each display --- will report the number of overlay planes it contains. +-- __RESOLVED__: They are referred to by an index. Each display will report +-- the number of overlay planes it contains. -- -- 4) Should swapchains be created relative to a mode or a display? -- --- __PROPOSED RESOLUTION__: When using this extension, swapchains are --- created relative to a mode and a plane. The mode implies the display --- object the swapchain will present to. If the specified mode is not the --- display’s current mode, the new mode will be applied when the first --- image is presented to the swapchain, and the default operating system --- mode, if any, will be restored when the swapchain is destroyed. +-- __RESOLVED__: When using this extension, swapchains are created relative +-- to a mode and a plane. The mode implies the display object the swapchain +-- will present to. If the specified mode is not the display’s current +-- mode, the new mode will be applied when the first image is presented to +-- the swapchain, and the default operating system mode, if any, will be +-- restored when the swapchain is destroyed. -- -- 5) Should users query generic ranges from displays and construct their -- own modes explicitly using those constraints rather than querying a @@ -181,41 +181,41 @@ -- monitor side or in the GPU display engine, making “modes” something of a -- relic\/compatibility construct). -- --- __PROPOSED RESOLUTION__: Expose both. Display information structures --- will expose a set of predefined modes, as well as any attributes --- necessary to construct a customized mode. +-- __RESOLVED__: Expose both. Display information structures will expose a +-- set of predefined modes, as well as any attributes necessary to +-- construct a customized mode. -- -- 6) Is it fine if we return the display and display mode handles in the -- structure used to query their properties? -- --- __PROPOSED RESOLUTION__: Yes. +-- __RESOLVED__: Yes. -- -- 7) Is there a possibility that not all displays of a device work with -- all of the present queues of a device? If yes, how do we determine which -- displays work with which present queues? -- --- __PROPOSED RESOLUTION__: No known hardware has such limitations, but --- determining such limitations is supported automatically using the --- existing @VK_KHR_surface@ and @VK_KHR_swapchain@ query mechanisms. +-- __RESOLVED__: No known hardware has such limitations, but determining +-- such limitations is supported automatically using the existing +-- @VK_KHR_surface@ and @VK_KHR_swapchain@ query mechanisms. -- -- 8) Should all presentation need to be done relative to an overlay plane, -- or can a display mode + display be used alone to target an output? -- --- __PROPOSED RESOLUTION__: Require specifying a plane explicitly. +-- __RESOLVED__: Require specifying a plane explicitly. -- -- 9) Should displays have an associated window system display, such as an -- @HDC@ or @Display*@? -- --- __PROPOSED RESOLUTION__: No. Displays are independent of any windowing --- system in use on the system. Further, neither @HDC@ nor @Display*@ refer --- to a physical display object. +-- __RESOLVED__: No. Displays are independent of any windowing system in +-- use on the system. Further, neither @HDC@ nor @Display*@ refer to a +-- physical display object. -- -- 10) Are displays queried from a physical GPU or from a device instance? -- --- __PROPOSED RESOLUTION__: Developers prefer to query modes directly from --- the physical GPU so they can use display information as an input to --- their device selection algorithms prior to device creation. This avoids --- the need to create placeholder device instances to enumerate displays. +-- __RESOLVED__: Developers prefer to query modes directly from the +-- physical GPU so they can use display information as an input to their +-- device selection algorithms prior to device creation. This avoids the +-- need to create placeholder device instances to enumerate displays. -- -- This preference must be weighed against the extra initialization that -- must be done by driver vendors prior to device instance creation to @@ -229,18 +229,20 @@ -- There is no performance case against making them dispatchable objects, -- but they would be the first extension objects to be dispatchable. -- --- __PROPOSED RESOLUTION__: Do not make displays or modes dispatchable. --- They will dispatch based on their associated physical device. +-- __RESOLVED__: Do not make displays or modes dispatchable. They will +-- dispatch based on their associated physical device. -- -- 12) Should hardware cursor capabilities be exposed? -- --- __PROPOSED RESOLUTION__: Defer. This could be a separate extension on --- top of the base WSI specs. +-- __RESOLVED__: Defer. This could be a separate extension on top of the +-- base WSI specs. -- --- if they are one physical display device to an end user, but may --- internally be implemented as two side-by-side displays using the same --- display engine (and sometimes cabling) resources as two physically --- separate display devices. +-- 13) How many display objects should be enumerated for \"tiled\" display +-- devices? There are ongoing design discussions among lower-level display +-- API authors regarding how to expose displays if they are one physical +-- display device to an end user, but may internally be implemented as two +-- side-by-side displays using the same display engine (and sometimes +-- cabling) resources as two physically separate display devices. -- -- __RESOLVED__: Tiled displays will appear as a single display object in -- this API. diff --git a/src/Vulkan/Extensions/VK_KHR_display.hs-boot b/src/Vulkan/Extensions/VK_KHR_display.hs-boot index 73e569ce7..a640f87c4 100644 --- a/src/Vulkan/Extensions/VK_KHR_display.hs-boot +++ b/src/Vulkan/Extensions/VK_KHR_display.hs-boot @@ -132,8 +132,8 @@ -- non-stereo modes? YUV and RGB scanout even if they both take RGB input -- images? BGR vs. RGB input? etc. -- --- __PROPOSED RESOLUTION__: Many modern displays support at most a handful --- of resolutions and timings natively. Other “modes” are expected to be +-- __RESOLVED__: Many modern displays support at most a handful of +-- resolutions and timings natively. Other “modes” are expected to be -- supported using scaling hardware on the display engine or GPU. Other -- properties, such as rotation and mirroring should not require -- duplicating hardware modes just to express all combinations. Further, @@ -154,25 +154,25 @@ -- -- 2) What properties of a display itself are useful? -- --- __PROPOSED RESOLUTION__: This issue is too broad. It was meant to prompt --- general discussion, but resolving this issue amounts to completing this +-- __RESOLVED__: This issue is too broad. It was meant to prompt general +-- discussion, but resolving this issue amounts to completing this -- specification. All interesting properties should be included. The issue -- will remain as a placeholder since removing it would make it hard to -- parse existing discussion notes that refer to issues by number. -- -- 3) How are multiple overlay planes within a display or mode enumerated? -- --- __PROPOSED RESOLUTION__: They are referred to by an index. Each display --- will report the number of overlay planes it contains. +-- __RESOLVED__: They are referred to by an index. Each display will report +-- the number of overlay planes it contains. -- -- 4) Should swapchains be created relative to a mode or a display? -- --- __PROPOSED RESOLUTION__: When using this extension, swapchains are --- created relative to a mode and a plane. The mode implies the display --- object the swapchain will present to. If the specified mode is not the --- display’s current mode, the new mode will be applied when the first --- image is presented to the swapchain, and the default operating system --- mode, if any, will be restored when the swapchain is destroyed. +-- __RESOLVED__: When using this extension, swapchains are created relative +-- to a mode and a plane. The mode implies the display object the swapchain +-- will present to. If the specified mode is not the display’s current +-- mode, the new mode will be applied when the first image is presented to +-- the swapchain, and the default operating system mode, if any, will be +-- restored when the swapchain is destroyed. -- -- 5) Should users query generic ranges from displays and construct their -- own modes explicitly using those constraints rather than querying a @@ -181,41 +181,41 @@ -- monitor side or in the GPU display engine, making “modes” something of a -- relic\/compatibility construct). -- --- __PROPOSED RESOLUTION__: Expose both. Display information structures --- will expose a set of predefined modes, as well as any attributes --- necessary to construct a customized mode. +-- __RESOLVED__: Expose both. Display information structures will expose a +-- set of predefined modes, as well as any attributes necessary to +-- construct a customized mode. -- -- 6) Is it fine if we return the display and display mode handles in the -- structure used to query their properties? -- --- __PROPOSED RESOLUTION__: Yes. +-- __RESOLVED__: Yes. -- -- 7) Is there a possibility that not all displays of a device work with -- all of the present queues of a device? If yes, how do we determine which -- displays work with which present queues? -- --- __PROPOSED RESOLUTION__: No known hardware has such limitations, but --- determining such limitations is supported automatically using the --- existing @VK_KHR_surface@ and @VK_KHR_swapchain@ query mechanisms. +-- __RESOLVED__: No known hardware has such limitations, but determining +-- such limitations is supported automatically using the existing +-- @VK_KHR_surface@ and @VK_KHR_swapchain@ query mechanisms. -- -- 8) Should all presentation need to be done relative to an overlay plane, -- or can a display mode + display be used alone to target an output? -- --- __PROPOSED RESOLUTION__: Require specifying a plane explicitly. +-- __RESOLVED__: Require specifying a plane explicitly. -- -- 9) Should displays have an associated window system display, such as an -- @HDC@ or @Display*@? -- --- __PROPOSED RESOLUTION__: No. Displays are independent of any windowing --- system in use on the system. Further, neither @HDC@ nor @Display*@ refer --- to a physical display object. +-- __RESOLVED__: No. Displays are independent of any windowing system in +-- use on the system. Further, neither @HDC@ nor @Display*@ refer to a +-- physical display object. -- -- 10) Are displays queried from a physical GPU or from a device instance? -- --- __PROPOSED RESOLUTION__: Developers prefer to query modes directly from --- the physical GPU so they can use display information as an input to --- their device selection algorithms prior to device creation. This avoids --- the need to create placeholder device instances to enumerate displays. +-- __RESOLVED__: Developers prefer to query modes directly from the +-- physical GPU so they can use display information as an input to their +-- device selection algorithms prior to device creation. This avoids the +-- need to create placeholder device instances to enumerate displays. -- -- This preference must be weighed against the extra initialization that -- must be done by driver vendors prior to device instance creation to @@ -229,18 +229,20 @@ -- There is no performance case against making them dispatchable objects, -- but they would be the first extension objects to be dispatchable. -- --- __PROPOSED RESOLUTION__: Do not make displays or modes dispatchable. --- They will dispatch based on their associated physical device. +-- __RESOLVED__: Do not make displays or modes dispatchable. They will +-- dispatch based on their associated physical device. -- -- 12) Should hardware cursor capabilities be exposed? -- --- __PROPOSED RESOLUTION__: Defer. This could be a separate extension on --- top of the base WSI specs. +-- __RESOLVED__: Defer. This could be a separate extension on top of the +-- base WSI specs. -- --- if they are one physical display device to an end user, but may --- internally be implemented as two side-by-side displays using the same --- display engine (and sometimes cabling) resources as two physically --- separate display devices. +-- 13) How many display objects should be enumerated for \"tiled\" display +-- devices? There are ongoing design discussions among lower-level display +-- API authors regarding how to expose displays if they are one physical +-- display device to an end user, but may internally be implemented as two +-- side-by-side displays using the same display engine (and sometimes +-- cabling) resources as two physically separate display devices. -- -- __RESOLVED__: Tiled displays will appear as a single display object in -- this API. diff --git a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs index 0ac3514b9..19fda2342 100644 --- a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs +++ b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs @@ -352,11 +352,6 @@ foreign import ccall -- specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@ -- was created -- --- - #VUID-vkCmdCopyMemoryToImageIndirectNV-layerCount-09244# If the --- --- feature is not enabled, @layerCount@ /must/ not be --- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS' --- -- - #VUID-vkCmdCopyMemoryToImageIndirectNV-layerCount-08764# If -- @layerCount@ is not -- 'Vulkan.Core10.APIConstants.REMAINING_ARRAY_LAYERS', the specified diff --git a/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs b/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs index 7f1555ec1..3db805ddc 100644 --- a/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs +++ b/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs @@ -918,12 +918,12 @@ instance Zero CudaFunctionCreateInfoNV where -- valid 'Vulkan.Extensions.Handles.CudaFunctionNV' handle -- -- - #VUID-VkCudaLaunchInfoNV-pParams-parameter# If @paramCount@ is not --- @0@, @pParams@ /must/ be a valid pointer to an array of @paramCount@ --- bytes +-- @0@, and @pParams@ is not @NULL@, @pParams@ /must/ be a valid +-- pointer to an array of @paramCount@ bytes -- -- - #VUID-VkCudaLaunchInfoNV-pExtras-parameter# If @extraCount@ is not --- @0@, @pExtras@ /must/ be a valid pointer to an array of @extraCount@ --- bytes +-- @0@, and @pExtras@ is not @NULL@, @pExtras@ /must/ be a valid +-- pointer to an array of @extraCount@ bytes -- -- = See Also -- @@ -955,9 +955,13 @@ data CudaLaunchInfoNV = CudaLaunchInfoNV , -- | @sharedMemBytes@ is the dynamic shared-memory size per thread block in -- bytes. sharedMemBytes :: Word32 + , -- | @paramCount@ is the length of the @pParams@ table. + paramCount :: Word64 , -- | @pParams@ is a pointer to an array of @paramCount@ pointers, -- corresponding to the arguments of @function@. params :: Vector (Ptr ()) + , -- | @extraCount@ is reserved for future use. + extraCount :: Word64 , -- | @pExtras@ is reserved for future use. extras :: Vector (Ptr ()) } @@ -980,11 +984,25 @@ instance ToCStruct CudaLaunchInfoNV where lift $ poke ((p `plusPtr` 40 :: Ptr Word32)) (blockDimY) lift $ poke ((p `plusPtr` 44 :: Ptr Word32)) (blockDimZ) lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (sharedMemBytes) - lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) ((fromIntegral (Data.Vector.length $ (params)) :: CSize)) + let pParamsLength = Data.Vector.length $ (params) + paramCount'' <- lift $ if (paramCount) == 0 + then pure $ fromIntegral pParamsLength + else do + unless (fromIntegral pParamsLength == (paramCount) || pParamsLength == 0) $ + throwIO $ IOError Nothing InvalidArgument "" "pParams must be empty or have 'paramCount' elements" Nothing Nothing + pure (paramCount) + lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) (paramCount'') pPParams' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (params)) * 8) lift $ Data.Vector.imapM_ (\i e -> poke (pPParams' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (params) lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ())))) (pPParams') - lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) ((fromIntegral (Data.Vector.length $ (extras)) :: CSize)) + let pExtrasLength = Data.Vector.length $ (extras) + extraCount'' <- lift $ if (extraCount) == 0 + then pure $ fromIntegral pExtrasLength + else do + unless (fromIntegral pExtrasLength == (extraCount) || pExtrasLength == 0) $ + throwIO $ IOError Nothing InvalidArgument "" "pExtras must be empty or have 'extraCount' elements" Nothing Nothing + pure (extraCount) + lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) (extraCount'') pPExtras' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (extras)) * 8) lift $ Data.Vector.imapM_ (\i e -> poke (pPExtras' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (extras) lift $ poke ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ())))) (pPExtras') @@ -1015,11 +1033,13 @@ instance FromCStruct CudaLaunchInfoNV where blockDimZ <- peek @Word32 ((p `plusPtr` 44 :: Ptr Word32)) sharedMemBytes <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32)) paramCount <- peek @CSize ((p `plusPtr` 56 :: Ptr CSize)) + let paramCount' = coerce @CSize @Word64 paramCount pParams <- peek @(Ptr (Ptr ())) ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ())))) - pParams' <- generateM (fromIntegral (coerce @CSize @Word64 paramCount)) (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ())))) + pParams' <- generateM (fromIntegral paramCount') (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ())))) extraCount <- peek @CSize ((p `plusPtr` 72 :: Ptr CSize)) + let extraCount' = coerce @CSize @Word64 extraCount pExtras <- peek @(Ptr (Ptr ())) ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ())))) - pExtras' <- generateM (fromIntegral (coerce @CSize @Word64 extraCount)) (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ())))) + pExtras' <- generateM (fromIntegral extraCount') (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ())))) pure $ CudaLaunchInfoNV function gridDimX @@ -1029,7 +1049,9 @@ instance FromCStruct CudaLaunchInfoNV where blockDimY blockDimZ sharedMemBytes + paramCount' pParams' + extraCount' pExtras' instance Zero CudaLaunchInfoNV where @@ -1042,7 +1064,9 @@ instance Zero CudaLaunchInfoNV where zero zero zero + zero mempty + zero mempty @@ -1143,7 +1167,7 @@ data PhysicalDeviceCudaKernelLaunchPropertiesNV = PhysicalDeviceCudaKernelLaunch -- minor version number of the compute code. computeCapabilityMinor :: Word32 , -- | #limits-computeCapabilityMajor# @computeCapabilityMajor@ indicates the - -- minor version number of the compute code. + -- major version number of the compute code. computeCapabilityMajor :: Word32 } deriving (Typeable, Eq) diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs index 8f50587fd..06e12b0b5 100644 --- a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs @@ -2222,7 +2222,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -4298,7 +4301,7 @@ foreign import ccall -- - #VUID-vkCmdExecuteGeneratedCommandsNV-pStrides-04913# If the bound -- graphics pipeline was created with the -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT' --- dynamic state enabled, but not the +-- dynamic state enabled, but without the -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' -- dynamic state enabled, then -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT' diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs b/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs index 25e2b7985..88d69a473 100644 --- a/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs +++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs @@ -427,18 +427,23 @@ foreign import ccall -- -- == Valid Usage (Implicit) -- +-- - #VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter# +-- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle +-- +-- - #VUID-vkGetPipelineIndirectDeviceAddressNV-pInfo-parameter# @pInfo@ +-- /must/ be a valid pointer to a valid +-- 'PipelineIndirectDeviceAddressInfoNV' structure +-- -- = See Also -- -- , -- 'Vulkan.Core10.Handles.Device', 'PipelineIndirectDeviceAddressInfoNV' getPipelineIndirectDeviceAddressNV :: forall io . (MonadIO io) - => -- | #VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter# @device@ - -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle + => -- | @device@ is the logical device on which the pipeline was created. Device - -> -- | #VUID-vkGetPipelineIndirectDeviceAddressNV-pInfo-parameter# @pInfo@ - -- /must/ be a valid pointer to a valid - -- 'PipelineIndirectDeviceAddressInfoNV' structure + -> -- | @pInfo@ is a pointer to a 'PipelineIndirectDeviceAddressInfoNV' + -- structure specifying the pipeline to retrieve the address for. PipelineIndirectDeviceAddressInfoNV -> io (DeviceAddress) getPipelineIndirectDeviceAddressNV device info = liftIO . evalContT $ do @@ -456,7 +461,7 @@ getPipelineIndirectDeviceAddressNV device info = liftIO . evalContT $ do -- | VkComputePipelineIndirectBufferInfoNV - Structure describing the device -- address where pipeline’s metadata will be saved -- --- = Members +-- = Description -- -- If @pipelineDeviceAddressCaptureReplay@ is zero, no specific address is -- requested. If @pipelineDeviceAddressCaptureReplay@ is not zero, then it @@ -530,11 +535,15 @@ getPipelineIndirectDeviceAddressNV device info = liftIO . evalContT $ do -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', -- 'Vulkan.Core10.Enums.StructureType.StructureType' data ComputePipelineIndirectBufferInfoNV = ComputePipelineIndirectBufferInfoNV - { -- No documentation found for Nested "VkComputePipelineIndirectBufferInfoNV" "deviceAddress" + { -- | @deviceAddress@ is the address where the pipeline’s metadata will be + -- stored. deviceAddress :: DeviceAddress - , -- No documentation found for Nested "VkComputePipelineIndirectBufferInfoNV" "size" + , -- | @size@ is the size of pipeline’s metadata that was queried using + -- 'getPipelineIndirectMemoryRequirementsNV'. size :: DeviceSize - , -- No documentation found for Nested "VkComputePipelineIndirectBufferInfoNV" "pipelineDeviceAddressCaptureReplay" + , -- | @pipelineDeviceAddressCaptureReplay@ is the device address where + -- pipeline’s metadata was originally saved and can now be used to + -- re-populate @deviceAddress@ for replay. pipelineDeviceAddressCaptureReplay :: DeviceAddress } deriving (Typeable, Eq) @@ -699,6 +708,20 @@ instance Zero PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV where -- -- == Valid Usage (Implicit) -- +-- - #VUID-VkPipelineIndirectDeviceAddressInfoNV-sType-sType# @sType@ +-- /must/ be +-- 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV' +-- +-- - #VUID-VkPipelineIndirectDeviceAddressInfoNV-pNext-pNext# @pNext@ +-- /must/ be @NULL@ +-- +-- - #VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-parameter# +-- @pipelineBindPoint@ /must/ be a valid +-- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' value +-- +-- - #VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-parameter# +-- @pipeline@ /must/ be a valid 'Vulkan.Core10.Handles.Pipeline' handle +-- -- = See Also -- -- , @@ -707,12 +730,11 @@ instance Zero PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV where -- 'Vulkan.Core10.Enums.StructureType.StructureType', -- 'getPipelineIndirectDeviceAddressNV' data PipelineIndirectDeviceAddressInfoNV = PipelineIndirectDeviceAddressInfoNV - { -- | #VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-parameter# - -- @pipelineBindPoint@ /must/ be a valid + { -- | @pipelineBindPoint@ is a -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint' value + -- specifying the type of pipeline whose device address is being queried. pipelineBindPoint :: PipelineBindPoint - , -- | #VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-parameter# - -- @pipeline@ /must/ be a valid 'Vulkan.Core10.Handles.Pipeline' handle + , -- | @pipeline@ specifies the pipeline whose device address is being queried. pipeline :: Pipeline } deriving (Typeable, Eq) diff --git a/src/Vulkan/Extensions/VK_NV_low_latency2.hs b/src/Vulkan/Extensions/VK_NV_low_latency2.hs index 8a6d78fdc..0dfa2ec83 100644 --- a/src/Vulkan/Extensions/VK_NV_low_latency2.hs +++ b/src/Vulkan/Extensions/VK_NV_low_latency2.hs @@ -20,7 +20,12 @@ -- [__Ratification Status__] -- Not ratified -- --- [__Extension and Version Dependencies__; __Contact__] +-- [__Extension and Version Dependencies__] +-- +-- or +-- +-- +-- [__Contact__] -- -- - Charles Hansen -- @@ -293,6 +298,12 @@ foreign import ccall -- If @pSleepModeInfo@ is @NULL@, 'setLatencySleepModeNV' will disable low -- latency mode, low latency boost, and set the minimum present interval -- previously specified by 'LatencySleepModeInfoNV' to zero on @swapchain@. +-- As an exception to the normal rules for objects which are externally +-- synchronized, the swapchain passed to 'setLatencySleepModeNV' /may/ be +-- simultaneously used by other threads in calls to functions other than +-- 'Vulkan.Extensions.VK_KHR_swapchain.destroySwapchainKHR'. Access to the +-- swapchain data associated with this extension /must/ be atomic within +-- the implementation. -- -- == Return Codes -- @@ -433,7 +444,13 @@ foreign import ccall -- 'setLatencyMarkerNV' /can/ be called to provide timestamps for the -- application’s reference. These timestamps are returned with a call to -- 'getLatencyTimingsNV' alongside driver provided timestamps at various --- points of interest with regards to latency within the application. +-- points of interest with regards to latency within the application. As an +-- exception to the normal rules for objects which are externally +-- synchronized, the swapchain passed to 'setLatencyMarkerNV' /may/ be +-- simultaneously used by other threads in calls to functions other than +-- 'Vulkan.Extensions.VK_KHR_swapchain.destroySwapchainKHR'. Access to the +-- swapchain data associated with this extension /must/ be atomic within +-- the implementation. -- -- == Valid Usage (Implicit) -- diff --git a/src/Vulkan/Extensions/VK_NV_low_latency2.hs-boot b/src/Vulkan/Extensions/VK_NV_low_latency2.hs-boot index f951d25b7..5c801c8e5 100644 --- a/src/Vulkan/Extensions/VK_NV_low_latency2.hs-boot +++ b/src/Vulkan/Extensions/VK_NV_low_latency2.hs-boot @@ -20,7 +20,12 @@ -- [__Ratification Status__] -- Not ratified -- --- [__Extension and Version Dependencies__; __Contact__] +-- [__Extension and Version Dependencies__] +-- +-- or +-- +-- +-- [__Contact__] -- -- - Charles Hansen -- diff --git a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs index 448caa017..8c1d33d35 100644 --- a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs +++ b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs @@ -1825,7 +1825,9 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-06179# If the --- current render pass instance was begun with +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -5458,7 +5460,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-06179# If --- the current render pass instance was begun with +-- the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a @@ -9153,7 +9158,10 @@ foreign import ccall -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@viewMask@ -- -- - #VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-06179# --- If the current render pass instance was begun with +-- If the +-- +-- feature is not enabled and the current render pass instance was +-- begun with -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering', -- the currently bound graphics pipeline /must/ have been created with -- a diff --git a/src/Vulkan/Version.hs b/src/Vulkan/Version.hs index e0646d0ae..324f9a279 100644 --- a/src/Vulkan/Version.hs +++ b/src/Vulkan/Version.hs @@ -19,11 +19,11 @@ import Data.Bits ((.|.)) import Data.Word (Word32) pattern HEADER_VERSION :: Word32 -pattern HEADER_VERSION = 269 +pattern HEADER_VERSION = 270 pattern HEADER_VERSION_COMPLETE :: Word32 -pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 269 +pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 270 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32 diff --git a/vulkan.cabal b/vulkan.cabal index eaadf1f38..f5868e3ad 100644 --- a/vulkan.cabal +++ b/vulkan.cabal @@ -455,6 +455,7 @@ library Vulkan.Extensions.VK_HUAWEI_subpass_shading Vulkan.Extensions.VK_IMG_filter_cubic Vulkan.Extensions.VK_IMG_format_pvrtc + Vulkan.Extensions.VK_IMG_relaxed_line_rasterization Vulkan.Extensions.VK_INTEL_performance_query Vulkan.Extensions.VK_INTEL_shader_integer_functions2 Vulkan.Extensions.VK_KHR_16bit_storage