Enum naga::back::spv::Capability

source ·
#[repr(u32)]
pub enum Capability {
Show 158 variants Matrix = 0, Shader = 1, Geometry = 2, Tessellation = 3, Addresses = 4, Linkage = 5, Kernel = 6, Vector16 = 7, Float16Buffer = 8, Float16 = 9, Float64 = 10, Int64 = 11, Int64Atomics = 12, ImageBasic = 13, ImageReadWrite = 14, ImageMipmap = 15, Pipes = 17, Groups = 18, DeviceEnqueue = 19, LiteralSampler = 20, AtomicStorage = 21, Int16 = 22, TessellationPointSize = 23, GeometryPointSize = 24, ImageGatherExtended = 25, StorageImageMultisample = 27, UniformBufferArrayDynamicIndexing = 28, SampledImageArrayDynamicIndexing = 29, StorageBufferArrayDynamicIndexing = 30, StorageImageArrayDynamicIndexing = 31, ClipDistance = 32, CullDistance = 33, ImageCubeArray = 34, SampleRateShading = 35, ImageRect = 36, SampledRect = 37, GenericPointer = 38, Int8 = 39, InputAttachment = 40, SparseResidency = 41, MinLod = 42, Sampled1D = 43, Image1D = 44, SampledCubeArray = 45, SampledBuffer = 46, ImageBuffer = 47, ImageMSArray = 48, StorageImageExtendedFormats = 49, ImageQuery = 50, DerivativeControl = 51, InterpolationFunction = 52, TransformFeedback = 53, GeometryStreams = 54, StorageImageReadWithoutFormat = 55, StorageImageWriteWithoutFormat = 56, MultiViewport = 57, SubgroupDispatch = 58, NamedBarrier = 59, PipeStorage = 60, GroupNonUniform = 61, GroupNonUniformVote = 62, GroupNonUniformArithmetic = 63, GroupNonUniformBallot = 64, GroupNonUniformShuffle = 65, GroupNonUniformShuffleRelative = 66, GroupNonUniformClustered = 67, GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, FragmentShadingRateKHR = 4_422, SubgroupBallotKHR = 4_423, DrawParameters = 4_427, SubgroupVoteKHR = 4_431, StorageBuffer16BitAccess = 4_433, UniformAndStorageBuffer16BitAccess = 4_434, StoragePushConstant16 = 4_435, StorageInputOutput16 = 4_436, DeviceGroup = 4_437, MultiView = 4_439, VariablePointersStorageBuffer = 4_441, VariablePointers = 4_442, AtomicStorageOps = 4_445, SampleMaskPostDepthCoverage = 4_447, StorageBuffer8BitAccess = 4_448, UniformAndStorageBuffer8BitAccess = 4_449, StoragePushConstant8 = 4_450, DenormPreserve = 4_464, DenormFlushToZero = 4_465, SignedZeroInfNanPreserve = 4_466, RoundingModeRTE = 4_467, RoundingModeRTZ = 4_468, RayQueryProvisionalKHR = 4_471, RayQueryKHR = 4_472, RayTraversalPrimitiveCullingKHR = 4_478, RayTracingKHR = 4_479, Float16ImageAMD = 5_008, ImageGatherBiasLodAMD = 5_009, FragmentMaskAMD = 5_010, StencilExportEXT = 5_013, ImageReadWriteLodAMD = 5_015, Int64ImageEXT = 5_016, ShaderClockKHR = 5_055, SampleMaskOverrideCoverageNV = 5_249, GeometryShaderPassthroughNV = 5_251, ShaderViewportIndexLayerEXT = 5_254, ShaderViewportMaskNV = 5_255, ShaderStereoViewNV = 5_259, PerViewAttributesNV = 5_260, FragmentFullyCoveredEXT = 5_265, MeshShadingNV = 5_266, ImageFootprintNV = 5_282, FragmentBarycentricNV = 5_284, ComputeDerivativeGroupQuadsNV = 5_288, FragmentDensityEXT = 5_291, GroupNonUniformPartitionedNV = 5_297, ShaderNonUniform = 5_301, RuntimeDescriptorArray = 5_302, InputAttachmentArrayDynamicIndexing = 5_303, UniformTexelBufferArrayDynamicIndexing = 5_304, StorageTexelBufferArrayDynamicIndexing = 5_305, UniformBufferArrayNonUniformIndexing = 5_306, SampledImageArrayNonUniformIndexing = 5_307, StorageBufferArrayNonUniformIndexing = 5_308, StorageImageArrayNonUniformIndexing = 5_309, InputAttachmentArrayNonUniformIndexing = 5_310, UniformTexelBufferArrayNonUniformIndexing = 5_311, StorageTexelBufferArrayNonUniformIndexing = 5_312, RayTracingNV = 5_340, VulkanMemoryModel = 5_345, VulkanMemoryModelDeviceScope = 5_346, PhysicalStorageBufferAddresses = 5_347, ComputeDerivativeGroupLinearNV = 5_350, RayTracingProvisionalKHR = 5_353, CooperativeMatrixNV = 5_357, FragmentShaderSampleInterlockEXT = 5_363, FragmentShaderShadingRateInterlockEXT = 5_372, ShaderSMBuiltinsNV = 5_373, FragmentShaderPixelInterlockEXT = 5_378, DemoteToHelperInvocationEXT = 5_379, SubgroupShuffleINTEL = 5_568, SubgroupBufferBlockIOINTEL = 5_569, SubgroupImageBlockIOINTEL = 5_570, SubgroupImageMediaBlockIOINTEL = 5_579, IntegerFunctions2INTEL = 5_584, FunctionPointersINTEL = 5_603, IndirectReferencesINTEL = 5_604, SubgroupAvcMotionEstimationINTEL = 5_696, SubgroupAvcMotionEstimationIntraINTEL = 5_697, SubgroupAvcMotionEstimationChromaINTEL = 5_698, FPGAMemoryAttributesINTEL = 5_824, UnstructuredLoopControlsINTEL = 5_886, FPGALoopControlsINTEL = 5_888, KernelAttributesINTEL = 5_892, FPGAKernelAttributesINTEL = 5_897, BlockingPipesINTEL = 5_945, FPGARegINTEL = 5_948, AtomicFloat32AddEXT = 6_033, AtomicFloat64AddEXT = 6_034,
}
Expand description

/// SPIR-V operand kind: Capability

Variants§

§

Matrix = 0

§

Shader = 1

§

Geometry = 2

§

Tessellation = 3

§

Addresses = 4

§

Linkage = 5

§

Kernel = 6

§

Vector16 = 7

§

Float16Buffer = 8

§

Float16 = 9

§

Float64 = 10

§

Int64 = 11

§

Int64Atomics = 12

§

ImageBasic = 13

§

ImageReadWrite = 14

§

ImageMipmap = 15

§

Pipes = 17

§

Groups = 18

§

DeviceEnqueue = 19

§

LiteralSampler = 20

§

AtomicStorage = 21

§

Int16 = 22

§

TessellationPointSize = 23

§

GeometryPointSize = 24

§

ImageGatherExtended = 25

§

StorageImageMultisample = 27

§

UniformBufferArrayDynamicIndexing = 28

§

SampledImageArrayDynamicIndexing = 29

§

StorageBufferArrayDynamicIndexing = 30

§

StorageImageArrayDynamicIndexing = 31

§

ClipDistance = 32

§

CullDistance = 33

§

ImageCubeArray = 34

§

SampleRateShading = 35

§

ImageRect = 36

§

SampledRect = 37

§

GenericPointer = 38

§

Int8 = 39

§

InputAttachment = 40

§

SparseResidency = 41

§

MinLod = 42

§

Sampled1D = 43

§

Image1D = 44

§

SampledCubeArray = 45

§

SampledBuffer = 46

§

ImageBuffer = 47

§

ImageMSArray = 48

§

StorageImageExtendedFormats = 49

§

ImageQuery = 50

§

DerivativeControl = 51

§

InterpolationFunction = 52

§

TransformFeedback = 53

§

GeometryStreams = 54

§

StorageImageReadWithoutFormat = 55

§

StorageImageWriteWithoutFormat = 56

§

MultiViewport = 57

§

SubgroupDispatch = 58

§

NamedBarrier = 59

§

PipeStorage = 60

§

GroupNonUniform = 61

§

GroupNonUniformVote = 62

§

GroupNonUniformArithmetic = 63

§

GroupNonUniformBallot = 64

§

GroupNonUniformShuffle = 65

§

GroupNonUniformShuffleRelative = 66

§

GroupNonUniformClustered = 67

§

GroupNonUniformQuad = 68

§

ShaderLayer = 69

§

ShaderViewportIndex = 70

§

FragmentShadingRateKHR = 4_422

§

SubgroupBallotKHR = 4_423

§

DrawParameters = 4_427

§

SubgroupVoteKHR = 4_431

§

StorageBuffer16BitAccess = 4_433

§

UniformAndStorageBuffer16BitAccess = 4_434

§

StoragePushConstant16 = 4_435

§

StorageInputOutput16 = 4_436

§

DeviceGroup = 4_437

§

MultiView = 4_439

§

VariablePointersStorageBuffer = 4_441

§

VariablePointers = 4_442

§

AtomicStorageOps = 4_445

§

SampleMaskPostDepthCoverage = 4_447

§

StorageBuffer8BitAccess = 4_448

§

UniformAndStorageBuffer8BitAccess = 4_449

§

StoragePushConstant8 = 4_450

§

DenormPreserve = 4_464

§

DenormFlushToZero = 4_465

§

SignedZeroInfNanPreserve = 4_466

§

RoundingModeRTE = 4_467

§

RoundingModeRTZ = 4_468

§

RayQueryProvisionalKHR = 4_471

§

RayQueryKHR = 4_472

§

RayTraversalPrimitiveCullingKHR = 4_478

§

RayTracingKHR = 4_479

§

Float16ImageAMD = 5_008

§

ImageGatherBiasLodAMD = 5_009

§

FragmentMaskAMD = 5_010

§

StencilExportEXT = 5_013

§

ImageReadWriteLodAMD = 5_015

§

Int64ImageEXT = 5_016

§

ShaderClockKHR = 5_055

§

SampleMaskOverrideCoverageNV = 5_249

§

GeometryShaderPassthroughNV = 5_251

§

ShaderViewportIndexLayerEXT = 5_254

§

ShaderViewportMaskNV = 5_255

§

ShaderStereoViewNV = 5_259

§

PerViewAttributesNV = 5_260

§

FragmentFullyCoveredEXT = 5_265

§

MeshShadingNV = 5_266

§

ImageFootprintNV = 5_282

§

FragmentBarycentricNV = 5_284

§

ComputeDerivativeGroupQuadsNV = 5_288

§

FragmentDensityEXT = 5_291

§

GroupNonUniformPartitionedNV = 5_297

§

ShaderNonUniform = 5_301

§

RuntimeDescriptorArray = 5_302

§

InputAttachmentArrayDynamicIndexing = 5_303

§

UniformTexelBufferArrayDynamicIndexing = 5_304

§

StorageTexelBufferArrayDynamicIndexing = 5_305

§

UniformBufferArrayNonUniformIndexing = 5_306

§

SampledImageArrayNonUniformIndexing = 5_307

§

StorageBufferArrayNonUniformIndexing = 5_308

§

StorageImageArrayNonUniformIndexing = 5_309

§

InputAttachmentArrayNonUniformIndexing = 5_310

§

UniformTexelBufferArrayNonUniformIndexing = 5_311

§

StorageTexelBufferArrayNonUniformIndexing = 5_312

§

RayTracingNV = 5_340

§

VulkanMemoryModel = 5_345

§

VulkanMemoryModelDeviceScope = 5_346

§

PhysicalStorageBufferAddresses = 5_347

§

ComputeDerivativeGroupLinearNV = 5_350

§

RayTracingProvisionalKHR = 5_353

§

CooperativeMatrixNV = 5_357

§

FragmentShaderSampleInterlockEXT = 5_363

§

FragmentShaderShadingRateInterlockEXT = 5_372

§

ShaderSMBuiltinsNV = 5_373

§

FragmentShaderPixelInterlockEXT = 5_378

§

DemoteToHelperInvocationEXT = 5_379

§

SubgroupShuffleINTEL = 5_568

§

SubgroupBufferBlockIOINTEL = 5_569

§

SubgroupImageBlockIOINTEL = 5_570

§

SubgroupImageMediaBlockIOINTEL = 5_579

§

IntegerFunctions2INTEL = 5_584

§

FunctionPointersINTEL = 5_603

§

IndirectReferencesINTEL = 5_604

§

SubgroupAvcMotionEstimationINTEL = 5_696

§

SubgroupAvcMotionEstimationIntraINTEL = 5_697

§

SubgroupAvcMotionEstimationChromaINTEL = 5_698

§

FPGAMemoryAttributesINTEL = 5_824

§

UnstructuredLoopControlsINTEL = 5_886

§

FPGALoopControlsINTEL = 5_888

§

KernelAttributesINTEL = 5_892

§

FPGAKernelAttributesINTEL = 5_897

§

BlockingPipesINTEL = 5_945

§

FPGARegINTEL = 5_948

§

AtomicFloat32AddEXT = 6_033

§

AtomicFloat64AddEXT = 6_034

Implementations§

source§

impl Capability

source

pub const StorageUniformBufferBlock16: Capability = Self::StorageBuffer16BitAccess

source

pub const StorageUniform16: Capability = Self::UniformAndStorageBuffer16BitAccess

source

pub const ShaderViewportIndexLayerNV: Capability = Self::ShaderViewportIndexLayerEXT

source

pub const ShadingRateNV: Capability = Self::FragmentDensityEXT

source

pub const ShaderNonUniformEXT: Capability = Self::ShaderNonUniform

source

pub const RuntimeDescriptorArrayEXT: Capability = Self::RuntimeDescriptorArray

source

pub const InputAttachmentArrayDynamicIndexingEXT: Capability = Self::InputAttachmentArrayDynamicIndexing

source

pub const UniformTexelBufferArrayDynamicIndexingEXT: Capability = Self::UniformTexelBufferArrayDynamicIndexing

source

pub const StorageTexelBufferArrayDynamicIndexingEXT: Capability = Self::StorageTexelBufferArrayDynamicIndexing

source

pub const UniformBufferArrayNonUniformIndexingEXT: Capability = Self::UniformBufferArrayNonUniformIndexing

source

pub const SampledImageArrayNonUniformIndexingEXT: Capability = Self::SampledImageArrayNonUniformIndexing

source

pub const StorageBufferArrayNonUniformIndexingEXT: Capability = Self::StorageBufferArrayNonUniformIndexing

source

pub const StorageImageArrayNonUniformIndexingEXT: Capability = Self::StorageImageArrayNonUniformIndexing

source

pub const InputAttachmentArrayNonUniformIndexingEXT: Capability = Self::InputAttachmentArrayNonUniformIndexing

source

pub const UniformTexelBufferArrayNonUniformIndexingEXT: Capability = Self::UniformTexelBufferArrayNonUniformIndexing

source

pub const StorageTexelBufferArrayNonUniformIndexingEXT: Capability = Self::StorageTexelBufferArrayNonUniformIndexing

source

pub const VulkanMemoryModelKHR: Capability = Self::VulkanMemoryModel

source

pub const VulkanMemoryModelDeviceScopeKHR: Capability = Self::VulkanMemoryModelDeviceScope

source

pub const PhysicalStorageBufferAddressesEXT: Capability = Self::PhysicalStorageBufferAddresses

Trait Implementations§

source§

impl Clone for Capability

source§

fn clone(&self) -> Capability

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Capability

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl FromPrimitive for Capability

source§

fn from_i64(n: i64) -> Option<Capability>

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u64(n: u64) -> Option<Capability>

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_isize(n: isize) -> Option<Self>

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<Self>

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<Self>

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<Self>

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i128(n: i128) -> Option<Self>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_usize(n: usize) -> Option<Self>

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<Self>

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<Self>

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<Self>

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u128(n: u128) -> Option<Self>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

impl FromStr for Capability

§

type Err = ()

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Capability, <Capability as FromStr>::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for Capability

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Capability

source§

fn cmp(&self, other: &Capability) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Capability

source§

fn eq(&self, other: &Capability) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Capability

source§

fn partial_cmp(&self, other: &Capability) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for Capability

source§

impl Eq for Capability

source§

impl StructuralEq for Capability

source§

impl StructuralPartialEq for Capability

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.