Merge pull request #952 from billhollings/master

Fix new and unexpected App Store failure on newly deprecated color space values.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 118ada3..c3e63af 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -29,6 +29,7 @@
 - `fetchDependencies` script supports platform build selection, plus parallel builds.
 - Fix issue where mapped host-coherent device memory not updated from image contents on *macOS*.
 - Fix small memory leak when setting swapchain color space.
+- Fix new and unexpected App Store failure on newly deprecated color space values.
 - Remove use of `@available()` directive as it was causing issues in some build environments.
 - Refactor **MoltenVK** *Xcode* build architectures.
 - Demo `API-Samples generateSPIRVShaders` no longer builds `MoltenVKShaderController` tool.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index f5e70b4..6d0d3af 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -649,7 +649,11 @@
 		if (mvkOSVersionIsAtLeast(10.14)) {
 			colorSpaces.push_back(VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT);
 			colorSpaces.push_back(VK_COLOR_SPACE_BT2020_LINEAR_EXT);
+		}
+		if (mvkOSVersionIsAtLeast(mvkMakeOSVersion(10, 15, 4))) {
 			colorSpaces.push_back(VK_COLOR_SPACE_HDR10_ST2084_EXT);
+		}
+		if (mvkOSVersionIsAtLeast(11.0)) {
 			colorSpaces.push_back(VK_COLOR_SPACE_HDR10_HLG_EXT);
 		}
 #endif
@@ -666,14 +670,14 @@
 			colorSpaces.push_back(VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT);
 			colorSpaces.push_back(VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT);
 		}
-		if (mvkOSVersionIsAtLeast(12.0)) {
-			colorSpaces.push_back(VK_COLOR_SPACE_HDR10_ST2084_EXT);
-		}
 		if (mvkOSVersionIsAtLeast(12.3)) {
 			colorSpaces.push_back(VK_COLOR_SPACE_DCI_P3_LINEAR_EXT);
 			colorSpaces.push_back(VK_COLOR_SPACE_BT2020_LINEAR_EXT);
 		}
-		if (mvkOSVersionIsAtLeast(13.0)) {
+		if (mvkOSVersionIsAtLeast(13.4)) {
+			colorSpaces.push_back(VK_COLOR_SPACE_HDR10_ST2084_EXT);
+		}
+		if (mvkOSVersionIsAtLeast(14.0)) {
 			colorSpaces.push_back(VK_COLOR_SPACE_HDR10_HLG_EXT);
 		}
 #endif
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
index 8337325..b7a8ef2 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm
@@ -312,13 +312,15 @@
 			_mtlLayer.wantsExtendedDynamicRangeContentMVK = YES;
 			break;
 		case VK_COLOR_SPACE_HDR10_ST2084_EXT:
-			_mtlLayer.colorspaceNameMVK = kCGColorSpaceITUR_2020_PQ_EOTF;
+			_mtlLayer.colorspaceNameMVK = kCGColorSpaceITUR_2020_PQ;
 			_mtlLayer.wantsExtendedDynamicRangeContentMVK = YES;
 			break;
-		case VK_COLOR_SPACE_HDR10_HLG_EXT:
-			_mtlLayer.colorspaceNameMVK = kCGColorSpaceITUR_2020_HLG;
-			_mtlLayer.wantsExtendedDynamicRangeContentMVK = YES;
-			break;
+// Awaiting macOS 11.0 and iOS/tvOS 14 to build with kCGColorSpaceITUR_2100_HLG
+// The previous value kCGColorSpaceITUR_2020_HLG now incorrectly breaks App Store
+//		case VK_COLOR_SPACE_HDR10_HLG_EXT:
+//			_mtlLayer.colorspaceNameMVK = kCGColorSpaceITUR_2100_HLG;
+//			_mtlLayer.wantsExtendedDynamicRangeContentMVK = YES;
+//			break;
 		case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT:
 			_mtlLayer.colorspaceNameMVK = kCGColorSpaceAdobeRGB1998;
 			break;