Fix build error when querying MTLDevice support for BC compression.

This build error seems to have been exposed in Xcode 12.5.
Add mvkSupportsBCTextureCompression() to manage use of
[MTLDevice supportsBCTextureCompression] to query for
MTLDevice support for BC compression across all platforms.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
index 9245e9b..23e22d4 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
@@ -970,6 +970,9 @@
 /** Returns the registry ID of the specified device, or zero if the device does not have a registry ID. */
 uint64_t mvkGetRegistryID(id<MTLDevice> mtlDevice);
 
+/** Returns whether the MTLDevice supports BC texture compression. */
+bool mvkSupportsBCTextureCompression(id<MTLDevice> mtlDevice);
+
 /** Redefinitions because Mac Catalyst doesn't support feature sets. */
 #if MVK_MACCAT
 #define MTLFeatureSet_macOS_GPUFamily1_v1		MTLGPUFamilyMacCatalyst1
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index 0c34db3..5a3b8f0 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -1594,6 +1594,7 @@
     _features.inheritedQueries = true;
 
 	_features.shaderSampledImageArrayDynamicIndexing = _metalFeatures.arrayOfTextures;
+	_features.textureCompressionBC = mvkSupportsBCTextureCompression(_mtlDevice);
 
     if (_metalFeatures.indirectDrawing && _metalFeatures.baseVertexInstanceDrawing) {
         _features.drawIndirectFirstInstance = true;
@@ -1664,7 +1665,6 @@
 #endif
 
 #if MVK_MACOS
-    _features.textureCompressionBC = true;
     _features.occlusionQueryPrecise = true;
     _features.imageCubeArray = true;
     _features.depthClamp = true;
@@ -1696,12 +1696,6 @@
         _features.textureCompressionETC2 = true;
         _features.textureCompressionASTC_LDR = true;
     }
-
-#if MVK_MACOS_APPLE_SILICON
-	if ([_mtlDevice respondsToSelector: @selector(supportsBCTextureCompression)]) {
-		_features.textureCompressionBC = _mtlDevice.supportsBCTextureCompression;
-	}
-#endif
 #endif
 }
 
@@ -4171,3 +4165,13 @@
 uint64_t mvkGetRegistryID(id<MTLDevice> mtlDevice) {
 	return [mtlDevice respondsToSelector: @selector(registryID)] ? mtlDevice.registryID : 0;
 }
+
+bool mvkSupportsBCTextureCompression(id<MTLDevice> mtlDevice) {
+#if MVK_MACOS && !MVK_MACCAT
+	if ([mtlDevice respondsToSelector: @selector(supportsBCTextureCompression)]) {
+		return mtlDevice.supportsBCTextureCompression;
+	}
+	return true;
+#endif
+	return false;
+}
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
index 3c7fefc..380a33b 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPixelFormats.mm
@@ -1509,9 +1509,7 @@
 		disableMTLPixFmtCaps( RGBA32Float, Filter );
 	}
 
-	if ([mtlDevice respondsToSelector: @selector(supportsBCTextureCompression)] &&
-		!mtlDevice.supportsBCTextureCompression) {
-
+	if ( !mvkSupportsBCTextureCompression(mtlDevice) ) {
 		disableAllMTLPixFmtCaps( BC1_RGBA );
 		disableAllMTLPixFmtCaps( BC1_RGBA_sRGB );
 		disableAllMTLPixFmtCaps( BC2_RGBA );