From 4742d9bc1a62f44ab22741417035b481a6fb0cd8 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 12 Mar 2024 10:01:29 -0400 Subject: [PATCH] gbm: plumb an 'implicit' param through device creation this is always true except in the software fallback Acked-by: Dave Airlie Part-of: --- src/gbm/backends/dri/gbm_dri.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c index d8a0574d16a..3f85e986a2a 100644 --- a/src/gbm/backends/dri/gbm_dri.c +++ b/src/gbm/backends/dri/gbm_dri.c @@ -287,7 +287,7 @@ dri_open_driver(struct gbm_dri_device *dri) } static int -dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name) +dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name, bool implicit) { bool swrast = driver_name == NULL; /* If it's pure swrast, not just swkms. */ @@ -318,7 +318,7 @@ dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name) dri->screen = dri->mesa->createNewScreen3(0, swrast ? -1 : dri->base.v0.fd, dri->loader_extensions, dri->driver_extensions, - &dri->driver_configs, false, dri); + &dri->driver_configs, implicit, dri); if (dri->screen == NULL) goto close_driver; @@ -348,7 +348,7 @@ fail: } static int -dri_screen_create(struct gbm_dri_device *dri) +dri_screen_create(struct gbm_dri_device *dri, bool implicit) { char *driver_name; @@ -356,11 +356,11 @@ dri_screen_create(struct gbm_dri_device *dri) if (!driver_name) return -1; - return dri_screen_create_for_driver(dri, driver_name); + return dri_screen_create_for_driver(dri, driver_name, implicit); } static int -dri_screen_create_sw(struct gbm_dri_device *dri) +dri_screen_create_sw(struct gbm_dri_device *dri, bool implicit) { char *driver_name; int ret; @@ -369,9 +369,9 @@ dri_screen_create_sw(struct gbm_dri_device *dri) if (!driver_name) return -errno; - ret = dri_screen_create_for_driver(dri, driver_name); + ret = dri_screen_create_for_driver(dri, driver_name, implicit); if (ret != 0) - ret = dri_screen_create_for_driver(dri, NULL); + ret = dri_screen_create_for_driver(dri, NULL, implicit); if (ret != 0) return ret; @@ -1202,11 +1202,11 @@ dri_device_create(int fd, uint32_t gbm_backend_version) force_sw = debug_get_bool_option("GBM_ALWAYS_SOFTWARE", false); if (!force_sw) { - ret = dri_screen_create(dri); + ret = dri_screen_create(dri, false); if (ret) - ret = dri_screen_create_sw(dri); + ret = dri_screen_create_sw(dri, true); } else { - ret = dri_screen_create_sw(dri); + ret = dri_screen_create_sw(dri, false); } if (ret)