From fee87679bf9435ae670006bc98dee660ec28d92c Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sat, 13 Dec 2025 09:51:02 +0100 Subject: [PATCH] radv/nir: fix front_face_fsign opt If front facing primitives are culled, there are only back facing fragments left. Fixes: 0fe8250bf41 ("radv: optimize known front_face_fsign too") Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/nir/radv_nir_opt_fs_builtins.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/nir/radv_nir_opt_fs_builtins.c b/src/amd/vulkan/nir/radv_nir_opt_fs_builtins.c index 38bede72cc6..4974425b0cc 100644 --- a/src/amd/vulkan/nir/radv_nir_opt_fs_builtins.c +++ b/src/amd/vulkan/nir/radv_nir_opt_fs_builtins.c @@ -25,9 +25,9 @@ pass(nir_builder *b, nir_intrinsic_instr *intr, void *data) } } else if (intr->intrinsic == nir_intrinsic_load_front_face_fsign) { if (gfx_state->rs.cull_mode == VK_CULL_MODE_FRONT_BIT) { - replacement = nir_imm_float(b, 1.0); - } else if (gfx_state->rs.cull_mode == VK_CULL_MODE_BACK_BIT) { replacement = nir_imm_float(b, -1.0); + } else if (gfx_state->rs.cull_mode == VK_CULL_MODE_BACK_BIT) { + replacement = nir_imm_float(b, 1.0); } } else if (intr->intrinsic == nir_intrinsic_load_sample_id) { if (!gfx_state->dynamic_rasterization_samples && gfx_state->ms.rasterization_samples == 0) {