vulkan 3.6.7 → 3.6.8
raw patch · 19 files changed
+944/−4 lines, 19 files
Files
- changelog.md +5/−0
- src/Vulkan/CStruct/Extends.hs +5/−0
- src/Vulkan/Core10/CommandBufferBuilding.hs +282/−0
- src/Vulkan/Core10/Device.hs +3/−0
- src/Vulkan/Core10/Enums/StructureType.hs +7/−0
- src/Vulkan/Core10/FundamentalTypes.hs +1/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs +47/−0
- src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs +2/−0
- src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs +94/−0
- src/Vulkan/Extensions.hs +2/−0
- src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs +102/−0
- src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot +13/−0
- src/Vulkan/Extensions/VK_EXT_transform_feedback.hs +47/−0
- src/Vulkan/Extensions/VK_KHR_ray_tracing.hs +94/−0
- src/Vulkan/Extensions/VK_NV_device_generated_commands.hs +47/−0
- src/Vulkan/Extensions/VK_NV_mesh_shader.hs +141/−0
- src/Vulkan/Extensions/VK_NV_ray_tracing.hs +47/−0
- src/Vulkan/Version.hs +2/−2
- vulkan.cabal +3/−2
changelog.md view
@@ -2,6 +2,11 @@ ## WIP +## [3.6.8] - 2020-10-04++## [3.6.8] - 2020-09-28+ - Bump API version to v1.2.155+ ## [3.6.7] - 2020-09-25 - Bump API version to v1.2.154
src/Vulkan/CStruct/Extends.hs view
@@ -414,6 +414,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)@@ -817,6 +818,7 @@ Extends DeviceCreateInfo PhysicalDeviceImageRobustnessFeaturesEXT = () Extends DeviceCreateInfo PhysicalDevicePortabilitySubsetFeaturesKHR = () Extends DeviceCreateInfo PhysicalDevice4444FormatsFeaturesEXT = ()+ Extends DeviceCreateInfo PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = () Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoEXT = () Extends FenceCreateInfo ExportFenceCreateInfo = () Extends FenceCreateInfo ExportFenceWin32HandleInfoKHR = ()@@ -935,6 +937,7 @@ Extends PhysicalDeviceFeatures2 PhysicalDeviceImageRobustnessFeaturesEXT = () Extends PhysicalDeviceFeatures2 PhysicalDevicePortabilitySubsetFeaturesKHR = () Extends PhysicalDeviceFeatures2 PhysicalDevice4444FormatsFeaturesEXT = ()+ Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = () Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = () Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()@@ -1400,6 +1403,7 @@ STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR -> go @PhysicalDevicePortabilitySubsetFeaturesKHR STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR -> go @PhysicalDevicePortabilitySubsetPropertiesKHR STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT -> go @PhysicalDevice4444FormatsFeaturesEXT+ STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT -> go @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT 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@@ -1699,6 +1703,7 @@ {-# complete (::&) :: PhysicalDevicePortabilitySubsetFeaturesKHR #-} {-# complete (::&) :: PhysicalDevicePortabilitySubsetPropertiesKHR #-} {-# complete (::&) :: PhysicalDevice4444FormatsFeaturesEXT #-}+{-# complete (::&) :: PhysicalDeviceShaderImageAtomicInt64FeaturesEXT #-} -- | View the head and tail of a 'Chain', see '::&' --
src/Vulkan/Core10/CommandBufferBuilding.hs view
@@ -1760,6 +1760,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -2172,6 +2219,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -2578,6 +2672,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -3008,6 +3149,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -3434,6 +3622,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - If @commandBuffer@ is a protected command buffer, any resource -- written to by the 'Vulkan.Core10.Handles.Pipeline' object bound to -- the pipeline bind point used by this command /must/ not be an@@ -3670,6 +3905,53 @@ -- @OpImageWrite@ as a result of this command, then the @Type@ of the -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command. -- -- - If @buffer@ is non-sparse then it /must/ be bound completely and -- contiguously to a single 'Vulkan.Core10.Handles.DeviceMemory' object
src/Vulkan/Core10/Device.hs view
@@ -133,6 +133,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)@@ -662,6 +663,7 @@ -- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',@@ -751,6 +753,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 @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDevice4444FormatsFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDevicePortabilitySubsetFeaturesKHR = Just f | Just Refl <- eqT @e @PhysicalDeviceImageRobustnessFeaturesEXT = Just f
src/Vulkan/Core10/Enums/StructureType.hs view
@@ -123,6 +123,7 @@ , STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT+ , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT , STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD , STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT@@ -802,6 +803,7 @@ -- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',@@ -1199,6 +1201,8 @@ pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = StructureType 1000238000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = StructureType 1000237000+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = StructureType 1000234000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD" pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = StructureType 1000229000 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"@@ -1987,6 +1991,7 @@ STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT, STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,+ STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT,@@ -2446,6 +2451,7 @@ STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT -> showString "STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT" STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT" STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"+ STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT" STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD" STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD" STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT -> showString "STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"@@ -2905,6 +2911,7 @@ , ("STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT", pure STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT)+ , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD) , ("STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT", pure STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT)
src/Vulkan/Core10/FundamentalTypes.hs view
@@ -459,6 +459,7 @@ -- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',+-- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs view
@@ -383,6 +383,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - @baseGroupX@ /must/ be less than -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0] --
src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs view
@@ -176,6 +176,7 @@ import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT) import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures) import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV) import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL) import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)@@ -643,6 +644,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 @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDevice4444FormatsFeaturesEXT = Just f | Just Refl <- eqT @e @PhysicalDevicePortabilitySubsetFeaturesKHR = Just f | Just Refl <- eqT @e @PhysicalDeviceImageRobustnessFeaturesEXT = Just f
src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs view
@@ -183,6 +183,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -634,6 +681,53 @@ -- @OpImageWrite@ as a result of this command, then the @Type@ of the -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command. -- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible>
src/Vulkan/Extensions.hs view
@@ -75,6 +75,7 @@ , module Vulkan.Extensions.VK_EXT_separate_stencil_usage , module Vulkan.Extensions.VK_EXT_shader_atomic_float , module Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation+ , module Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 , module Vulkan.Extensions.VK_EXT_shader_stencil_export , module Vulkan.Extensions.VK_EXT_shader_subgroup_ballot , module Vulkan.Extensions.VK_EXT_shader_subgroup_vote@@ -290,6 +291,7 @@ import Vulkan.Extensions.VK_EXT_separate_stencil_usage import Vulkan.Extensions.VK_EXT_shader_atomic_float import Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation+import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 import Vulkan.Extensions.VK_EXT_shader_stencil_export import Vulkan.Extensions.VK_EXT_shader_subgroup_ballot import Vulkan.Extensions.VK_EXT_shader_subgroup_vote
+ src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs view
@@ -0,0 +1,102 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 ( PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(..)+ , EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION+ , pattern EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION+ , EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME+ , pattern EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME+ ) where++import Foreign.Marshal.Alloc (allocaBytesAligned)+import Foreign.Ptr (nullPtr)+import Foreign.Ptr (plusPtr)+import Data.String (IsString)+import Data.Typeable (Typeable)+import Foreign.Storable (Storable)+import Foreign.Storable (Storable(peek))+import Foreign.Storable (Storable(poke))+import qualified Foreign.Storable (Storable(..))+import GHC.Generics (Generic)+import Foreign.Ptr (Ptr)+import Data.Kind (Type)+import Vulkan.Core10.FundamentalTypes (bool32ToBool)+import Vulkan.Core10.FundamentalTypes (boolToBool32)+import Vulkan.Core10.FundamentalTypes (Bool32)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (FromCStruct(..))+import Vulkan.Core10.Enums.StructureType (StructureType)+import Vulkan.CStruct (ToCStruct)+import Vulkan.CStruct (ToCStruct(..))+import Vulkan.Zero (Zero(..))+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT))+-- | VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT - Structure describing+-- features supported by VK_EXT_shader_image_atomic_int64+--+-- == Valid Usage (Implicit)+--+-- = See Also+--+-- 'Vulkan.Core10.FundamentalTypes.Bool32',+-- 'Vulkan.Core10.Enums.StructureType.StructureType'+data PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = PhysicalDeviceShaderImageAtomicInt64FeaturesEXT+ { -- | @shaderImageInt64Atomics@ indicates whether shaders /can/ support 64-bit+ -- unsigned and signed integer atomic operations on images.+ shaderImageInt64Atomics :: Bool+ , -- | @sparseImageInt64Atomics@ indicates whether 64-bit integer atomics /can/+ -- be used on sparse images.+ sparseImageInt64Atomics :: Bool+ }+ deriving (Typeable, Eq)+#if defined(GENERIC_INSTANCES)+deriving instance Generic (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)+#endif+deriving instance Show PhysicalDeviceShaderImageAtomicInt64FeaturesEXT++instance ToCStruct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT where+ withCStruct x f = allocaBytesAligned 24 8 $ \p -> pokeCStruct p x (f p)+ pokeCStruct p PhysicalDeviceShaderImageAtomicInt64FeaturesEXT{..} f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderImageInt64Atomics))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (sparseImageInt64Atomics))+ f+ cStructSize = 24+ cStructAlignment = 8+ pokeZeroCStruct p f = do+ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT)+ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)+ poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))+ poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))+ f++instance FromCStruct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT where+ peekCStruct p = do+ shaderImageInt64Atomics <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))+ sparseImageInt64Atomics <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))+ pure $ PhysicalDeviceShaderImageAtomicInt64FeaturesEXT+ (bool32ToBool shaderImageInt64Atomics) (bool32ToBool sparseImageInt64Atomics)++instance Storable PhysicalDeviceShaderImageAtomicInt64FeaturesEXT where+ sizeOf ~_ = 24+ alignment ~_ = 8+ peek = peekCStruct+ poke ptr poked = pokeCStruct ptr poked (pure ())++instance Zero PhysicalDeviceShaderImageAtomicInt64FeaturesEXT where+ zero = PhysicalDeviceShaderImageAtomicInt64FeaturesEXT+ zero+ zero+++type EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION = 1++-- No documentation found for TopLevel "VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION"+pattern EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION :: forall a . Integral a => a+pattern EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION = 1+++type EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME = "VK_EXT_shader_image_atomic_int64"++-- No documentation found for TopLevel "VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME"+pattern EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a+pattern EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME = "VK_EXT_shader_image_atomic_int64"+
+ src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot view
@@ -0,0 +1,13 @@+{-# language CPP #-}+module Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT) where++import Data.Kind (Type)+import Vulkan.CStruct (FromCStruct)+import Vulkan.CStruct (ToCStruct)+data PhysicalDeviceShaderImageAtomicInt64FeaturesEXT++instance ToCStruct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT+instance Show PhysicalDeviceShaderImageAtomicInt64FeaturesEXT++instance FromCStruct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT+
src/Vulkan/Extensions/VK_EXT_transform_feedback.hs view
@@ -1001,6 +1001,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the
src/Vulkan/Extensions/VK_KHR_ray_tracing.hs view
@@ -1446,6 +1446,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline --@@ -2132,6 +2179,53 @@ -- @OpImageWrite@ as a result of this command, then the @Type@ of the -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command. -- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline
src/Vulkan/Extensions/VK_NV_device_generated_commands.hs view
@@ -311,6 +311,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the
src/Vulkan/Extensions/VK_NV_mesh_shader.hs view
@@ -213,6 +213,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -586,6 +633,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible> -- with the @renderPass@ member of the@@ -992,6 +1086,53 @@ -- @OpImageWrite@ as a result of this command, then the @Type@ of the -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command. -- -- - The current render pass /must/ be -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible>
src/Vulkan/Extensions/VK_NV_ray_tracing.hs view
@@ -944,6 +944,53 @@ -- @Texel@ operand of that instruction /must/ have at least as many -- components as the image view’s format. --+-- - If a 'Vulkan.Core10.Handles.BufferView' is accessed using+-- @OpImageWrite@ as a result of this command, then the @Type@ of the+-- @Texel@ operand of that instruction /must/ have at least as many+-- components as the image view’s format.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.ImageView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width+-- is accessed as a result of this command, the @SampledType@ of the+-- @OpTypeImage@ operand of that instruction /must/ have a @Width@ of+-- 64.+--+-- - If a 'Vulkan.Core10.Handles.BufferView' with a+-- 'Vulkan.Core10.Enums.Format.Format' that has a channel width less+-- than 64-bit is accessed as a result of this command, the+-- @SampledType@ of the @OpTypeImage@ operand of that instruction+-- /must/ have a @Width@ of 32.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Image' objects+-- created with the+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+--+-- - If the+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>+-- feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects+-- created with the+-- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'+-- flag /must/ not be accessed by atomic instructions through an+-- @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this+-- command.+-- -- - Any shader group handle referenced by this call /must/ have been -- queried from the currently bound ray tracing shader pipeline --
src/Vulkan/Version.hs view
@@ -14,11 +14,11 @@ import Data.Word (Word32) pattern HEADER_VERSION :: Word32-pattern HEADER_VERSION = 154+pattern HEADER_VERSION = 155 pattern HEADER_VERSION_COMPLETE :: Word32-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 154+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 155 pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
vulkan.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 78297cbb2ebab10d73e86eb391df435a119a9f23ac6445cccc0d15d85ba0a1d9+-- hash: 7d608c680747a39a9b3ffd73be1cba4bb23e9a99063b1885e194f37e934c885d name: vulkan-version: 3.6.7+version: 3.6.8 synopsis: Bindings to the Vulkan graphics API. category: Graphics homepage: https://github.com/expipiplus1/vulkan#readme@@ -325,6 +325,7 @@ Vulkan.Extensions.VK_EXT_separate_stencil_usage Vulkan.Extensions.VK_EXT_shader_atomic_float Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation+ Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 Vulkan.Extensions.VK_EXT_shader_stencil_export Vulkan.Extensions.VK_EXT_shader_subgroup_ballot Vulkan.Extensions.VK_EXT_shader_subgroup_vote