Documentation ¶
Index ¶
- Constants
- type DescriptorBindingFlags
- type DescriptorSetLayoutBindingFlagsCreateInfo
- type DescriptorSetVariableDescriptorCountAllocateInfo
- type DescriptorSetVariableDescriptorCountLayoutSupport
- func (o *DescriptorSetVariableDescriptorCountLayoutSupport) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *DescriptorSetVariableDescriptorCountLayoutSupport) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDescriptorIndexingFeatures
- func (o PhysicalDeviceDescriptorIndexingFeatures) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingFeatures) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingFeatures) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceDescriptorIndexingProperties
- func (o *PhysicalDeviceDescriptorIndexingProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceDescriptorIndexingProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
Constants ¶
const ( // ExtensionName is "VK_EXT_descriptor_indexing" // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_descriptor_indexing.html ExtensionName string = C.VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME // DescriptorBindingPartiallyBound indicates that descriptors in this binding that are // not dynamically used need not contain valid descriptors at the time the descriptors // are consumed // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingPartiallyBound DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT // DescriptorBindingUpdateAfterBind indicates that if descriptors in this binding are updated // between when the DescriptorSet is bound in a CommandBuffer and when that CommandBuffer 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 CommandBuffer // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingUpdateAfterBind DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT // DescriptorBindingUpdateUnusedWhilePending indicates that descriptors in this binding can be // updated after a CommandBuffer has bound this DescriptorSet, or while a CommandBuffer that // uses this DescriptorSet is pending execution, as long as the descriptors that are updated // are not used by those CommandBuffer objects // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingUpdateUnusedWhilePending DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT // DescriptorBindingVariableDescriptorCount indicates that this is a variable-sized descriptor // binding whose size will be specified when a DescriptorSet is allocated using this layout // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html DescriptorBindingVariableDescriptorCount DescriptorBindingFlags = C.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT // DescriptorPoolCreateUpdateAfterBind specifies that DescriptorSet objects allocated from this // pool can include bindings with DescriptorBindingUpdateAfterBind // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorPoolCreateFlagBits.html DescriptorPoolCreateUpdateAfterBind core1_0.DescriptorPoolCreateFlags = C.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT // DescriptorSetLayoutCreateUpdateAfterBindPool specifies that DescriptorSet objects using this // layout must be allocated from a DescriptorPool created with DescriptorPoolCreateUpdateAfterBind // set // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorSetLayoutCreateFlagBits.html DescriptorSetLayoutCreateUpdateAfterBindPool core1_0.DescriptorSetLayoutCreateFlags = C.VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT // VkErrorFragmentation indicates a DescriptorPool creation has failed due to fragmentation // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkResult.html VkErrorFragmentation common.VkResult = C.VK_ERROR_FRAGMENTATION_EXT )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DescriptorBindingFlags ¶
type DescriptorBindingFlags int32
DescriptorBindingFlags specifies DescriptorSetLayout binding properties
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorBindingFlagBits.html
func (DescriptorBindingFlags) Register ¶
func (f DescriptorBindingFlags) Register(str string)
func (DescriptorBindingFlags) String ¶
func (f DescriptorBindingFlags) String() string
type DescriptorSetLayoutBindingFlagsCreateInfo ¶
type DescriptorSetLayoutBindingFlagsCreateInfo struct { // BindingFlags is a slice of DescriptorBindingFlags, one for each DescriptorSetLayout binding BindingFlags []DescriptorBindingFlags common.NextOptions }
DescriptorSetLayoutBindingFlagsCreateInfo specifies parameters of a newly-created DescriptorSetLayout
type DescriptorSetVariableDescriptorCountAllocateInfo ¶
type DescriptorSetVariableDescriptorCountAllocateInfo struct { // DescriptorCounts is a slice of descriptor counts, with each member specifying the number // of descriptors in a variable-sized descriptor binding in the corresponding DescriptorSet // being allocated DescriptorCounts []int common.NextOptions }
DescriptorSetVariableDescriptorCountAllocateInfo specifies additional allocation parameters for DescriptorSet objects
type DescriptorSetVariableDescriptorCountLayoutSupport ¶
type DescriptorSetVariableDescriptorCountLayoutSupport struct { // MaxVariableDescriptorCount indicates the maximum number of descriptors supported in the // highest numbered binding of the layout, if that binding is variable-sized MaxVariableDescriptorCount int common.NextOutData }
DescriptorSetVariableDescriptorCountLayoutSupport returns information about whether a DescriptorSetLayout can be supported
func (*DescriptorSetVariableDescriptorCountLayoutSupport) PopulateHeader ¶
func (*DescriptorSetVariableDescriptorCountLayoutSupport) PopulateOutData ¶
type PhysicalDeviceDescriptorIndexingFeatures ¶
type PhysicalDeviceDescriptorIndexingFeatures struct { // ShaderInputAttachmentArrayDynamicIndexing indicates whether arrays of input attachments // can be indexed by dynamically uniform integer expressions in shader code ShaderInputAttachmentArrayDynamicIndexing bool // ShaderUniformTexelBufferArrayDynamicIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderUniformTexelBufferArrayDynamicIndexing bool // ShaderStorageTexelBufferArrayDynamicIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by dynamically uniform integer expressions in shader code ShaderStorageTexelBufferArrayDynamicIndexing bool // ShaderUniformBufferArrayNonUniformIndexing indicates whether arrays of uniform Buffer objects // can be indexed by non-uniform integer expressions in shader code. ShaderUniformBufferArrayNonUniformIndexing bool // ShaderSampledImageArrayNonUniformIndexing indicates whether arrays of Sampler objects or sampled // Image objects can be indexed by non-uniform integer expressions in shader code ShaderSampledImageArrayNonUniformIndexing bool // ShaderStorageBufferArrayNonUniformIndexing indicates whether arrays of storage buffers // can be indexed by non-uniform integer expressions in shader code ShaderStorageBufferArrayNonUniformIndexing bool // ShaderStorageImageArrayNonUniformIndexing indicates whether arrays of storage Image objects can // be indexed by non-uniform integer expressions in shader code ShaderStorageImageArrayNonUniformIndexing bool // ShaderInputAttachmentArrayNonUniformIndexing indicates whether arrays of input attachments // can be indexed by non-uniform integer expressions in shader code ShaderInputAttachmentArrayNonUniformIndexing bool // ShaderUniformTexelBufferArrayNonUniformIndexing indicates whether arrays of uniform texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderUniformTexelBufferArrayNonUniformIndexing bool // ShaderStorageTexelBufferArrayNonUniformIndexing indicates whether arrays of storage texel // Buffer objects can be indexed by non-uniform integer expressions in shader code ShaderStorageTexelBufferArrayNonUniformIndexing bool // DescriptorBindingUniformBufferUpdateAfterBind indicates whether the implementation supports // updating uniform Buffer descriptors after a set is bound DescriptorBindingUniformBufferUpdateAfterBind bool // DescriptorBindingSampledImageUpdateAfterBind indicates whether the implementation supports // updating sampled Image descriptors after a set is bound DescriptorBindingSampledImageUpdateAfterBind bool // DescriptorBindingStorageImageUpdateAfterBind indicates whether the implementation supports // updating storage Image descriptors after a set is bound DescriptorBindingStorageImageUpdateAfterBind bool // DescriptorBindingStorageBufferUpdateAfterBind indicates whether the implementation // supports updating storage Buffer descriptors after a set is bound DescriptorBindingStorageBufferUpdateAfterBind bool // DescriptorBindingUniformTexelBufferUpdateAfterBind indicates whether the implementation // supports updating uniform texel Buffer descriptors after a set is bound DescriptorBindingUniformTexelBufferUpdateAfterBind bool // DescriptorBindingStorageTexelBufferUpdateAfterBind indicates whether the impelementation // supports updating storage texel Buffer descriptors after a set is bound DescriptorBindingStorageTexelBufferUpdateAfterBind bool // DescriptorBindingUpdateUnusedWhilePending indicates whether the implementation supports // updating descriptors while the set is in use DescriptorBindingUpdateUnusedWhilePending bool // DescriptorBindingPartiallyBound indicates whether the implementation supports statically // using a DescriptorSet binding in which some descriptors are not valid DescriptorBindingPartiallyBound bool // DescriptorBindingVariableDescriptorCount indicates whether the implementation supports // DescriptorSet object with a variable-sized last binding DescriptorBindingVariableDescriptorCount bool // RuntimeDescriptorArray indicates whether the implementation supports the SPIR-V // RuntimeDescriptorArray capability RuntimeDescriptorArray bool common.NextOptions common.NextOutData }
PhysicalDeviceDescriptorIndexingFeatures describes descriptor indexing features that can be supported by an implementation
func (PhysicalDeviceDescriptorIndexingFeatures) PopulateCPointer ¶
func (*PhysicalDeviceDescriptorIndexingFeatures) PopulateHeader ¶
func (*PhysicalDeviceDescriptorIndexingFeatures) PopulateOutData ¶
type PhysicalDeviceDescriptorIndexingProperties ¶
type PhysicalDeviceDescriptorIndexingProperties struct { // MaxUpdateAfterBindDescriptorsInAllPools is the maximum number of descriptors (summed over // all descriptor types) that can be created across all pools that are created with // DescriptorPoolCreateUpdateAfterBind MaxUpdateAfterBindDescriptorsInAllPools int // ShaderUniformBufferArrayNonUniformIndexingNative is a boolean value indicating whether // uniform Buffer descriptors natively support nonuniform indexing ShaderUniformBufferArrayNonUniformIndexingNative bool // ShaderSampledImageArrayNonUniformIndexingNative is a boolean value indicating whether // Sampler and Image descriptors natively support nonuniform indexing ShaderSampledImageArrayNonUniformIndexingNative bool // ShaderStorageBufferArrayNonUniformIndexingNative is a boolean value indicating whether // storage Buffer descriptors natively support nonuniform indexing ShaderStorageBufferArrayNonUniformIndexingNative bool // ShaderStorageImageArrayNonUniformIndexingNative is a boolean value indicating whether storage // Image descriptors natively support nonuniform indexing ShaderStorageImageArrayNonUniformIndexingNative bool // ShaderInputAttachmentArrayNonUniformIndexingNative is a boolean value indicating whether // input attachment descriptors natively support nonuniform indexing ShaderInputAttachmentArrayNonUniformIndexingNative bool // RobustBufferAccessUpdateAfterBind is a boolean value indicating whether RobustBufferAccess // can be enabled in a Device simultaneously with DescriptorBindingUniformBufferUpdateAfterBind, // DescriptorBindingStorageBufferUpdateAfterBind, // DescriptorBindingUniformTexelBufferUpdateAfterBind, and/or // DescriptorBindingStorageTexelBufferUpdateAfterBind RobustBufferAccessUpdateAfterBind bool // 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 QuadDivergentImplicitLod bool // MaxPerStageDescriptorUpdateAfterBindSamplers is similar to <axPerStageDescriptorSamplers // but counts descriptors from descriptor sets created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSamplers int // MaxPerStageDescriptorUpdateAfterBindUniformBuffers is similar to // MaxPerStageDescriptorUniformBuffers but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindUniformBuffers int // MaxPerStageDescriptorUpdateAfterBindStorageBuffers is similar to // MaxPerStageDescriptorStorageBuffers but counts descriptors from DescriptorSet created with // or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageBuffers int // MaxPerStageDescriptorUpdateAfterBindSampledImages is similar to // MaxPerStageDescriptorSampledImages but counts descriptors from DescriptorSets created with // or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindSampledImages int // MaxPerStageDescriptorUpdateAfterBindStorageImages is similar to // MaxPerStageDescriptorStorageImages but counts descriptors from DescriptorSet objects created // with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindStorageImages int // MaxPerStageDescriptorUpdateAfterBindInputAttachments is similar to // MaxPerStageDescriptorInputAttachments but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageDescriptorUpdateAfterBindInputAttachments int // MaxPerStageUpdateAfterBindResources is similar to MaxPerStageResources but counts // descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxPerStageUpdateAfterBindResources int // MaxDescriptorSetUpdateAfterBindSamplers is similar to MaxDescriptorSetSamplers but counts // descriptors from DescriptorSet created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSamplers int // MaxDescriptorSetUpdateAfterBindUniformBuffers is similar to MaxDescriptorSetUniformBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffers int // MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic is similar to // MaxDescriptorSetUniformBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindUniformBuffersDynamic int // MaxDescriptorSetUpdateAfterBindStorageBuffers is similar to MaxDescriptorSetStorageBuffers // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffers int // MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic is similar to // MaxDescriptorSetStorageBuffersDynamic but counts descriptors from DescriptorSet objects // created with or without DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageBuffersDynamic int // MaxDescriptorSetUpdateAfterBindSampledImages is similar to MaxDescriptorSetSampledImages // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindSampledImages int // MaxDescriptorSetUpdateAfterBindStorageImages is similar to MaxDescriptorSetStorageImages // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindStorageImages int // MaxDescriptorSetUpdateAfterBindInputAttachments is similar to MaxDescriptorSetInputAttachments // but counts descriptors from DescriptorSet objects created with or without // DescriptorSetLayoutCreateUpdateAfterBindPool MaxDescriptorSetUpdateAfterBindInputAttachments int common.NextOutData }
PhysicalDeviceDescriptorIndexingProperties describes descriptor indexing properties that can be supported by an implementation