radv/nir/lower_cmat: fix gfx11 B->ACC conversion

Of course I messed up the one path that's not tested by CTS.

Fixes: 249ccc6b4c ("radv/nir/lower_cmat: implement use conversions/transpose")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35713>
This commit is contained in:
Georg Lehmann
2025-06-24 15:34:42 +02:00
committed by Marge Bot
parent 7d329d615a
commit 4ac6aae3a4
@@ -265,10 +265,10 @@ convert_use(nir_builder *b, nir_def *src, enum glsl_cmat_use src_use, enum glsl_
for (unsigned keep32 = 0; keep32 < ((params->wave_size == 64) ? 2 : 1); keep32++) {
nir_def *ballot = nir_imm_intN_t(b, keep32 ? UINT32_MAX : 0xffff0000ffffull, params->wave_size);
nir_def *keep = nir_inverse_ballot(b, 1, ballot);
for (unsigned i = 0; i < num_comps; i++) {
components[i] = nir_bcsel(b, keep, components[i], components[i + 1]);
}
num_comps /= 2;
for (unsigned i = 0; i < num_comps; i++) {
components[i] = nir_bcsel(b, keep, components[i * 2], components[i * 2 + 1]);
}
}
} else if ((src_use == GLSL_CMAT_USE_A && dst_use == GLSL_CMAT_USE_B) ||
(src_use == GLSL_CMAT_USE_B && dst_use == GLSL_CMAT_USE_A)) {