OSDN Git Service

progs/egl: Fix the blank window in pbuffer demo.
authorChia-I Wu <olv@lunarg.com>
Tue, 6 Apr 2010 05:24:24 +0000 (13:24 +0800)
committerChia-I Wu <olv@lunarg.com>
Tue, 6 Apr 2010 05:48:59 +0000 (13:48 +0800)
EGL requires eglSwapBuffers to be called on the current surface.

progs/egl/opengles1/pbuffer.c

index 011c2af..60f8644 100644 (file)
@@ -168,6 +168,8 @@ draw_both(EGLDisplay egl_dpy, EGLSurface egl_surf, EGLSurface egl_pbuf,
    glReadPixels(0, 0, WinWidth, WinHeight, GL_RGBA, GL_UNSIGNED_BYTE, wbuf);
    printf("Window[%d,%d] = 0x%08x\n", x, y, wbuf[y*WinWidth+x]);
 
+   eglSwapBuffers(egl_dpy, egl_surf);
+
    /* then draw to pbuffer */
    if (!eglMakeCurrent(egl_dpy, egl_pbuf, egl_pbuf, egl_ctx)) {
       printf("Error: eglMakeCurrent(pbuffer) failed\n");
@@ -177,7 +179,6 @@ draw_both(EGLDisplay egl_dpy, EGLSurface egl_surf, EGLSurface egl_pbuf,
    glReadPixels(0, 0, WinWidth, WinHeight, GL_RGBA, GL_UNSIGNED_BYTE, pbuf);
    printf("Pbuffer[%d,%d] = 0x%08x\n", x, y, pbuf[y*WinWidth+x]);
 
-   eglSwapBuffers(egl_dpy, egl_surf);
 
    /* compare renderings */
    for (dif = i = 0; i < WinWidth * WinHeight; i++) {