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 @@ ...@@ -6,7 +6,7 @@
"src/libANGLE/renderer/metal/gen_mtl_format_table.py": "src/libANGLE/renderer/metal/gen_mtl_format_table.py":
"5e3a7d6e95784fa0276e4b689c01cdec", "5e3a7d6e95784fa0276e4b689c01cdec",
"src/libANGLE/renderer/metal/mtl_format_map.json": "src/libANGLE/renderer/metal/mtl_format_map.json":
"22b62b3705e53c5a6ecf5a173f2e7dc9", "07db91c8be19afe687f77eb42998f3c9",
"src/libANGLE/renderer/metal/mtl_format_table_autogen.mm": "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 ...@@ -111,7 +111,7 @@ class DisplayMtl : public DisplayImpl
// Check whether either of the specified iOS or Mac GPU family is supported // Check whether either of the specified iOS or Mac GPU family is supported
bool supportsEitherGPUFamily(uint8_t iOSFamily, uint8_t macFamily) const; 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 supportsMacGPUFamily(uint8_t macFamily) const;
bool isAMD() const; bool isAMD() const;
bool isIntel() const; bool isIntel() const;
......
...@@ -485,7 +485,7 @@ void DisplayMtl::ensureCapsInitialized() const ...@@ -485,7 +485,7 @@ void DisplayMtl::ensureCapsInitialized() const
mNativeCaps.maxVaryingVectors = 31 - 1; mNativeCaps.maxVaryingVectors = 31 - 1;
mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124 - 4; mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124 - 4;
#else #else
if (supportsIOSGPUFamily(3)) if (supportsAppleGPUFamily(3))
{ {
mNativeCaps.max2DTextureSize = 16384; mNativeCaps.max2DTextureSize = 16384;
mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124; mNativeCaps.maxVertexOutputComponents = mNativeCaps.maxFragmentInputComponents = 124;
...@@ -764,10 +764,10 @@ void DisplayMtl::initializeFeatures() ...@@ -764,10 +764,10 @@ void DisplayMtl::initializeFeatures()
// Base Vertex drawing is only supported since GPU family 3. // Base Vertex drawing is only supported since GPU family 3.
ANGLE_FEATURE_CONDITION((&mFeatures), hasBaseVertexInstancedDraw, ANGLE_FEATURE_CONDITION((&mFeatures), hasBaseVertexInstancedDraw,
isOSX || isCatalyst || supportsIOSGPUFamily(3)); isOSX || isCatalyst || supportsAppleGPUFamily(3));
ANGLE_FEATURE_CONDITION((&mFeatures), hasNonUniformDispatch, ANGLE_FEATURE_CONDITION((&mFeatures), hasNonUniformDispatch,
isOSX || isCatalyst || supportsIOSGPUFamily(4)); isOSX || isCatalyst || supportsAppleGPUFamily(4));
ANGLE_FEATURE_CONDITION((&mFeatures), allowSeparatedDepthStencilBuffers, ANGLE_FEATURE_CONDITION((&mFeatures), allowSeparatedDepthStencilBuffers,
!isOSX && !isCatalyst && !isSimulator); !isOSX && !isCatalyst && !isSimulator);
...@@ -838,14 +838,15 @@ id<MTLLibrary> DisplayMtl::getDefaultShadersLib() ...@@ -838,14 +838,15 @@ id<MTLLibrary> DisplayMtl::getDefaultShadersLib()
return mDefaultShadersAsyncInfo->defaultShaders; 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; return false;
#else #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 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; MTLGPUFamily family;
switch (iOSFamily) switch (iOSFamily)
...@@ -865,11 +866,17 @@ bool DisplayMtl::supportsIOSGPUFamily(uint8_t iOSFamily) const ...@@ -865,11 +866,17 @@ bool DisplayMtl::supportsIOSGPUFamily(uint8_t iOSFamily) const
case 5: case 5:
family = MTLGPUFamilyApple5; family = MTLGPUFamilyApple5;
break; break;
# if TARGET_OS_IOS # if TARGET_OS_IOS || (TARGET_OS_OSX && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101600))
case 6: case 6:
family = MTLGPUFamilyApple6; family = MTLGPUFamilyApple6;
break; break;
# endif # 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: default:
return false; return false;
} }
...@@ -982,7 +989,7 @@ bool DisplayMtl::supportsMacGPUFamily(uint8_t macFamily) const ...@@ -982,7 +989,7 @@ bool DisplayMtl::supportsMacGPUFamily(uint8_t macFamily) const
bool DisplayMtl::supportsEitherGPUFamily(uint8_t iOSFamily, 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 bool DisplayMtl::isAMD() const
......
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
}, },
"MTLPixelFormatRGBA8Unorm_sRGB":{ "MTLPixelFormatRGBA8Unorm_sRGB":{
"filterable": "true", "filterable": "true",
"writable": "display->supportsIOSGPUFamily(2)", "writable": "display->supportsAppleGPUFamily(2)",
"blendable": "true", "blendable": "true",
"multisample": "true", "multisample": "true",
"resolve": "true", "resolve": "true",
...@@ -337,7 +337,7 @@ ...@@ -337,7 +337,7 @@
}, },
"MTLPixelFormatBGRA8Unorm_sRGB":{ "MTLPixelFormatBGRA8Unorm_sRGB":{
"filterable": "true", "filterable": "true",
"writable": "display->supportsIOSGPUFamily(2)", "writable": "display->supportsAppleGPUFamily(2)",
"blendable": "true", "blendable": "true",
"multisample": "true", "multisample": "true",
"resolve": "true", "resolve": "true",
...@@ -401,11 +401,11 @@ ...@@ -401,11 +401,11 @@
}, },
"MTLPixelFormatRGB9E5Float":{ "MTLPixelFormatRGB9E5Float":{
"filterable": "true", "filterable": "true",
"writable": "display->supportsIOSGPUFamily(3)", "writable": "display->supportsAppleGPUFamily(3)",
"blendable": "display->supportsIOSGPUFamily(1)", "blendable": "display->supportsAppleGPUFamily(1)",
"multisample": "display->supportsIOSGPUFamily(1)", "multisample": "display->supportsAppleGPUFamily(1)",
"resolve": "display->supportsIOSGPUFamily(1)", "resolve": "display->supportsAppleGPUFamily(1)",
"colorRenderable": "display->supportsIOSGPUFamily(1)" "colorRenderable": "display->supportsAppleGPUFamily(1)"
}, },
"MTLPixelFormatR8Uint":{ "MTLPixelFormatR8Uint":{
"filterable": "false", "filterable": "false",
...@@ -745,88 +745,88 @@ ...@@ -745,88 +745,88 @@
"filterable": "true" "filterable": "true"
}, },
"MTLPixelFormatASTC_4x4_LDR":{ "MTLPixelFormatASTC_4x4_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_4x4_sRGB":{ "MTLPixelFormatASTC_4x4_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_5x4_LDR":{ "MTLPixelFormatASTC_5x4_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_5x4_sRGB":{ "MTLPixelFormatASTC_5x4_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_5x5_LDR":{ "MTLPixelFormatASTC_5x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_5x5_sRGB":{ "MTLPixelFormatASTC_5x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_6x5_LDR":{ "MTLPixelFormatASTC_6x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_6x5_sRGB":{ "MTLPixelFormatASTC_6x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_6x6_LDR":{ "MTLPixelFormatASTC_6x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_6x6_sRGB":{ "MTLPixelFormatASTC_6x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x5_LDR":{ "MTLPixelFormatASTC_8x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x5_sRGB":{ "MTLPixelFormatASTC_8x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x6_LDR":{ "MTLPixelFormatASTC_8x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x6_sRGB":{ "MTLPixelFormatASTC_8x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x8_LDR":{ "MTLPixelFormatASTC_8x8_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_8x8_sRGB":{ "MTLPixelFormatASTC_8x8_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x5_LDR":{ "MTLPixelFormatASTC_10x5_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x5_sRGB":{ "MTLPixelFormatASTC_10x5_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x6_LDR":{ "MTLPixelFormatASTC_10x6_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x6_sRGB":{ "MTLPixelFormatASTC_10x6_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x8_LDR":{ "MTLPixelFormatASTC_10x8_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x8_sRGB":{ "MTLPixelFormatASTC_10x8_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x10_LDR":{ "MTLPixelFormatASTC_10x10_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_10x10_sRGB":{ "MTLPixelFormatASTC_10x10_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_12x10_LDR":{ "MTLPixelFormatASTC_12x10_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_12x10_sRGB":{ "MTLPixelFormatASTC_12x10_sRGB":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_12x12_LDR":{ "MTLPixelFormatASTC_12x12_LDR":{
"filterable": "display->supportsIOSGPUFamily(2)" "filterable": "display->supportsAppleGPUFamily(2)"
}, },
"MTLPixelFormatASTC_12x12_sRGB":{ "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