From c67dba9f9f02e374821f477c8ffe367abfeb9daf Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Sun, 9 Nov 2025 00:30:06 +0100 Subject: [PATCH] rusticl/spirv: preserve signed zeroes by default Cc: mesa-stable Part-of: (cherry picked from commit 92a4ae0ab2ad1494a5bf27d2d1dc86a2476e551e) --- .pick_status.json | 2 +- src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index e929cc0d065..054d0e12485 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -684,7 +684,7 @@ "description": "rusticl/spirv: preserve signed zeroes by default", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs b/src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs index 7a7059a4651..eb824e17ae9 100644 --- a/src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs +++ b/src/gallium/frontends/rusticl/mesa/compiler/clc/spirv.rs @@ -300,13 +300,13 @@ impl SPIRVBin { private_data: ptr::from_mut(log).cast(), }); + let float_controls = float_controls::FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO_FP32 as u32 + | float_controls::FLOAT_CONTROLS_SIGNED_ZERO_PRESERVE as u32; spirv_to_nir_options { create_library: library, environment: nir_spirv_execution_environment::NIR_SPIRV_OPENCL, clc_shader: clc_shader, - float_controls_execution_mode: float_controls::FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO_FP32 - as u32, - + float_controls_execution_mode: float_controls, printf: true, capabilities: caps, constant_addr_format: global_addr_format,