EGL: detect platform gbm vendor capability

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Emil Velikov 2017-06-05 18:30:06 +01:00 committed by Emil Velikov
parent 6bcecd8f33
commit b559273fbd
2 changed files with 10 additions and 0 deletions

View file

@ -369,6 +369,8 @@ static void CheckVendorExtensionString(__EGLvendorInfo *vendor, const char *str)
static const char NAME_DEVICE_BASE[] = "EGL_EXT_device_base";
static const char NAME_DEVICE_ENUM[] = "EGL_EXT_device_enumeration";
static const char NAME_PLATFORM_DEVICE[] = "EGL_EXT_platform_device";
static const char NAME_MESA_PLATFORM_GBM[] = "EGL_MESA_platform_gbm";
static const char NAME_KHR_PLATFORM_GBM[] = "EGL_KHR_platform_gbm";
static const char NAME_EXT_PLATFORM_WAYLAND[] = "EGL_EXT_platform_wayland";
static const char NAME_KHR_PLATFORM_WAYLAND[] = "EGL_KHR_platform_wayland";
static const char NAME_EXT_PLATFORM_X11[] = "EGL_EXT_platform_x11";
@ -391,6 +393,13 @@ static void CheckVendorExtensionString(__EGLvendorInfo *vendor, const char *str)
}
}
if (!vendor->supportsPlatformGbm) {
if (IsTokenInString(str, NAME_MESA_PLATFORM_GBM, sizeof(NAME_MESA_PLATFORM_GBM) - 1, " ")
|| IsTokenInString(str, NAME_KHR_PLATFORM_GBM, sizeof(NAME_KHR_PLATFORM_GBM) - 1, " ")) {
vendor->supportsPlatformGbm = EGL_TRUE;
}
}
if (!vendor->supportsPlatformWayland) {
if (IsTokenInString(str, NAME_EXT_PLATFORM_WAYLAND, sizeof(NAME_EXT_PLATFORM_WAYLAND) - 1, " ")
|| IsTokenInString(str, NAME_KHR_PLATFORM_WAYLAND, sizeof(NAME_KHR_PLATFORM_WAYLAND) - 1, " ")) {

View file

@ -31,6 +31,7 @@ struct __EGLvendorInfoRec {
EGLBoolean supportsDevice;
EGLBoolean supportsPlatformDevice;
EGLBoolean supportsPlatformGbm;
EGLBoolean supportsPlatformX11;
EGLBoolean supportsPlatformWayland;