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: 3e47a1181b ("panfrost: Add MALI_SAMP_NORM_COORDS flag")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
@@ -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,
|
||||
nir_lower_tex_options lower_tex_options = {
|
||||
.lower_txs_lod = true,
|
||||
.lower_txp = ~0
|
||||
};
|
||||
|
||||
nir_lower_tex_options lower_tex_2nd_pass_options = {
|
||||
.lower_txs_lod = true,
|
||||
};
|
||||
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user