Commit 87458617 authored by Cliff Smolinsky's avatar Cliff Smolinsky Committed by Camilla Löwy
Browse files

Win32: Bypass composition check on Windows 8+

DWM composition is always enabled on Windows 8 and later, so there's no
need to call DwmIsCompositionEnabled on those platforms.

Fixes #1452.
Closes #1453.
parent 297999c9
......@@ -321,10 +321,12 @@ static void swapBuffersWGL(_GLFWwindow* window)
{
if (IsWindowsVistaOrGreater())
{
BOOL enabled;
// DWM Composition is always enabled on Win8+
BOOL enabled = IsWindows8OrGreater();
// HACK: Use DwmFlush when desktop composition is enabled
if (SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled)
if (enabled ||
(SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled))
{
int count = abs(window->context.wgl.interval);
while (count--)
......@@ -346,11 +348,13 @@ static void swapIntervalWGL(int interval)
{
if (IsWindowsVistaOrGreater())
{
BOOL enabled;
// DWM Composition is always enabled on Win8+
BOOL enabled = IsWindows8OrGreater();
// HACK: Disable WGL swap interval when desktop composition is enabled to
// avoid interfering with DWM vsync
if (SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled)
if (enabled ||
(SUCCEEDED(DwmIsCompositionEnabled(&enabled)) && enabled))
interval = 0;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment