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