From bfdc95b1094bbd932a1e0e8a2b8e8e2e8ca0dc87 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 26 May 2025 22:58:56 -0400 Subject: [PATCH] nak: Scalarize non-constant ald/ast on Kepler Part-of: --- src/nouveau/compiler/nak_nir_lower_vtg_io.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/nouveau/compiler/nak_nir_lower_vtg_io.c b/src/nouveau/compiler/nak_nir_lower_vtg_io.c index a3b4e45bff2..4c528869c36 100644 --- a/src/nouveau/compiler/nak_nir_lower_vtg_io.c +++ b/src/nouveau/compiler/nak_nir_lower_vtg_io.c @@ -206,6 +206,13 @@ lower_vtg_io_intrin(nir_builder *b, comps = 1; assert(!(c_addr & 0x3)); + /* Vector load/store with non-constant offsets don't work pre-Maxwell. + * They encode fine and they don't throw any shader exceptions but the + * seem to get stuck in the hardware and we get context timeouts. + */ + if (nak->sm < 50 && !offset_is_const) + comps = 1; + nir_def *c_offset = offset; if (flags.phys) { /* Physical addressing has to be scalar */