diff options
author | Rob Clark <[email protected]> | 2013-11-10 18:29:46 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-02-01 11:53:21 -0500 |
commit | 5c6961efae7d2baa224580af45f8d8968dda3a67 (patch) | |
tree | 2f9a102215f46b115d45be7d155a865ed78a1826 /src/gallium/drivers/freedreno/a3xx/ir-a3xx.h | |
parent | 69eca28dd0e2595ddb9c798dad9d01729addc096 (diff) |
freedreno/a3xx/compiler: compiler cleanups
Drop color/pos/psize_regid, plus a few compiler and IR cleanups.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a3xx/ir-a3xx.h')
-rw-r--r-- | src/gallium/drivers/freedreno/a3xx/ir-a3xx.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/ir-a3xx.h b/src/gallium/drivers/freedreno/a3xx/ir-a3xx.h index 61c01a7f528..b0afe1868eb 100644 --- a/src/gallium/drivers/freedreno/a3xx/ir-a3xx.h +++ b/src/gallium/drivers/freedreno/a3xx/ir-a3xx.h @@ -63,20 +63,24 @@ struct ir3_register { IR3_REG_EI = 0x200, } flags; union { - /* normal registers: */ - struct { - /* the component is in the low two bits of the reg #, so - * rN.x becomes: (n << 2) | x - */ - int num; - int wrmask; - }; + /* normal registers: + * the component is in the low two bits of the reg #, so + * rN.x becomes: (N << 2) | x + */ + int num; /* immediate: */ int iim_val; float fim_val; /* relative: */ int offset; }; + + /* used for cat5 instructions, but also for internal/IR level + * tracking of what registers are read/written by an instruction. + * wrmask may be a bad name since it is used to represent both + * src and dst that touch multiple adjacent registers. + */ + int wrmask; }; struct ir3_instruction { @@ -180,7 +184,8 @@ void ir3_shader_destroy(struct ir3_shader *shader); void * ir3_shader_assemble(struct ir3_shader *shader, struct ir3_shader_info *info); -struct ir3_instruction * ir3_instr_create(struct ir3_shader *shader, int category, opc_t opc); +struct ir3_instruction * ir3_instr_create(struct ir3_shader *shader, + int category, opc_t opc); struct ir3_instruction * ir3_instr_clone(struct ir3_instruction *instr); struct ir3_register * ir3_reg_create(struct ir3_instruction *instr, |