Mesa (main): pan/mdg: Scalarize with 64-bit sources
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 19:43:04 UTC 2022
Module: Mesa
Branch: main
Commit: 9e4b45795866547a5debecd122d6e72af6a9c603
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e4b45795866547a5debecd122d6e72af6a9c603
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Thu May 19 12:29:01 2022 -0400
pan/mdg: Scalarize with 64-bit sources
Otherwise, we can get vec3 with u2u32 with 64-bit sources which we need lowered.
Since our current approach is "scalarize all 64-bit ops", we need to check for
conversions too.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>
---
src/panfrost/ci/panfrost-t860-fails.txt | 2 --
src/panfrost/midgard/midgard_compile.c | 3 +++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/panfrost/ci/panfrost-t860-fails.txt b/src/panfrost/ci/panfrost-t860-fails.txt
index c05cbd19824..aa6c90151bd 100644
--- a/src/panfrost/ci/panfrost-t860-fails.txt
+++ b/src/panfrost/ci/panfrost-t860-fails.txt
@@ -88,7 +88,5 @@ dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_uint_2d_array,F
dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_int_2d,Fail
dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_int_2d_array,Fail
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended.ivec3_highp_compute,Fail
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended.uvec3_highp_compute,Fail
dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended.ivec4_highp_vertex,Fail
dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended.uvec4_highp_vertex,Fail
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 3c17819750c..2874e49ff2c 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -287,6 +287,9 @@ mdg_should_scalarize(const nir_instr *instr, const void *_unused)
{
const nir_alu_instr *alu = nir_instr_as_alu(instr);
+ if (nir_src_bit_size(alu->src[0].src) == 64)
+ return true;
+
if (nir_dest_bit_size(alu->dest.dest) == 64)
return true;
More information about the mesa-commit
mailing list