Skip initial buffer swap when single-buffered

This skips the buffer swap after the initial glClear performed during
window creation, if the window is single-buffered.  This call confused
apitrace into thinking the window was double-buffered.

Fixes #1873.

(cherry picked from commit 184377b493)
This commit is contained in:
Camilla Löwy 2021-05-13 21:41:51 +02:00
parent 508e24c01c
commit 07c29d1c1c
2 changed files with 4 additions and 1 deletions

View File

@ -118,6 +118,7 @@ information on what to include when reporting a bug.
## Changelog
- Bugfix: Buffers were swapped at creation on single-buffered windows (#1873)
- [Win32] Bugfix: `USE_MSVC_RUNTIME_LIBRARY_DLL` had no effect on CMake 3.15 or
later (#1783,#1796)
- [Win32] Bugfix: Compilation with LLVM for Windows failed (#1807,#1824,#1874)

View File

@ -570,7 +570,9 @@ GLFWbool _glfwRefreshContextAttribs(_GLFWwindow* window,
PFNGLCLEARPROC glClear = (PFNGLCLEARPROC)
window->context.getProcAddress("glClear");
glClear(GL_COLOR_BUFFER_BIT);
window->context.swapBuffers(window);
if (window->doublebuffer)
window->context.swapBuffers(window);
}
glfwMakeContextCurrent((GLFWwindow*) previous);