]> git.cworth.org Git - apitrace/blobdiff - retrace/glws_egl_xlib.cpp
retrace: Implement glxCopySubBufferMESA
[apitrace] / retrace / glws_egl_xlib.cpp
index 5aacdfed2b5bea5c0b738b907711d936610a93f8..7e86887510ee549ff9339f798d9cb78ec491b31f 100644 (file)
@@ -160,7 +160,7 @@ public:
     recreate(void) {
         EGLContext currentContext = eglGetCurrentContext();
         EGLSurface currentDrawSurface = eglGetCurrentSurface(EGL_DRAW);
-        EGLSurface currentReadSurface = eglGetCurrentSurface(EGL_DRAW);
+        EGLSurface currentReadSurface = eglGetCurrentSurface(EGL_READ);
         bool rebindDrawSurface = currentDrawSurface == surface;
         bool rebindReadSurface = currentReadSurface == surface;
 
@@ -193,8 +193,6 @@ public:
 
         Drawable::resize(w, h);
 
-        XResizeWindow(display, window, w, h);
-
         // Tell the window manager to respect the requested size
         XSizeHints size_hints;
         size_hints.max_width  = size_hints.min_width  = w;
@@ -202,6 +200,8 @@ public:
         size_hints.flags = PMinSize | PMaxSize;
         XSetWMNormalHints(display, window, &size_hints);
 
+        XResizeWindow(display, window, w, h);
+
         waitForEvent(ConfigureNotify);
 
         eglWaitNative(EGL_CORE_NATIVE_ENGINE);
@@ -244,6 +244,11 @@ public:
         Drawable::show();
     }
 
+    void copySubBuffer(int x, int y, int width, int height) {
+        printf("glws_egl_xlib:copySubBuffer: Not yet implemented\n");
+        exit(1);
+    }
+
     void swapBuffers(void) {
         eglBindAPI(api);
         eglSwapBuffers(eglDisplay, surface);