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,