Enum spirv::BuiltIn

source ·
#[repr(u32)]
pub enum BuiltIn {
Show 116 variants Position = 0, PointSize = 1, ClipDistance = 3, CullDistance = 4, VertexId = 5, InstanceId = 6, PrimitiveId = 7, InvocationId = 8, Layer = 9, ViewportIndex = 10, TessLevelOuter = 11, TessLevelInner = 12, TessCoord = 13, PatchVertices = 14, FragCoord = 15, PointCoord = 16, FrontFacing = 17, SampleId = 18, SamplePosition = 19, SampleMask = 20, FragDepth = 22, HelperInvocation = 23, NumWorkgroups = 24, WorkgroupSize = 25, WorkgroupId = 26, LocalInvocationId = 27, GlobalInvocationId = 28, LocalInvocationIndex = 29, WorkDim = 30, GlobalSize = 31, EnqueuedWorkgroupSize = 32, GlobalOffset = 33, GlobalLinearId = 34, SubgroupSize = 36, SubgroupMaxSize = 37, NumSubgroups = 38, NumEnqueuedSubgroups = 39, SubgroupId = 40, SubgroupLocalInvocationId = 41, VertexIndex = 42, InstanceIndex = 43, CoreIDARM = 4_160, CoreCountARM = 4_161, CoreMaxIDARM = 4_162, WarpIDARM = 4_163, WarpMaxIDARM = 4_164, SubgroupEqMask = 4_416, SubgroupGeMask = 4_417, SubgroupGtMask = 4_418, SubgroupLeMask = 4_419, SubgroupLtMask = 4_420, BaseVertex = 4_424, BaseInstance = 4_425, DrawIndex = 4_426, PrimitiveShadingRateKHR = 4_432, DeviceIndex = 4_438, ViewIndex = 4_440, ShadingRateKHR = 4_444, BaryCoordNoPerspAMD = 4_992, BaryCoordNoPerspCentroidAMD = 4_993, BaryCoordNoPerspSampleAMD = 4_994, BaryCoordSmoothAMD = 4_995, BaryCoordSmoothCentroidAMD = 4_996, BaryCoordSmoothSampleAMD = 4_997, BaryCoordPullModelAMD = 4_998, FragStencilRefEXT = 5_014, CoalescedInputCountAMDX = 5_021, ShaderIndexAMDX = 5_073, ViewportMaskNV = 5_253, SecondaryPositionNV = 5_257, SecondaryViewportMaskNV = 5_258, PositionPerViewNV = 5_261, ViewportMaskPerViewNV = 5_262, FullyCoveredEXT = 5_264, TaskCountNV = 5_274, PrimitiveCountNV = 5_275, PrimitiveIndicesNV = 5_276, ClipDistancePerViewNV = 5_277, CullDistancePerViewNV = 5_278, LayerPerViewNV = 5_279, MeshViewCountNV = 5_280, MeshViewIndicesNV = 5_281, BaryCoordKHR = 5_286, BaryCoordNoPerspKHR = 5_287, FragSizeEXT = 5_292, FragInvocationCountEXT = 5_293, PrimitivePointIndicesEXT = 5_294, PrimitiveLineIndicesEXT = 5_295, PrimitiveTriangleIndicesEXT = 5_296, CullPrimitiveEXT = 5_299, LaunchIdNV = 5_319, LaunchSizeNV = 5_320, WorldRayOriginNV = 5_321, WorldRayDirectionNV = 5_322, ObjectRayOriginNV = 5_323, ObjectRayDirectionNV = 5_324, RayTminNV = 5_325, RayTmaxNV = 5_326, InstanceCustomIndexNV = 5_327, ObjectToWorldNV = 5_330, WorldToObjectNV = 5_331, HitTNV = 5_332, HitKindNV = 5_333, CurrentRayTimeNV = 5_334, HitTriangleVertexPositionsKHR = 5_335, HitMicroTriangleVertexPositionsNV = 5_337, HitMicroTriangleVertexBarycentricsNV = 5_344, IncomingRayFlagsNV = 5_351, RayGeometryIndexKHR = 5_352, WarpsPerSMNV = 5_374, SMCountNV = 5_375, WarpIDNV = 5_376, SMIDNV = 5_377, HitKindFrontFacingMicroTriangleNV = 5_405, HitKindBackFacingMicroTriangleNV = 5_406, CullMaskKHR = 6_021,
}
Expand description

SPIR-V operand kind: BuiltIn

Variants§

§

Position = 0

§

PointSize = 1

§

ClipDistance = 3

§

CullDistance = 4

§

VertexId = 5

§

InstanceId = 6

§

PrimitiveId = 7

§

InvocationId = 8

§

Layer = 9

§

ViewportIndex = 10

§

TessLevelOuter = 11

§

TessLevelInner = 12

§

TessCoord = 13

§

PatchVertices = 14

§

FragCoord = 15

§

PointCoord = 16

§

FrontFacing = 17

§

SampleId = 18

§

SamplePosition = 19

§

SampleMask = 20

§

FragDepth = 22

§

HelperInvocation = 23

§

NumWorkgroups = 24

§

WorkgroupSize = 25

§

WorkgroupId = 26

§

LocalInvocationId = 27

§

GlobalInvocationId = 28

§

LocalInvocationIndex = 29

§

WorkDim = 30

§

GlobalSize = 31

§

EnqueuedWorkgroupSize = 32

§

GlobalOffset = 33

§

GlobalLinearId = 34

§

SubgroupSize = 36

§

SubgroupMaxSize = 37

§

NumSubgroups = 38

§

NumEnqueuedSubgroups = 39

§

SubgroupId = 40

§

SubgroupLocalInvocationId = 41

§

VertexIndex = 42

§

InstanceIndex = 43

§

CoreIDARM = 4_160

§

CoreCountARM = 4_161

§

CoreMaxIDARM = 4_162

§

WarpIDARM = 4_163

§

WarpMaxIDARM = 4_164

§

SubgroupEqMask = 4_416

§

SubgroupGeMask = 4_417

§

SubgroupGtMask = 4_418

§

SubgroupLeMask = 4_419

§

SubgroupLtMask = 4_420

§

BaseVertex = 4_424

§

BaseInstance = 4_425

§

DrawIndex = 4_426

§

PrimitiveShadingRateKHR = 4_432

§

DeviceIndex = 4_438

§

ViewIndex = 4_440

§

ShadingRateKHR = 4_444

§

BaryCoordNoPerspAMD = 4_992

§

BaryCoordNoPerspCentroidAMD = 4_993

§

BaryCoordNoPerspSampleAMD = 4_994

§

BaryCoordSmoothAMD = 4_995

§

BaryCoordSmoothCentroidAMD = 4_996

§

BaryCoordSmoothSampleAMD = 4_997

§

BaryCoordPullModelAMD = 4_998

§

FragStencilRefEXT = 5_014

§

CoalescedInputCountAMDX = 5_021

§

ShaderIndexAMDX = 5_073

§

ViewportMaskNV = 5_253

§

SecondaryPositionNV = 5_257

§

SecondaryViewportMaskNV = 5_258

§

PositionPerViewNV = 5_261

§

ViewportMaskPerViewNV = 5_262

§

FullyCoveredEXT = 5_264

§

TaskCountNV = 5_274

§

PrimitiveCountNV = 5_275

§

PrimitiveIndicesNV = 5_276

§

ClipDistancePerViewNV = 5_277

§

CullDistancePerViewNV = 5_278

§

LayerPerViewNV = 5_279

§

MeshViewCountNV = 5_280

§

MeshViewIndicesNV = 5_281

§

BaryCoordKHR = 5_286

§

BaryCoordNoPerspKHR = 5_287

§

FragSizeEXT = 5_292

§

FragInvocationCountEXT = 5_293

§

PrimitivePointIndicesEXT = 5_294

§

PrimitiveLineIndicesEXT = 5_295

§

PrimitiveTriangleIndicesEXT = 5_296

§

CullPrimitiveEXT = 5_299

§

LaunchIdNV = 5_319

§

LaunchSizeNV = 5_320

§

WorldRayOriginNV = 5_321

§

WorldRayDirectionNV = 5_322

§

ObjectRayOriginNV = 5_323

§

ObjectRayDirectionNV = 5_324

§

RayTminNV = 5_325

§

RayTmaxNV = 5_326

§

InstanceCustomIndexNV = 5_327

§

ObjectToWorldNV = 5_330

§

WorldToObjectNV = 5_331

§

HitTNV = 5_332

§

HitKindNV = 5_333

§

CurrentRayTimeNV = 5_334

§

HitTriangleVertexPositionsKHR = 5_335

§

HitMicroTriangleVertexPositionsNV = 5_337

§

HitMicroTriangleVertexBarycentricsNV = 5_344

§

IncomingRayFlagsNV = 5_351

§

RayGeometryIndexKHR = 5_352

§

WarpsPerSMNV = 5_374

§

SMCountNV = 5_375

§

WarpIDNV = 5_376

§

SMIDNV = 5_377

§

HitKindFrontFacingMicroTriangleNV = 5_405

§

HitKindBackFacingMicroTriangleNV = 5_406

§

CullMaskKHR = 6_021

Implementations§

source§

impl BuiltIn

source

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

source§

impl BuiltIn

source

pub const SubgroupEqMaskKHR: Self = Self::SubgroupEqMask

source

pub const SubgroupGeMaskKHR: Self = Self::SubgroupGeMask

source

pub const SubgroupGtMaskKHR: Self = Self::SubgroupGtMask

source

pub const SubgroupLeMaskKHR: Self = Self::SubgroupLeMask

source

pub const SubgroupLtMaskKHR: Self = Self::SubgroupLtMask

source

pub const BaryCoordNV: Self = Self::BaryCoordKHR

source

pub const BaryCoordNoPerspNV: Self = Self::BaryCoordNoPerspKHR

source

pub const FragmentSizeNV: Self = Self::FragSizeEXT

source

pub const InvocationsPerPixelNV: Self = Self::FragInvocationCountEXT

source

pub const LaunchIdKHR: Self = Self::LaunchIdNV

source

pub const LaunchSizeKHR: Self = Self::LaunchSizeNV

source

pub const WorldRayOriginKHR: Self = Self::WorldRayOriginNV

source

pub const WorldRayDirectionKHR: Self = Self::WorldRayDirectionNV

source

pub const ObjectRayOriginKHR: Self = Self::ObjectRayOriginNV

source

pub const ObjectRayDirectionKHR: Self = Self::ObjectRayDirectionNV

source

pub const RayTminKHR: Self = Self::RayTminNV

source

pub const RayTmaxKHR: Self = Self::RayTmaxNV

source

pub const InstanceCustomIndexKHR: Self = Self::InstanceCustomIndexNV

source

pub const ObjectToWorldKHR: Self = Self::ObjectToWorldNV

source

pub const WorldToObjectKHR: Self = Self::WorldToObjectNV

source

pub const HitKindKHR: Self = Self::HitKindNV

source

pub const IncomingRayFlagsKHR: Self = Self::IncomingRayFlagsNV

Trait Implementations§

source§

impl Clone for BuiltIn

source§

fn clone(&self) -> BuiltIn

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 BuiltIn

source§

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

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

impl FromStr for BuiltIn

§

type Err = ()

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

fn from_str(s: &str) -> Result<Self, Self::Err>

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

impl Hash for BuiltIn

source§

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

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 BuiltIn

source§

fn cmp(&self, other: &BuiltIn) -> 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 BuiltIn

source§

fn eq(&self, other: &BuiltIn) -> 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 BuiltIn

source§

fn partial_cmp(&self, other: &BuiltIn) -> 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 BuiltIn

source§

impl Eq for BuiltIn

source§

impl StructuralEq for BuiltIn

source§

impl StructuralPartialEq for BuiltIn

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<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, 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.