From 5daed0f454644ddb49712ef4b946687362631a29 Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Wed, 18 Sep 2024 20:34:53 +0200 Subject: [PATCH] i915: fix vertex atan regression This is a regression happening with the commit 87b99d579772 ("nir: use copysign for atan"). Indeed, the opcode "copysign" was generating an incompatible i915 sequence. For instance, this issue is triggered with "deqp-gles2 --deqp-case=dEQP-GLES2.functional.shaders.operator.angle_and_trigonometry.atan2.highp_float_vertex": deqp-gles2: ../src/compiler/nir/nir_lower_int_to_float.c:239: lower_alu_instr: Assertion `nir_alu_type_get_base_type(info->output_type) != nir_type_int && nir_alu_type_get_base_type(info->output_type) != nir_type_uint' failed. Fixes: c4cec8423153 ("nir/i915g/r300/nv30: skip marking varyings as flat in some drivers") Signed-off-by: Patrick Lerda Reviewed-by: Georg Lehmann Part-of: (cherry picked from commit 6e994fdb6eb01b553fa75a41bf271ba92da49f66) --- .pick_status.json | 2 +- src/gallium/drivers/i915/i915_screen.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 2fe4518483c..7d80a05db5b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -44,7 +44,7 @@ "description": "i915: fix vertex atan regression", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c4cec842315313a24342d1d9a4dbd4ad11fbdd6c", "notes": null diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 8b4746bf49c..98190274562 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -171,6 +171,7 @@ static const struct nir_shader_compiler_options gallivm_nir_options = { .lower_vector_cmp = true, .lower_device_index_to_zero = true, /* .support_16bit_alu = true, */ + .no_integers = true, }; static const void *