129 lines
9.4 KiB
Plaintext
129 lines
9.4 KiB
Plaintext
Field Name Bits Default Description
|
|
TYPE 1:0 0x0 Specifies the type of instruction. Note that output instructions
|
|
write to render targets.
|
|
POSSIBLE VALUES:
|
|
00 - US_INST_TYPE_ALU: This instruction is an ALU instruction.
|
|
01 - US_INST_TYPE_OUT: This instruction is an output instruction.
|
|
02 - US_INST_TYPE_FC: This instruction is a flow control instruction.
|
|
03 - US_INST_TYPE_TEX: This instruction is a texture instruction.
|
|
TEX_SEM_WAIT 2 0x0 Specifies whether to wait for the texture semaphore.
|
|
POSSIBLE VALUES:
|
|
00 - This instruction may issue immediately.
|
|
01 - This instruction will not issue until the texture semaphore is available.
|
|
RGB_PRED_SEL 5:3 0x0 Specifies whether the instruction uses predication. For
|
|
ALU/TEX/Output this specifies predication for the RGB
|
|
channels only. For FC this specifies the predicate for the
|
|
entire instruction.
|
|
POSSIBLE VALUES:
|
|
00 - US_PRED_SEL_NONE: No predication
|
|
01 - US_PRED_SEL_RGBA: Independent Channel Predication
|
|
02 - US_PRED_SEL_RRRR: R-Replicate Predication
|
|
03 - US_PRED_SEL_GGGG: G-Replicate Predication
|
|
04 - US_PRED_SEL_BBBB: B-Replicate Predication
|
|
05 - US_PRED_SEL_AAAA: A-Replicate Predication
|
|
RGB_PRED_INV 6 0x0 Specifies whether the predicate should be inverted. For
|
|
ALU/TEX/Output this specifies predication for the RGB
|
|
channels only. For FC this specifies the predicate for the
|
|
entire instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Normal predication
|
|
01 - Invert the value of the predicate
|
|
WRITE_INACTIVE 7 0x0 Specifies which pixels to write to.
|
|
POSSIBLE VALUES:
|
|
00 - Only write to channels of active pixels
|
|
01 - Write to channels of all pixels, including inactive pixels
|
|
LAST 8 0x0 Specifies whether this is the last instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Do not terminate the shader after executing this instruction (unless this instruction is at END_ADDR).
|
|
01 - All active pixels are willing to terminate after executing this instruction. There is no guarantee that the shader will actually terminate here. This feature is provided as a performance optimization for tests where pixels can conditionally terminate early.
|
|
NOP 9 0x0 Specifies whether to insert a NOP instruction after this.
|
|
This would get specified in order to meet dependency
|
|
requirements for the pre-subtract inputs, and dependency
|
|
requirements for src0 of an MDH/MDV instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Do not insert NOP instruction after this one.
|
|
01 - Insert a NOP instruction after this one.
|
|
ALU_WAIT 10 0x0 Specifies whether to wait for pending ALU instructions
|
|
to complete before issuing this instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Do not wait for pending ALU instructions to complete before issuing the current instruction.
|
|
01 - Wait for pending ALU instructions to complete before issuing the current instruction.
|
|
RGB_WMASK 13:11 0x0 Specifies which components of the result of the RGB
|
|
instruction are written to the pixel stack frame.
|
|
POSSIBLE VALUES:
|
|
00 - NONE: Do not write any output.
|
|
01 - R: Write the red channel only.
|
|
02 - G: Write the green channel only.
|
|
03 - RG: Write the red and green channels.
|
|
04 - B: Write the blue channel only.
|
|
05 - RB: Write the red and blue channels.
|
|
06 - GB: Write the green and blue channels.
|
|
07 - RGB: Write the red, green, and blue channels.
|
|
ALPHA_WMASK 14 0x0 Specifies whether the result of the Alpha instruction is
|
|
written to the pixel stack frame.
|
|
POSSIBLE VALUES:
|
|
00 - NONE: Do not write register.
|
|
01 - A: Write the alpha channel only.
|
|
RGB_OMASK 17:15 0x0 Specifies which components of the result of the RGB
|
|
instruction are written to the output fifo if this is an
|
|
output instruction, and which predicate bits should be
|
|
modified if this is an ALU instruction.
|
|
POSSIBLE VALUES:
|
|
00 - NONE: Do not write any output.
|
|
01 - R: Write the red channel only.
|
|
02 - G: Write the green channel only.
|
|
03 - RG: Write the red and green channels.
|
|
04 - B: Write the blue channel only.
|
|
05 - RB: Write the red and blue channels.
|
|
06 - GB: Write the green and blue channels.
|
|
07 - RGB: Write the red, green, and blue channels.
|
|
ALPHA_OMASK 18 0x0 Specifies whether the result of the Alpha instruction is
|
|
written to the output fifo if this is an output instruction,
|
|
and whether the Alpha predicate bit should be modified
|
|
if this is an ALU instruction.
|
|
POSSIBLE VALUES:
|
|
00 - NONE: Do not write output.
|
|
01 - A: Write the alpha channel only.
|
|
RGB_CLAMP 19 0x0 Specifies RGB and Alpha clamp mode for this
|
|
instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Do not clamp output.
|
|
01 - Clamp output to the range [0,1].
|
|
ALPHA_CLAMP 20 0x0 Specifies RGB and Alpha clamp mode for this
|
|
instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Do not clamp output.
|
|
01 - Clamp output to the range [0,1].
|
|
ALU_RESULT_SEL 21 0x0 Specifies which component of the result of this
|
|
instruction should be used as the `ALU result` by a
|
|
subsequent flow control instruction.
|
|
POSSIBLE VALUES:
|
|
00 - RED: Use red as ALU result for FC.
|
|
01 - ALPHA: Use alpha as ALU result for FC.
|
|
ALPHA_PRED_INV 22 0x0 Specifies whether the predicate should be inverted. For
|
|
ALU/TEX/Output this specifies predication for the alpha
|
|
channel only. This field has no effect on FC instructions.
|
|
POSSIBLE VALUES:
|
|
00 - Normal predication
|
|
01 - Invert the value of the predicate
|
|
ALU_RESULT_OP 24:23 0x0 Specifies how to compare the ALU result against zero
|
|
for the `alu_result` bit in a subsequent flow control
|
|
instruction.
|
|
POSSIBLE VALUES:
|
|
00 - Equal to
|
|
01 - Less than
|
|
02 - Greater than or equal to
|
|
03 - Not equal
|
|
ALPHA_PRED_SEL 27:25 0x0 Specifies whether the instruction uses predication. For
|
|
ALU/TEX/Output this specifies predication for the alpha
|
|
channel only. This field has no effect on FC instructions.
|
|
POSSIBLE VALUES:
|
|
00 - US_PRED_SEL_NONE: No predication
|
|
01 - US_PRED_SEL_RGBA: A predication (identical to US_PRED_SEL_AAAA)
|
|
02 - US_PRED_SEL_RRRR: R Predication
|
|
03 - US_PRED_SEL_GGGG: G Predication
|
|
04 - US_PRED_SEL_BBBB: B Predication
|
|
05 - US_PRED_SEL_AAAA: A Predication
|
|
STAT_WE 31:28 0x0 Specifies which components (R,G,B,A) contribute to the
|
|
stat count
|