summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2019-08-14 08:44:40 -0700
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2019-08-14 16:57:42 -0700
commit44a6c38bd678f34c6a3c5446bfc422de13f45f8e (patch)
treebac061b09fc42de159ff2f2ef146a740082db3a1
parent6fe4822cca42ada57b24992d73f9bfb94031da03 (diff)
panfrost: Implement native RECT textures
We started honouring the normalized_coords flag in the texture descriptor, but a bisection revealed that broke RECT textures -- since we were *also* lowering them in the shader. So just remove the shader-based lowering, use native RECT textures, and enjoy the nominal reduction in complexity and performance boost. Fixes: 3e47a1181b7 ("panfrost: Add MALI_SAMP_NORM_COORDS flag") Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-rw-r--r--src/panfrost/midgard/midgard_compile.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 23d2e6021d5..59a323c828b 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -460,17 +460,12 @@ optimise_nir(nir_shader *nir)
NIR_PASS(progress, nir, midgard_nir_lower_fdot2);
NIR_PASS(progress, nir, nir_lower_idiv);
- nir_lower_tex_options lower_tex_1st_pass_options = {
- .lower_rect = true,
- .lower_txp = ~0
- };
-
- nir_lower_tex_options lower_tex_2nd_pass_options = {
+ nir_lower_tex_options lower_tex_options = {
.lower_txs_lod = true,
+ .lower_txp = ~0
};
- NIR_PASS(progress, nir, nir_lower_tex, &lower_tex_1st_pass_options);
- NIR_PASS(progress, nir, nir_lower_tex, &lower_tex_2nd_pass_options);
+ NIR_PASS(progress, nir, nir_lower_tex, &lower_tex_options);
do {
progress = false;
@@ -1653,6 +1648,7 @@ midgard_tex_format(enum glsl_sampler_dim dim)
case GLSL_SAMPLER_DIM_2D:
case GLSL_SAMPLER_DIM_EXTERNAL:
+ case GLSL_SAMPLER_DIM_RECT:
return MALI_TEX_2D;
case GLSL_SAMPLER_DIM_3D: