Tags: VirtualGL/virtualgl
Tags
Faker: Detect X window resize via X*IfEvent() I'm surprised no one has caught this before now. SDL has apparently been using XCheckIfEvent() rather than XNextEvent() since v2.0.18 (more specifically libsdl-org/SDL@9c95c249), so VirtualGL was unable to intercept X11 ConfigureNotify events passed from libX11 to modern versions of SDL. Thus, the OpenGL rendering area of SDL applications was not resized when the application window was resized. This issue was reported against xemu, but it was reproducible with the most basic SDL OpenGL demo that supports SDL_WINDOW_RESIZABLE. Thus, it presumably affected all SDL OpenGL applications that use SDL v2.0.18 or later and support resizeable windows. Fixes #287
Officially support Macs with Apple silicon CPUs Note that this changes our official minimum supported O/S from 10.7 "Lion" to 10.9 "Mavericks". However, the official macOS binaries have actually required Mavericks since VirtualGL 3.0, since they were built against XQuartz 2.8.x.
EGLBE: Restore buf state when binding default FB This is very subtle, but glBindFramebuffer(..., 0) should restore the current context's previous draw/read buffer state for the default framebuffer, as glXMake*Current() does. Swapping the buffers of a GLX drawable causes the EGL back end to create a new FBO to serve as the drawable's default framebuffer, with the new FBO containing the previous RBOs bound in reverse order. The default draw/read buffer for a new FBO is GL_COLOR_ATTACHMENT0, which the EGL back end uses as the front left buffer. Thus, if the default framebuffer for a drawable isn't bound when the drawable's buffers are swapped, then the FBO's initial draw/read buffer remains unchanged. If GL_BACK was active the last time the default framebuffer was bound, then calling glBindFrameBuffer(..., 0) after a buffer swap put VirtualGL into a weird state whereby it reported that GL_BACK was active, but the RBO corresponding to GL_FRONT was actually active. This issue caused Webots to flicker when rendering a camera view, and it may have affected other applications as well. Fixes #172
PreviousNext