pub struct PhysicalDeviceDescriptorIndexingFeatures {
Show 13 fields pub shader_input_attachment_array_dynamic_indexing: bool, pub shader_uniform_texel_buffer_array_dynamic_indexing: bool, pub shader_storage_texel_buffer_array_dynamic_indexing: bool, pub shader_uniform_buffer_array_non_uniform_indexing: bool, pub shader_sampled_image_array_non_uniform_indexing: bool, pub shader_storage_buffer_array_non_uniform_indexing: bool, pub shader_storage_image_array_non_uniform_indexing: bool, pub shader_input_attachment_array_non_uniform_indexing: bool, pub shader_uniform_texel_buffer_array_non_uniform_indexing: bool, pub shader_storage_texel_buffer_array_non_uniform_indexing: bool, pub descriptor_binding_partially_bound: bool, pub descriptor_binding_variable_descriptor_count: bool, pub runtime_descriptor_array: bool,
}
Expand description

Structure describing descriptor indexing features that can be supported by an implementation.

Fields§

§shader_input_attachment_array_dynamic_indexing: bool

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 InputAttachmentArrayDynamicIndexing capability.

§shader_uniform_texel_buffer_array_dynamic_indexing: bool

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 UniformTexelBufferArrayDynamicIndexing capability.

§shader_storage_texel_buffer_array_dynamic_indexing: bool

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 StorageTexelBufferArrayDynamicIndexing capability.

§shader_uniform_buffer_array_non_uniform_indexing: bool

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 UniformBufferArrayNonUniformIndexing capability.

§shader_sampled_image_array_non_uniform_indexing: bool

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 SampledImageArrayNonUniformIndexing capability.

§shader_storage_buffer_array_non_uniform_indexing: bool

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 StorageBufferArrayNonUniformIndexing capability.

§shader_storage_image_array_non_uniform_indexing: bool

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 StorageImageArrayNonUniformIndexing capability.

§shader_input_attachment_array_non_uniform_indexing: bool

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 InputAttachmentArrayNonUniformIndexing capability.

§shader_uniform_texel_buffer_array_non_uniform_indexing: bool

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 UniformTexelBufferArrayNonUniformIndexing capability.

§shader_storage_texel_buffer_array_non_uniform_indexing: bool

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 StorageTexelBufferArrayNonUniformIndexing capability.

§descriptor_binding_partially_bound: bool

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 must not be used.

§descriptor_binding_variable_descriptor_count: bool

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 must not be used.

§runtime_descriptor_array: bool

Indicates whether the implementation supports the SPIR-V RuntimeDescriptorArray capability.

If this feature is not enabled, descriptors must not be declared in runtime arrays.

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.