From eb2cffbde447cae0edf1dcb93c6697f09145937a Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Mon, 13 Apr 2026 17:14:37 +0300 Subject: [PATCH] brw: don't support frontfacing ternary optimization on != 32bit Fix shader compilation on Crimson Desert : 16 %1995 = b32csel %1992, %1993, %1994 Signed-off-by: Lionel Landwerlin Cc: mesa-stable Reviewed-by: Alyssa Rosenzweig (cherry picked from commit a84c12414c3681e0ac63e86ff4d0b6c3fe7c8b32) Part-of: --- .pick_status.json | 2 +- src/intel/compiler/brw/brw_from_nir.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index a7e20e2960b..cf97a78d2e9 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -624,7 +624,7 @@ "description": "brw: don't support frontfacing ternary optimization on != 32bit", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/intel/compiler/brw/brw_from_nir.cpp b/src/intel/compiler/brw/brw_from_nir.cpp index 63bf37f2277..d63dd3fe212 100644 --- a/src/intel/compiler/brw/brw_from_nir.cpp +++ b/src/intel/compiler/brw/brw_from_nir.cpp @@ -598,6 +598,9 @@ optimize_frontfacing_ternary(nir_to_brw_state &ntb, const intel_device_info *devinfo = ntb.devinfo; brw_shader &s = ntb.s; + if (instr->def.bit_size != 32) + return false; + nir_intrinsic_instr *src0 = nir_src_as_intrinsic(instr->src[0].src); if (src0 == NULL || src0->intrinsic != nir_intrinsic_load_front_face) return false;