packages feed

vulkan 3.13.2 → 3.13.3

raw patch · 30 files changed

+1750/−219 lines, 30 files

Files

changelog.md view
@@ -2,6 +2,9 @@  ## WIP +## [3.13.3] - 2021-11-17+- Bump API version to v1.2.199+ ## [3.13.2] - 2021-11-09 - Bump API version to v1.2.198 
package.yaml view
@@ -1,5 +1,5 @@ name: vulkan-version: "3.13.2"+version: "3.13.3" synopsis: Bindings to the Vulkan graphics API. description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category: Graphics
src/Vulkan/CStruct/Extends.hs view
@@ -300,6 +300,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewAddressPropertiesNVX) import {-# SOURCE #-} Vulkan.Core10.ImageView (ImageViewCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_image_view_handle (ImageViewHandleInfoNVX)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (ImageViewMinLodCreateInfoEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance2 (ImageViewUsageCreateInfo) import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (ImportAndroidHardwareBufferInfoANDROID) import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_fd (ImportFenceFdInfoKHR)@@ -427,6 +428,7 @@ import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceImageFormatInfo2) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_robustness (PhysicalDeviceImageRobustnessFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)@@ -973,6 +975,7 @@   Extends DeviceCreateInfo PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()   Extends DeviceCreateInfo PhysicalDeviceRGBA10X6FormatsFeaturesEXT = ()   Extends DeviceCreateInfo PhysicalDeviceDynamicRenderingFeaturesKHR = ()+  Extends DeviceCreateInfo PhysicalDeviceImageViewMinLodFeaturesEXT = ()   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoEXT = ()   Extends FenceCreateInfo ExportFenceCreateInfo = ()   Extends FenceCreateInfo ExportFenceWin32HandleInfoKHR = ()@@ -1012,6 +1015,7 @@   Extends ImageViewCreateInfo ImageViewUsageCreateInfo = ()   Extends ImageViewCreateInfo SamplerYcbcrConversionInfo = ()   Extends ImageViewCreateInfo ImageViewASTCDecodeModeEXT = ()+  Extends ImageViewCreateInfo ImageViewMinLodCreateInfoEXT = ()   Extends InstanceCreateInfo DebugReportCallbackCreateInfoEXT = ()   Extends InstanceCreateInfo ValidationFlagsEXT = ()   Extends InstanceCreateInfo ValidationFeaturesEXT = ()@@ -1137,6 +1141,7 @@   Extends PhysicalDeviceFeatures2 PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceRGBA10X6FormatsFeaturesEXT = ()   Extends PhysicalDeviceFeatures2 PhysicalDeviceDynamicRenderingFeaturesKHR = ()+  Extends PhysicalDeviceFeatures2 PhysicalDeviceImageViewMinLodFeaturesEXT = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1699,6 +1704,8 @@   STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR -> go @CommandBufferInheritanceRenderingInfoKHR   STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD -> go @AttachmentSampleCountInfoAMD   STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX -> go @MultiviewPerViewAttributesInfoNVX+  STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT -> go @PhysicalDeviceImageViewMinLodFeaturesEXT+  STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT -> go @ImageViewMinLodCreateInfoEXT   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@@ -2072,6 +2079,8 @@ {-# complete (::&) :: CommandBufferInheritanceRenderingInfoKHR #-} {-# complete (::&) :: AttachmentSampleCountInfoAMD #-} {-# complete (::&) :: MultiviewPerViewAttributesInfoNVX #-}+{-# complete (::&) :: PhysicalDeviceImageViewMinLodFeaturesEXT #-}+{-# complete (::&) :: ImageViewMinLodCreateInfoEXT #-}  -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/APIConstants.hs view
@@ -123,6 +123,9 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_capabilities VK_KHR_external_fence_capabilities>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_capabilities VK_KHR_external_memory_capabilities>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_capabilities VK_KHR_external_semaphore_capabilities>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1> pattern LUID_SIZE :: forall a . Integral a => a pattern LUID_SIZE = 8@@ -269,6 +272,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group_creation VK_KHR_device_group_creation>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1> pattern MAX_DEVICE_GROUP_SIZE :: forall a . Integral a => a pattern MAX_DEVICE_GROUP_SIZE = 32@@ -281,6 +285,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_driver_properties VK_KHR_driver_properties>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2> pattern MAX_DRIVER_NAME_SIZE :: forall a . Integral a => a pattern MAX_DRIVER_NAME_SIZE = 256@@ -293,6 +298,7 @@ -- -- = See Also --+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_driver_properties VK_KHR_driver_properties>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2> pattern MAX_DRIVER_INFO_SIZE :: forall a . Integral a => a pattern MAX_DRIVER_INFO_SIZE = 256
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -9111,7 +9111,11 @@ --     feature is not enabled, @stageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdSetEvent-stageMask-04098# Any pipeline stage included in+-- -   #VUID-vkCmdSetEvent-stageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @stageMask@ /must/ not be @0@+--+-- -   #VUID-vkCmdSetEvent-stageMask-06457# Any pipeline stage included in --     @stageMask@ /must/ be supported by the capabilities of the queue --     family specified by the @queueFamilyIndex@ member of the --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was@@ -9119,10 +9123,6 @@ --     @commandBuffer@ was allocated from, as specified in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages> ----- -   #VUID-vkCmdSetEvent-stageMask-03937# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @stageMask@ /must/ not be @0@--- -- -   #VUID-vkCmdSetEvent-stageMask-01149# @stageMask@ /must/ not include --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT' --@@ -9260,7 +9260,11 @@ --     feature is not enabled, @stageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdResetEvent-stageMask-04098# Any pipeline stage included+-- -   #VUID-vkCmdResetEvent-stageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @stageMask@ /must/ not be @0@+--+-- -   #VUID-vkCmdResetEvent-stageMask-06458# Any pipeline stage included --     in @stageMask@ /must/ be supported by the capabilities of the queue --     family specified by the @queueFamilyIndex@ member of the --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was@@ -9268,10 +9272,6 @@ --     @commandBuffer@ was allocated from, as specified in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages> ----- -   #VUID-vkCmdResetEvent-stageMask-03937# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @stageMask@ /must/ not be @0@--- -- -   #VUID-vkCmdResetEvent-stageMask-01153# @stageMask@ /must/ not --     include --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'@@ -9539,14 +9539,6 @@ --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdWaitEvents-srcStageMask-04098# Any pipeline stage---     included in @srcStageMask@ /must/ be supported by the capabilities---     of the queue family specified by the @queueFamilyIndex@ member of---     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that---     was used to create the 'Vulkan.Core10.Handles.CommandPool' that---     @commandBuffer@ was allocated from, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>--- -- -   #VUID-vkCmdWaitEvents-srcStageMask-03937# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @srcStageMask@ /must/ not be @0@@@ -9593,14 +9585,6 @@ --     feature is not enabled, @dstStageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdWaitEvents-dstStageMask-04098# Any pipeline stage---     included in @dstStageMask@ /must/ be supported by the capabilities---     of the queue family specified by the @queueFamilyIndex@ member of---     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that---     was used to create the 'Vulkan.Core10.Handles.CommandPool' that---     @commandBuffer@ was allocated from, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>--- -- -   #VUID-vkCmdWaitEvents-dstStageMask-03937# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @dstStageMask@ /must/ not be @0@@@ -9657,6 +9641,22 @@ --     @dstStageMask@, as specified in the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types-supported table of supported access types> --+-- -   #VUID-vkCmdWaitEvents-srcStageMask-06459# Any pipeline stage+--     included in @srcStageMask@ /must/ be supported by the capabilities+--     of the queue family specified by the @queueFamilyIndex@ member of+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- -   #VUID-vkCmdWaitEvents-dstStageMask-06460# Any pipeline stage+--     included in @dstStageMask@ /must/ be supported by the capabilities+--     of the queue family specified by the @queueFamilyIndex@ member of+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+-- -- -   #VUID-vkCmdWaitEvents-srcStageMask-01158# @srcStageMask@ /must/ be --     the bitwise OR of the @stageMask@ parameter used in previous calls --     to 'cmdSetEvent' with any of the elements of @pEvents@ and@@ -9940,14 +9940,6 @@ --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdPipelineBarrier-srcStageMask-04098# Any pipeline stage---     included in @srcStageMask@ /must/ be supported by the capabilities---     of the queue family specified by the @queueFamilyIndex@ member of---     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that---     was used to create the 'Vulkan.Core10.Handles.CommandPool' that---     @commandBuffer@ was allocated from, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>--- -- -   #VUID-vkCmdPipelineBarrier-srcStageMask-03937# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @srcStageMask@ /must/ not be @0@@@ -9994,14 +9986,6 @@ --     feature is not enabled, @dstStageMask@ /must/ not contain --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' ----- -   #VUID-vkCmdPipelineBarrier-dstStageMask-04098# Any pipeline stage---     included in @dstStageMask@ /must/ be supported by the capabilities---     of the queue family specified by the @queueFamilyIndex@ member of---     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that---     was used to create the 'Vulkan.Core10.Handles.CommandPool' that---     @commandBuffer@ was allocated from, as specified in the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>--- -- -   #VUID-vkCmdPipelineBarrier-dstStageMask-03937# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2> --     feature is not enabled, @dstStageMask@ /must/ not be @0@@@ -10099,6 +10083,22 @@ --     have been started with --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.cmdBeginRenderingKHR' --+-- -   #VUID-vkCmdPipelineBarrier-srcStageMask-06461# Any pipeline stage+--     included in @srcStageMask@ /must/ be supported by the capabilities+--     of the queue family specified by the @queueFamilyIndex@ member of+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+--+-- -   #VUID-vkCmdPipelineBarrier-dstStageMask-06462# Any pipeline stage+--     included in @dstStageMask@ /must/ be supported by the capabilities+--     of the queue family specified by the @queueFamilyIndex@ member of+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from, as specified in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>+-- -- == Valid Usage (Implicit) -- -- -   #VUID-vkCmdPipelineBarrier-commandBuffer-parameter# @commandBuffer@@@ -11387,9 +11387,17 @@ --     corresponding attachment image subresource of the framebuffer --     specified in the @framebuffer@ member of @pRenderPassBegin@ ----- -   #VUID-vkCmdBeginRenderPass-srcStageMask-00901# The @srcStageMask@---     and @dstStageMask@ members of any element of the @pDependencies@---     member of 'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create+-- -   #VUID-vkCmdBeginRenderPass-srcStageMask-06451# The @srcStageMask@+--     members of any element of the @pDependencies@ member of+--     'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create+--     @renderPass@ /must/ be supported by the capabilities of the queue+--     family identified by the @queueFamilyIndex@ member of the+--     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' used to create the+--     command pool which @commandBuffer@ was allocated from+--+-- -   #VUID-vkCmdBeginRenderPass-dstStageMask-06452# The @dstStageMask@+--     members of any element of the @pDependencies@ member of+--     'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create --     @renderPass@ /must/ be supported by the capabilities of the queue --     family identified by the @queueFamilyIndex@ member of the --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' used to create the
src/Vulkan/Core10/DescriptorSet.hs view
@@ -1561,6 +1561,16 @@ --     the new active descriptor type @descriptorType@ /must/ exist in the --     corresponding @pMutableDescriptorTypeLists@ list for @dstBinding@ --+-- -   #VUID-VkWriteDescriptorSet-descriptorType-06450# If @descriptorType@+--     is+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',+--     the @imageView@ member of each element of @pImageInfo@ /must/ have+--     either been created without a+--     'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT'+--     present in the @pNext@ chain or with a+--     'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT'::@minLod@+--     of @0.0@+-- -- == Valid Usage (Implicit) -- -- -   #VUID-VkWriteDescriptorSet-sType-sType# @sType@ /must/ be
src/Vulkan/Core10/Device.hs view
@@ -126,6 +126,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_global_priority_query (PhysicalDeviceGlobalPriorityQueryFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset (PhysicalDeviceHostQueryResetFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_robustness (PhysicalDeviceImageRobustnessFeaturesEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)@@ -780,6 +781,7 @@ --     'Vulkan.Extensions.VK_EXT_global_priority_query.PhysicalDeviceGlobalPriorityQueryFeaturesEXT', --     'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures', --     'Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT',+--     'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', --     'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures', --     'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT', --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',@@ -927,6 +929,7 @@   getNext DeviceCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceImageViewMinLodFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceRGBA10X6FormatsFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -58,6 +58,8 @@                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT+                                                        , STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT                                                         , STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT                                                         , STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT@@ -776,6 +778,7 @@ -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX', -- 'Vulkan.Core10.ImageView.ImageViewCreateInfo', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX',+-- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo', -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID', -- 'Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR',@@ -889,6 +892,7 @@ -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2', -- 'Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT',+-- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures', -- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',@@ -1305,6 +1309,10 @@ pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = StructureType 1000392001 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT   = StructureType 1000392000+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"+pattern STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT        = StructureType 1000391001+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = StructureType 1000391000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT" pattern STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = StructureType 1000388001 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"@@ -2363,6 +2371,8 @@              STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,+             STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,+             STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,              STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,              STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT,              STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,@@ -2934,9 +2944,11 @@   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT     , "PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT"     )-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT  , "PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT")-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT    , "PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT")-  , (STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT, "QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT")+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT      , "PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT")+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT        , "PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT")+  , (STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT             , "IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT")+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, "PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT")+  , (STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT    , "QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT")   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT     , "PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"     )
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -465,6 +465,7 @@ -- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties', -- 'Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT',+-- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures', -- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',@@ -664,11 +665,55 @@ -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,--- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'+-- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags',+-- 'Flags64' type Flags = Word32  --- No documentation found for TopLevel "VkFlags64"+-- | VkFlags64 - Vulkan 64-bit bitmasks+--+-- = Description+--+-- When the 31 bits available in 'Flags' are insufficient, the 'Flags64'+-- type can be passed to commands and structures to represent up to 64+-- options. 'Flags64' is not used directly in the API. Instead, a+-- @Vk*Flags2@ type which is an alias of 'Flags64', and whose name matches+-- the corresponding @Vk*FlagBits2@ that are valid for that type, is used.+--+-- Any @Vk*Flags2@ member or parameter used in the API as an input /must/+-- be a valid combination of bit flags. A valid combination is either zero+-- or the bitwise OR of valid bit flags. A bit flag is valid if:+--+-- -   The bit flag is defined as part of the @Vk*FlagBits2@ type, where+--     the bits type is obtained by taking the flag type and replacing the+--     trailing @Flags2@ with @FlagBits2@. For example, a flag value of+--     type 'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlags2KHR'+--     /must/ contain only bit flags defined by+--     'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR'.+--+-- -   The flag is allowed in the context in which it is being used. For+--     example, in some cases, certain bit flags or combinations of bit+--     flags are mutually exclusive.+--+-- Any @Vk*Flags2@ member or parameter returned from a query command or+-- otherwise output from Vulkan to the application /may/ contain bit flags+-- undefined in its corresponding @Vk*FlagBits2@ type. An application+-- /cannot/ rely on the state of these unspecified bits.+--+-- Note+--+-- Both the @Vk*FlagBits2@ type, and the individual bits defined for that+-- type, are defined as @uint64_t@ integers in the C API. This is in+-- contrast to the 32-bit types, where the @Vk*FlagBits@ type is defined as+-- a C @enum@ and the individual bits as enumerants belonging to that+-- @enum@. As a result, there is less compile-time type checking possible+-- for the 64-bit types. This is unavoidable since there is no sufficiently+-- portable way to define a 64-bit @enum@ type in C99.+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,+-- 'Flags' type Flags64 = Word64  
src/Vulkan/Core10/ImageView.hs view
@@ -69,6 +69,7 @@ import Vulkan.Core10.Handles (ImageView(..)) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_astc_decode_mode (ImageViewASTCDecodeModeEXT) import Vulkan.Core10.Enums.ImageViewCreateFlagBits (ImageViewCreateFlags)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (ImageViewMinLodCreateInfoEXT) import Vulkan.Core10.Enums.ImageViewType (ImageViewType) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance2 (ImageViewUsageCreateInfo) import Vulkan.CStruct.Extends (PeekChain)@@ -1117,6 +1118,7 @@ --     structure (including this one) in the @pNext@ chain /must/ be either --     @NULL@ or a pointer to a valid instance of --     'Vulkan.Extensions.VK_EXT_astc_decode_mode.ImageViewASTCDecodeModeEXT',+--     'Vulkan.Extensions.VK_EXT_image_view_min_lod.ImageViewMinLodCreateInfoEXT', --     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.ImageViewUsageCreateInfo', --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo', --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileEXT VkVideoDecodeH264ProfileEXT>,@@ -1195,6 +1197,7 @@   getNext ImageViewCreateInfo{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends ImageViewCreateInfo e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @ImageViewMinLodCreateInfoEXT = Just f     | Just Refl <- eqT @e @ImageViewASTCDecodeModeEXT = Just f     | Just Refl <- eqT @e @SamplerYcbcrConversionInfo = Just f     | Just Refl <- eqT @e @ImageViewUsageCreateInfo = Just f
src/Vulkan/Core10/Pass.hs view
@@ -1501,30 +1501,98 @@ -- -- == Valid Usage ----- -   #VUID-VkSubpassDependency-srcStageMask-00860# If the+-- -   #VUID-VkSubpassDependency-srcStageMask-04090# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT' ----- -   #VUID-VkSubpassDependency-dstStageMask-00861# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'------ -   #VUID-VkSubpassDependency-srcStageMask-00862# If the+-- -   #VUID-VkSubpassDependency-srcStageMask-04091# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- -   #VUID-VkSubpassDependency-dstStageMask-00863# If the+-- -   #VUID-VkSubpassDependency-srcStageMask-04092# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-04093# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-04094# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-04095# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-04096# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-04097# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-srcStageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @srcStageMask@ /must/ not be @0@+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04090# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04091# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders> --     feature is not enabled, @dstStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' --+-- -   #VUID-VkSubpassDependency-dstStageMask-04092# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04093# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04094# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04095# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04096# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-04097# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- -   #VUID-VkSubpassDependency-dstStageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @dstStageMask@ /must/ not be @0@+-- -- -   #VUID-VkSubpassDependency-srcSubpass-00864# @srcSubpass@ /must/ be --     less than or equal to @dstSubpass@, unless one of them is --     'Vulkan.Core10.APIConstants.SUBPASS_EXTERNAL', to avoid cyclic@@ -1578,34 +1646,6 @@ --     @dstSubpass@ and that subpass has more than one bit set in the view --     mask, then @dependencyFlags@ /must/ include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'------ -   #VUID-VkSubpassDependency-srcStageMask-02099# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>---     feature is not enabled, @srcStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency-srcStageMask-02100# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>---     feature is not enabled, @srcStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency-dstStageMask-02101# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency-dstStageMask-02102# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency-synchronization2-04984# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @srcStageMask@ /must/ not be @0@------ -   #VUID-VkSubpassDependency-synchronization2-04985# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @dstStageMask@ /must/ not be @0@ -- -- == Valid Usage (Implicit) --
src/Vulkan/Core10/Queue.hs view
@@ -607,24 +607,56 @@ -- -- == Valid Usage ----- -   #VUID-VkSubmitInfo-pCommandBuffers-00075# Each element of---     @pCommandBuffers@ /must/ not have been allocated with---     'Vulkan.Core10.Enums.CommandBufferLevel.COMMAND_BUFFER_LEVEL_SECONDARY'------ -   #VUID-VkSubmitInfo-pWaitDstStageMask-00076# If the+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04090# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>---     feature is not enabled, each element of @pWaitDstStageMask@ /must/---     not contain+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT' ----- -   #VUID-VkSubmitInfo-pWaitDstStageMask-00077# If the+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04091# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders>---     feature is not enabled, each element of @pWaitDstStageMask@ /must/---     not contain+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' --+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04092# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04093# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04094# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04095# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04096# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-04097# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not contain+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @pWaitDstStageMask@ /must/ not be @0@+--+-- -   #VUID-VkSubmitInfo-pCommandBuffers-00075# Each element of+--     @pCommandBuffers@ /must/ not have been allocated with+--     'Vulkan.Core10.Enums.CommandBufferLevel.COMMAND_BUFFER_LEVEL_SECONDARY'+-- -- -   #VUID-VkSubmitInfo-pWaitDstStageMask-00078# Each element of --     @pWaitDstStageMask@ /must/ not include --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_HOST_BIT'@@ -687,18 +719,6 @@ --     the semaphore or the value of any outstanding semaphore wait or --     signal operation on that semaphore by more than --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxTimelineSemaphoreValueDifference maxTimelineSemaphoreValueDifference>------ -   #VUID-VkSubmitInfo-pWaitDstStageMask-02089# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>---     feature is not enabled, each element of @pWaitDstStageMask@ /must/---     not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ -   #VUID-VkSubmitInfo-pWaitDstStageMask-02090# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>---     feature is not enabled, each element of @pWaitDstStageMask@ /must/---     not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV' -- -- -   #VUID-VkSubmitInfo-pNext-04120# If the @pNext@ chain of this --     structure does not include a
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -150,6 +150,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (PhysicalDeviceImageDrmFormatModifierInfoEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_robustness (PhysicalDeviceImageRobustnessFeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures) import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)@@ -712,6 +713,7 @@   getNext PhysicalDeviceFeatures2{..} = next   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b   extends _ f+    | Just Refl <- eqT @e @PhysicalDeviceImageViewMinLodFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingFeaturesKHR = Just f     | Just Refl <- eqT @e @PhysicalDeviceRGBA10X6FormatsFeaturesEXT = Just f     | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f
src/Vulkan/Core12/Enums/DriverId.hs view
@@ -20,6 +20,7 @@                                               , DRIVER_ID_MESA_TURNIP                                               , DRIVER_ID_MESA_V3DV                                               , DRIVER_ID_MESA_PANVK+                                              , DRIVER_ID_SAMSUNG_PROPRIETARY                                               , ..                                               )) where @@ -99,6 +100,8 @@ pattern DRIVER_ID_MESA_V3DV                 = DriverId 19 -- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_PANVK" pattern DRIVER_ID_MESA_PANVK                = DriverId 20+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_SAMSUNG_PROPRIETARY"+pattern DRIVER_ID_SAMSUNG_PROPRIETARY       = DriverId 21 {-# complete DRIVER_ID_AMD_PROPRIETARY,              DRIVER_ID_AMD_OPEN_SOURCE,              DRIVER_ID_MESA_RADV,@@ -118,7 +121,8 @@              DRIVER_ID_VERISILICON_PROPRIETARY,              DRIVER_ID_MESA_TURNIP,              DRIVER_ID_MESA_V3DV,-             DRIVER_ID_MESA_PANVK :: DriverId #-}+             DRIVER_ID_MESA_PANVK,+             DRIVER_ID_SAMSUNG_PROPRIETARY :: DriverId #-}  conNameDriverId :: String conNameDriverId = "DriverId"@@ -148,6 +152,7 @@   , (DRIVER_ID_MESA_TURNIP              , "MESA_TURNIP")   , (DRIVER_ID_MESA_V3DV                , "MESA_V3DV")   , (DRIVER_ID_MESA_PANVK               , "MESA_PANVK")+  , (DRIVER_ID_SAMSUNG_PROPRIETARY      , "SAMSUNG_PROPRIETARY")   ]  instance Show DriverId where
src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs view
@@ -328,14 +328,22 @@ --     corresponding attachment image subresource of the framebuffer --     specified in the @framebuffer@ member of @pRenderPassBegin@ ----- -   #VUID-vkCmdBeginRenderPass2-srcStageMask-03101# The @srcStageMask@---     and @dstStageMask@ members of any element of the @pDependencies@---     member of 'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create+-- -   #VUID-vkCmdBeginRenderPass2-srcStageMask-06453# The @srcStageMask@+--     members of any element of the @pDependencies@ member of+--     'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create --     @renderPass@ /must/ be supported by the capabilities of the queue --     family identified by the @queueFamilyIndex@ member of the --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' used to create the --     command pool which @commandBuffer@ was allocated from --+-- -   #VUID-vkCmdBeginRenderPass2-dstStageMask-06454# The @dstStageMask@+--     members of any element of the @pDependencies@ member of+--     'Vulkan.Core10.Pass.RenderPassCreateInfo' used to create+--     @renderPass@ /must/ be supported by the capabilities of the queue+--     family identified by the @queueFamilyIndex@ member of the+--     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' used to create the+--     command pool which @commandBuffer@ was allocated from+-- -- -   #VUID-vkCmdBeginRenderPass2-framebuffer-02533# For any attachment in --     @framebuffer@ that is used by @renderPass@ and is bound to memory --     locations that are also bound to another attachment used by@@ -1500,30 +1508,98 @@ -- -- == Valid Usage ----- -   #VUID-VkSubpassDependency2-srcStageMask-03080# If the+-- -   #VUID-VkSubpassDependency2-srcStageMask-04090# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT' ----- -   #VUID-VkSubpassDependency2-dstStageMask-03081# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'------ -   #VUID-VkSubpassDependency2-srcStageMask-03082# If the+-- -   #VUID-VkSubpassDependency2-srcStageMask-04091# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders> --     feature is not enabled, @srcStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' ----- -   #VUID-VkSubpassDependency2-dstStageMask-03083# If the+-- -   #VUID-VkSubpassDependency2-srcStageMask-04092# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-04093# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-04094# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-04095# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-04096# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-04097# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @srcStageMask@ /must/ not contain+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-srcStageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @srcStageMask@ /must/ not be @0@+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04090# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_GEOMETRY_SHADER_BIT'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04091# If the --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-tessellationShader tessellation shaders> --     feature is not enabled, @dstStageMask@ /must/ not contain --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' --     or --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' --+-- -   #VUID-VkSubpassDependency2-dstStageMask-04092# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-conditionalRendering conditional rendering>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04093# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fragmentDensityMap fragment density map>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04094# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-transformFeedback transform feedback>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04095# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04096# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-04097# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shading rate image>+--     feature is not enabled, @dstStageMask@ /must/ not contain+--     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'+--+-- -   #VUID-VkSubpassDependency2-dstStageMask-03937# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>+--     feature is not enabled, @dstStageMask@ /must/ not be @0@+-- -- -   #VUID-VkSubpassDependency2-srcSubpass-03084# @srcSubpass@ /must/ be --     less than or equal to @dstSubpass@, unless one of them is --     'Vulkan.Core10.APIConstants.SUBPASS_EXTERNAL', to avoid cyclic@@ -1580,34 +1656,6 @@ --     @dependencyFlags@ does not include --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT', --     @viewOffset@ /must/ be @0@------ -   #VUID-VkSubpassDependency2-srcStageMask-02103# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>---     feature is not enabled, @srcStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency2-srcStageMask-02104# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>---     feature is not enabled, @srcStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency2-dstStageMask-02105# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-meshShader mesh shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency2-dstStageMask-02106# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>---     feature is not enabled, @dstStageMask@ /must/ not contain---     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'------ -   #VUID-VkSubpassDependency2-synchronization2-04988# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @srcStageMask@ /must/ not be @0@------ -   #VUID-VkSubpassDependency2-synchronization2-04989# If the---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>---     feature is not enabled, @dstStageMask@ /must/ not be @0@ -- -- == Valid Usage (Implicit) --
src/Vulkan/Extensions.hs view
@@ -64,6 +64,7 @@                           , module Vulkan.Extensions.VK_EXT_host_query_reset                           , module Vulkan.Extensions.VK_EXT_image_drm_format_modifier                           , module Vulkan.Extensions.VK_EXT_image_robustness+                          , module Vulkan.Extensions.VK_EXT_image_view_min_lod                           , module Vulkan.Extensions.VK_EXT_index_type_uint8                           , module Vulkan.Extensions.VK_EXT_inline_uniform_block                           , module Vulkan.Extensions.VK_EXT_line_rasterization@@ -325,6 +326,7 @@ import Vulkan.Extensions.VK_EXT_host_query_reset import Vulkan.Extensions.VK_EXT_image_drm_format_modifier import Vulkan.Extensions.VK_EXT_image_robustness+import Vulkan.Extensions.VK_EXT_image_view_min_lod import Vulkan.Extensions.VK_EXT_index_type_uint8 import Vulkan.Extensions.VK_EXT_inline_uniform_block import Vulkan.Extensions.VK_EXT_line_rasterization
src/Vulkan/Extensions/Dependencies.hs view
@@ -47,6 +47,7 @@ import Vulkan.Extensions.VK_EXT_host_query_reset (pattern EXT_HOST_QUERY_RESET_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_image_drm_format_modifier (pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_image_robustness (pattern EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME)+import Vulkan.Extensions.VK_EXT_image_view_min_lod (pattern EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_inline_uniform_block (pattern EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_line_rasterization (pattern EXT_LINE_RASTERIZATION_EXTENSION_NAME) import Vulkan.Extensions.VK_EXT_memory_budget (pattern EXT_MEMORY_BUDGET_EXTENSION_NAME)@@ -599,6 +600,7 @@   EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME       -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]   EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME ->     [EXT_GLOBAL_PRIORITY_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]+  EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME   -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]   EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME -> [EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME]   EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME ->     [EXT_MEMORY_PRIORITY_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
src/Vulkan/Extensions/Handles.hs view
@@ -267,7 +267,14 @@   showsPrec p (PrivateDataSlotEXT x) = showParen (p >= 11) (showString "PrivateDataSlotEXT 0x" . showHex x)  --- No documentation found for TopLevel "VkCuModuleNVX"+-- | VkCuModuleNVX - Stub description of VkCuModuleNVX+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Extensions.VK_NVX_binary_import.CuFunctionCreateInfoNVX',+-- 'Vulkan.Extensions.VK_NVX_binary_import.createCuModuleNVX',+-- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuModuleNVX' newtype CuModuleNVX = CuModuleNVX Word64   deriving newtype (Eq, Ord, Storable, Zero)   deriving anyclass (IsHandle)@@ -277,7 +284,14 @@   showsPrec p (CuModuleNVX x) = showParen (p >= 11) (showString "CuModuleNVX 0x" . showHex x)  --- No documentation found for TopLevel "VkCuFunctionNVX"+-- | VkCuFunctionNVX - Stub description of VkCuFunctionNVX+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Extensions.VK_NVX_binary_import.CuLaunchInfoNVX',+-- 'Vulkan.Extensions.VK_NVX_binary_import.createCuFunctionNVX',+-- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuFunctionNVX' newtype CuFunctionNVX = CuFunctionNVX Word64   deriving newtype (Eq, Ord, Storable, Zero)   deriving anyclass (IsHandle)@@ -457,6 +471,7 @@ -- 'Vulkan.Extensions.VK_EXT_display_control.getSwapchainCounterEXT', -- 'Vulkan.Extensions.VK_KHR_swapchain.getSwapchainImagesKHR', -- 'Vulkan.Extensions.VK_KHR_shared_presentable_image.getSwapchainStatusKHR',+-- 'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR', -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.releaseFullScreenExclusiveModeEXT', -- 'Vulkan.Extensions.VK_EXT_hdr_metadata.setHdrMetadataEXT', -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD',
src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs view
@@ -67,9 +67,9 @@ -- graphics, video, and display APIs. -- -- Its functionality closely overlaps with--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^ -- and--- @EGL_MESA_image_dma_buf_export@<VK_EXT_image_drm_format_modifier-fn3.html 3>^.+-- @EGL_MESA_image_dma_buf_export@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn3 3>^. -- Unlike the EGL extensions, this extension does not require the use of a -- specific handle type (such as a dma_buf) for external memory and -- provides more explicit control of image creation.@@ -250,33 +250,33 @@ -- == Prior Art -- -- Extension--- @EGL_EXT_image_dma_buf_import@<VK_EXT_image_drm_format_modifier-fn1.html 1>^+-- @EGL_EXT_image_dma_buf_import@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn1 1>^ -- introduced the ability to create an @EGLImage@ by importing for each -- plane a dma_buf, offset, and row pitch. -- -- Later, extension--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^ -- introduced the ability to query which combination of formats and -- /modifiers/ the implementation supports and to specify /modifiers/ -- during creation of the @EGLImage@. -- -- Extension--- @EGL_MESA_image_dma_buf_export@<VK_EXT_image_drm_format_modifier-fn3.html 3>^+-- @EGL_MESA_image_dma_buf_export@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn3 3>^ -- is the inverse of @EGL_EXT_image_dma_buf_import_modifiers@. -- -- The Linux kernel modesetting API (KMS), when configuring the display’s -- framebuffer with @struct--- drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^, allows--- one to specify the frambuffer’s /modifier/ as well as a per-plane memory--- handle, offset, and row pitch.+-- drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^,+-- allows one to specify the frambuffer’s /modifier/ as well as a per-plane+-- memory handle, offset, and row pitch. -- -- GBM, a graphics buffer manager for Linux, allows creation of a @gbm_bo@ -- (that is, a graphics /buffer object/) by importing data similar to that -- in--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn1.html 1>^;+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn1 1>^; -- and symmetrically allows exporting the same data from the @gbm_bo@. See -- the references to /modifier/ and /plane/ in--- @gbm.h@<VK_EXT_image_drm_format_modifier-fn5.html 5>^.+-- @gbm.h@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^. -- -- == New Commands --@@ -371,10 +371,10 @@ -- 'Vulkan.Core10.Handles.Image'. -- -- __DISCUSSION__: Prior art, such as--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^,--- @struct drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^,+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^,+-- @struct drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^, -- and @struct--- gbm_import_fd_modifier_data@<VK_EXT_image_drm_format_modifier-fn5.html 5>^,+-- gbm_import_fd_modifier_data@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^, -- allows defining one /modifier/ per plane. However, developers of the GBM -- and kernel APIs concede it was a mistake. Beginning in Linux 4.10, the -- kernel requires that the application provide the same DRM format@@ -397,10 +397,10 @@ -- /must/ be 0. -- -- __DISCUSSION__: Prior art, such as--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^,--- @struct drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^,+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^,+-- @struct drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^, -- and @struct--- gbm_import_fd_modifier_data@<VK_EXT_image_drm_format_modifier-fn5.html 5>^,+-- gbm_import_fd_modifier_data@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^, -- omits from the API the size of each plane. Instead, the APIs infer each -- plane’s size from the import parameters, which include the image’s pixel -- format and a dma_buf, offset, and row pitch for each plane.
src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot view
@@ -67,9 +67,9 @@ -- graphics, video, and display APIs. -- -- Its functionality closely overlaps with--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^ -- and--- @EGL_MESA_image_dma_buf_export@<VK_EXT_image_drm_format_modifier-fn3.html 3>^.+-- @EGL_MESA_image_dma_buf_export@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn3 3>^. -- Unlike the EGL extensions, this extension does not require the use of a -- specific handle type (such as a dma_buf) for external memory and -- provides more explicit control of image creation.@@ -250,33 +250,33 @@ -- == Prior Art -- -- Extension--- @EGL_EXT_image_dma_buf_import@<VK_EXT_image_drm_format_modifier-fn1.html 1>^+-- @EGL_EXT_image_dma_buf_import@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn1 1>^ -- introduced the ability to create an @EGLImage@ by importing for each -- plane a dma_buf, offset, and row pitch. -- -- Later, extension--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^ -- introduced the ability to query which combination of formats and -- /modifiers/ the implementation supports and to specify /modifiers/ -- during creation of the @EGLImage@. -- -- Extension--- @EGL_MESA_image_dma_buf_export@<VK_EXT_image_drm_format_modifier-fn3.html 3>^+-- @EGL_MESA_image_dma_buf_export@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn3 3>^ -- is the inverse of @EGL_EXT_image_dma_buf_import_modifiers@. -- -- The Linux kernel modesetting API (KMS), when configuring the display’s -- framebuffer with @struct--- drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^, allows--- one to specify the frambuffer’s /modifier/ as well as a per-plane memory--- handle, offset, and row pitch.+-- drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^,+-- allows one to specify the frambuffer’s /modifier/ as well as a per-plane+-- memory handle, offset, and row pitch. -- -- GBM, a graphics buffer manager for Linux, allows creation of a @gbm_bo@ -- (that is, a graphics /buffer object/) by importing data similar to that -- in--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn1.html 1>^;+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn1 1>^; -- and symmetrically allows exporting the same data from the @gbm_bo@. See -- the references to /modifier/ and /plane/ in--- @gbm.h@<VK_EXT_image_drm_format_modifier-fn5.html 5>^.+-- @gbm.h@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^. -- -- == New Commands --@@ -371,10 +371,10 @@ -- 'Vulkan.Core10.Handles.Image'. -- -- __DISCUSSION__: Prior art, such as--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^,--- @struct drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^,+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^,+-- @struct drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^, -- and @struct--- gbm_import_fd_modifier_data@<VK_EXT_image_drm_format_modifier-fn5.html 5>^,+-- gbm_import_fd_modifier_data@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^, -- allows defining one /modifier/ per plane. However, developers of the GBM -- and kernel APIs concede it was a mistake. Beginning in Linux 4.10, the -- kernel requires that the application provide the same DRM format@@ -397,10 +397,10 @@ -- /must/ be 0. -- -- __DISCUSSION__: Prior art, such as--- @EGL_EXT_image_dma_buf_import_modifiers@<VK_EXT_image_drm_format_modifier-fn2.html 2>^,--- @struct drm_mode_fb_cmd2@<VK_EXT_image_drm_format_modifier-fn4.html 4>^,+-- @EGL_EXT_image_dma_buf_import_modifiers@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn2 2>^,+-- @struct drm_mode_fb_cmd2@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn4 4>^, -- and @struct--- gbm_import_fd_modifier_data@<VK_EXT_image_drm_format_modifier-fn5.html 5>^,+-- gbm_import_fd_modifier_data@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier-fn5 5>^, -- omits from the API the size of each plane. Instead, the APIs infer each -- plane’s size from the import parameters, which include the image’s pixel -- format and a dma_buf, offset, and row pitch for each plane.
+ src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs view
@@ -0,0 +1,294 @@+{-# language CPP #-}+-- | = Name+--+-- VK_EXT_image_view_min_lod - device extension+--+-- == VK_EXT_image_view_min_lod+--+-- [__Name String__]+--     @VK_EXT_image_view_min_lod@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     392+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires Vulkan 1.0+--+--     -   Requires @VK_KHR_get_physical_device_properties2@+--+-- [__Contact__]+--+--     -   Joshua Ashton+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_view_min_lod] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_EXT_image_view_min_lod extension>> >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2021-11-09+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Joshua Ashton, Valve+--+--     -   Hans-Kristian Arntzen, Valve+--+--     -   Samuel Iglesias Gonsalvez, Igalia+--+--     -   Tobias Hector, AMD+--+--     -   Jason Ekstrand, Intel+--+--     -   Tom Olson, ARM+--+-- == Description+--+-- This extension allows applications to clamp the minimum LOD value during+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-image-level-selection Image Level(s) Selection>+-- and+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-operations Integer Texel Coordinate Operations>+-- with a given 'Vulkan.Core10.Handles.ImageView' by+-- 'ImageViewMinLodCreateInfoEXT'::@minLod@.+--+-- This extension may be useful to restrict a+-- 'Vulkan.Core10.Handles.ImageView' to only mips which have been uploaded,+-- and the use of fractional @minLod@ can be useful for smoothly+-- introducing new mip levels when using linear mipmap filtering.+--+-- == New Structures+--+-- -   Extending 'Vulkan.Core10.ImageView.ImageViewCreateInfo':+--+--     -   'ImageViewMinLodCreateInfoEXT'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceImageViewMinLodFeaturesEXT'+--+-- == New Enum Constants+--+-- -   'EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME'+--+-- -   'EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT'+--+-- == Version History+--+-- -   Revision 1, 2021-07-06 (Joshua Ashton)+--+--     -   Initial version+--+-- == See Also+--+-- 'ImageViewMinLodCreateInfoEXT',+-- 'PhysicalDeviceImageViewMinLodFeaturesEXT'+--+-- == Document Notes+--+-- For more information, see the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_view_min_lod Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_EXT_image_view_min_lod  ( PhysicalDeviceImageViewMinLodFeaturesEXT(..)+                                                    , ImageViewMinLodCreateInfoEXT(..)+                                                    , EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION+                                                    , pattern EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION+                                                    , EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME+                                                    , pattern EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME+                                                    ) where++import Foreign.Marshal.Alloc (allocaBytes)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Data.Coerce (coerce)+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.C.Types (CFloat)+import Foreign.C.Types (CFloat(..))+import Foreign.C.Types (CFloat(CFloat))+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_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT))+-- | VkPhysicalDeviceImageViewMinLodFeaturesEXT - Structure describing+-- whether clamping the min lod of a image view is supported by the+-- implementation+--+-- = Members+--+-- This structure describes the following features:+--+-- = Description+--+-- If the 'PhysicalDeviceImageViewMinLodFeaturesEXT' 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. 'PhysicalDeviceImageViewMinLodFeaturesEXT' /can/ also be used+-- in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to+-- selectively enable these features.+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_view_min_lod VK_EXT_image_view_min_lod>,+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceImageViewMinLodFeaturesEXT = PhysicalDeviceImageViewMinLodFeaturesEXT+  { -- | #features-minLod# @minLod@ indicates whether the implementation supports+    -- clamping the minimum LOD value during+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-image-level-selection Image Level(s) Selection>+    -- and+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-operations Integer Texel Coordinate Operations>+    -- with a given 'Vulkan.Core10.Handles.ImageView' by+    -- 'ImageViewMinLodCreateInfoEXT'::@minLod@.+    minLod :: Bool }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceImageViewMinLodFeaturesEXT)+#endif+deriving instance Show PhysicalDeviceImageViewMinLodFeaturesEXT++instance ToCStruct PhysicalDeviceImageViewMinLodFeaturesEXT where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p PhysicalDeviceImageViewMinLodFeaturesEXT{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (minLod))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+    f++instance FromCStruct PhysicalDeviceImageViewMinLodFeaturesEXT where+  peekCStruct p = do+    minLod <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+    pure $ PhysicalDeviceImageViewMinLodFeaturesEXT+             (bool32ToBool minLod)++instance Storable PhysicalDeviceImageViewMinLodFeaturesEXT where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceImageViewMinLodFeaturesEXT where+  zero = PhysicalDeviceImageViewMinLodFeaturesEXT+           zero+++-- | VkImageViewMinLodCreateInfoEXT - Structure describing the minimum lod of+-- an image view+--+-- == Valid Usage+--+-- -   #VUID-VkImageViewMinLodCreateInfoEXT-minLod-06455# If the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-minLod minLod>+--     feature is not enabled, @minLod@ /must/ be @0.0@.+--+-- -   #VUID-VkImageViewMinLodCreateInfoEXT-minLod-06456# @minLod@ /must/+--     be less or equal to the index of the last mipmap level accessible to+--     the view.+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-VkImageViewMinLodCreateInfoEXT-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_view_min_lod VK_EXT_image_view_min_lod>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data ImageViewMinLodCreateInfoEXT = ImageViewMinLodCreateInfoEXT+  { -- | @minLod@ is the value to clamp the minimum LOD accessible by this+    -- 'Vulkan.Core10.Handles.ImageView'.+    minLod :: Float }+  deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (ImageViewMinLodCreateInfoEXT)+#endif+deriving instance Show ImageViewMinLodCreateInfoEXT++instance ToCStruct ImageViewMinLodCreateInfoEXT where+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)+  pokeCStruct p ImageViewMinLodCreateInfoEXT{..} f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (minLod))+    f+  cStructSize = 24+  cStructAlignment = 8+  pokeZeroCStruct p f = do+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT)+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+    poke ((p `plusPtr` 16 :: Ptr CFloat)) (CFloat (zero))+    f++instance FromCStruct ImageViewMinLodCreateInfoEXT where+  peekCStruct p = do+    minLod <- peek @CFloat ((p `plusPtr` 16 :: Ptr CFloat))+    pure $ ImageViewMinLodCreateInfoEXT+             (coerce @CFloat @Float minLod)++instance Storable ImageViewMinLodCreateInfoEXT where+  sizeOf ~_ = 24+  alignment ~_ = 8+  peek = peekCStruct+  poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero ImageViewMinLodCreateInfoEXT where+  zero = ImageViewMinLodCreateInfoEXT+           zero+++type EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION"+pattern EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION :: forall a . Integral a => a+pattern EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1+++type EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod"++-- No documentation found for TopLevel "VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME"+pattern EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod"+
+ src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs-boot view
@@ -0,0 +1,131 @@+{-# language CPP #-}+-- | = Name+--+-- VK_EXT_image_view_min_lod - device extension+--+-- == VK_EXT_image_view_min_lod+--+-- [__Name String__]+--     @VK_EXT_image_view_min_lod@+--+-- [__Extension Type__]+--     Device extension+--+-- [__Registered Extension Number__]+--     392+--+-- [__Revision__]+--     1+--+-- [__Extension and Version Dependencies__]+--+--     -   Requires Vulkan 1.0+--+--     -   Requires @VK_KHR_get_physical_device_properties2@+--+-- [__Contact__]+--+--     -   Joshua Ashton+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_view_min_lod] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_EXT_image_view_min_lod extension>> >+--+-- == Other Extension Metadata+--+-- [__Last Modified Date__]+--     2021-11-09+--+-- [__IP Status__]+--     No known IP claims.+--+-- [__Contributors__]+--+--     -   Joshua Ashton, Valve+--+--     -   Hans-Kristian Arntzen, Valve+--+--     -   Samuel Iglesias Gonsalvez, Igalia+--+--     -   Tobias Hector, AMD+--+--     -   Jason Ekstrand, Intel+--+--     -   Tom Olson, ARM+--+-- == Description+--+-- This extension allows applications to clamp the minimum LOD value during+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-image-level-selection Image Level(s) Selection>+-- and+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-operations Integer Texel Coordinate Operations>+-- with a given 'Vulkan.Core10.Handles.ImageView' by+-- 'ImageViewMinLodCreateInfoEXT'::@minLod@.+--+-- This extension may be useful to restrict a+-- 'Vulkan.Core10.Handles.ImageView' to only mips which have been uploaded,+-- and the use of fractional @minLod@ can be useful for smoothly+-- introducing new mip levels when using linear mipmap filtering.+--+-- == New Structures+--+-- -   Extending 'Vulkan.Core10.ImageView.ImageViewCreateInfo':+--+--     -   'ImageViewMinLodCreateInfoEXT'+--+-- -   Extending+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',+--     'Vulkan.Core10.Device.DeviceCreateInfo':+--+--     -   'PhysicalDeviceImageViewMinLodFeaturesEXT'+--+-- == New Enum Constants+--+-- -   'EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME'+--+-- -   'EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT'+--+-- == Version History+--+-- -   Revision 1, 2021-07-06 (Joshua Ashton)+--+--     -   Initial version+--+-- == See Also+--+-- 'ImageViewMinLodCreateInfoEXT',+-- 'PhysicalDeviceImageViewMinLodFeaturesEXT'+--+-- == Document Notes+--+-- For more information, see the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_view_min_lod Vulkan Specification>+--+-- This page is a generated document. Fixes and changes should be made to+-- the generator scripts, not directly.+module Vulkan.Extensions.VK_EXT_image_view_min_lod  ( ImageViewMinLodCreateInfoEXT+                                                    , PhysicalDeviceImageViewMinLodFeaturesEXT+                                                    ) where++import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+import Data.Kind (Type)++data ImageViewMinLodCreateInfoEXT++instance ToCStruct ImageViewMinLodCreateInfoEXT+instance Show ImageViewMinLodCreateInfoEXT++instance FromCStruct ImageViewMinLodCreateInfoEXT+++data PhysicalDeviceImageViewMinLodFeaturesEXT++instance ToCStruct PhysicalDeviceImageViewMinLodFeaturesEXT+instance Show PhysicalDeviceImageViewMinLodFeaturesEXT++instance FromCStruct PhysicalDeviceImageViewMinLodFeaturesEXT+
src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs view
@@ -47,9 +47,10 @@ -- DRM nodes on Linux. -- -- Its functionality closely overlaps with--- @EGL_EXT_device_drm@<VK_EXT_physical_device_drm-fn1.html 1>^. Unlike the--- EGL extension, this extension does not expose a string containing the--- name of the device file and instead exposes device minor numbers.+-- @EGL_EXT_device_drm@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_physical_device_drm-fn1 1>^.+-- Unlike the EGL extension, this extension does not expose a string+-- containing the name of the device file and instead exposes device minor+-- numbers. -- -- DRM defines multiple device node types. Each physical device may have -- one primary node and one render node associated. Physical devices may
src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot view
@@ -47,9 +47,10 @@ -- DRM nodes on Linux. -- -- Its functionality closely overlaps with--- @EGL_EXT_device_drm@<VK_EXT_physical_device_drm-fn1.html 1>^. Unlike the--- EGL extension, this extension does not expose a string containing the--- name of the device file and instead exposes device minor numbers.+-- @EGL_EXT_device_drm@<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_physical_device_drm-fn1 1>^.+-- Unlike the EGL extension, this extension does not expose a string+-- containing the name of the device file and instead exposes device minor+-- numbers. -- -- DRM defines multiple device node types. Each physical device may have -- one primary node and one render node associated. Physical devices may
src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs view
@@ -4903,6 +4903,14 @@ -- -- = Description --+-- Due to the fact that the geometry, instance, and primitive counts are+-- specified at acceleration structure creation as 32-bit values,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxGeometryCount maxGeometryCount>,+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxInstanceCount maxInstanceCount>,+-- and+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxPrimitiveCount maxPrimitiveCount>+-- /must/ not exceed 232-1.+-- -- If the 'PhysicalDeviceAccelerationStructurePropertiesKHR' structure is -- included in the @pNext@ chain of the -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'@@ -4922,14 +4930,15 @@ -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>, -- 'Vulkan.Core10.Enums.StructureType.StructureType' data PhysicalDeviceAccelerationStructurePropertiesKHR = PhysicalDeviceAccelerationStructurePropertiesKHR-  { -- | @maxGeometryCount@ is the maximum number of geometries in the bottom-    -- level acceleration structure.+  { -- | #limits-maxGeometryCount# @maxGeometryCount@ is the maximum number of+    -- geometries in the bottom level acceleration structure.     maxGeometryCount :: Word64-  , -- | @maxInstanceCount@ is the maximum number of instances in the top level-    -- acceleration structure.+  , -- | #limits-maxInstanceCount# @maxInstanceCount@ is the maximum number of+    -- instances in the top level acceleration structure.     maxInstanceCount :: Word64-  , -- | @maxPrimitiveCount@ is the maximum number of triangles or AABBs in all-    -- geometries in the bottom level acceleration structure.+  , -- | #limits-maxPrimitiveCount# @maxPrimitiveCount@ is the maximum number of+    -- triangles or AABBs in all geometries in the bottom level acceleration+    -- structure.     maxPrimitiveCount :: Word64   , -- | #limits-maxPerStageDescriptorAccelerationStructures#     -- @maxPerStageDescriptorAccelerationStructures@ is the maximum number of
src/Vulkan/Extensions/VK_NVX_binary_import.hs view
@@ -47,10 +47,346 @@ -- -- Note ----- There is currently no specification language written for this extension,--- so although it appears in the Vulkan headers, its interfaces are not--- summarized here.+-- There is currently no specification language written for this extension.+-- The links to APIs defined by the extension are to stubs that only+-- include generated content such as API declarations and implicit valid+-- usage statements. --+-- == New Object Types+--+-- -   'Vulkan.Extensions.Handles.CuFunctionNVX'+--+-- -   'Vulkan.Extensions.Handles.CuModuleNVX'+--+-- == New Commands+--+-- -   'cmdCuLaunchKernelNVX'+--+-- -   'createCuFunctionNVX'+--+-- -   'createCuModuleNVX'+--+-- -   'destroyCuFunctionNVX'+--+-- -   'destroyCuModuleNVX'+--+-- == New Structures+--+-- -   'CuFunctionCreateInfoNVX'+--+-- -   'CuLaunchInfoNVX'+--+-- -   'CuModuleCreateInfoNVX'+--+-- == New Enum Constants+--+-- -   'NVX_BINARY_IMPORT_EXTENSION_NAME'+--+-- -   'NVX_BINARY_IMPORT_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':+--+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT'+--+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT'+--+-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':+--+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_FUNCTION_NVX'+--+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_MODULE_NVX'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'+--+-- == Stub API References+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VkResult vkCreateCuFunctionNVX(+-- >     VkDevice                                    device,+-- >     const VkCuFunctionCreateInfoNVX*            pCreateInfo,+-- >     const VkAllocationCallbacks*                pAllocator,+-- >     VkCuFunctionNVX*                            pFunction);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuFunctionNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuFunctionCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pFunction-parameter# @pFunction@ /must/+--     be a valid pointer to a 'Vulkan.Extensions.Handles.CuFunctionNVX'+--     handle+--+-- === Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuFunctionCreateInfoNVX {+-- >     VkStructureType    sType;+-- >     const void*        pNext;+-- >     VkCuModuleNVX      module;+-- >     const char*        pName;+-- > } VkCuFunctionCreateInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-pNext-pNext# @pNext@ /must/ be+--     @NULL@+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-module-parameter# @module@ /must/ be+--     a valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-pName-parameter# @pName@ /must/ be a+--     null-terminated UTF-8 string+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkDestroyCuFunctionNVX(+-- >     VkDevice                                    device,+-- >     VkCuFunctionNVX                             function,+-- >     const VkAllocationCallbacks*                pAllocator);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parameter# @function@ /must/+--     be a valid 'Vulkan.Extensions.Handles.CuFunctionNVX' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-pAllocator-parameter# If @pAllocator@+--     is not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parent# @function@ /must/ have+--     been created, allocated, or retrieved from @device@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VkResult vkCreateCuModuleNVX(+-- >     VkDevice                                    device,+-- >     const VkCuModuleCreateInfoNVX*              pCreateInfo,+-- >     const VkAllocationCallbacks*                pAllocator,+-- >     VkCuModuleNVX*                              pModule);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuModuleNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuModuleCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuModuleNVX-pModule-parameter# @pModule@ /must/ be a+--     valid pointer to a 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- === Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuModuleCreateInfoNVX {+-- >     VkStructureType    sType;+-- >     const void*        pNext;+-- >     size_t             dataSize;+-- >     const void*        pData;+-- > } VkCuModuleCreateInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuModuleCreateInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'+--+-- -   #VUID-VkCuModuleCreateInfoNVX-pNext-pNext# @pNext@ /must/ be @NULL@+--+-- -   #VUID-VkCuModuleCreateInfoNVX-pData-parameter# @pData@ /must/ be a+--     valid pointer to an array of @dataSize@ bytes+--+-- -   #VUID-VkCuModuleCreateInfoNVX-dataSize-arraylength# @dataSize@+--     /must/ be greater than @0@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkDestroyCuModuleNVX(+-- >     VkDevice                                    device,+-- >     VkCuModuleNVX                               module,+-- >     const VkAllocationCallbacks*                pAllocator);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parameter# @module@ /must/ be a+--     valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parent# @module@ /must/ have been+--     created, allocated, or retrieved from @device@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkCmdCuLaunchKernelNVX(+-- >     VkCommandBuffer                             commandBuffer,+-- >     const VkCuLaunchInfoNVX*                    pLaunchInfo);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameter# @pLaunchInfo@+--     /must/ be a valid pointer to a valid 'CuLaunchInfoNVX' structure+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recording#+--     @commandBuffer@ /must/ be in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- === Host Synchronization+--+-- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- === Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================++-- | Primary                                                                                                                    | Both                                                                                                                   | Graphics                                                                                                              |+-- | Secondary                                                                                                                  |                                                                                                                        | Compute                                                                                                               |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuLaunchInfoNVX {+-- >     VkStructureType        sType;+-- >     const void*            pNext;+-- >     VkCuFunctionNVX        function;+-- >     uint32_t               gridDimX;+-- >     uint32_t               gridDimY;+-- >     uint32_t               gridDimZ;+-- >     uint32_t               blockDimX;+-- >     uint32_t               blockDimY;+-- >     uint32_t               blockDimZ;+-- >     uint32_t               sharedMemBytes;+-- >     size_t                 paramCount;+-- >     const void* const *    pParams;+-- >     size_t                 extraCount;+-- >     const void* const *    pExtras;+-- > } VkCuLaunchInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuLaunchInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'+--+-- -   #VUID-VkCuLaunchInfoNVX-pNext-pNext# @pNext@ /must/ be @NULL@+--+-- -   #VUID-VkCuLaunchInfoNVX-function-parameter# @function@ /must/ be a+--     valid 'Vulkan.Extensions.Handles.CuFunctionNVX' handle+--+-- -   #VUID-VkCuLaunchInfoNVX-pParams-parameter# @pParams@ /must/ be a+--     valid pointer to an array of @paramCount@ bytes+--+-- -   #VUID-VkCuLaunchInfoNVX-pExtras-parameter# @pExtras@ /must/ be a+--     valid pointer to an array of @extraCount@ bytes+--+-- -   #VUID-VkCuLaunchInfoNVX-paramCount-arraylength# @paramCount@ /must/+--     be greater than @0@+--+-- -   #VUID-VkCuLaunchInfoNVX-extraCount-arraylength# @extraCount@ /must/+--     be greater than @0@+-- -- == Version History -- -- -   Revision 1, 2021-04-09 (Eric Werness)@@ -174,7 +510,42 @@   "dynamic" mkVkCreateCuModuleNVX   :: FunPtr (Ptr Device_T -> Ptr CuModuleCreateInfoNVX -> Ptr AllocationCallbacks -> Ptr CuModuleNVX -> IO Result) -> Ptr Device_T -> Ptr CuModuleCreateInfoNVX -> Ptr AllocationCallbacks -> Ptr CuModuleNVX -> IO Result --- No documentation found for TopLevel "vkCreateCuModuleNVX"+-- | vkCreateCuModuleNVX - Stub description of vkCreateCuModuleNVX+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuModuleNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuModuleCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuModuleNVX-pModule-parameter# @pModule@ /must/ be a+--     valid pointer to a 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',+-- 'CuModuleCreateInfoNVX', 'Vulkan.Extensions.Handles.CuModuleNVX',+-- 'Vulkan.Core10.Handles.Device' createCuModuleNVX :: forall io                    . (MonadIO io)                   => -- No documentation found for Nested "vkCreateCuModuleNVX" "device"@@ -220,7 +591,43 @@   "dynamic" mkVkCreateCuFunctionNVX   :: FunPtr (Ptr Device_T -> Ptr CuFunctionCreateInfoNVX -> Ptr AllocationCallbacks -> Ptr CuFunctionNVX -> IO Result) -> Ptr Device_T -> Ptr CuFunctionCreateInfoNVX -> Ptr AllocationCallbacks -> Ptr CuFunctionNVX -> IO Result --- No documentation found for TopLevel "vkCreateCuFunctionNVX"+-- | vkCreateCuFunctionNVX - Stub description of vkCreateCuFunctionNVX+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuFunctionNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuFunctionCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pFunction-parameter# @pFunction@ /must/+--     be a valid pointer to a 'Vulkan.Extensions.Handles.CuFunctionNVX'+--     handle+--+-- == Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',+-- 'CuFunctionCreateInfoNVX', 'Vulkan.Extensions.Handles.CuFunctionNVX',+-- 'Vulkan.Core10.Handles.Device' createCuFunctionNVX :: forall io                      . (MonadIO io)                     => -- No documentation found for Nested "vkCreateCuFunctionNVX" "device"@@ -266,7 +673,28 @@   "dynamic" mkVkDestroyCuModuleNVX   :: FunPtr (Ptr Device_T -> CuModuleNVX -> Ptr AllocationCallbacks -> IO ()) -> Ptr Device_T -> CuModuleNVX -> Ptr AllocationCallbacks -> IO () --- No documentation found for TopLevel "vkDestroyCuModuleNVX"+-- | vkDestroyCuModuleNVX - Stub description of vkDestroyCuModuleNVX+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parameter# @module@ /must/ be a+--     valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parent# @module@ /must/ have been+--     created, allocated, or retrieved from @device@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',+-- 'Vulkan.Extensions.Handles.CuModuleNVX', 'Vulkan.Core10.Handles.Device' destroyCuModuleNVX :: forall io                     . (MonadIO io)                    => -- No documentation found for Nested "vkDestroyCuModuleNVX" "device"@@ -295,7 +723,29 @@   "dynamic" mkVkDestroyCuFunctionNVX   :: FunPtr (Ptr Device_T -> CuFunctionNVX -> Ptr AllocationCallbacks -> IO ()) -> Ptr Device_T -> CuFunctionNVX -> Ptr AllocationCallbacks -> IO () --- No documentation found for TopLevel "vkDestroyCuFunctionNVX"+-- | vkDestroyCuFunctionNVX - Stub description of vkDestroyCuFunctionNVX+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parameter# @function@ /must/+--     be a valid 'Vulkan.Extensions.Handles.CuFunctionNVX' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-pAllocator-parameter# If @pAllocator@+--     is not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parent# @function@ /must/ have+--     been created, allocated, or retrieved from @device@+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',+-- 'Vulkan.Extensions.Handles.CuFunctionNVX',+-- 'Vulkan.Core10.Handles.Device' destroyCuFunctionNVX :: forall io                       . (MonadIO io)                      => -- No documentation found for Nested "vkDestroyCuFunctionNVX" "device"@@ -324,7 +774,45 @@   "dynamic" mkVkCmdCuLaunchKernelNVX   :: FunPtr (Ptr CommandBuffer_T -> Ptr CuLaunchInfoNVX -> IO ()) -> Ptr CommandBuffer_T -> Ptr CuLaunchInfoNVX -> IO () --- No documentation found for TopLevel "vkCmdCuLaunchKernelNVX"+-- | vkCmdCuLaunchKernelNVX - Stub description of vkCmdCuLaunchKernelNVX+--+-- == Valid Usage (Implicit)+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameter# @pLaunchInfo@+--     /must/ be a valid pointer to a valid 'CuLaunchInfoNVX' structure+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recording#+--     @commandBuffer@ /must/ be in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- == Host Synchronization+--+-- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- == Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================++-- | Primary                                                                                                                    | Both                                                                                                                   | Graphics                                                                                                              |+-- | Secondary                                                                                                                  |                                                                                                                        | Compute                                                                                                               |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.Handles.CommandBuffer', 'CuLaunchInfoNVX' cmdCuLaunchKernelNVX :: forall io                       . (MonadIO io)                      => -- No documentation found for Nested "vkCmdCuLaunchKernelNVX" "commandBuffer"@@ -342,11 +830,20 @@   pure $ ()  --- No documentation found for TopLevel "VkCuModuleCreateInfoNVX"+-- | VkCuModuleCreateInfoNVX - Stub description of VkCuModuleCreateInfoNVX+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createCuModuleNVX' data CuModuleCreateInfoNVX = CuModuleCreateInfoNVX-  { -- No documentation found for Nested "VkCuModuleCreateInfoNVX" "dataSize"+  { -- | #VUID-VkCuModuleCreateInfoNVX-dataSize-arraylength# @dataSize@ /must/ be+    -- greater than @0@     dataSize :: Word64-  , -- No documentation found for Nested "VkCuModuleCreateInfoNVX" "pData"+  , -- | #VUID-VkCuModuleCreateInfoNVX-pData-parameter# @pData@ /must/ be a valid+    -- pointer to an array of @dataSize@ bytes     data' :: Ptr ()   }   deriving (Typeable)@@ -391,11 +888,22 @@            zero  --- No documentation found for TopLevel "VkCuFunctionCreateInfoNVX"+-- | VkCuFunctionCreateInfoNVX - Stub description of+-- VkCuFunctionCreateInfoNVX+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Extensions.Handles.CuModuleNVX',+-- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createCuFunctionNVX' data CuFunctionCreateInfoNVX = CuFunctionCreateInfoNVX-  { -- No documentation found for Nested "VkCuFunctionCreateInfoNVX" "module"+  { -- | #VUID-VkCuFunctionCreateInfoNVX-module-parameter# @module@ /must/ be a+    -- valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle     module' :: CuModuleNVX-  , -- No documentation found for Nested "VkCuFunctionCreateInfoNVX" "pName"+  , -- | #VUID-VkCuFunctionCreateInfoNVX-pName-parameter# @pName@ /must/ be a+    -- null-terminated UTF-8 string     name :: ByteString   }   deriving (Typeable)@@ -436,9 +944,19 @@            mempty  --- No documentation found for TopLevel "VkCuLaunchInfoNVX"+-- | VkCuLaunchInfoNVX - Stub description of VkCuLaunchInfoNVX+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_binary_import VK_NVX_binary_import>,+-- 'Vulkan.Extensions.Handles.CuFunctionNVX',+-- 'Vulkan.Core10.Enums.StructureType.StructureType',+-- 'cmdCuLaunchKernelNVX' data CuLaunchInfoNVX = CuLaunchInfoNVX-  { -- No documentation found for Nested "VkCuLaunchInfoNVX" "function"+  { -- | #VUID-VkCuLaunchInfoNVX-function-parameter# @function@ /must/ be a valid+    -- 'Vulkan.Extensions.Handles.CuFunctionNVX' handle     function :: CuFunctionNVX   , -- No documentation found for Nested "VkCuLaunchInfoNVX" "gridDimX"     gridDimX :: Word32@@ -454,9 +972,11 @@     blockDimZ :: Word32   , -- No documentation found for Nested "VkCuLaunchInfoNVX" "sharedMemBytes"     sharedMemBytes :: Word32-  , -- No documentation found for Nested "VkCuLaunchInfoNVX" "pParams"+  , -- | #VUID-VkCuLaunchInfoNVX-pParams-parameter# @pParams@ /must/ be a valid+    -- pointer to an array of @paramCount@ bytes     params :: Vector (Ptr ())-  , -- No documentation found for Nested "VkCuLaunchInfoNVX" "pExtras"+  , -- | #VUID-VkCuLaunchInfoNVX-pExtras-parameter# @pExtras@ /must/ be a valid+    -- pointer to an array of @extraCount@ bytes     extras :: Vector (Ptr ())   }   deriving (Typeable)
src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot view
@@ -47,9 +47,345 @@ -- -- Note ----- There is currently no specification language written for this extension,--- so although it appears in the Vulkan headers, its interfaces are not--- summarized here.+-- There is currently no specification language written for this extension.+-- The links to APIs defined by the extension are to stubs that only+-- include generated content such as API declarations and implicit valid+-- usage statements.+--+-- == New Object Types+--+-- -   'Vulkan.Extensions.Handles.CuFunctionNVX'+--+-- -   'Vulkan.Extensions.Handles.CuModuleNVX'+--+-- == New Commands+--+-- -   'cmdCuLaunchKernelNVX'+--+-- -   'createCuFunctionNVX'+--+-- -   'createCuModuleNVX'+--+-- -   'destroyCuFunctionNVX'+--+-- -   'destroyCuModuleNVX'+--+-- == New Structures+--+-- -   'CuFunctionCreateInfoNVX'+--+-- -   'CuLaunchInfoNVX'+--+-- -   'CuModuleCreateInfoNVX'+--+-- == New Enum Constants+--+-- -   'NVX_BINARY_IMPORT_EXTENSION_NAME'+--+-- -   'NVX_BINARY_IMPORT_SPEC_VERSION'+--+-- -   Extending+--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':+--+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT'+--+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT'+--+-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':+--+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_FUNCTION_NVX'+--+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_MODULE_NVX'+--+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'+--+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'+--+-- == Stub API References+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VkResult vkCreateCuFunctionNVX(+-- >     VkDevice                                    device,+-- >     const VkCuFunctionCreateInfoNVX*            pCreateInfo,+-- >     const VkAllocationCallbacks*                pAllocator,+-- >     VkCuFunctionNVX*                            pFunction);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuFunctionNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuFunctionCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuFunctionNVX-pFunction-parameter# @pFunction@ /must/+--     be a valid pointer to a 'Vulkan.Extensions.Handles.CuFunctionNVX'+--     handle+--+-- === Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuFunctionCreateInfoNVX {+-- >     VkStructureType    sType;+-- >     const void*        pNext;+-- >     VkCuModuleNVX      module;+-- >     const char*        pName;+-- > } VkCuFunctionCreateInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-pNext-pNext# @pNext@ /must/ be+--     @NULL@+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-module-parameter# @module@ /must/ be+--     a valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- -   #VUID-VkCuFunctionCreateInfoNVX-pName-parameter# @pName@ /must/ be a+--     null-terminated UTF-8 string+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkDestroyCuFunctionNVX(+-- >     VkDevice                                    device,+-- >     VkCuFunctionNVX                             function,+-- >     const VkAllocationCallbacks*                pAllocator);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuFunctionNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parameter# @function@ /must/+--     be a valid 'Vulkan.Extensions.Handles.CuFunctionNVX' handle+--+-- -   #VUID-vkDestroyCuFunctionNVX-pAllocator-parameter# If @pAllocator@+--     is not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuFunctionNVX-function-parent# @function@ /must/ have+--     been created, allocated, or retrieved from @device@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > VkResult vkCreateCuModuleNVX(+-- >     VkDevice                                    device,+-- >     const VkCuModuleCreateInfoNVX*              pCreateInfo,+-- >     const VkAllocationCallbacks*                pAllocator,+-- >     VkCuModuleNVX*                              pModule);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCreateCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkCreateCuModuleNVX-pCreateInfo-parameter# @pCreateInfo@+--     /must/ be a valid pointer to a valid 'CuModuleCreateInfoNVX'+--     structure+--+-- -   #VUID-vkCreateCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkCreateCuModuleNVX-pModule-parameter# @pModule@ /must/ be a+--     valid pointer to a 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- === Return Codes+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]+--+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'+--+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'+--+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'+--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuModuleCreateInfoNVX {+-- >     VkStructureType    sType;+-- >     const void*        pNext;+-- >     size_t             dataSize;+-- >     const void*        pData;+-- > } VkCuModuleCreateInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuModuleCreateInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'+--+-- -   #VUID-VkCuModuleCreateInfoNVX-pNext-pNext# @pNext@ /must/ be @NULL@+--+-- -   #VUID-VkCuModuleCreateInfoNVX-pData-parameter# @pData@ /must/ be a+--     valid pointer to an array of @dataSize@ bytes+--+-- -   #VUID-VkCuModuleCreateInfoNVX-dataSize-arraylength# @dataSize@+--     /must/ be greater than @0@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkDestroyCuModuleNVX(+-- >     VkDevice                                    device,+-- >     VkCuModuleNVX                               module,+-- >     const VkAllocationCallbacks*                pAllocator);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkDestroyCuModuleNVX-device-parameter# @device@ /must/ be a+--     valid 'Vulkan.Core10.Handles.Device' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parameter# @module@ /must/ be a+--     valid 'Vulkan.Extensions.Handles.CuModuleNVX' handle+--+-- -   #VUID-vkDestroyCuModuleNVX-pAllocator-parameter# If @pAllocator@ is+--     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid+--     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure+--+-- -   #VUID-vkDestroyCuModuleNVX-module-parent# @module@ /must/ have been+--     created, allocated, or retrieved from @device@+--+-- There is currently no specification language written for this command.+-- This section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > void vkCmdCuLaunchKernelNVX(+-- >     VkCommandBuffer                             commandBuffer,+-- >     const VkCuLaunchInfoNVX*                    pLaunchInfo);+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter#+--     @commandBuffer@ /must/ be a valid+--     'Vulkan.Core10.Handles.CommandBuffer' handle+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameter# @pLaunchInfo@+--     /must/ be a valid pointer to a valid 'CuLaunchInfoNVX' structure+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recording#+--     @commandBuffer@ /must/ be in the+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>+--+-- -   #VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpool# The+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was+--     allocated from /must/ support graphics, or compute operations+--+-- === Host Synchronization+--+-- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that+--     @commandBuffer@ was allocated from /must/ be externally synchronized+--+-- === Command Properties+--+-- \'+--+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> |+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================++-- | Primary                                                                                                                    | Both                                                                                                                   | Graphics                                                                                                              |+-- | Secondary                                                                                                                  |                                                                                                                        | Compute                                                                                                               |+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------++--+-- There is currently no specification language written for this type. This+-- section acts only as placeholder and to avoid dead links in the+-- specification and reference pages.+--+-- > // Provided by VK_NVX_binary_import+-- > typedef struct VkCuLaunchInfoNVX {+-- >     VkStructureType        sType;+-- >     const void*            pNext;+-- >     VkCuFunctionNVX        function;+-- >     uint32_t               gridDimX;+-- >     uint32_t               gridDimY;+-- >     uint32_t               gridDimZ;+-- >     uint32_t               blockDimX;+-- >     uint32_t               blockDimY;+-- >     uint32_t               blockDimZ;+-- >     uint32_t               sharedMemBytes;+-- >     size_t                 paramCount;+-- >     const void* const *    pParams;+-- >     size_t                 extraCount;+-- >     const void* const *    pExtras;+-- > } VkCuLaunchInfoNVX;+--+-- === Valid Usage (Implicit)+--+-- -   #VUID-VkCuLaunchInfoNVX-sType-sType# @sType@ /must/ be+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'+--+-- -   #VUID-VkCuLaunchInfoNVX-pNext-pNext# @pNext@ /must/ be @NULL@+--+-- -   #VUID-VkCuLaunchInfoNVX-function-parameter# @function@ /must/ be a+--     valid 'Vulkan.Extensions.Handles.CuFunctionNVX' handle+--+-- -   #VUID-VkCuLaunchInfoNVX-pParams-parameter# @pParams@ /must/ be a+--     valid pointer to an array of @paramCount@ bytes+--+-- -   #VUID-VkCuLaunchInfoNVX-pExtras-parameter# @pExtras@ /must/ be a+--     valid pointer to an array of @extraCount@ bytes+--+-- -   #VUID-VkCuLaunchInfoNVX-paramCount-arraylength# @paramCount@ /must/+--     be greater than @0@+--+-- -   #VUID-VkCuLaunchInfoNVX-extraCount-arraylength# @extraCount@ /must/+--     be greater than @0@ -- -- == Version History --
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -3813,6 +3813,11 @@ -- -- = Description --+-- Due to the fact that the geometry, instance, and triangle counts are+-- specified at acceleration structure creation as 32-bit values,+-- @maxGeometryCount@, @maxInstanceCount@, and @maxTriangleCount@ /must/+-- not exceed 232-1.+-- -- If the 'PhysicalDeviceRayTracingPropertiesNV' structure is included in -- the @pNext@ chain of the -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'
src/Vulkan/Version.hs view
@@ -19,11 +19,11 @@ import Data.Word (Word32)  pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 198+pattern HEADER_VERSION = 199   pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 198+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 199   pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           vulkan-version:        3.13.2+version:        3.13.3 synopsis:       Bindings to the Vulkan graphics API. description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme) category:       Graphics@@ -316,6 +316,7 @@       Vulkan.Extensions.VK_EXT_host_query_reset       Vulkan.Extensions.VK_EXT_image_drm_format_modifier       Vulkan.Extensions.VK_EXT_image_robustness+      Vulkan.Extensions.VK_EXT_image_view_min_lod       Vulkan.Extensions.VK_EXT_index_type_uint8       Vulkan.Extensions.VK_EXT_inline_uniform_block       Vulkan.Extensions.VK_EXT_line_rasterization