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