ir3: Only run 16bit tex NIR passes on a5xx+.
authorGeorg Lehmann <dadschoorse@gmail.com>
Tue, 19 Jul 2022 18:48:42 +0000 (20:48 +0200)
committerMarge Bot <emma+marge@anholt.net>
Thu, 21 Jul 2022 19:15:03 +0000 (19:15 +0000)
16bit types aren't yet supported on older hardware.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16978>

src/freedreno/ir3/ir3_nir.c

index 0b0cc73..d9a20bc 100644 (file)
@@ -765,7 +765,7 @@ ir3_nir_lower_variant(struct ir3_shader_variant *so, nir_shader *s)
    bool more_late_algebraic = true;
    while (more_late_algebraic) {
       more_late_algebraic = OPT(s, nir_opt_algebraic_late);
-      if (!more_late_algebraic) {
+      if (!more_late_algebraic && so->compiler->gen >= 5) {
          /* Lowers texture operations that have only f2f16 or u2u16 called on
           * them to have a 16-bit destination.  Also, lower 16-bit texture
           * coordinates that had been upconverted to 32-bits just for the