diff options
Diffstat (limited to 'src/gallium/docs')
-rw-r--r-- | src/gallium/docs/source/tgsi.rst | 322 |
1 files changed, 27 insertions, 295 deletions
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index 30717bdf7b9..a30729073b2 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -155,10 +155,6 @@ TGSI Instruction Specification dst.w = src0.w * src1.w + src2.w -1.2 GL_ATI_fragment_shader ---------------------------- - - 1.2.1 SUB - Subtract dst.x = src0.x - src1.x @@ -167,17 +163,7 @@ TGSI Instruction Specification dst.w = src0.w - src1.w -1.2.2 DOT3 - 3-component Dot Product - - Alias for DP3. - - -1.2.3 DOT4 - 4-component Dot Product - - Alias for DP4. - - -1.2.4 LERP - Linear Interpolate +1.2.4 LRP - Linear Interpolate dst.x = src0.x * (src1.x - src2.x) + src2.x dst.y = src0.y * (src1.y - src2.y) + src2.y @@ -193,11 +179,7 @@ TGSI Instruction Specification dst.w = (src2.w > 0.5) ? src0.w : src1.w -1.2.6 CND0 - Condition Zero - - Removed. Use (CMP src2, src1, src0) instead. - -1.2.7 DOT2ADD - 2-component Dot Product And Add +1.2.7 DP2A - 2-component Dot Product And Add dst.x = src0.x * src1.x + src0.y * src1.y + src2.x dst.y = src0.x * src1.x + src0.y * src1.y + src2.x @@ -205,25 +187,6 @@ TGSI Instruction Specification dst.w = src0.x * src1.x + src0.y * src1.y + src2.x -1.3 GL_EXT_vertex_shader -------------------------- - - -1.3.1 INDEX - Array Lookup - - Considered for removal from language. - - -1.3.2 NEGATE - Negate - - Considered for removal from language. - - -1.3.3 MADD - Multiply And Add - - Alias for MAD. - - 1.3.4 FRAC - Fraction dst.x = src.x - floor(src.x) @@ -232,16 +195,6 @@ TGSI Instruction Specification dst.w = src.w - floor(src.w) -1.3.5 SETGE - Set On Greater Equal - - Alias for SGE. - - -1.3.6 SETLT - Set On Less Than - - Alias for SLT. - - 1.3.7 CLAMP - Clamp dst.x = clamp(src0.x, src1.x, src2.x) @@ -250,7 +203,7 @@ TGSI Instruction Specification dst.w = clamp(src0.w, src1.w, src2.w) -1.3.8 FLOOR - Floor +1.3.8 FLR - Floor dst.x = floor(src.x) dst.y = floor(src.y) @@ -266,7 +219,7 @@ TGSI Instruction Specification dst.w = round(src.w) -1.3.10 EXPBASE2 - Exponential Base 2 +1.3.10 EX2 - Exponential Base 2 dst.x = pow(2.0, src.x) dst.y = pow(2.0, src.x) @@ -274,7 +227,7 @@ TGSI Instruction Specification dst.w = pow(2.0, src.x) -1.3.11 LOGBASE2 - Logarithm Base 2 +1.3.11 LG2 - Logarithm Base 2 dst.x = lg2(src.x) dst.y = lg2(src.x) @@ -282,25 +235,14 @@ TGSI Instruction Specification dst.w = lg2(src.x) -1.3.12 POWER - Power +1.3.12 POW - Power dst.x = pow(src0.x, src1.x) dst.y = pow(src0.x, src1.x) dst.z = pow(src0.x, src1.x) dst.w = pow(src0.x, src1.x) - -1.3.13 RECIP - Reciprocal - - Alias for RCP. - - -1.3.14 RECIPSQRT - Reciprocal Square Root - - Alias for RSQ. - - -1.3.15 CROSSPRODUCT - Cross Product +1.3.15 XPD - Cross Product dst.x = src0.y * src1.z - src1.y * src0.z dst.y = src0.z * src1.x - src1.z * src0.x @@ -308,15 +250,6 @@ TGSI Instruction Specification dst.w = 1.0 -1.3.16 MULTIPLYMATRIX - Multiply Matrix - - Considered for removal from language. - - -1.4 GL_NV_vertex_program1_1 ----------------------------- - - 1.4.1 ABS - Absolute dst.x = abs(src.x) @@ -341,10 +274,6 @@ TGSI Instruction Specification dst.w = src0.x * src1.x + src0.y * src1.y + src0.z * src1.z + src1.w -1.5 GL_NV_fragment_program ---------------------------- - - 1.5.1 COS - Cosine dst.x = cos(src.x) @@ -369,36 +298,11 @@ TGSI Instruction Specification dst.w = partialy(src.w) -1.5.4 EX2 - Exponential Base 2 - - Alias for EXPBASE2. - - -1.5.5 FLR - Floor - - Alias for FLOOR. - - -1.5.6 FRC - Fraction - - Alias for FRAC. - - 1.5.7 KILP - Predicated Discard discard -1.5.8 LG2 - Logarithm Base 2 - - Alias for LOGBASE2. - - -1.5.9 LRP - Linear Interpolate - - Alias for LERP. - - 1.5.10 PK2H - Pack Two 16-bit Floats TBD @@ -419,11 +323,6 @@ TGSI Instruction Specification TBD -1.5.14 POW - Power - - Alias for POWER. - - 1.5.15 RFL - Reflection Vector dst.x = 2.0 * (src0.x * src1.x + src0.y * src1.y + src0.z * src1.z) / (src0.x * src0.x + src0.y * src0.y + src0.z * src0.z) * src0.x - src1.x @@ -431,6 +330,8 @@ TGSI Instruction Specification dst.z = 2.0 * (src0.x * src1.x + src0.y * src1.y + src0.z * src1.z) / (src0.x * src0.x + src0.y * src0.y + src0.z * src0.z) * src0.z - src1.z dst.w = 1.0 + Considered for removal. + 1.5.16 SEQ - Set On Equal @@ -447,6 +348,7 @@ TGSI Instruction Specification dst.z = 0.0 dst.w = 0.0 + Considered for removal. 1.5.18 SGT - Set On Greater Than @@ -507,21 +409,25 @@ TGSI Instruction Specification TBD + Considered for removal. 1.5.27 UP2US - Unpack Two Unsigned 16-Bit Scalars TBD + Considered for removal. 1.5.28 UP4B - Unpack Four Signed 8-Bit Values TBD + Considered for removal. 1.5.29 UP4UB - Unpack Four Unsigned 8-Bit Scalars TBD + Considered for removal. 1.5.30 X2D - 2D Coordinate Transformation @@ -530,6 +436,8 @@ TGSI Instruction Specification dst.z = src0.x + src1.x * src2.x + src1.y * src2.y dst.w = src0.y + src1.x * src2.z + src1.y * src2.w + Considered for removal. + 1.6 GL_NV_vertex_program2 -------------------------- @@ -539,6 +447,7 @@ TGSI Instruction Specification TBD + Considered for removal. 1.6.2 ARR - Address Register Load With Round @@ -552,6 +461,7 @@ TGSI Instruction Specification pc = target + Considered for removal. 1.6.4 CAL - Subroutine Call @@ -563,6 +473,8 @@ TGSI Instruction Specification pc = pop() + Potential restrictions: + * Only occurs at end of function. 1.6.6 SSG - Set Sign @@ -572,27 +484,6 @@ TGSI Instruction Specification dst.w = (src.w > 0.0) ? 1.0 : (src.w < 0.0) ? -1.0 : 0.0 -1.7 GL_ARB_vertex_program --------------------------- - - -1.7.1 SWZ - Extended Swizzle - - dst.x = src.x - dst.y = src.y - dst.z = src.z - dst.w = src.w - - -1.7.2 XPD - Cross Product - - Alias for CROSSPRODUCT. - - -1.8 GL_ARB_fragment_program ----------------------------- - - 1.8.1 CMP - Compare dst.x = (src0.x < 0.0) ? src1.x : src2.x @@ -621,10 +512,6 @@ TGSI Instruction Specification TBD -1.9 GL_NV_fragment_program2 ----------------------------- - - 1.9.1 NRM - 3-component Vector Normalise dst.x = src.x / (src.x * src.x + src.y * src.y + src.z * src.z) @@ -649,11 +536,6 @@ TGSI Instruction Specification dst.w = src0.x * src1.x + src0.y * src1.y -1.9.4 DP2A - 2-component Dot Product And Add - - Alias for DOT2ADD. - - 1.9.5 TXL - Texture Lookup With LOD TBD @@ -682,6 +564,8 @@ TGSI Instruction Specification Note: The destination must be a loop register. The source must be a constant register. + Considered for cleanup / removal. + 1.9.9 REP - Repeat @@ -709,16 +593,13 @@ TGSI Instruction Specification Note: The destination must be a loop register. + Considered for cleanup / removal. 1.9.13 ENDREP - End Repeat TBD -1.10 GL_NV_vertex_program3 ---------------------------- - - 1.10.1 PUSHA - Push Address Register On Stack push(src.x) @@ -726,6 +607,7 @@ TGSI Instruction Specification push(src.z) push(src.w) + Considered for cleanup / removal. 1.10.2 POPA - Pop Address Register From Stack @@ -734,10 +616,13 @@ TGSI Instruction Specification dst.y = pop() dst.x = pop() + Considered for cleanup / removal. + 1.11 GL_NV_gpu_program4 ------------------------ +Support for these opcodes indicated by a special pipe capability bit (TBD). 1.11.1 CEIL - Ceiling @@ -880,87 +765,12 @@ TGSI Instruction Specification TBD -1.13.5 INT - Truncate - - Alias for TRUNC. - - -1.13.6 NOISE1 - 1D Noise - - TBD - - -1.13.7 NOISE2 - 2D Noise - - TBD - - -1.13.8 NOISE3 - 3D Noise - - TBD - - -1.13.9 NOISE4 - 4D Noise - - TBD - 1.13.10 NOP - No Operation Do nothing. -1.14 ps_1_1 ------------- - - -1.14.1 TEXKILL - Conditional Discard - - Alias for KIL. - - -1.15 ps_1_4 ------------- - - -1.15.1 TEXLD - Texture Lookup - - Alias for TEX. - - -1.16 ps_2_0 ------------- - - -1.16.1 M4X4 - Multiply Matrix - - Alias for MULTIPLYMATRIX. - - -1.16.2 M4X3 - Multiply Matrix - - Considered for removal from language. - - -1.16.3 M3X4 - Multiply Matrix - - Considered for removal from language. - - -1.16.4 M3X3 - Multiply Matrix - - Considered for removal from language. - - -1.16.5 M3X2 - Multiply Matrix - - Considered for removal from language. - - -1.16.6 CRS - Cross Product - - Alias for XPD. - 1.16.7 NRM4 - 4-component Vector Normalise @@ -970,30 +780,10 @@ TGSI Instruction Specification dst.w = src.w / (src.x * src.x + src.y * src.y + src.z * src.z + src.w * src.w) -1.16.8 SINCOS - Sine Cosine - - Alias for SCS. - - -1.16.9 TEXLDB - Texture Lookup With Bias - - Alias for TXB. - - -1.16.10 DP2ADD - 2-component Dot Product And Add - - Alias for DP2A. - - 1.17 ps_2_x ------------ -1.17.1 CALL - Subroutine Call - - Alias for CAL. - - 1.17.2 CALLNZ - Subroutine Call If Not Zero TBD @@ -1004,69 +794,11 @@ TGSI Instruction Specification TBD -1.17.4 BREAK - Break - - Alias for BRK. - - 1.17.5 BREAKC - Break Conditional TBD -1.17.6 DSX - Derivative Relative To X - - Alias for DDX. - - -1.17.7 DSY - Derivative Relative To Y - - Alias for DDY. - - -1.17.8 TEXLDD - Texture Lookup with Derivatives - - Alias for TXD. - - -1.18 vs_1_1 ------------- - - -1.18.1 EXPP - Approximate Exponential Base 2 - - Use EXP. See also 1.19.3. - - -1.18.2 LOGP - Logarithm Base 2 - - Use LOG. See also 1.19.4. - - -1.19 vs_2_0 ------------- - - -1.19.1 SGN - Set Sign - - Alias for SSG. - - -1.19.2 MOVA - Move Address Register - - Alias for ARR. - - -1.19.3 EXPP - Approximate Exponential Base 2 - - Use EX2. - - -1.19.4 LOGP - Logarithm Base 2 - - Use LG2. - - 2 Explanation of symbols used ============================== |