lima/gpir: Always schedule complex2 and *_impl right after complex1
[mesa.git] / src / gallium / drivers / r300 / compiler / radeon_opcodes.h
index b58688206116b7785b9aefc581d23fbda8e9ae18..1c425050727e2c1f607926a92e9d621e16484978 100644 (file)
@@ -47,6 +47,10 @@ typedef enum {
         * dst.x = floor(src.x), where dst must be an address register */
        RC_OPCODE_ARL,
 
+       /** special instruction: load address register with round
+        * dst.x = round(src.x), where dst must be an address register */
+       RC_OPCODE_ARR,
+
        /** vec4 instruction: dst.c = ceil(src0.c) */
        RC_OPCODE_CEIL,
 
@@ -133,6 +137,9 @@ typedef enum {
        /** scalar instruction: dst = 1 / src0.x */
        RC_OPCODE_RCP,
 
+       /** vec4 instruction: dst.c = floor(src0.c + 0.5) */
+       RC_OPCODE_ROUND,
+
        /** scalar instruction: dst = 1 / sqrt(src0.x) */
        RC_OPCODE_RSQ,
 
@@ -172,6 +179,9 @@ typedef enum {
        /** vec4 instruction: dst.c = src0.c */
        RC_OPCODE_SWZ,
 
+       /** vec4 instruction: dst.c = (abs(src0.c) - fract(abs(src0.c))) * sgn(src0.c) */
+       RC_OPCODE_TRUNC,
+
        /** special instruction, see ARB_fragment_program */
        RC_OPCODE_XPD,
 
@@ -214,6 +224,21 @@ typedef enum {
        /** Stop execution of the shader (GLSL discard) */
        RC_OPCODE_KILP,
 
+       /* Vertex shader CF Instructions */
+       RC_ME_PRED_SEQ,
+       RC_ME_PRED_SGT,
+       RC_ME_PRED_SGE,
+       RC_ME_PRED_SNEQ,
+       RC_ME_PRED_SET_CLR,
+       RC_ME_PRED_SET_INV,
+       RC_ME_PRED_SET_POP,
+       RC_ME_PRED_SET_RESTORE,
+
+       RC_VE_PRED_SEQ_PUSH,
+       RC_VE_PRED_SGT_PUSH,
+       RC_VE_PRED_SGE_PUSH,
+       RC_VE_PRED_SNEQ_PUSH,
+
        MAX_RC_OPCODE
 } rc_opcode;