etnaviv: Fix disabling of features

We must disable features before we fill our internal etna_specs
struct with etna_get_specs(..).

Fixes: d600b45ccc ("etnaviv: Switch to etna_core APIs")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28757>
This commit is contained in:
Christian Gmeiner
2024-04-16 08:19:25 +02:00
committed by Marge Bot
parent 518d365d06
commit 295fa01db8
+7 -7
View File
@@ -1077,13 +1077,6 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
goto fail;
}
etna_get_specs(screen);
if (screen->specs.halti >= 5 && !etnaviv_device_softpin_capable(dev)) {
DBG("halti5 requires softpin");
goto fail;
}
/* apply debug options that disable individual features */
if (DBG_ENABLED(ETNA_DBG_NO_EARLY_Z))
etna_core_disable_feature(screen->info, ETNA_FEATURE_NO_EARLY_Z);
@@ -1098,6 +1091,13 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
if (!DBG_ENABLED(ETNA_DBG_LINEAR_PE))
etna_core_disable_feature(screen->info, ETNA_FEATURE_LINEAR_PE);
etna_get_specs(screen);
if (screen->specs.halti >= 5 && !etnaviv_device_softpin_capable(dev)) {
DBG("halti5 requires softpin");
goto fail;
}
pscreen->destroy = etna_screen_destroy;
pscreen->get_screen_fd = etna_screen_get_fd;
pscreen->get_param = etna_screen_get_param;