aco_validate: allow for wave32 in p_dual_src_export_gfx11
authorLynne <dev@lynne.ee>
Wed, 15 Mar 2023 18:17:22 +0000 (19:17 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 15 Mar 2023 23:55:41 +0000 (23:55 +0000)
Fixes RADV_PERFTEST=pswave32

Fixes: bb90d29660b ("aco: add p_dual_src_export_gfx11 for dual source blending on GFX11")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21934>

src/amd/compiler/aco_validate.cpp

index a597c93..7bccaa2 100644 (file)
@@ -557,9 +557,8 @@ validate_ir(Program* program)
                check(instr->definitions[2].getTemp().type() == RegType::vgpr &&
                         instr->definitions[2].getTemp().size() == 1,
                      "Third definition of p_dual_src_export_gfx11 must be a v1", instr.get());
-               check(instr->definitions[3].getTemp().type() == RegType::sgpr &&
-                        instr->definitions[3].getTemp().size() == 2,
-                     "Fourth definition of p_dual_src_export_gfx11 must be a s2", instr.get());
+               check(instr->definitions[3].regClass() == program->lane_mask,
+                     "Fourth definition of p_dual_src_export_gfx11 must be a lane mask", instr.get());
                check(instr->definitions[4].physReg() == vcc,
                      "Fifth definition of p_dual_src_export_gfx11 must be vcc", instr.get());
                check(instr->definitions[5].physReg() == scc,