vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Core12.Enums.DescriptorBindingFlagBits

Synopsis

Documentation

newtype DescriptorBindingFlagBits Source #

VkDescriptorBindingFlagBits - Bitmask specifying descriptor set layout binding properties

Description

  • DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT specifies 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 updateDescriptorSetWithTemplateKHR and updateDescriptorSets. Multiple descriptors with this flag set can be updated concurrently in different threads, though the same descriptor must not be updated concurrently by two threads. Descriptors with this flag set 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.

Note that while DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT and DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT both involve updates to descriptor sets after they are bound, DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT is a weaker requirement since it is only about descriptors that are not used, whereas DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT requires the implementation to observe updates to descriptors that are used.

See Also

VK_EXT_descriptor_indexing, VK_VERSION_1_2, DescriptorBindingFlags

Instances

Instances details
Bits DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Methods

(.&.) :: DescriptorBindingFlagBits -> DescriptorBindingFlagBits -> DescriptorBindingFlagBits #

(.|.) :: DescriptorBindingFlagBits -> DescriptorBindingFlagBits -> DescriptorBindingFlagBits #

xor :: DescriptorBindingFlagBits -> DescriptorBindingFlagBits -> DescriptorBindingFlagBits #

complement :: DescriptorBindingFlagBits -> DescriptorBindingFlagBits #

shift :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

rotate :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

zeroBits :: DescriptorBindingFlagBits #

bit :: Int -> DescriptorBindingFlagBits #

setBit :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

clearBit :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

complementBit :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

testBit :: DescriptorBindingFlagBits -> Int -> Bool #

bitSizeMaybe :: DescriptorBindingFlagBits -> Maybe Int #

bitSize :: DescriptorBindingFlagBits -> Int #

isSigned :: DescriptorBindingFlagBits -> Bool #

shiftL :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

unsafeShiftL :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

shiftR :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

unsafeShiftR :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

rotateL :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

rotateR :: DescriptorBindingFlagBits -> Int -> DescriptorBindingFlagBits #

popCount :: DescriptorBindingFlagBits -> Int #

FiniteBits DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Eq DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Ord DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Storable DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Read DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Show DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits

Zero DescriptorBindingFlagBits Source # 
Instance details

Defined in Vulkan.Core12.Enums.DescriptorBindingFlagBits