Mesa (master): freedreno/ir3: fix small RA bug

Rob Clark robclark at kemper.freedesktop.org
Sun Apr 24 17:43:41 UTC 2016


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

Author: Rob Clark <robclark at freedesktop.org>
Date:   Fri Apr 22 18:39:10 2016 -0400

freedreno/ir3: fix small RA bug

Normally the offset in the group would be the same, but not always.  For
example, in a sam(w) which only writes the 4th component.

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/ir3/ir3_ra.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_ra.c b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
index ed3030d..e0c3c80 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_ra.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
@@ -469,7 +469,8 @@ get_definer(struct ir3_ra_ctx *ctx, struct ir3_instruction *instr,
 
 		*sz = MAX2(*sz, dsz);
 
-		/* Fanout's are grouped, so *off should already valid */
+		debug_assert(instr->opc == OPC_META_FO);
+		*off = MAX2(*off, instr->fo.off);
 
 		d = dd;
 	}




More information about the mesa-commit mailing list