Hash :
8eaa0ccf
Author :
Date :
2022-08-02T12:03:21
Revert "[Metal] Disable ANGLE's Metal backend on older GPUs." This reverts commit cc2095d259222de434af06ce8515f17449a8f66d. Reason for revert: breaks rolling into Chromium https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/1234241/overview Original change's description: > [Metal] Disable ANGLE's Metal backend on older GPUs. > > Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on: > iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs) > macOS and Mac Catalyst: MTLGPUFamilyMac1 and older > > This is a partial integration of this recent WebKit fix: > https://bugs.webkit.org/show_bug.cgi?id=242764 > > Refactored to eliminate duplicate copies of this code between libANGLE > and the test suites. > > Fixed: angleproject:7514 > Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Kenneth Russell <kbr@chromium.org> Change-Id: If1e78ebc0c8e12a1fa0954d91bdd59fbd734251f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804879 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
//
// 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.
//
// apple_platform_utils.h: Common utilities for Apple platforms.
#ifndef COMMON_APPLE_PLATFORM_UTILS_H_
#define COMMON_APPLE_PLATFORM_UTILS_H_
#include <TargetConditionals.h>
// These are macros for substitution of Apple specific directive @available:
// TARGET_OS_MACCATALYST only available in MacSDK 10.15
#if TARGET_OS_MACCATALYST
// ANGLE_APPLE_AVAILABLE_XCI: check if either of the 3 platforms (OSX/Catalyst/iOS) min verions is
// available:
# define ANGLE_APPLE_AVAILABLE_XCI(macVer, macCatalystVer, iOSVer) \
@available(macOS macVer, macCatalyst macCatalystVer, iOS iOSVer, *)
// ANGLE_APPLE_AVAILABLE_XC: check if either of the 2 platforms (OSX/Catalyst) min verions is
// available:
# define ANGLE_APPLE_AVAILABLE_XC(macVer, macCatalystVer) \
@available(macOS macVer, macCatalyst macCatalystVer, *)
// ANGLE_APPLE_AVAILABLE_CI: check if either of the 2 platforms (Catalyst/iOS) min verions is
// available:
# define ANGLE_APPLE_AVAILABLE_CI(macCatalystVer, iOSVer) \
@available(macCatalyst macCatalystVer, iOS iOSVer, *)
#else
# define ANGLE_APPLE_AVAILABLE_XCI(macVer, macCatalystVer, iOSVer) \
ANGLE_APPLE_AVAILABLE_XI(macVer, iOSVer)
# define ANGLE_APPLE_AVAILABLE_XC(macVer, macCatalystVer) @available(macOS macVer, *)
# define ANGLE_APPLE_AVAILABLE_CI(macCatalystVer, iOSVer) @available(iOS iOSVer, tvOS iOSVer, *)
#endif
// ANGLE_APPLE_AVAILABLE_XI: check if either of the 2 platforms (OSX/iOS) min verions is available:
#define ANGLE_APPLE_AVAILABLE_XI(macVer, iOSVer) \
@available(macOS macVer, iOS iOSVer, tvOS iOSVer, *)
// ANGLE_APPLE_AVAILABLE_I: check if a particular iOS version is available
#define ANGLE_APPLE_AVAILABLE_I(iOSVer) @available(iOS iOSVer, tvOS iOSVer, *)
#endif