diff options
author | Jerome Glisse <[email protected]> | 2010-06-05 13:16:50 +0200 |
---|---|---|
committer | Jerome Glisse <[email protected]> | 2010-06-05 17:13:25 +0200 |
commit | 0db388eedd5a537e783faaa1ba1a1d101d20e647 (patch) | |
tree | fc4ffbd99032104fc67cc5546b5a13366b52290d /src/gallium/drivers/r600/r600_compiler.h | |
parent | 7643f45b107c9b4e6cf57711909791beaaf79ba2 (diff) |
r600g: split instruction into scalar
Split instruction into scalar in core compiler this simplify
the way we translate the instruction in latter stage.
Signed-off-by: Jerome Glisse <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_compiler.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_compiler.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/gallium/drivers/r600/r600_compiler.h b/src/gallium/drivers/r600/r600_compiler.h index 64dab5000be..3de19970c31 100644 --- a/src/gallium/drivers/r600/r600_compiler.h +++ b/src/gallium/drivers/r600/r600_compiler.h @@ -71,7 +71,7 @@ struct c_vector { #define C_SWIZZLE_W 3 #define C_SWIZZLE_0 4 #define C_SWIZZLE_1 5 -#define C_SWIZZLE_D 6 /**< discard */ +#define C_SWIZZLE_D 6 #define C_FILE_NULL 0 #define C_FILE_CONSTANT 1 @@ -247,18 +247,21 @@ struct c_vector { struct c_operand { struct c_vector *vector; - unsigned swizzle[4]; - unsigned flag[4]; + unsigned swizzle; + unsigned flag; }; -struct c_instruction { - struct c_instruction *next, *prev; - unsigned opcode; +struct c_op { unsigned ninput; struct c_operand input[3]; struct c_operand output; - unsigned write_mask; - void *backend; + unsigned opcode; +}; + +struct c_instruction { + struct c_instruction *next, *prev; + unsigned nop; + struct c_op op[5]; }; struct c_node; |