etnaviv: add debug option to disable linear PE feature

Linear PE has already shown to have some rough corner cases in the hardware
and also has performance implications. Add a debug option to allow to disable
the feature, so users can more easily check if some issue is caused by this
feature.

CC: mesa-stable #22.2
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18232>
This commit is contained in:
Lucas Stach 2022-08-25 14:16:37 +02:00 committed by Marge Bot
parent ea8fc9592c
commit 43eb5e777e
2 changed files with 4 additions and 0 deletions

View file

@ -56,6 +56,7 @@
#define ETNA_DBG_NO_SINGLEBUF 0x1000000 /* disable single buffer feature */
#define ETNA_DBG_DEQP 0x2000000 /* Hacks to run dEQP GLES3 tests */
#define ETNA_DBG_NOCACHE 0x4000000 /* Disable shader cache */
#define ETNA_DBG_NO_LINEAR_PE 0x8000000 /* Disable linear PE */
extern int etna_mesa_debug; /* set in etnaviv_screen.c from ETNA_MESA_DEBUG */

View file

@ -74,6 +74,7 @@ static const struct debug_named_value etna_debug_options[] = {
{"no_singlebuffer",ETNA_DBG_NO_SINGLEBUF, "Disable single buffer feature"},
{"deqp", ETNA_DBG_DEQP, "Hacks to run dEQP GLES3 tests"}, /* needs MESA_GLES_VERSION_OVERRIDE=3.0 */
{"nocache", ETNA_DBG_NOCACHE, "Disable shader cache"},
{"no_linear_pe", ETNA_DBG_NO_LINEAR_PE, "Disable linear PE"},
DEBUG_NAMED_VALUE_END
};
@ -1116,6 +1117,8 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
screen->specs.can_supertile = 0;
if (DBG_ENABLED(ETNA_DBG_NO_SINGLEBUF))
screen->specs.single_buffer = 0;
if (DBG_ENABLED(ETNA_DBG_NO_LINEAR_PE))
screen->features[viv_chipMinorFeatures2] &= ~chipMinorFeatures2_LINEAR_PE;
pscreen->destroy = etna_screen_destroy;
pscreen->get_param = etna_screen_get_param;