Path: blob/main_old/src/tests/test_expectations/GPUTestConfig_mac.mm
1693 views
// // Copyright 2019 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // GPUTestConfig_mac.mm: // Helper functions for GPUTestConfig that have to be compiled in ObjectiveC++ #include "GPUTestConfig_mac.h" #import <Cocoa/Cocoa.h> #include "common/apple_platform_utils.h" // OSX 10.8 deprecates Gestalt but doesn't make the operatingSystemVersion property part of the // public interface of NSProcessInfo until 10.10. Add a forward declaration. #if !defined(MAC_OS_X_VERSION_10_10) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_10 @interface NSProcessInfo (YosemiteSDK) @property(readonly) NSOperatingSystemVersion operatingSystemVersion; @end #endif namespace angle { void GetOperatingSystemVersionNumbers(int32_t *majorVersion, int32_t *minorVersion) { #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 Gestalt(gestaltSystemVersionMajor, reinterpret_cast<SInt32 *>(majorVersion)); Gestalt(gestaltSystemVersionMinor, reinterpret_cast<SInt32 *>(minorVersion)); #else if (ANGLE_APPLE_AVAILABLE_XC(10.10, 13.0)) { NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion]; *majorVersion = static_cast<int32_t>(version.majorVersion); *minorVersion = static_cast<int32_t>(version.minorVersion); } else { // This can only happen on 10.9 *majorVersion = 10; *minorVersion = 9; } #endif } } // namespace angle