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@collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16798>
This commit is contained in:
Alyssa Rosenzweig 2022-05-19 12:29:01 -04:00
parent 1d815548ab
commit 9e4b457958
2 changed files with 3 additions and 2 deletions

View File

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

View File

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