diff options
-rw-r--r-- | include/GLES/egl.h | 1 | ||||
-rw-r--r-- | src/egl/main/eglapi.c | 12 | ||||
-rw-r--r-- | src/egl/main/eglcontext.c | 8 | ||||
-rw-r--r-- | src/egl/main/eglcontext.h | 3 | ||||
-rw-r--r-- | src/egl/main/egldriver.h | 2 |
5 files changed, 26 insertions, 0 deletions
diff --git a/include/GLES/egl.h b/include/GLES/egl.h index 9c5d1744ac..adb56ec0a9 100644 --- a/include/GLES/egl.h +++ b/include/GLES/egl.h @@ -247,6 +247,7 @@ GLAPI EGLBoolean APIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, Na GLAPI EGLBoolean APIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); GLAPI EGLBoolean APIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); GLAPI EGLBoolean APIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value); +GLAPI EGLBoolean APIENTRY eglCopyContextMESA(EGLDisplay dpy, EGLContext source, EGLContext dest, unsigned long mask); GLAPI EGLBoolean APIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens); GLAPI EGLSurface APIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); GLAPI EGLBoolean APIENTRY eglShowSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode); diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 0be901c125..02b944f136 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -349,6 +349,7 @@ void (* APIENTRY eglGetProcAddress(const char *procname))() { "eglChooseModeMESA", (_EGLProc) eglChooseModeMESA }, { "eglGetModesMESA", (_EGLProc) eglGetModesMESA }, { "eglGetModeAttribMESA", (_EGLProc) eglGetModeAttribMESA }, + { "eglCopyContextMESA", (_EGLProc) eglCopyContextMESA }, { "eglGetScreensMESA", (_EGLProc) eglGetScreensMESA }, { "eglCreateScreenSurfaceMESA", (_EGLProc) eglCreateScreenSurfaceMESA }, { "eglShowSurfaceMESA", (_EGLProc) eglShowSurfaceMESA }, @@ -414,6 +415,17 @@ eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint } +EGLBoolean APIENTRY +eglCopyContextMESA(EGLDisplay dpy, EGLContext source, EGLContext dest, unsigned long mask) +{ + _EGLDriver *drv = _eglLookupDriver(dpy); + if (drv) + return drv->CopyContextMESA(drv, dpy, source, dest, mask); + else + return EGL_FALSE; +} + + EGLBoolean eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens) { diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c index 1d12a405cf..e878cc9d7c 100644 --- a/src/egl/main/eglcontext.c +++ b/src/egl/main/eglcontext.c @@ -224,3 +224,11 @@ _eglMakeCurrent(_EGLDriver *drv, EGLDisplay dpy, EGLSurface d, EGLSurface r, EGL return EGL_TRUE; } + + +EGLBoolean +_eglCopyContextMESA(_EGLDriver *drv, EGLDisplay dpy, EGLContext source, EGLContext dest, unsigned long mask) +{ + return EGL_FALSE; +} + diff --git a/src/egl/main/eglcontext.h b/src/egl/main/eglcontext.h index 0063507420..d2c56fdb07 100644 --- a/src/egl/main/eglcontext.h +++ b/src/egl/main/eglcontext.h @@ -61,4 +61,7 @@ extern EGLBoolean _eglMakeCurrent(_EGLDriver *drv, EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); +extern EGLBoolean +_eglCopyContextMESA(_EGLDriver *drv, EGLDisplay dpy, EGLContext source, EGLContext dest, unsigned long mask); + #endif /* EGLCONTEXT_INCLUDED */ diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index 45bee946d7..bc5e4e2e61 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -43,6 +43,7 @@ typedef EGLBoolean (*WaitNative_t)(_EGLDriver *drv, EGLDisplay dpy, EGLint engin typedef EGLBoolean (*ChooseModeMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes); typedef EGLBoolean (*GetModesMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint mode_size, EGLint *num_mode); typedef EGLBoolean (*GetModeAttribMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value); +typedef EGLBoolean (*CopyContextMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLContext source, EGLContext dest, unsigned long mask); typedef EGLBoolean (*GetScreensMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens); typedef EGLSurface (*CreateScreenSurfaceMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); typedef EGLBoolean (*ShowSurfaceMESA_t)(_EGLDriver *drv, EGLDisplay dpy, EGLScreenMESA screen, EGLSurface surface, EGLModeMESA mode); @@ -103,6 +104,7 @@ struct _egl_driver ChooseModeMESA_t ChooseModeMESA; GetModesMESA_t GetModesMESA; GetModeAttribMESA_t GetModeAttribMESA; + CopyContextMESA_t CopyContextMESA; GetScreensMESA_t GetScreensMESA; CreateScreenSurfaceMESA_t CreateScreenSurfaceMESA; ShowSurfaceMESA_t ShowSurfaceMESA; |