From c79b4e6d44a6baa7b953ba9b8cc4efc071780b4f Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Sat, 15 Aug 2026 23:13:47 +0000 Subject: [PATCH 5/5] Cocoa: Restore pixel encoding queries for pre-10.11 SDKs Upstream commit 8b574030 (Cocoa: Remove support for OS X 10.10 Yosemite) narrowed the CGDisplayModeCopyPixelEncoding guards in modeIsGood and vidmodeFromCGDisplayMode from <= 101100 to == 101100, leaving only the 10.11 SDK using them. That compiles fine on the 10.6 SDK but silently changes behavior there: 16-bit display modes are reported as 24-bit and modes with non-direct pixel encodings are no longer filtered out of enumeration. CGDisplayModeCopyPixelEncoding is available (and not deprecated) on the 10.6 SDK, so widen the guards back to <= 101100, restoring the behavior this port had on GLFW 3.4. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01QfCMqsvmPCoapRLzsyxAfj --- src/cocoa_monitor.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cocoa_monitor.m b/src/cocoa_monitor.m index e53f291f..487c3712 100644 --- a/src/cocoa_monitor.m +++ b/src/cocoa_monitor.m @@ -137,7 +137,7 @@ static GLFWbool modeIsGood(CGDisplayModeRef mode) if (flags & kDisplayModeStretchedFlag) return GLFW_FALSE; -#if MAC_OS_X_VERSION_MAX_ALLOWED == 101100 +#if MAC_OS_X_VERSION_MAX_ALLOWED <= 101100 CFStringRef format = CGDisplayModeCopyPixelEncoding(mode); if (CFStringCompare(format, CFSTR(IO16BitDirectPixels), 0) && CFStringCompare(format, CFSTR(IO32BitDirectPixels), 0)) @@ -164,7 +164,7 @@ static GLFWvidmode vidmodeFromCGDisplayMode(CGDisplayModeRef mode, if (result.refreshRate == 0) result.refreshRate = (int) round(fallbackRefreshRate); -#if MAC_OS_X_VERSION_MAX_ALLOWED == 101100 +#if MAC_OS_X_VERSION_MAX_ALLOWED <= 101100 CFStringRef format = CGDisplayModeCopyPixelEncoding(mode); if (CFStringCompare(format, CFSTR(IO16BitDirectPixels), 0) == 0) { @@ -180,7 +180,7 @@ static GLFWvidmode vidmodeFromCGDisplayMode(CGDisplayModeRef mode, result.blueBits = 8; } -#if MAC_OS_X_VERSION_MAX_ALLOWED == 101100 +#if MAC_OS_X_VERSION_MAX_ALLOWED <= 101100 CFRelease(format); #endif /* MAC_OS_X_VERSION_MAX_ALLOWED */ return result; -- 2.43.0