_eglAppendExtension(&exts, "EGL_MESA_configless_context");
_EGL_CHECK_EXTENSION(MESA_drm_image);
_EGL_CHECK_EXTENSION(MESA_image_dma_buf_export);
+ _EGL_CHECK_EXTENSION(MESA_query_driver);
_EGL_CHECK_EXTENSION(NOK_swap_region);
_EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
RETURN_EGL_SUCCESS(disp, EGL_TRUE);
}
+static char * EGLAPIENTRY
+eglGetDisplayDriverConfig(EGLDisplay dpy)
+{
+ _EGLDisplay *disp = _eglLockDisplay(dpy);
+ _EGLDriver *drv;
+ char *ret;
+
+ _EGL_FUNC_START(disp, EGL_NONE, NULL, NULL);
+ _EGL_CHECK_DISPLAY(disp, NULL, drv);
+
+ assert(disp->Extensions.MESA_query_driver);
+
+ ret = drv->API.QueryDriverConfig(disp);
+ RETURN_EGL_EVAL(disp, ret);
+}
+
+static const char * EGLAPIENTRY
+eglGetDisplayDriverName(EGLDisplay dpy)
+{
+ _EGLDisplay *disp = _eglLockDisplay(dpy);
+ _EGLDriver *drv;
+ const char *ret;
+
+ _EGL_FUNC_START(disp, EGL_NONE, NULL, NULL);
+ _EGL_CHECK_DISPLAY(disp, NULL, drv);
+
+ assert(disp->Extensions.MESA_query_driver);
+
+ ret = drv->API.QueryDriverName(disp);
+ RETURN_EGL_EVAL(disp, ret);
+}
+
__eglMustCastToProperFunctionPointerType EGLAPIENTRY
eglGetProcAddress(const char *procname)
{
/* driver funcs */
EGLBoolean (*Initialize)(_EGLDriver *, _EGLDisplay *dpy);
EGLBoolean (*Terminate)(_EGLDriver *, _EGLDisplay *dpy);
+ const char *(*QueryDriverName)(_EGLDisplay *dpy);
+ char *(*QueryDriverConfig)(_EGLDisplay *dpy);
/* config funcs */
EGLBoolean (*GetConfigs)(_EGLDriver *drv, _EGLDisplay *dpy,
EGL_ENTRYPOINT(eglGetCurrentDisplay)
EGL_ENTRYPOINT(eglGetCurrentSurface)
EGL_ENTRYPOINT(eglGetDisplay)
+EGL_ENTRYPOINT(eglGetDisplayDriverConfig)
+EGL_ENTRYPOINT(eglGetDisplayDriverName)
EGL_ENTRYPOINT(eglGetError)
EGL_ENTRYPOINT(eglGetPlatformDisplay)
EGL_ENTRYPOINT(eglGetPlatformDisplayEXT)