Backend Instructions

NameFormatBackend PhaseDescription
UVSWUVSW dest, sourceUVSW.writeOp (W0|W1), (S0|S1|S2|S3|S4|S5|_|0...255)

UVS data write

See below this table for code examples.

TESSWTESSW dest, sourceTESSW.tessOp (W0|W1), immediateAddressTessellator data write.
ATSTATST dest, sourceRef, sourceData, sourceStateWordATST{.IFB} (P0|_), S0, S1, S2Alpha Test
DEPTHFDEPTHF destDEPTHF W0Depth Feedback
FITRFITR dest, sourceDRC, sourceCoeffPtr, sourceCountFITR.mode{.SAT} S3, (DRC0|DRC1), S0, (1...maxItrCount)

Iterate value(s)

See below this table for code examples.

FITRPFITRP dest, sourceDRC, sourceCoeffPtr, sourceWCoeffPtr, sourceCountFITRP.mode{.SAT} S3, (DRC0|DRC1), S0, S2, (1...maxItrCount)All values should be multiplied by 1/W
IDFIDF sourceDRC, sourceSelectIDF{.DIRECT} (DRC0|DRC1), (S0|S1|S2|S3|S4|S5)

Issue data fence through memory subsystem.

The fence is issued for the first valid instance in a task, in the following order;

{16, …, 31, 0, …, 15}

LDLD dest, sourceDRC, sourceBurstLen, sourceAddressLD{.DIRECT} S3, (DRC0|DRC1), (S0|S1|S2|S3|S4|S5|1…16), (S0|S1|S2|S3|S4|S5)Loads data from memory into supplied destination
ST

ST sourceData, sourceDataSize, sourceDRC, sourceBurstLen, sourceAddress, sourceCoverageMask

ST.TEXELMODE sourceData, source, sourceDRC

ST{.TILED} {.DIRECT} (S0|S1|S2|S3|S4|S5), (0…2), (DRC0|DRC1), (S0|S1|S2|S3|S4|S5|1…16), (S0|S1|S2|S3|S4|S5), (S0|S1|S2|S3|S4|S5|_)

ST.TEXELMODE S2, W1, (DRC0|DRC1)

Stores data from supplied source to memory.

Stores data to memory, texel mode

SMP (SMP1D SMP2D SMP3D)SMP1D sourceDRC, sourceTextureState, sourceData, sourceSamplerState, sourceSharedLOD, sourceDestPtr, chan

SMP1D{.PROJ}{.FCNORM}{.NNCOORDS}{.LODM}{.PPLOD}{.TAO}{.SOO}{.SNO}

{.WRT}{.SBMode}{.ARRAY}{.INTEGER}{.COMPARISON}{.SCHEDSWAP}{.DIRECT} (DRC0|DRC1), S0, S1, S2, (S3|_), S4, chan

Sample Texture.

One, two or three dimensions

See below this table for code examples.

ATOMATOM.opCode sourceDestSelect, sourceDRC, sourceSelectATOM.opCode {.DIRECT} (S0|S1|S2|S3|S4|S5), (DRC0|DRC1), (S0|S1|S2|S3|S4|S5)Loads data from memory which is operated on with supplied data and operation type is written back to memory and supplied destination

UVSW code example:

void main()
{
  gl_Position = inVertex;
}
0 : mov ft0, vi3
    mov ft0.e0.e1.e2.e3,
    ft0
    uvsw.write ft0, 3;

FITR code example:

in vec2 textureCoordinate;
out vec4 fragColor;

void main()
{
  fragColor = vec4(textureCoordinate,  0.0, 1.0);
}
0 : fitr.pixel r0, 
    drc0, cf4, 
    cf0, 2;

SMP code example:

in vec2 textureCoordinate;
out vec4 fragColor;

void main()
{
    fragColor =  texelFetch(sampler,ivec2(gl_FragCoord.xy), 0);
}
3    : smp2d.fcnorm.replace.integer drc0, sh4, r1, sh0, sh11, r0, 4;