From c92853198e22d411f124a14b4b436602a9c3e2ba Mon Sep 17 00:00:00 2001 From: Lorenzo Rossi Date: Tue, 5 May 2026 16:05:22 +0200 Subject: [PATCH] pan/mid/fuse_io_cvt: Disable fusion on highp As discussed on gitlab, we should not convert before interpolation at highp. Signed-off-by: Lorenzo Rossi Reviewed-by: Lars-Ivar Hesselberg Simonsen --- src/panfrost/compiler/midgard/nir_fuse_io_16.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/panfrost/compiler/midgard/nir_fuse_io_16.c b/src/panfrost/compiler/midgard/nir_fuse_io_16.c index e2b396b633f..2755df550c7 100644 --- a/src/panfrost/compiler/midgard/nir_fuse_io_16.c +++ b/src/panfrost/compiler/midgard/nir_fuse_io_16.c @@ -41,6 +41,10 @@ nir_fuse_io_16(nir_shader *shader) if (intr->def.bit_size != 32) continue; + /* Do not change interpolation precision in highp */ + if (!nir_intrinsic_io_semantics(intr).medium_precision) + continue; + /* We swizzle at a 32-bit level so need a multiple of 2. We could * do a bit better and handle even components though */ if (nir_intrinsic_component(intr))