[Mesa-dev] [PATCH 3/4] egl/dri2: check if the EGL API is valid before adding it to ClientAPIs
Emil Velikov
emil.l.velikov at gmail.com
Thu Aug 25 16:07:14 UTC 2016
From: Emil Velikov <emil.velikov at collabora.com>
In the rather unlikely case that the API is considered invalid, don't
add it to the (supported) ClientAPIs bitmask.
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
Strictly speaking we only need this in the Android case for OpenGL.
Adding it everywhere doesn't hurt us since the compiler will const
propagate and optimise/remove these.
---
src/egl/drivers/dri2/egl_dri2.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index e854903..19f54de 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -593,13 +593,13 @@ dri2_setup_screen(_EGLDisplay *disp)
}
disp->ClientAPIs = 0;
- if (api_mask & (1 <<__DRI_API_OPENGL))
+ if ((api_mask & (1 <<__DRI_API_OPENGL)) && _eglIsApiValid(EGL_OPENGL_API))
disp->ClientAPIs |= EGL_OPENGL_BIT;
- if (api_mask & (1 <<__DRI_API_GLES))
+ if ((api_mask & (1 << __DRI_API_GLES)) && _eglIsApiValid(EGL_OPENGL_ES_API))
disp->ClientAPIs |= EGL_OPENGL_ES_BIT;
- if (api_mask & (1 << __DRI_API_GLES2))
+ if ((api_mask & (1 << __DRI_API_GLES2)) && _eglIsApiValid(EGL_OPENGL_ES_API))
disp->ClientAPIs |= EGL_OPENGL_ES2_BIT;
- if (api_mask & (1 << __DRI_API_GLES3))
+ if ((api_mask & (1 << __DRI_API_GLES3)) && _eglIsApiValid(EGL_OPENGL_ES_API))
disp->ClientAPIs |= EGL_OPENGL_ES3_BIT_KHR;
assert(dri2_dpy->image_driver || dri2_dpy->dri2 || dri2_dpy->swrast);
--
2.9.0
More information about the mesa-dev
mailing list