Skip to main content

Register

Enum Register 

Source
pub enum Register {
Show 43 variants Temp, Input, Output, IndexableTemp, Constant, Immediate, Immediate64, Label, FunctionBody, FunctionTable, Interface, FunctionInput, FunctionOutput, ThisPointer, CycleCounter, InnerCoverage, Texture, Sampler, Null, Uav, ImmediateBuffer, PrimitiveId, InputCoverage, OutputDepth, OutputDepthGreaterEqual, OutputDepthLessEqual, OutputCoverage, Rasterizer, OutputStencilRef, GroupSharedMemory, ThreadId, ThreadGroupId, ThreadIdInGroup, ThreadIdInGroupFlattened, OutputControlPointId, ForkInstanceId, JoinInstanceId, InputControlPoint, OutputControlPoint, InputPatchConstant, InputDomainPoint, Stream, GsInstanceId,
}
Expand description

The kind of register an operand names.

Variants§

§

Temp

A temporary register (r<n>).

§

Input

An input register (v<n>).

§

Output

An output register (o<n>).

§

IndexableTemp

An indexable temporary (x<n>[i]).

§

Constant

A constant buffer register (cb<slot>[row]).

§

Immediate

An immediate operand (l(...)), its values in Operand::immediate.

§

Immediate64

A 64-bit immediate operand (d(...)): its values in Operand::immediate as pairs of words, low word first (two words for one value, four for two).

§

Label

A subroutine label (label <n>), the operand of label, call and callc.

§

FunctionBody

A function body of a program with class linkage (fb<n>).

§

FunctionTable

A function table of a program with class linkage (ft<n>).

§

Interface

An interface pointer of a program with class linkage (fp<n>[array][call site]).

§

FunctionInput

A function’s input register (fi<n>).

§

FunctionOutput

A function’s output register (fo<n>).

§

ThisPointer

The this pointer of a class instance (this[<n>]).

§

CycleCounter

vCycleCounter, the input clock counter.

§

InnerCoverage

vInnerCoverage, the input inner coverage.

§

Texture

A shader resource view (t<n>).

§

Sampler

A sampler (s<n>).

§

Null

The null register (null), a destination that discards its result.

§

Uav

An unordered-access view (u<n>).

§

ImmediateBuffer

The immediate constant buffer (icb[n]), its rows the program’s own.

§

PrimitiveId

vPrim, the primitive id input.

§

InputCoverage

vCoverage, the input coverage mask.

§

OutputDepth

oDepth.

§

OutputDepthGreaterEqual

oDepthGE, a depth output that is at least the rasterized depth.

§

OutputDepthLessEqual

oDepthLE, a depth output that is at most the rasterized depth.

§

OutputCoverage

oMask, the coverage output.

§

Rasterizer

rasterizer: the render target as sample_info and sample_pos query it (its sample count, a sample’s position).

§

OutputStencilRef

oStencilRef, the stencil reference output.

§

GroupSharedMemory

g<n>, thread-group shared memory.

§

ThreadId

vThreadID, vThreadGroupID, vThreadIDInGroup and vThreadIDInGroupFlattened, a compute program’s ids.

§

ThreadGroupId

vThreadGroupID.

§

ThreadIdInGroup

vThreadIDInGroup.

§

ThreadIdInGroupFlattened

vThreadIDInGroupFlattened.

§

OutputControlPointId

vOutputControlPointID, vForkInstanceID, vJoinInstanceID: a hull program’s phase numbers.

§

ForkInstanceId

vForkInstanceID, a hull program’s fork phase instance.

§

JoinInstanceId

vJoinInstanceID, a hull program’s join phase instance.

§

InputControlPoint

vicp[point][register]: an input control point of a hull or domain program.

§

OutputControlPoint

vocp[point][register]: an output control point a hull program’s patch-constant phases read.

§

InputPatchConstant

vpc[register]: a patch constant a domain program reads (or a hull program’s join phase).

§

InputDomainPoint

vDomain: a domain program’s location in its patch.

§

Stream

m<n>: a geometry program’s output stream.

§

GsInstanceId

vGSInstanceID.

Trait Implementations§

Source§

impl Clone for Register

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Register

Source§

impl Debug for Register

Source§

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

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

impl Eq for Register

Source§

impl PartialEq for Register

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Register

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.