r300g/compiler/tests: Add an assembly parser
[mesa.git] / src / gallium / drivers / r300 / compiler / radeon_program_constants.h
index 24577333450f5db0633abf244ac5bc1c0c4ca515..e54c6a892dc4f6176533c55c4ec1f8415cc3c275 100644 (file)
@@ -85,7 +85,12 @@ typedef enum {
         * Indicates this register should use the result of the presubtract
         * operation.
         */
-       RC_FILE_PRESUB
+       RC_FILE_PRESUB,
+
+       /**
+        * Indicates that the source index has been encoded as a 7-bit float.
+        */
+       RC_FILE_INLINE
 } rc_register_file;
 
 enum {
@@ -121,6 +126,7 @@ typedef enum {
 
 #define RC_SWIZZLE_XYZW RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_W)
 #define RC_SWIZZLE_XYZ0 RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_ZERO)
+#define RC_SWIZZLE_XYZ1 RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_ONE)
 #define RC_SWIZZLE_XYZZ RC_MAKE_SWIZZLE(RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_Z)
 #define RC_SWIZZLE_XXXX RC_MAKE_SWIZZLE_SMEAR(RC_SWIZZLE_X)
 #define RC_SWIZZLE_YYYY RC_MAKE_SWIZZLE_SMEAR(RC_SWIZZLE_Y)
@@ -170,6 +176,17 @@ typedef enum {
        RC_PRESUB_INV
 } rc_presubtract_op;
 
+typedef enum {
+       RC_OMOD_MUL_1,
+       RC_OMOD_MUL_2,
+       RC_OMOD_MUL_4,
+       RC_OMOD_MUL_8,
+       RC_OMOD_DIV_2,
+       RC_OMOD_DIV_4,
+       RC_OMOD_DIV_8,
+       RC_OMOD_DISABLE
+} rc_omod_op;
+
 static inline int rc_presubtract_src_reg_count(rc_presubtract_op op){
        switch(op){
        case RC_PRESUB_BIAS:
@@ -187,4 +204,10 @@ static inline int rc_presubtract_src_reg_count(rc_presubtract_op op){
 #define RC_SOURCE_RGB   0x1
 #define RC_SOURCE_ALPHA 0x2
 
+typedef enum {
+       RC_PRED_DISABLED,
+       RC_PRED_SET,
+       RC_PRED_INV
+} rc_predicate_mode;
+
 #endif /* RADEON_PROGRAM_CONSTANTS_H */