gbm: Consolidate env var and default backend loops

Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
This commit is contained in:
James Jones 2019-12-13 16:20:02 -08:00 committed by Marge Bot
parent 00b2a45edf
commit af1f517ab9
1 changed files with 7 additions and 12 deletions

View File

@ -52,11 +52,11 @@ find_backend(const char *name, int fd)
struct gbm_device *dev = NULL;
unsigned i;
for (i = 0; i < ARRAY_SIZE(backends); ++i) {
if (strcmp(backends[i].name, name) == 0) {
dev = backends[i].backend->create_device(fd);
break;
}
for (i = 0; i < ARRAY_SIZE(backends) && dev == NULL; ++i) {
if (name && strcmp(backends[i].name, name))
continue;
dev = backends[i].backend->create_device(fd);
}
return dev;
@ -65,20 +65,15 @@ find_backend(const char *name, int fd)
struct gbm_device *
_gbm_create_device(int fd)
{
const struct backend_desc *backend = NULL;
struct gbm_device *dev = NULL;
unsigned i;
const char *b;
b = getenv("GBM_BACKEND");
if (b)
dev = find_backend(b, fd);
for (i = 0; i < ARRAY_SIZE(backends) && dev == NULL; ++i) {
backend = &backends[i];
if (!dev)
dev = find_backend(NULL, fd);
dev = backend->backend->create_device(fd);
}
return dev;
}