aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-06-16 13:07:02 -0400
committerAlyssa Rosenzweig <[email protected]>2020-07-02 13:37:10 -0400
commitd838cb96a57f00c8a15ceca0b1a25fb786af622f (patch)
tree87d4a3e9e2c2a00799b6e9cb81f52dede9ffc863 /src/panfrost/midgard
parent78df3b037573ab8d3231a7fc01a4e458a2049cba (diff)
pan/mdg: Defer nir_fuse_io_16 until after opts
Sometimes DCE/etc can opt out things that would force 32-bit, so this is worthwhile. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5513>
Diffstat (limited to 'src/panfrost/midgard')
-rw-r--r--src/panfrost/midgard/midgard_compile.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 117ee757162..f9198288ba8 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -473,9 +473,6 @@ optimise_nir(nir_shader *nir, unsigned quirks, bool is_blend)
NIR_PASS(progress, nir, midgard_nir_lower_algebraic_early);
- if (!is_blend)
- NIR_PASS(progress, nir, nir_fuse_io_16);
-
do {
progress = false;
@@ -522,6 +519,10 @@ optimise_nir(nir_shader *nir, unsigned quirks, bool is_blend)
NIR_PASS(progress, nir, nir_opt_vectorize);
} while (progress);
+ /* Run after opts so it can hit more */
+ if (!is_blend)
+ NIR_PASS(progress, nir, nir_fuse_io_16);
+
/* Must be run at the end to prevent creation of fsin/fcos ops */
NIR_PASS(progress, nir, midgard_nir_scale_trig);