From 8760c36579578e12f443485bf8595d8ae83c4db4 Mon Sep 17 00:00:00 2001 From: Job Noorman Date: Tue, 19 Aug 2025 08:35:37 +0200 Subject: [PATCH] ir3: use shared srcs for demote/kill condition No reason to force vector srcs. Signed-off-by: Job Noorman Part-of: --- src/freedreno/ir3/ir3_compiler_nir.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index 290e272ebd8..71b42e9142b 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -3126,11 +3126,12 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr) if (intr->intrinsic == nir_intrinsic_demote_if || intr->intrinsic == nir_intrinsic_terminate_if) { /* conditional discard: */ - src = ir3_get_src(ctx, &intr->src[0]); + src = ir3_get_src_maybe_shared(ctx, &intr->src[0]); cond = src[0]; } else { /* unconditional discard: */ - cond = create_immed_typed(b, 1, ctx->compiler->bool_type); + cond = create_immed_typed_shared(b, 1, ctx->compiler->bool_type, + ctx->compiler->has_scalar_alu); } cond = ir3_get_predicate(ctx, cond);