Mesa (master): freedreno: disallow cat4 immed src

Rob Clark robclark at kemper.freedesktop.org
Mon Apr 25 20:29:11 UTC 2016


Module: Mesa
Branch: master
Commit: dfd23abdcce7fb01da842d2fc69d54a04ecdfee2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfd23abdcce7fb01da842d2fc69d54a04ecdfee2

Author: Rob Clark <robclark at freedesktop.org>
Date:   Mon Apr 25 08:24:43 2016 -0400

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 at freedesktop.org>

---

 src/gallium/drivers/freedreno/ir3/ir3_cp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cp.c b/src/gallium/drivers/freedreno/ir3/ir3_cp.c
index e8a2f09..cec26fa 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;




More information about the mesa-commit mailing list