diff options
author | Fredrik Höglund <[email protected]> | 2011-12-14 21:24:09 +0100 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2011-12-20 17:04:46 +0800 |
commit | 7d46b45c5bd7d1ab3e32a2722ca65061ca80dc34 (patch) | |
tree | 0b93d727b5eb9e34f0a115abf51ee965488e528e /src/egl/main/eglapi.c | |
parent | f63e129d5fef73b0710d294ddc19440d9d388836 (diff) |
egl: add EGL_NV_post_sub_buffer
v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in
_eglParseSurfaceAttribList()
Signed-off-by: Fredrik Höglund <[email protected]>
[olv: remove #ifdef checks]
Diffstat (limited to 'src/egl/main/eglapi.c')
-rw-r--r-- | src/egl/main/eglapi.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index daec43da2a5..b27aac16748 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -941,6 +941,7 @@ eglGetProcAddress(const char *procname) { "eglBindWaylandDisplayWL", (_EGLProc) eglBindWaylandDisplayWL }, { "eglUnbindWaylandDisplayWL", (_EGLProc) eglUnbindWaylandDisplayWL }, #endif + { "eglPostSubBufferNV", (_EGLProc) eglPostSubBufferNV }, { NULL, NULL } }; EGLint i; @@ -1540,3 +1541,23 @@ eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display) RETURN_EGL_EVAL(disp, ret); } #endif + + +EGLBoolean EGLAPIENTRY +eglPostSubBufferNV(EGLDisplay dpy, EGLSurface surface, + EGLint x, EGLint y, EGLint width, EGLint height) +{ + _EGLDisplay *disp = _eglLockDisplay(dpy); + _EGLSurface *surf = _eglLookupSurface(surface, disp); + _EGLDriver *drv; + EGLBoolean ret; + + _EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv); + + if (!disp->Extensions.NV_post_sub_buffer) + RETURN_EGL_EVAL(disp, EGL_FALSE); + + ret = drv->API.PostSubBufferNV(drv, disp, surf, x, y, width, height); + + RETURN_EGL_EVAL(disp, ret); +} |