nir: skip nir_op_unpack_32_4x8 in nir_lower_alu_width
authorMarek Olšák <marek.olsak@amd.com>
Sat, 5 Nov 2022 07:45:20 +0000 (03:45 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 3 Mar 2023 03:27:40 +0000 (03:27 +0000)
The pass can't handle it just like the other unpack opcodes and generates
invalid NIR.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19399>

src/compiler/nir/nir_lower_alu_width.c

index c75fc75..9b1b3d0 100644 (file)
@@ -328,6 +328,7 @@ lower_alu_instr_width(nir_builder *b, nir_instr *instr, void *_data)
    case nir_op_unpack_64_2x32:
    case nir_op_unpack_64_4x16:
    case nir_op_unpack_32_2x16:
+   case nir_op_unpack_32_4x8:
    case nir_op_unpack_double_2x32_dxil:
       return NULL;