diff options
author | Ilia Mirkin <[email protected]> | 2014-09-27 10:50:40 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-10-02 23:30:47 -0400 |
commit | e6acf3ac2445bbc15ab33001077343ac8b486b5b (patch) | |
tree | 308087327902bb525405baa06d100f11e7fa9050 /src/gallium/drivers/freedreno/ir3/ir3.h | |
parent | c49107c889ca3c8c543e847a42bb174a6c3f4c6d (diff) |
freedreno/ir3: add TXD support and expose ARB_shader_texture_lod
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3.h')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3.h b/src/gallium/drivers/freedreno/ir3/ir3.h index d4059ad004a..c73e9cc8d7a 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3.h +++ b/src/gallium/drivers/freedreno/ir3/ir3.h @@ -97,6 +97,8 @@ struct ir3_register { int wrmask; }; +#define IR3_INSTR_SRCS 10 + struct ir3_instruction { struct ir3_block *block; int category; @@ -156,7 +158,7 @@ struct ir3_instruction { } flags; int repeat; unsigned regs_count; - struct ir3_register *regs[5]; + struct ir3_register *regs[1 + IR3_INSTR_SRCS]; union { struct { char inv; @@ -444,7 +446,7 @@ static inline void regmask_set(regmask_t *regmask, struct ir3_register *reg) { unsigned idx = regmask_idx(reg); unsigned i; - for (i = 0; i < 4; i++, idx++) + for (i = 0; i < IR3_INSTR_SRCS; i++, idx++) if (reg->wrmask & (1 << i)) (*regmask)[idx / 8] |= 1 << (idx % 8); } @@ -457,7 +459,7 @@ static inline void regmask_set_if_not(regmask_t *a, { unsigned idx = regmask_idx(reg); unsigned i; - for (i = 0; i < 4; i++, idx++) + for (i = 0; i < IR3_INSTR_SRCS; i++, idx++) if (reg->wrmask & (1 << i)) if (!((*b)[idx / 8] & (1 << (idx % 8)))) (*a)[idx / 8] |= 1 << (idx % 8); @@ -468,7 +470,7 @@ static inline unsigned regmask_get(regmask_t *regmask, { unsigned idx = regmask_idx(reg); unsigned i; - for (i = 0; i < 4; i++, idx++) + for (i = 0; i < IR3_INSTR_SRCS; i++, idx++) if (reg->wrmask & (1 << i)) if ((*regmask)[idx / 8] & (1 << (idx % 8))) return true; |