vulkan 3.13.2 → 3.13.3
raw patch · 30 files changed
+1750/−219 lines, 30 files
Files
- changelog.md +3/−0
- package.yaml +1/−1
- src/Vulkan/CStruct/Extends.hs +9/−0
- src/Vulkan/Core10/APIConstants.hs +6/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +53/−45
- src/Vulkan/Core10/DescriptorSet.hs +10/−0
- src/Vulkan/Core10/Device.hs +3/−0
- src/Vulkan/Core10/Enums/StructureType.hs +15/−3
- src/Vulkan/Core10/FundamentalTypes.hs +47/−2
- src/Vulkan/Core10/ImageView.hs +3/−0
- src/Vulkan/Core10/Pass.hs +76/−36
- src/Vulkan/Core10/Queue.hs +42/−22
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +2/−0
- src/Vulkan/Core12/Enums/DriverId.hs +6/−1
- src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs +87/−39
- src/Vulkan/Extensions.hs +2/−0
- src/Vulkan/Extensions/Dependencies.hs +2/−0
- src/Vulkan/Extensions/Handles.hs +17/−2
- src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs +16/−16
- src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot +16/−16
- src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs +294/−0
- src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs-boot +131/−0
- src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs +4/−3
- src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot +4/−3
- src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs +15/−6
- src/Vulkan/Extensions/VK_NVX_binary_import.hs +538/−18
- src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot +339/−3
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +5/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +2/−1
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