Mesa (master): freedreno/ir3/cp: fix ldib bug

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Mar 15 17:53:03 UTC 2019


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

Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Feb 26 14:46:45 2019 -0500

freedreno/ir3/cp: fix ldib bug

Something that we didn't hit earlier because of the extra shr.b

Signed-off-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg at chromium.org>

---

 src/freedreno/ir3/ir3_cp.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/freedreno/ir3/ir3_cp.c b/src/freedreno/ir3/ir3_cp.c
index 76e13a05bf6..bbc85b12198 100644
--- a/src/freedreno/ir3/ir3_cp.c
+++ b/src/freedreno/ir3/ir3_cp.c
@@ -210,6 +210,12 @@ static bool valid_flags(struct ir3_instruction *instr, unsigned n,
 
 			if (is_atomic(instr->opc) && !(instr->flags & IR3_INSTR_G))
 				return false;
+
+			/* as with atomics, ldib on a6xx can only have immediate for
+			 * SSBO slot argument
+			 */
+			if ((instr->opc == OPC_LDIB) && (n != 0))
+				return false;
 		}
 
 		break;




More information about the mesa-commit mailing list