diff options
author | Lionel Landwerlin <[email protected]> | 2019-09-01 17:22:24 +0300 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2019-09-04 16:14:01 -0700 |
commit | 26cd4074812dab67498afd744c03257c31574cc3 (patch) | |
tree | c3dfae892246a8a04104f365433b129ddbc6c91a /src | |
parent | 451ddeb42945384a92c994023054931d7c55b179 (diff) |
egl: fix platform selection
Add missing "device" platform
v2: Add the missing platform (Eric)
Signed-off-by: Lionel Landwerlin <[email protected]>
Reported-by: Jean Hertel <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111529
Fixes: d6edccee8d ("egl: add EGL_platform_device support")
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 6775a524004ba15ab281c1391fb24cbf621fe859)
Diffstat (limited to 'src')
-rw-r--r-- | src/egl/main/egldisplay.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index c1e8c341ac6..05720015c24 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -38,6 +38,7 @@ #include <unistd.h> #include <fcntl.h> #include "c11/threads.h" +#include "util/macros.h" #include "util/u_atomic.h" #include "eglcontext.h" @@ -66,13 +67,14 @@ static const struct { _EGLPlatformType platform; const char *name; -} egl_platforms[_EGL_NUM_PLATFORMS] = { +} egl_platforms[] = { { _EGL_PLATFORM_X11, "x11" }, { _EGL_PLATFORM_WAYLAND, "wayland" }, { _EGL_PLATFORM_DRM, "drm" }, { _EGL_PLATFORM_ANDROID, "android" }, { _EGL_PLATFORM_HAIKU, "haiku" }, { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, + { _EGL_PLATFORM_DEVICE, "device" }, }; @@ -86,6 +88,9 @@ _eglGetNativePlatformFromEnv(void) const char *plat_name; EGLint i; + static_assert(ARRAY_SIZE(egl_platforms) == _EGL_NUM_PLATFORMS, + "Missing platform"); + plat_name = getenv("EGL_PLATFORM"); /* try deprecated env variable */ if (!plat_name || !plat_name[0]) @@ -93,7 +98,7 @@ _eglGetNativePlatformFromEnv(void) if (!plat_name || !plat_name[0]) return _EGL_INVALID_PLATFORM; - for (i = 0; i < _EGL_NUM_PLATFORMS; i++) { + for (i = 0; i < ARRAY_SIZE(egl_platforms); i++) { if (strcmp(egl_platforms[i].name, plat_name) == 0) { plat = egl_platforms[i].platform; break; |