summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2016-04-25 08:24:43 -0400
committerRob Clark <robclark@freedesktop.org>2016-04-25 16:16:21 -0400
commitdfd23abdcce7fb01da842d2fc69d54a04ecdfee2 (patch)
treee270cd84e5eded25c6105e5a5bb7f3c11621e8c5
parent76c6cdd36ae2633688ffa292c1d5cdc38a8f2733 (diff)
freedreno: disallow cat4 immed src
Normally this would never happen (constant-propagation in NIR would eliminate the instruction), except it does happen for 'undef' which we turn into immed 0.0 for bookkeeping purposes. Signed-off-by: Rob Clark <robclark@freedesktop.org>
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_cp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cp.c b/src/gallium/drivers/freedreno/ir3/ir3_cp.c
index e8a2f099391..cec26fa4f57 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_cp.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_cp.c
@@ -176,7 +176,7 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
case 4:
/* seems like blob compiler avoids const as src.. */
/* TODO double check if this is still the case on a4xx */
- if (flags & IR3_REG_CONST)
+ if (flags & (IR3_REG_CONST | IR3_REG_IMMED))
return false;
if (flags & (IR3_REG_SABS | IR3_REG_SNEG))
return false;