diff --git a/gfx/gl/GLContext.cpp b/gfx/gl/GLContext.cpp index 457f67a0c6c3..bb137fef222a 100644 --- a/gfx/gl/GLContext.cpp +++ b/gfx/gl/GLContext.cpp @@ -28,6 +28,10 @@ #include #endif +#if defined(MOZ_WIDGET_COCOA) +#include "nsCocoaFeatures.h" +#endif + using namespace mozilla::gfx; namespace mozilla { @@ -911,8 +915,10 @@ GLContext::InitExtensions() #ifdef XP_MACOSX // The Mac Nvidia driver, for versions up to and including 10.8, don't seem // to properly support this. See 814839 + // this has been fixed in Mac OS X 10.9. See 907946 if (WorkAroundDriverBugs() && - Vendor() == gl::GLContext::VendorNVIDIA) + Vendor() == gl::GLContext::VendorNVIDIA && + !nsCocoaFeatures::OnMavericksOrLater()) { MarkExtensionUnsupported(gl::GLContext::EXT_packed_depth_stencil); } diff --git a/widget/cocoa/nsCocoaFeatures.h b/widget/cocoa/nsCocoaFeatures.h index 862476fcec11..9ac14690d65c 100644 --- a/widget/cocoa/nsCocoaFeatures.h +++ b/widget/cocoa/nsCocoaFeatures.h @@ -14,6 +14,7 @@ public: static bool OnLionOrLater(); static bool OnMountainLionOrLater(); static bool SupportCoreAnimationPlugins(); + static bool OnMavericksOrLater(); private: static int32_t mOSXVersion; diff --git a/widget/cocoa/nsCocoaFeatures.mm b/widget/cocoa/nsCocoaFeatures.mm index 4adfb57e6830..a842458f8d84 100644 --- a/widget/cocoa/nsCocoaFeatures.mm +++ b/widget/cocoa/nsCocoaFeatures.mm @@ -7,6 +7,7 @@ #define MAC_OS_X_VERSION_10_6_HEX 0x00001060 #define MAC_OS_X_VERSION_10_7_HEX 0x00001070 #define MAC_OS_X_VERSION_10_8_HEX 0x00001080 +#define MAC_OS_X_VERSION_10_9_HEX 0x00001090 // This API will not work for OS X 10.10, see Gestalt.h. @@ -86,3 +87,9 @@ nsCocoaFeatures::OnMountainLionOrLater() { return (OSXVersion() >= MAC_OS_X_VERSION_10_8_HEX); } + +/* static */ bool +nsCocoaFeatures::OnMavericksOrLater() +{ + return (OSXVersion() >= MAC_OS_X_VERSION_10_9_HEX); +}