ir3: Skip non-bindless ldc warmups

Non bindless UBOs are pushed in cmdstream, so warmup instructions should
be unnecessary.  And cause hangs on gen8.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38450>
This commit is contained in:
Rob Clark 2025-12-04 14:07:43 -08:00 committed by Marge Bot
parent d3e479b5c5
commit 3e7f200e1f

View file

@ -3428,6 +3428,8 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr)
break;
}
case nir_intrinsic_prefetch_ubo_ir3: {
if (!ir3_bindless_resource(intr->src[0]))
break;
struct ir3_instruction *offset = create_immed(b, 0);
struct ir3_instruction *idx = ir3_get_src(ctx, &intr->src[0])[0];
struct ir3_instruction *ldc = ir3_LDC(b, idx, 0, offset, 0);