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;