summaryrefslogtreecommitdiffstats
path: root/src/broadcom/compiler/vir.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-12-20 09:43:43 -0800
committerEric Anholt <[email protected]>2019-01-04 15:59:59 -0800
commit8847370424b12fc83a069eb80cfde76b348a7aec (patch)
treedbb59cf5fa6a53b071f748773f8b321733a1e0b8 /src/broadcom/compiler/vir.c
parentf217a94542154cff8254e0ca5e5ca986c2394be3 (diff)
v3d: Use the core tex lowering.
Even without any clever optimization on the unpack operations, this gives us a useful value for the channels read field, which we can use to avoid ldtmu instructions to the no-op register. instructions in affected programs: 890712 -> 881974 (-0.98%)
Diffstat (limited to 'src/broadcom/compiler/vir.c')
-rw-r--r--src/broadcom/compiler/vir.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c
index 6eb346ce9fd..01e18ffd074 100644
--- a/src/broadcom/compiler/vir.c
+++ b/src/broadcom/compiler/vir.c
@@ -630,6 +630,10 @@ v3d_lower_nir(struct v3d_compile *c)
tex_options.saturate_t |= 1 << i;
if (c->key->tex[i].clamp_r)
tex_options.saturate_r |= 1 << i;
+ if (c->key->tex[i].return_size == 16) {
+ tex_options.lower_tex_packing[i] =
+ nir_lower_tex_packing_16;
+ }
}
NIR_PASS_V(c->s, nir_lower_tex, &tex_options);