Mesa (main): ir3: Use correct flags for movmsk & multi-mov

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 29 08:25:32 UTC 2021


Module: Mesa
Branch: main
Commit: 81812accccc2076e0b8dc466149a8f551dea9805
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81812accccc2076e0b8dc466149a8f551dea9805

Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Thu Apr 22 19:40:00 2021 +0200

ir3: Use correct flags for movmsk & multi-mov

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11565>

---

 src/freedreno/ir3/ir3.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c
index 9d9bf7d643e..977b87ba834 100644
--- a/src/freedreno/ir3/ir3.c
+++ b/src/freedreno/ir3/ir3.c
@@ -748,7 +748,16 @@ ir3_valid_flags(struct ir3_instruction *instr, unsigned n,
 	case 0: /* end, chmask */
 		return flags == 0;
 	case 1:
-		valid_flags = IR3_REG_IMMED | IR3_REG_CONST | IR3_REG_RELATIV;
+		switch (instr->opc) {
+			case OPC_MOVMSK:
+			case OPC_SWZ:
+			case OPC_SCT:
+			case OPC_GAT:
+				valid_flags = 0;
+				break;
+			default:
+				valid_flags = IR3_REG_IMMED | IR3_REG_CONST | IR3_REG_RELATIV;
+		}
 		if (flags & ~valid_flags)
 			return false;
 		break;



More information about the mesa-commit mailing list