Commit 32bf7d41 by Alexey Knyazev Committed by Commit Bot

Fix Apple GPU detection for M1

Renamed supportsIOSGPUFamily to supportsAppleGPUFamily to match official naming. Bug: angleproject:5672 Change-Id: Ic02c0f01bc30c12cef594cc2eb4f9932c22c1e33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739459Reviewed-by: 's avatarLe Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent d96b9ffa
......@@ -6,7 +6,7 @@
"src/libANGLE/renderer/metal/gen_mtl_format_table.py":
"5e3a7d6e95784fa0276e4b689c01cdec",
"src/libANGLE/renderer/metal/mtl_format_map.json":
"22b62b3705e53c5a6ecf5a173f2e7dc9",
"07db91c8be19afe687f77eb42998f3c9",
"src/libANGLE/renderer/metal/mtl_format_table_autogen.mm":
"e47df76e259be3e039541b9615b35a32"
"76ef6391067b5e5ac6be19a11db21e49"
}
\ No newline at end of file
......@@ -111,7 +111,7 @@ class DisplayMtl : public DisplayImpl
// Check whether either of the specified iOS or Mac GPU family is supported
bool supportsEitherGPUFamily(uint8_t iOSFamily, uint8_t macFamily) const;
bool supportsIOSGPUFamily(uint8_t iOSFamily) const;
bool supportsAppleGPUFamily(uint8_t iOSFamily) const;
bool supportsMacGPUFamily(uint8_t macFamily) const;
bool isAMD() const;
bool isIntel() const;
......
......@@ -485,7 +485,7 @@ void DisplayMtl::ensureCapsInitialized() const
mNativeCaps.maxVaryingVectors = 31 - 1;
mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124 - 4;
#else
if (supportsIOSGPUFamily(3))
if (supportsAppleGPUFamily(3))
{
mNativeCaps.max2DTextureSize = 16384;
mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124;
......@@ -764,10 +764,10 @@ void DisplayMtl::initializeFeatures()
// Base Vertex drawing is only supported since GPU family 3.
ANGLE_FEATURE_CONDITION((&mFeatures), hasBaseVertexInstancedDraw,
isOSX || isCatalyst || supportsIOSGPUFamily(3));
isOSX || isCatalyst || supportsAppleGPUFamily(3));
ANGLE_FEATURE_CONDITION((&mFeatures), hasNonUniformDispatch,
isOSX || isCatalyst || supportsIOSGPUFamily(4));
isOSX || isCatalyst || supportsAppleGPUFamily(4));
ANGLE_FEATURE_CONDITION((&mFeatures), allowSeparatedDepthStencilBuffers,
!isOSX && !isCatalyst && !isSimulator);
......@@ -838,14 +838,15 @@ id<MTLLibrary> DisplayMtl::getDefaultShadersLib()
return mDefaultShadersAsyncInfo->defaultShaders;
}
bool DisplayMtl::supportsIOSGPUFamily(uint8_t iOSFamily) const
bool DisplayMtl::supportsAppleGPUFamily(uint8_t iOSFamily) const
{
#if (!TARGET_OS_IOS && !TARGET_OS_TV) || TARGET_OS_MACCATALYST
#if TARGET_OS_MACCATALYST
return false;
#else
# if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 130000) || (__TV_OS_VERSION_MAX_ALLOWED >= 130000)
# if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 130000) || (__TV_OS_VERSION_MAX_ALLOWED >= 130000) || \
(__MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)
// If device supports [MTLDevice supportsFamily:], then use it.
if (ANGLE_APPLE_AVAILABLE_I(13.0))
if (ANGLE_APPLE_AVAILABLE_XI(10.15, 13.0))
{
MTLGPUFamily family;
switch (iOSFamily)
......@@ -865,11 +866,17 @@ bool DisplayMtl::supportsIOSGPUFamily(uint8_t iOSFamily) const
case 5:
family = MTLGPUFamilyApple5;
break;
# if TARGET_OS_IOS
# if TARGET_OS_IOS || (TARGET_OS_OSX && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101600))
case 6:
family = MTLGPUFamilyApple6;
break;
# endif
# if (TARGET_OS_IOS && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 140000)) || \
(TARGET_OS_OSX && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101600))
case 7:
family = MTLGPUFamilyApple7;
break;
# endif
default:
return false;
}
......@@ -982,7 +989,7 @@ bool DisplayMtl::supportsMacGPUFamily(uint8_t macFamily) const
bool DisplayMtl::supportsEitherGPUFamily(uint8_t iOSFamily, uint8_t macFamily) const
{
return supportsIOSGPUFamily(iOSFamily) || supportsMacGPUFamily(macFamily);
return supportsAppleGPUFamily(iOSFamily) || supportsMacGPUFamily(macFamily);
}
bool DisplayMtl::isAMD() const
......
......@@ -313,7 +313,7 @@
},
"MTLPixelFormatRGBA8Unorm_sRGB":{
"filterable": "true",
"writable": "display->supportsIOSGPUFamily(2)",
"writable": "display->supportsAppleGPUFamily(2)",
"blendable": "true",
"multisample": "true",
"resolve": "true",
......@@ -337,7 +337,7 @@
},
"MTLPixelFormatBGRA8Unorm_sRGB":{
"filterable": "true",
"writable": "display->supportsIOSGPUFamily(2)",
"writable": "display->supportsAppleGPUFamily(2)",
"blendable": "true",
"multisample": "true",
"resolve": "true",
......@@ -401,11 +401,11 @@
},
"MTLPixelFormatRGB9E5Float":{
"filterable": "true",
"writable": "display->supportsIOSGPUFamily(3)",
"blendable": "display->supportsIOSGPUFamily(1)",
"multisample": "display->supportsIOSGPUFamily(1)",
"resolve": "display->supportsIOSGPUFamily(1)",
"colorRenderable": "display->supportsIOSGPUFamily(1)"
"writable": "display->supportsAppleGPUFamily(3)",
"blendable": "display->supportsAppleGPUFamily(1)",
"multisample": "display->supportsAppleGPUFamily(1)",
"resolve": "display->supportsAppleGPUFamily(1)",
"colorRenderable": "display->supportsAppleGPUFamily(1)"
},
"MTLPixelFormatR8Uint":{
"filterable": "false",
......@@ -745,88 +745,88 @@
"filterable": "true"
},
"MTLPixelFormatASTC_4x4_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_4x4_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_5x4_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_5x4_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_5x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_5x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_6x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_6x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_6x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_6x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x8_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_8x8_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x8_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x8_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x10_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_10x10_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_12x10_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_12x10_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_12x12_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
},
"MTLPixelFormatASTC_12x12_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)"
"filterable": "display->supportsAppleGPUFamily(2)"
}
}
},
......
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