Mesa (main): gbm: Create device directly in find_backend
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jul 6 17:27:20 UTC 2021
Module: Mesa
Branch: main
Commit: 00b2a45edf69833c4dcc6726e6b3e155ec6cc077
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=00b2a45edf69833c4dcc6726e6b3e155ec6cc077
Author: James Jones <jajones at nvidia.com>
Date: Fri Dec 13 16:14:41 2019 -0800
gbm: Create device directly in find_backend
Signed-off-by: James Jones <jajones at nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer at redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
---
src/gbm/main/backend.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/src/gbm/main/backend.c b/src/gbm/main/backend.c
index 029a177fe64..50c874a86f2 100644
--- a/src/gbm/main/backend.c
+++ b/src/gbm/main/backend.c
@@ -46,20 +46,20 @@ static const struct backend_desc backends[] = {
{ "gbm_dri.so", &gbm_dri_backend },
};
-static const struct backend_desc *
-find_backend(const char *name)
+static struct gbm_device *
+find_backend(const char *name, int fd)
{
- const struct backend_desc *backend = NULL;
+ struct gbm_device *dev = NULL;
unsigned i;
for (i = 0; i < ARRAY_SIZE(backends); ++i) {
if (strcmp(backends[i].name, name) == 0) {
- backend = &backends[i];
+ dev = backends[i].backend->create_device(fd);
break;
}
}
- return backend;
+ return dev;
}
struct gbm_device *
@@ -72,10 +72,7 @@ _gbm_create_device(int fd)
b = getenv("GBM_BACKEND");
if (b)
- backend = find_backend(b);
-
- if (backend)
- dev = backend->backend->create_device(fd);
+ dev = find_backend(b, fd);
for (i = 0; i < ARRAY_SIZE(backends) && dev == NULL; ++i) {
backend = &backends[i];
More information about the mesa-commit
mailing list