From feccf4121b6dcd11909a41d497f3540db2e30df3 Mon Sep 17 00:00:00 2001 From: Vasily Khoruzhick Date: Wed, 23 Aug 2023 12:14:30 -0700 Subject: [PATCH] lima: gpir: abort compilation if load_uniform instrinsic src isn't const GP supports indirect indexing of uniforms, but it's never been implemented in GPIR, so just abort compilation instead of crashing an app with assertion failure. Backport-to: 23.3 Backport-to: 24.0 Reviewed-by: Erico Nunes Part-of: --- src/gallium/drivers/lima/ir/gp/nir.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/lima/ir/gp/nir.c b/src/gallium/drivers/lima/ir/gp/nir.c index 765da082ed0..4b02e60a8fc 100644 --- a/src/gallium/drivers/lima/ir/gp/nir.c +++ b/src/gallium/drivers/lima/ir/gp/nir.c @@ -253,6 +253,11 @@ static bool gpir_emit_intrinsic(gpir_block *block, nir_instr *ni) case nir_intrinsic_load_uniform: { int offset = nir_intrinsic_base(instr); + + if (!nir_src_is_const(instr->src[0])) { + gpir_error("indirect indexing for uniforms is not implemented\n"); + return false; + } offset += (int)nir_src_as_float(instr->src[0]); return gpir_create_load(block, &instr->def,