i915: fix vertex atan regression

This is a regression happening with the commit 87b99d5797 ("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: c4cec84231 ("nir/i915g/r300/nv30: skip marking varyings as flat in some drivers")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31315>
(cherry picked from commit 6e994fdb6e)
This commit is contained in:
Patrick Lerda 2024-09-18 20:34:53 +02:00 committed by Eric Engestrom
parent 31d25801b2
commit 5daed0f454
2 changed files with 2 additions and 1 deletions

View file

@ -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

View file

@ -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 *