vulkan-2.0.0.0: src/Graphics/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs
{-# language Strict #-}
{-# language CPP #-}
{-# language GeneralizedNewtypeDeriving #-}
{-# language PatternSynonyms #-}
{-# language OverloadedStrings #-}
{-# language DuplicateRecordFields #-}
module Graphics.Vulkan.Extensions.VK_EXT_descriptor_indexing
( VkDescriptorBindingFlagBitsEXT(..)
, pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
, pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
, pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
, pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
, pattern VK_ERROR_FRAGMENTATION_EXT
, pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT
, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT
, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT
, pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT
, pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT
, pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
, pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
, pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION
, pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
, VkPhysicalDeviceDescriptorIndexingFeaturesEXT(..)
, VkPhysicalDeviceDescriptorIndexingPropertiesEXT(..)
, VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(..)
, VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(..)
, VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(..)
, VkDescriptorBindingFlagsEXT
) where
import Data.Bits
( Bits
, FiniteBits
)
import Data.String
( IsString
)
import Data.Word
( Word32
)
import Foreign.Ptr
( plusPtr
, Ptr
)
import Foreign.Storable
( Storable(..)
, Storable
)
import GHC.Read
( expectP
, choose
)
import Text.ParserCombinators.ReadPrec
( (+++)
, prec
, step
)
import Text.Read
( Read(..)
, parens
)
import Text.Read.Lex
( Lexeme(Ident)
)
import Graphics.Vulkan.Core10.Core
( VkBool32(..)
, VkStructureType(..)
, VkResult(..)
, VkFlags
)
import Graphics.Vulkan.Core10.DescriptorSet
( VkDescriptorPoolCreateFlagBits(..)
, VkDescriptorSetLayoutCreateFlagBits(..)
)
-- ** VkDescriptorBindingFlagBitsEXT
-- | VkDescriptorBindingFlagBitsEXT - Bitmask specifying descriptor set
-- layout binding properties
--
-- = Description
-- #_description#
--
-- - @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ indicates that if
-- descriptors in this binding are updated between when the descriptor
-- set is bound in a command buffer and when that command buffer is
-- submitted to a queue, then the submission will use the most recently
-- set descriptors for this binding and the updates do not invalidate
-- the command buffer. Descriptor bindings created with this flag are
-- also partially exempt from the external synchronization requirement
-- in 'Graphics.Vulkan.Core10.DescriptorSet.vkUpdateDescriptorSets'.
-- They /can/ be updated concurrently with the set being bound to a
-- command buffer in another thread, but not concurrently with the set
-- being reset or freed.
--
-- - @VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT@ indicates that
-- descriptors in this binding that are not /dynamically used/ need not
-- contain valid descriptors at the time the descriptors are consumed.
-- A descriptor is dynamically used if any shader invocation executes
-- an instruction that performs any memory access using the descriptor.
--
-- - @VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT@
-- indicates that descriptors in this binding /can/ be updated after a
-- command buffer has bound this descriptor set, or while a command
-- buffer that uses this descriptor set is pending execution, as long
-- as the descriptors that are updated are not used by those command
-- buffers. If @VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT@ is also
-- set, then descriptors /can/ be updated as long as they are not
-- dynamically used by any shader invocations. If
-- @VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT@ is not set, then
-- descriptors /can/ be updated as long as they are not statically used
-- by any shader invocations.
--
-- - @VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT@ indicates
-- that this descriptor binding has a variable size that will be
-- specified when a descriptor set is allocated using this layout. The
-- value of @descriptorCount@ is treated as an upper bound on the size
-- of the binding. This /must/ only be used for the last binding in the
-- descriptor set layout (i.e. the binding with the largest value of
-- @binding@). For the purposes of counting against limits such as
-- @maxDescriptorSet@* and @maxPerStageDescriptor@*, the full value of
-- @descriptorCount@ is counted.
--
-- __Note__
--
-- Note that while @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ and
-- @VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT@ both involve
-- updates to descriptor sets after they are bound,
-- @VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT@ is a weaker
-- requirement since it is only about descriptors that are not used,
-- whereas @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ requires the
-- implementation to observe updates to descriptors that are used.
--
-- = See Also
-- #_see_also#
--
-- 'VkDescriptorBindingFlagsEXT'
newtype VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingFlagBitsEXT VkFlags
deriving (Eq, Ord, Storable, Bits, FiniteBits)
instance Show VkDescriptorBindingFlagBitsEXT where
showsPrec _ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = showString "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"
showsPrec _ VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = showString "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"
showsPrec _ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = showString "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"
showsPrec _ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = showString "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"
showsPrec p (VkDescriptorBindingFlagBitsEXT x) = showParen (p >= 11) (showString "VkDescriptorBindingFlagBitsEXT " . showsPrec 11 x)
instance Read VkDescriptorBindingFlagBitsEXT where
readPrec = parens ( choose [ ("VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT", pure VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT)
, ("VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT", pure VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT)
, ("VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT", pure VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT)
, ("VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT", pure VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT)
] +++
prec 10 (do
expectP (Ident "VkDescriptorBindingFlagBitsEXT")
v <- step readPrec
pure (VkDescriptorBindingFlagBitsEXT v)
)
)
-- No documentation found for Nested "VkDescriptorBindingFlagBitsEXT" "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"
pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VkDescriptorBindingFlagBitsEXT 0x00000001
-- No documentation found for Nested "VkDescriptorBindingFlagBitsEXT" "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"
pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VkDescriptorBindingFlagBitsEXT 0x00000002
-- No documentation found for Nested "VkDescriptorBindingFlagBitsEXT" "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"
pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VkDescriptorBindingFlagBitsEXT 0x00000004
-- No documentation found for Nested "VkDescriptorBindingFlagBitsEXT" "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"
pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VkDescriptorBindingFlagBitsEXT 0x00000008
-- No documentation found for Nested "VkResult" "VK_ERROR_FRAGMENTATION_EXT"
pattern VK_ERROR_FRAGMENTATION_EXT :: VkResult
pattern VK_ERROR_FRAGMENTATION_EXT = VkResult (-1000161000)
-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT"
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT :: VkStructureType
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VkStructureType 1000161000
-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT"
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT :: VkStructureType
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VkStructureType 1000161001
-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT"
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT :: VkStructureType
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VkStructureType 1000161002
-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT"
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT :: VkStructureType
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VkStructureType 1000161003
-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT"
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT :: VkStructureType
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VkStructureType 1000161004
-- No documentation found for Nested "VkDescriptorSetLayoutCreateFlagBits" "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT"
pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT :: VkDescriptorSetLayoutCreateFlagBits
pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VkDescriptorSetLayoutCreateFlagBits 0x00000002
-- No documentation found for Nested "VkDescriptorPoolCreateFlagBits" "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT"
pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorPoolCreateFlagBits
pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VkDescriptorPoolCreateFlagBits 0x00000002
-- No documentation found for TopLevel "VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION"
pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: Integral a => a
pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2
-- No documentation found for TopLevel "VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME"
pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: (Eq a ,IsString a) => a
pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing"
-- | VkPhysicalDeviceDescriptorIndexingFeaturesEXT - Structure describing
-- descriptor indexing features that can be supported by an implementation
--
-- = Members
-- #_members#
--
-- The members of the @VkPhysicalDeviceDescriptorIndexingFeaturesEXT@
-- structure describe the following features:
--
-- = Description
-- #_description#
--
-- - @shaderInputAttachmentArrayDynamicIndexing@ indicates whether arrays
-- of input attachments /can/ be indexed by dynamically uniform integer
-- expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT@ /must/ be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules /can/ declare the
-- @InputAttachmentArrayDynamicIndexingEXT@ capability.
--
-- - @shaderUniformTexelBufferArrayDynamicIndexing@ indicates whether
-- arrays of uniform texel buffers /can/ be indexed by dynamically
-- uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER@ /must/ be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules /can/ declare the
-- @UniformTexelBufferArrayDynamicIndexingEXT@ capability.
--
-- - @shaderStorageTexelBufferArrayDynamicIndexing@ indicates whether
-- arrays of storage texel buffers /can/ be indexed by dynamically
-- uniform integer expressions in shader code. If this feature is not
-- enabled, resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER@ /must/ be indexed only by
-- constant integral expressions when aggregated into arrays in shader
-- code. This also indicates whether shader modules /can/ declare the
-- @StorageTexelBufferArrayDynamicIndexingEXT@ capability.
--
-- - @shaderUniformBufferArrayNonUniformIndexing@ indicates whether
-- arrays of uniform buffers /can/ be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER@ or
-- @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @UniformBufferArrayNonUniformIndexingEXT@ capability.
--
-- - @shaderSampledImageArrayNonUniformIndexing@ indicates whether arrays
-- of samplers or sampled images /can/ be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of @VK_DESCRIPTOR_TYPE_SAMPLER@,
-- @VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER@, or
-- @VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @SampledImageArrayNonUniformIndexingEXT@ capability.
--
-- - @shaderStorageBufferArrayNonUniformIndexing@ indicates whether
-- arrays of storage buffers /can/ be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER@ or
-- @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @StorageBufferArrayNonUniformIndexingEXT@ capability.
--
-- - @shaderStorageImageArrayNonUniformIndexing@ indicates whether arrays
-- of storage images /can/ be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_STORAGE_IMAGE@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @StorageImageArrayNonUniformIndexingEXT@ capability.
--
-- - @shaderInputAttachmentArrayNonUniformIndexing@ indicates whether
-- arrays of input attachments /can/ be indexed by non-uniform integer
-- expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @InputAttachmentArrayNonUniformIndexingEXT@ capability.
--
-- - @shaderUniformTexelBufferArrayNonUniformIndexing@ indicates whether
-- arrays of uniform texel buffers /can/ be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @UniformTexelBufferArrayNonUniformIndexingEXT@
-- capability.
--
-- - @shaderStorageTexelBufferArrayNonUniformIndexing@ indicates whether
-- arrays of storage texel buffers /can/ be indexed by non-uniform
-- integer expressions in shader code. If this feature is not enabled,
-- resources with a descriptor type of
-- @VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER@ /must/ not be indexed by
-- non-uniform integer expressions when aggregated into arrays in
-- shader code. This also indicates whether shader modules /can/
-- declare the @StorageTexelBufferArrayNonUniformIndexingEXT@
-- capability.
--
-- - @descriptorBindingUniformBufferUpdateAfterBind@ indicates whether
-- the implementation supports updating uniform buffer descriptors
-- after a set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER@.
--
-- - @descriptorBindingSampledImageUpdateAfterBind@ indicates whether the
-- implementation supports updating sampled image descriptors after a
-- set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_SAMPLER@,
-- @VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER@, or
-- @VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE@.
--
-- - @descriptorBindingStorageImageUpdateAfterBind@ indicates whether the
-- implementation supports updating storage image descriptors after a
-- set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_STORAGE_IMAGE@.
--
-- - @descriptorBindingStorageBufferUpdateAfterBind@ indicates whether
-- the implementation supports updating storage buffer descriptors
-- after a set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER@.
--
-- - @descriptorBindingUniformTexelBufferUpdateAfterBind@ indicates
-- whether the implementation supports updating uniform texel buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER@.
--
-- - @descriptorBindingStorageTexelBufferUpdateAfterBind@ indicates
-- whether the implementation supports updating storage texel buffer
-- descriptors after a set is bound. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@ /must/ not be used
-- with @VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER@.
--
-- - @descriptorBindingUpdateUnusedWhilePending@ indicates whether the
-- implementation supports updating descriptors while the set is in
-- use. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT@ /must/
-- not be used.
--
-- - @descriptorBindingPartiallyBound@ indicates whether the
-- implementation supports statically using a descriptor set binding in
-- which some descriptors are not valid. If this feature is not
-- enabled, @VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT@ /must/ not
-- be used.
--
-- - @descriptorBindingVariableDescriptorCount@ indicates whether the
-- implementation supports descriptor sets with a variable-sized last
-- binding. If this feature is not enabled,
-- @VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT@ /must/ not
-- be used.
--
-- - @runtimeDescriptorArray@ indicates whether the implementation
-- supports the SPIR-V RuntimeDescriptorArrayEXT capability. If this
-- feature is not enabled, descriptors /must/ not be declared in
-- runtime arrays.
--
-- If the @VkPhysicalDeviceDescriptorIndexingFeaturesEXT@ structure is
-- included in the @pNext@ chain of
-- 'Graphics.Vulkan.Extensions.VK_KHR_get_physical_device_properties2.VkPhysicalDeviceFeatures2KHR',
-- it is filled with values indicating whether each feature is supported.
-- @VkPhysicalDeviceDescriptorIndexingFeaturesEXT@ /can/ also be used in
-- the @pNext@ chain of 'Graphics.Vulkan.Core10.Device.VkDeviceCreateInfo'
-- to enable features.
--
-- == Valid Usage (Implicit)
--
-- - @sType@ /must/ be
-- @VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT@
--
-- = See Also
-- #_see_also#
--
-- @VkBool32@, 'Graphics.Vulkan.Core10.Core.VkStructureType'
data VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeaturesEXT
{ -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkSType"
vkSType :: VkStructureType
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkPNext"
vkPNext :: Ptr ()
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderInputAttachmentArrayDynamicIndexing"
vkShaderInputAttachmentArrayDynamicIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderUniformTexelBufferArrayDynamicIndexing"
vkShaderUniformTexelBufferArrayDynamicIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderStorageTexelBufferArrayDynamicIndexing"
vkShaderStorageTexelBufferArrayDynamicIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderUniformBufferArrayNonUniformIndexing"
vkShaderUniformBufferArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderSampledImageArrayNonUniformIndexing"
vkShaderSampledImageArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderStorageBufferArrayNonUniformIndexing"
vkShaderStorageBufferArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderStorageImageArrayNonUniformIndexing"
vkShaderStorageImageArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderInputAttachmentArrayNonUniformIndexing"
vkShaderInputAttachmentArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderUniformTexelBufferArrayNonUniformIndexing"
vkShaderUniformTexelBufferArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkShaderStorageTexelBufferArrayNonUniformIndexing"
vkShaderStorageTexelBufferArrayNonUniformIndexing :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingUniformBufferUpdateAfterBind"
vkDescriptorBindingUniformBufferUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingSampledImageUpdateAfterBind"
vkDescriptorBindingSampledImageUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingStorageImageUpdateAfterBind"
vkDescriptorBindingStorageImageUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingStorageBufferUpdateAfterBind"
vkDescriptorBindingStorageBufferUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingUniformTexelBufferUpdateAfterBind"
vkDescriptorBindingUniformTexelBufferUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingStorageTexelBufferUpdateAfterBind"
vkDescriptorBindingStorageTexelBufferUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingUpdateUnusedWhilePending"
vkDescriptorBindingUpdateUnusedWhilePending :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingPartiallyBound"
vkDescriptorBindingPartiallyBound :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkDescriptorBindingVariableDescriptorCount"
vkDescriptorBindingVariableDescriptorCount :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" "vkRuntimeDescriptorArray"
vkRuntimeDescriptorArray :: VkBool32
}
deriving (Eq, Show)
instance Storable VkPhysicalDeviceDescriptorIndexingFeaturesEXT where
sizeOf ~_ = 96
alignment ~_ = 8
peek ptr = VkPhysicalDeviceDescriptorIndexingFeaturesEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 76)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 84)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 92)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 16) (vkShaderInputAttachmentArrayDynamicIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 20) (vkShaderUniformTexelBufferArrayDynamicIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 24) (vkShaderStorageTexelBufferArrayDynamicIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 28) (vkShaderUniformBufferArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 32) (vkShaderSampledImageArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 36) (vkShaderStorageBufferArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 40) (vkShaderStorageImageArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 44) (vkShaderInputAttachmentArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 48) (vkShaderUniformTexelBufferArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 52) (vkShaderStorageTexelBufferArrayNonUniformIndexing (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 56) (vkDescriptorBindingUniformBufferUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 60) (vkDescriptorBindingSampledImageUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 64) (vkDescriptorBindingStorageImageUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 68) (vkDescriptorBindingStorageBufferUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 72) (vkDescriptorBindingUniformTexelBufferUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 76) (vkDescriptorBindingStorageTexelBufferUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 80) (vkDescriptorBindingUpdateUnusedWhilePending (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 84) (vkDescriptorBindingPartiallyBound (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 88) (vkDescriptorBindingVariableDescriptorCount (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
*> poke (ptr `plusPtr` 92) (vkRuntimeDescriptorArray (poked :: VkPhysicalDeviceDescriptorIndexingFeaturesEXT))
-- | VkPhysicalDeviceDescriptorIndexingPropertiesEXT - Structure describing
-- descriptor indexing properties that can be supported by an
-- implementation
--
-- = Members
-- #_members#
--
-- The members of the @VkPhysicalDeviceDescriptorIndexingPropertiesEXT@
-- structure describe the following implementation-dependent limits:
--
-- = Description
-- #_description#
--
-- - @maxUpdateAfterBindDescriptorsInAllPools@ is the maximum number of
-- descriptors (summed over all descriptor types) that /can/ be created
-- across all pools that are created with the
-- @VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT@ bit set. Pool
-- creation /may/ fail when this limit is exceeded, or when the space
-- this limit represents can’t satisfy a pool creation due to
-- fragmentation.
--
-- - @shaderUniformBufferArrayNonUniformIndexingNative@ is a boolean
-- value indicating whether uniform buffer descriptors natively support
-- nonuniform indexing. If this is @VK_FALSE@, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- uniform buffers /may/ execute multiple times in order to access all
-- the descriptors.
--
-- - @shaderSampledImageArrayNonUniformIndexingNative@ is a boolean value
-- indicating whether sampler and image descriptors natively support
-- nonuniform indexing. If this is @VK_FALSE@, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- samplers or images /may/ execute multiple times in order to access
-- all the descriptors.
--
-- - @shaderStorageBufferArrayNonUniformIndexingNative@ is a boolean
-- value indicating whether storage buffer descriptors natively support
-- nonuniform indexing. If this is @VK_FALSE@, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage buffers /may/ execute multiple times in order to access all
-- the descriptors.
--
-- - @shaderStorageImageArrayNonUniformIndexingNative@ is a boolean value
-- indicating whether storage image descriptors natively support
-- nonuniform indexing. If this is @VK_FALSE@, then a single dynamic
-- instance of an instruction that nonuniformly indexes an array of
-- storage images /may/ execute multiple times in order to access all
-- the descriptors.
--
-- - @shaderInputAttachmentArrayNonUniformIndexingNative@ is a boolean
-- value indicating whether input attachment descriptors natively
-- support nonuniform indexing. If this is @VK_FALSE@, then a single
-- dynamic instance of an instruction that nonuniformly indexes an
-- array of input attachments /may/ execute multiple times in order to
-- access all the descriptors.
--
-- - @robustBufferAccessUpdateAfterBind@ is a boolean value indicating
-- whether
-- <{html_spec_relative}#features-features-robustBufferAccess robustBufferAccess>
-- /can/ be enabled in a device simultaneously with
-- @descriptorBindingUniformBufferUpdateAfterBind@,
-- @descriptorBindingStorageBufferUpdateAfterBind@,
-- @descriptorBindingUniformTexelBufferUpdateAfterBind@, and\/or
-- @descriptorBindingStorageTexelBufferUpdateAfterBind@. If this is
-- @VK_FALSE@, then either @robustBufferAccess@ /must/ be disabled or
-- all of these update-after-bind features /must/ be disabled.
--
-- - @quadDivergentImplicitLod@ is a boolean value indicating whether
-- implicit level of detail calculations for image operations have
-- well-defined results when the image and\/or sampler objects used for
-- the instruction are not uniform within a quad. See
-- <{html_spec_relative}#textures-derivative-image-operations Derivative Image Operations>.
--
-- - @maxPerStageDescriptorUpdateAfterBindSamplers@ is similar to
-- @maxPerStageDescriptorSamplers@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageDescriptorUpdateAfterBindUniformBuffers@ is similar to
-- @maxPerStageDescriptorUniformBuffers@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageDescriptorUpdateAfterBindStorageBuffers@ is similar to
-- @maxPerStageDescriptorStorageBuffers@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageDescriptorUpdateAfterBindSampledImages@ is similar to
-- @maxPerStageDescriptorSampledImages@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageDescriptorUpdateAfterBindStorageImages@ is similar to
-- @maxPerStageDescriptorStorageImages@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageDescriptorUpdateAfterBindInputAttachments@ is similar to
-- @maxPerStageDescriptorInputAttachments@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxPerStageUpdateAfterBindResources@ is similar to
-- @maxPerStageResources@ but counts descriptors from descriptor sets
-- created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindSamplers@ is similar to
-- @maxDescriptorSetSamplers@ but counts descriptors from descriptor
-- sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindUniformBuffers@ is similar to
-- @maxDescriptorSetUniformBuffers@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindUniformBuffersDynamic@ is similar to
-- @maxDescriptorSetUniformBuffersDynamic@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindStorageBuffers@ is similar to
-- @maxDescriptorSetStorageBuffers@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindStorageBuffersDynamic@ is similar to
-- @maxDescriptorSetStorageBuffersDynamic@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindSampledImages@ is similar to
-- @maxDescriptorSetSampledImages@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindStorageImages@ is similar to
-- @maxDescriptorSetStorageImages@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- - @maxDescriptorSetUpdateAfterBindInputAttachments@ is similar to
-- @maxDescriptorSetInputAttachments@ but counts descriptors from
-- descriptor sets created with or without the
-- @VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT@ bit
-- set.
--
-- If the @VkPhysicalDeviceDescriptorIndexingPropertiesEXT@ structure is
-- included in the @pNext@ chain of
-- 'Graphics.Vulkan.Extensions.VK_KHR_get_physical_device_properties2.VkPhysicalDeviceProperties2KHR',
-- it is filled with the implementation-dependent limits.
--
-- == Valid Usage (Implicit)
--
-- - @sType@ /must/ be
-- @VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT@
--
-- = See Also
-- #_see_also#
--
-- @VkBool32@, 'Graphics.Vulkan.Core10.Core.VkStructureType'
data VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingPropertiesEXT
{ -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkSType"
vkSType :: VkStructureType
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkPNext"
vkPNext :: Ptr ()
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxUpdateAfterBindDescriptorsInAllPools"
vkMaxUpdateAfterBindDescriptorsInAllPools :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkShaderUniformBufferArrayNonUniformIndexingNative"
vkShaderUniformBufferArrayNonUniformIndexingNative :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkShaderSampledImageArrayNonUniformIndexingNative"
vkShaderSampledImageArrayNonUniformIndexingNative :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkShaderStorageBufferArrayNonUniformIndexingNative"
vkShaderStorageBufferArrayNonUniformIndexingNative :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkShaderStorageImageArrayNonUniformIndexingNative"
vkShaderStorageImageArrayNonUniformIndexingNative :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkShaderInputAttachmentArrayNonUniformIndexingNative"
vkShaderInputAttachmentArrayNonUniformIndexingNative :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkRobustBufferAccessUpdateAfterBind"
vkRobustBufferAccessUpdateAfterBind :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkQuadDivergentImplicitLod"
vkQuadDivergentImplicitLod :: VkBool32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindSamplers"
vkMaxPerStageDescriptorUpdateAfterBindSamplers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindUniformBuffers"
vkMaxPerStageDescriptorUpdateAfterBindUniformBuffers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindStorageBuffers"
vkMaxPerStageDescriptorUpdateAfterBindStorageBuffers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindSampledImages"
vkMaxPerStageDescriptorUpdateAfterBindSampledImages :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindStorageImages"
vkMaxPerStageDescriptorUpdateAfterBindStorageImages :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageDescriptorUpdateAfterBindInputAttachments"
vkMaxPerStageDescriptorUpdateAfterBindInputAttachments :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxPerStageUpdateAfterBindResources"
vkMaxPerStageUpdateAfterBindResources :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindSamplers"
vkMaxDescriptorSetUpdateAfterBindSamplers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindUniformBuffers"
vkMaxDescriptorSetUpdateAfterBindUniformBuffers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindUniformBuffersDynamic"
vkMaxDescriptorSetUpdateAfterBindUniformBuffersDynamic :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindStorageBuffers"
vkMaxDescriptorSetUpdateAfterBindStorageBuffers :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindStorageBuffersDynamic"
vkMaxDescriptorSetUpdateAfterBindStorageBuffersDynamic :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindSampledImages"
vkMaxDescriptorSetUpdateAfterBindSampledImages :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindStorageImages"
vkMaxDescriptorSetUpdateAfterBindStorageImages :: Word32
, -- No documentation found for Nested "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" "vkMaxDescriptorSetUpdateAfterBindInputAttachments"
vkMaxDescriptorSetUpdateAfterBindInputAttachments :: Word32
}
deriving (Eq, Show)
instance Storable VkPhysicalDeviceDescriptorIndexingPropertiesEXT where
sizeOf ~_ = 112
alignment ~_ = 8
peek ptr = VkPhysicalDeviceDescriptorIndexingPropertiesEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 20)
<*> peek (ptr `plusPtr` 24)
<*> peek (ptr `plusPtr` 28)
<*> peek (ptr `plusPtr` 32)
<*> peek (ptr `plusPtr` 36)
<*> peek (ptr `plusPtr` 40)
<*> peek (ptr `plusPtr` 44)
<*> peek (ptr `plusPtr` 48)
<*> peek (ptr `plusPtr` 52)
<*> peek (ptr `plusPtr` 56)
<*> peek (ptr `plusPtr` 60)
<*> peek (ptr `plusPtr` 64)
<*> peek (ptr `plusPtr` 68)
<*> peek (ptr `plusPtr` 72)
<*> peek (ptr `plusPtr` 76)
<*> peek (ptr `plusPtr` 80)
<*> peek (ptr `plusPtr` 84)
<*> peek (ptr `plusPtr` 88)
<*> peek (ptr `plusPtr` 92)
<*> peek (ptr `plusPtr` 96)
<*> peek (ptr `plusPtr` 100)
<*> peek (ptr `plusPtr` 104)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 16) (vkMaxUpdateAfterBindDescriptorsInAllPools (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 20) (vkShaderUniformBufferArrayNonUniformIndexingNative (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 24) (vkShaderSampledImageArrayNonUniformIndexingNative (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 28) (vkShaderStorageBufferArrayNonUniformIndexingNative (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 32) (vkShaderStorageImageArrayNonUniformIndexingNative (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 36) (vkShaderInputAttachmentArrayNonUniformIndexingNative (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 40) (vkRobustBufferAccessUpdateAfterBind (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 44) (vkQuadDivergentImplicitLod (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 48) (vkMaxPerStageDescriptorUpdateAfterBindSamplers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 52) (vkMaxPerStageDescriptorUpdateAfterBindUniformBuffers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 56) (vkMaxPerStageDescriptorUpdateAfterBindStorageBuffers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 60) (vkMaxPerStageDescriptorUpdateAfterBindSampledImages (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 64) (vkMaxPerStageDescriptorUpdateAfterBindStorageImages (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 68) (vkMaxPerStageDescriptorUpdateAfterBindInputAttachments (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 72) (vkMaxPerStageUpdateAfterBindResources (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 76) (vkMaxDescriptorSetUpdateAfterBindSamplers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 80) (vkMaxDescriptorSetUpdateAfterBindUniformBuffers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 84) (vkMaxDescriptorSetUpdateAfterBindUniformBuffersDynamic (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 88) (vkMaxDescriptorSetUpdateAfterBindStorageBuffers (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 92) (vkMaxDescriptorSetUpdateAfterBindStorageBuffersDynamic (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 96) (vkMaxDescriptorSetUpdateAfterBindSampledImages (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 100) (vkMaxDescriptorSetUpdateAfterBindStorageImages (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
*> poke (ptr `plusPtr` 104) (vkMaxDescriptorSetUpdateAfterBindInputAttachments (poked :: VkPhysicalDeviceDescriptorIndexingPropertiesEXT))
-- | VkDescriptorSetLayoutBindingFlagsCreateInfoEXT - Structure specifying
-- creation flags for descriptor set layout bindings
--
-- = Description
-- #_description#
--
-- If @bindingCount@ is zero or if this structure is not in the @pNext@
-- chain, the 'VkDescriptorBindingFlagsEXT' for each descriptor set layout
-- binding is considered to be zero. Otherwise, the descriptor set layout
-- binding at
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetLayoutCreateInfo'::@pBindings@[i]
-- uses the flags in @pBindingFlags@[i].
--
-- == Valid Usage
--
-- - If @bindingCount@ is not zero, @bindingCount@ /must/ equal
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetLayoutCreateInfo'::@bindingCount@
--
-- - If an element of @pBindingFlags@ includes
-- @VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT@, then all
-- other elements of
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetLayoutCreateInfo'::@pBindings@
-- /must/ have a smaller value of @binding@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingUniformBufferUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingSampledImageUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_SAMPLER@,
-- @VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER@, or
-- @VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingStorageImageUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_STORAGE_IMAGE@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingStorageBufferUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingUniformTexelBufferUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingStorageTexelBufferUpdateAfterBind@
-- is not enabled, all bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - All bindings with descriptor type
-- @VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT@,
-- @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC@, or
-- @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC@ /must/ not use
-- @VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingUpdateUnusedWhilePending@
-- is not enabled, all elements of @pBindingFlags@ /must/ not include
-- @VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingPartiallyBound@
-- is not enabled, all elements of @pBindingFlags@ /must/ not include
-- @VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT@
--
-- - If
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingVariableDescriptorCount@
-- is not enabled, all elements of @pBindingFlags@ /must/ not include
-- @VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT@
--
-- - If an element of @pBindingFlags@ includes
-- @VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT@, that
-- element’s @descriptorType@ /must/ not be
-- @VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC@ or
-- @VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC@
--
-- == Valid Usage (Implicit)
--
-- - @sType@ /must/ be
-- @VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT@
--
-- - If @bindingCount@ is not @0@, @pBindingFlags@ /must/ be a valid
-- pointer to an array of @bindingCount@ valid combinations of
-- 'VkDescriptorBindingFlagBitsEXT' values
--
-- - Each element of @pBindingFlags@ /must/ not be @0@
--
-- = See Also
-- #_see_also#
--
-- 'VkDescriptorBindingFlagsEXT',
-- 'Graphics.Vulkan.Core10.Core.VkStructureType'
data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
{ -- No documentation found for Nested "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT" "vkSType"
vkSType :: VkStructureType
, -- No documentation found for Nested "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT" "vkPNext"
vkPNext :: Ptr ()
, -- No documentation found for Nested "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT" "vkBindingCount"
vkBindingCount :: Word32
, -- No documentation found for Nested "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT" "vkPBindingFlags"
vkPBindingFlags :: Ptr VkDescriptorBindingFlagsEXT
}
deriving (Eq, Show)
instance Storable VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT))
*> poke (ptr `plusPtr` 16) (vkBindingCount (poked :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT))
*> poke (ptr `plusPtr` 24) (vkPBindingFlags (poked :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT))
-- | VkDescriptorSetVariableDescriptorCountAllocateInfoEXT - Structure
-- specifying additional allocation parameters for descriptor sets
--
-- = Description
-- #_description#
--
-- If @descriptorSetCount@ is zero or this structure is not included in the
-- @pNext@ chain, then the variable lengths are considered to be zero.
-- Otherwise, @pDescriptorCounts@[i] is the number of descriptors in the
-- variable count descriptor binding in the corresponding descriptor set
-- layout. If
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetAllocateInfo'::@pSetLayouts@[i]
-- does not include a variable count descriptor binding, then
-- @pDescriptorCounts@[i] is ignored.
--
-- == Valid Usage
--
-- - If @descriptorSetCount@ is not zero, @descriptorSetCount@ /must/
-- equal
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetAllocateInfo'::@descriptorSetCount@
--
-- - If
-- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetAllocateInfo'::@pSetLayouts@[i]
-- has a variable descriptor count binding, then @pDescriptorCounts@[i]
-- /must/ be less than or equal to the descriptor count specified for
-- that binding when the descriptor set layout was created.
--
-- == Valid Usage (Implicit)
--
-- - @sType@ /must/ be
-- @VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT@
--
-- - If @descriptorSetCount@ is not @0@, @pDescriptorCounts@ /must/ be a
-- valid pointer to an array of @descriptorSetCount@ @uint32_t@ values
--
-- = See Also
-- #_see_also#
--
-- 'Graphics.Vulkan.Core10.Core.VkStructureType'
data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
{ -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT" "vkSType"
vkSType :: VkStructureType
, -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT" "vkPNext"
vkPNext :: Ptr ()
, -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT" "vkDescriptorSetCount"
vkDescriptorSetCount :: Word32
, -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT" "vkPDescriptorCounts"
vkPDescriptorCounts :: Ptr Word32
}
deriving (Eq, Show)
instance Storable VkDescriptorSetVariableDescriptorCountAllocateInfoEXT where
sizeOf ~_ = 32
alignment ~_ = 8
peek ptr = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
<*> peek (ptr `plusPtr` 24)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT))
*> poke (ptr `plusPtr` 16) (vkDescriptorSetCount (poked :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT))
*> poke (ptr `plusPtr` 24) (vkPDescriptorCounts (poked :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT))
-- | VkDescriptorSetVariableDescriptorCountLayoutSupportEXT - Structure
-- returning information about whether a descriptor set layout can be
-- supported
--
-- = Description
-- #_description#
--
-- If the create info includes a variable-sized descriptor, then
-- @supported@ is determined assuming the requested size of the
-- variable-sized descriptor, and @maxVariableDescriptorCount@ is set to
-- the maximum size of that descriptor that /can/ be successfully created
-- (which is greater than or equal to the requested size passed in). If the
-- create info does not include a variable-sized descriptor or if the
-- 'VkPhysicalDeviceDescriptorIndexingFeaturesEXT'::@descriptorBindingVariableDescriptorCount@
-- feature is not enabled, then @maxVariableDescriptorCount@ is set to
-- zero. For the purposes of this command, a variable-sized descriptor
-- binding with a @descriptorCount@ of zero is treated as if the
-- @descriptorCount@ is one, and thus the binding is not ignored and the
-- maximum descriptor count will be returned. If the layout is not
-- supported, then the value written to @maxVariableDescriptorCount@ is
-- undefined.
--
-- == Valid Usage (Implicit)
--
-- - @sType@ /must/ be
-- @VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT@
--
-- = See Also
-- #_see_also#
--
-- 'Graphics.Vulkan.Core10.Core.VkStructureType'
data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
{ -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT" "vkSType"
vkSType :: VkStructureType
, -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT" "vkPNext"
vkPNext :: Ptr ()
, -- No documentation found for Nested "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT" "vkMaxVariableDescriptorCount"
vkMaxVariableDescriptorCount :: Word32
}
deriving (Eq, Show)
instance Storable VkDescriptorSetVariableDescriptorCountLayoutSupportEXT where
sizeOf ~_ = 24
alignment ~_ = 8
peek ptr = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT <$> peek (ptr `plusPtr` 0)
<*> peek (ptr `plusPtr` 8)
<*> peek (ptr `plusPtr` 16)
poke ptr poked = poke (ptr `plusPtr` 0) (vkSType (poked :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT))
*> poke (ptr `plusPtr` 8) (vkPNext (poked :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT))
*> poke (ptr `plusPtr` 16) (vkMaxVariableDescriptorCount (poked :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT))
-- No documentation found for TopLevel "VkDescriptorBindingFlagsEXT"
type VkDescriptorBindingFlagsEXT = VkDescriptorBindingFlagBitsEXT