X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fglws_egl_xlib.cpp;h=7e86887510ee549ff9339f798d9cb78ec491b31f;hb=refs%2Fheads%2Fglx-copy-sub-buffer;hp=5aacdfed2b5bea5c0b738b907711d936610a93f8;hpb=1f94577d8c4b1c1a2a1a8f3dceb0daac02dd72b7;p=apitrace diff --git a/retrace/glws_egl_xlib.cpp b/retrace/glws_egl_xlib.cpp index 5aacdfe..7e86887 100644 --- a/retrace/glws_egl_xlib.cpp +++ b/retrace/glws_egl_xlib.cpp @@ -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);