diff options
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3.h')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3.h b/src/gallium/drivers/freedreno/ir3/ir3.h index 4aebee63355..25268aa9b64 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3.h +++ b/src/gallium/drivers/freedreno/ir3/ir3.h @@ -427,6 +427,12 @@ static inline bool is_mem(struct ir3_instruction *instr) static inline bool is_input(struct ir3_instruction *instr) { + /* in some cases, ldlv is used to fetch varying without + * interpolation.. fortunately inloc is the first src + * register in either case + */ + if (is_mem(instr) && (instr->opc == OPC_LDLV)) + return true; return (instr->category == 2) && (instr->opc == OPC_BARY_F); } |