summaryrefslogtreecommitdiffstats
path: root/src/egl
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2019-09-01 17:22:24 +0300
committerLionel Landwerlin <[email protected]>2019-09-02 06:28:06 +0300
commit6775a524004ba15ab281c1391fb24cbf621fe859 (patch)
tree2d12cefcbb6bf66a0714e95fa86d6f3f941fd96a /src/egl
parent87fa8d9ebc0dcd8c0ba1405d590ee6337fce69ba (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]>
Diffstat (limited to 'src/egl')
-rw-r--r--src/egl/main/egldisplay.c9
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;