Merge pull request #1632 from billhollings/support_xcode14
Support Xcode 14, macOS 13, and iOS/tvOS 16
diff --git a/Demos/Cube/Cube.xcodeproj/project.pbxproj b/Demos/Cube/Cube.xcodeproj/project.pbxproj
index 3f3a5c0..9d8812b 100644
--- a/Demos/Cube/Cube.xcodeproj/project.pbxproj
+++ b/Demos/Cube/Cube.xcodeproj/project.pbxproj
@@ -246,7 +246,7 @@
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1340;
+ LastUpgradeCheck = 1400;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Cube" */;
compatibilityVersion = "Xcode 8.0";
@@ -353,7 +353,7 @@
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = appletvos;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 12.0;
};
name = Debug;
};
@@ -372,7 +372,7 @@
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = appletvos;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 12.0;
};
name = Release;
};
@@ -387,7 +387,7 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
PRODUCT_NAME = Cube;
SDKROOT = macosx;
};
@@ -404,7 +404,7 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
PRODUCT_NAME = Cube;
SDKROOT = macosx;
};
@@ -423,7 +423,7 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
@@ -446,7 +446,7 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
"IPHONEOS_DEPLOYMENT_TARGET[sdk=macosx*]" = 14.2;
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
diff --git a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
index acf5f9d..a24f509 100644
--- a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
+++ b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
index baaba01..3df8552 100644
--- a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
+++ b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
index dba83ef..827f97c 100644
--- a/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
+++ b/Demos/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index dfdbc27..e3b9683 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -20,8 +20,9 @@
- Add support for extensions:
- `VK_EXT_metal_objects`
-- Reducing redundant state changes to improve commend encoding performance.
-
+- Reducing redundant state changes to improve command encoding performance.
+- Update minimum Xcode deployment targets to macOS 10.13, iOS 11, and tvOS 11,
+ to avoid Xcode build warnings in Xcode 14.
MoltenVK 1.1.10
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index 7e7c1ef..4b29b10 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -11,6 +11,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = 2FEA0AE52490320500EEF3AD /* Build configuration list for PBXAggregateTarget "ExternalDependencies-tvOS" */;
buildPhases = (
+ A960EE4C2878D14B00C4C0ED /* Package Libraries */,
);
dependencies = (
2FEA0CF12490325400EEF3AD /* PBXTargetDependency */,
@@ -24,6 +25,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7E721CEC72F0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-macOS" */;
buildPhases = (
+ A960EE4D2878D15600C4C0ED /* Package Libraries */,
);
dependencies = (
A972A7E921CEC76A0013AB25 /* PBXTargetDependency */,
@@ -37,6 +39,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7ED21CEC8030013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-iOS" */;
buildPhases = (
+ A960EE4B2878D14200C4C0ED /* Package Libraries */,
);
dependencies = (
A972A7F121CEC8140013AB25 /* PBXTargetDependency */,
@@ -50,8 +53,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7F521CEC81B0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies" */;
buildPhases = (
- A9194DF624E8990C00FB127B /* Create XCFramework */,
- A9FC5F8B249DB48D003CB086 /* Package Finish */,
+ A9194DF624E8990C00FB127B /* Package Libraries */,
);
dependencies = (
A972A7F921CEC8500013AB25 /* PBXTargetDependency */,
@@ -4044,7 +4046,7 @@
A9F55D25198BE6A7004EC31B /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1340;
+ LastUpgradeCheck = 1400;
ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
TargetAttributes = {
2FEA0ADD2490320500EEF3AD = {
@@ -4101,11 +4103,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4119,11 +4123,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4137,11 +4143,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4155,11 +4163,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4173,11 +4183,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4191,11 +4203,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4209,11 +4223,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4227,11 +4243,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -4245,17 +4263,19 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
};
- A9194DF624E8990C00FB127B /* Create XCFramework */ = {
+ A9194DF624E8990C00FB127B /* Package Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -4263,17 +4283,19 @@
inputFileListPaths = (
);
inputPaths = (
+ "${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging",
);
- name = "Create XCFramework";
+ name = "Package Libraries";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n";
};
- A9FC5F8B249DB48D003CB086 /* Package Finish */ = {
+ A960EE4B2878D14200C4C0ED /* Package Libraries */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -4281,15 +4303,57 @@
inputFileListPaths = (
);
inputPaths = (
+ "${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging",
);
- name = "Package Finish";
+ name = "Package Libraries";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n";
+ };
+ A960EE4C2878D14B00C4C0ED /* Package Libraries */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging",
+ );
+ name = "Package Libraries";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n";
+ };
+ A960EE4D2878D15600C4C0ED /* Package Libraries */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging",
+ );
+ name = "Package Libraries";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -5614,6 +5678,7 @@
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -5623,11 +5688,11 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
};
name = Debug;
};
@@ -5663,6 +5728,7 @@
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -5672,11 +5738,11 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_PARAMETER = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
diff --git "a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme" "b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
index 467a2b0..e5dfdf9 100644
--- "a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
+++ "b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies \050Debug\051.xcscheme"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
index 260a7b2..38d210f 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
index 3ae3cc7..1b7eda1 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-tvOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-tvOS.xcscheme
index 6dc404f..2d92153 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-tvOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
index 786b8c5..fc306a3 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
index d0a38b0..8967891 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
index fd4ecb0..18aef66 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-tvOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-tvOS.xcscheme
index 1a49fa9..fd0d493 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-tvOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
index ef11be1..ba46453 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
index e8c78de..68c660d 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-tvOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-tvOS.xcscheme
index e511da9..2bb538f 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-tvOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
index ed58b92..8644ee1 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
index a7fdbf8..4ada728 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-tvOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-tvOS.xcscheme
index c0338c5..df8e03f 100644
--- a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-tvOS.xcscheme
+++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index adb9bb2..c8899d5 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -1072,7 +1072,7 @@
A9F55D25198BE6A7004EC31B /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1340;
+ LastUpgradeCheck = 1400;
ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
TargetAttributes = {
A9B8EE091A98D796009C5A02 = {
@@ -1148,9 +1148,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Create Dynamic Library";
outputPaths = (
+ "${BUILT_PRODUCTS_DIR}/dynamic/lib${PRODUCT_NAME}.dylib",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1162,9 +1164,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Create Dynamic Library";
outputPaths = (
+ "${BUILT_PRODUCTS_DIR}/dynamic/lib${PRODUCT_NAME}.dylib",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1175,10 +1179,14 @@
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Create Dynamic Library";
outputPaths = (
+ "${BUILT_PRODUCTS_DIR}/dynamic/lib${PRODUCT_NAME}.dylib",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1197,6 +1205,7 @@
outputFileListPaths = (
);
outputPaths = (
+ "$(BUILT_PRODUCTS_DIR)/mvkGitRevDerived.h",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1215,6 +1224,7 @@
outputFileListPaths = (
);
outputPaths = (
+ "$(BUILT_PRODUCTS_DIR)/mvkGitRevDerived.h",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1233,6 +1243,7 @@
outputFileListPaths = (
);
outputPaths = (
+ "$(BUILT_PRODUCTS_DIR)/mvkGitRevDerived.h",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1246,11 +1257,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1264,11 +1277,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1282,11 +1297,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -1592,9 +1609,9 @@
"\"$(SRCROOT)/../External/cereal/include\"",
"\"${BUILT_PRODUCTS_DIR}\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = YES;
MVK_HIDE_VULKAN_SYMBOLS = 0;
MVK_SKIP_DYLIB = "";
@@ -1603,7 +1620,7 @@
PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
PRODUCT_NAME = MoltenVK;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
WARNING_CFLAGS = "-Wreorder";
};
name = Debug;
@@ -1665,9 +1682,9 @@
"\"$(SRCROOT)/../External/cereal/include\"",
"\"${BUILT_PRODUCTS_DIR}\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
MVK_HIDE_VULKAN_SYMBOLS = 0;
MVK_SKIP_DYLIB = "";
@@ -1676,7 +1693,7 @@
PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
PRODUCT_NAME = MoltenVK;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
VALIDATE_PRODUCT = YES;
WARNING_CFLAGS = "-Wreorder";
};
diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
index 60dc7f6..3e6e0ce 100644
--- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
+++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
index 4bd1081..708de61 100644
--- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
+++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-tvOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-tvOS.xcscheme
index 3af9051..ffbede8 100644
--- a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-tvOS.xcscheme
+++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index 2926b2a..f3c6a3c 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -1354,6 +1354,11 @@
_metalFeatures.mslVersionEnum = MTLLanguageVersion2_4;
}
#endif
+#if MVK_XCODE_14
+ if ( mvkOSVersionIsAtLeast(16.0) ) {
+ _metalFeatures.mslVersionEnum = MTLLanguageVersion3_0;
+ }
+#endif
#endif
@@ -1463,6 +1468,11 @@
_metalFeatures.mslVersionEnum = MTLLanguageVersion2_4;
}
#endif
+#if MVK_XCODE_14
+ if ( mvkOSVersionIsAtLeast(16.0) ) {
+ _metalFeatures.mslVersionEnum = MTLLanguageVersion3_0;
+ }
+#endif
#endif
@@ -1543,6 +1553,11 @@
_metalFeatures.mslVersionEnum = MTLLanguageVersion2_4;
}
#endif
+#if MVK_XCODE_14
+ if ( mvkOSVersionIsAtLeast(13.0) ) {
+ _metalFeatures.mslVersionEnum = MTLLanguageVersion3_0;
+ }
+#endif
// This is an Apple GPU--treat it accordingly.
if (supportsMTLGPUFamily(Apple1)) {
@@ -1643,6 +1658,11 @@
_metalFeatures.mslVersion = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::make_msl_version(maj, min);
switch (_metalFeatures.mslVersionEnum) {
+#if MVK_XCODE_14
+ case MTLLanguageVersion3_0:
+ setMSLVersion(3, 0);
+ break;
+#endif
#if MVK_XCODE_13
case MTLLanguageVersion2_4:
setMSLVersion(2, 4);
@@ -1668,7 +1688,7 @@
case MTLLanguageVersion1_1:
setMSLVersion(1, 1);
break;
-#if MVK_IOS_OR_TVOS
+#if MVK_IOS_OR_TVOS || MVK_XCODE_14
case MTLLanguageVersion1_0:
setMSLVersion(1, 0);
break;
@@ -2315,7 +2335,7 @@
io_registry_entry_t entry;
uint64_t regID = mvkGetRegistryID(_mtlDevice);
if (regID) {
- entry = IOServiceGetMatchingService(kIOMasterPortDefault, IORegistryEntryIDMatching(regID));
+ entry = IOServiceGetMatchingService(MACH_PORT_NULL, IORegistryEntryIDMatching(regID));
if (entry) {
// That returned the IOGraphicsAccelerator nub. Its parent, then, is the actual PCI device.
io_registry_entry_t parent;
@@ -2331,7 +2351,7 @@
// Iterate all GPU's, looking for a match.
// The match dictionary is consumed by IOServiceGetMatchingServices and does not need to be released.
io_iterator_t entryIterator;
- if (!isFound && IOServiceGetMatchingServices(kIOMasterPortDefault,
+ if (!isFound && IOServiceGetMatchingServices(MACH_PORT_NULL,
IOServiceMatching("IOPCIDevice"),
&entryIterator) == kIOReturnSuccess) {
while ( !isFound && (entry = IOIteratorNext(entryIterator)) ) {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
index 8fa80b4..1908f37 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
@@ -219,7 +219,7 @@
void MVKQueue::initName() {
const char* fmt = "MoltenVKQueue-%d-%d-%.1f";
char name[256];
- sprintf(name, fmt, _queueFamily->getIndex(), _index, _priority);
+ snprintf(name, sizeof(name)/sizeof(char), fmt, _queueFamily->getIndex(), _index, _priority);
_name = name;
}
diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
index ea4dd54..ce27cab 100644
--- a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
+++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
@@ -25,18 +25,25 @@
#pragma mark -
#pragma mark MVKGPUCaptureScope
+/** Old-style debug capture was deprecated in macOS 10.13 and iOS 11.0, and is not available on Mac Catalyst. */
#if MVK_MACOS
-static MVKOSVersion kMinOSVersionMTLCaptureScope = 10.13;
+# define MVK_NEED_OLD_DEBUG_CAPTURE (__MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_13) && !MVK_MACCAT
#endif
-#if MVK_IOS_OR_TVOS
-static MVKOSVersion kMinOSVersionMTLCaptureScope = 11.0;
+
+#if MVK_IOS
+# define MVK_NEED_OLD_DEBUG_CAPTURE (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_11_0)
#endif
+#if MVK_TVOS
+# define MVK_NEED_OLD_DEBUG_CAPTURE (__TV_OS_VERSION_MIN_REQUIRED < __TVOS_11_0)
+#endif
+
+
void MVKGPUCaptureScope::beginScope() {
if (_mtlCaptureScope) {
[_mtlCaptureScope beginScope];
} else if (_isDefault && _isFirstBoundary) {
-#if !MVK_MACCAT
+#if MVK_NEED_OLD_DEBUG_CAPTURE
[_mtlQueue insertDebugCaptureBoundary];
#endif
}
@@ -47,7 +54,7 @@
if (_mtlCaptureScope) {
[_mtlCaptureScope endScope];
} else if (_isDefault) {
-#if !MVK_MACCAT
+#if MVK_NEED_OLD_DEBUG_CAPTURE
[_mtlQueue insertDebugCaptureBoundary];
#endif
}
@@ -62,16 +69,20 @@
MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue) {
_mtlQueue = [mvkQueue->getMTLCommandQueue() retain]; // retained
- if (mvkOSVersionIsAtLeast(kMinOSVersionMTLCaptureScope)) {
+ if (mvkOSVersionIsAtLeast(10.13, 11.0)) {
_mtlCaptureScope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithCommandQueue: _mtlQueue]; // retained
_mtlCaptureScope.label = @(mvkQueue->getName().c_str());
- // Due to a retain bug in Metal when the capture layer is installed, capture scopes
- // can have too many references on them. Release the excess references so the scope--
- // and the command queue--aren't leaked. This is a horrible kludge that depends on
- // Apple not taking internal references to capture scopes, but without it, we could
- // get hung up waiting for a new queue, because the old queues are still outstanding.
- while (_mtlCaptureScope.retainCount > 1) {
- [_mtlCaptureScope release];
+
+ // Due to an retain bug in Metal when the capture layer is installed, capture scopes
+ // on older OS versions can have too many references on them. If so, release the excess
+ // references so the scope, and command queue, aren't leaked. This is a horrible kludge
+ // that depends on Apple not taking internal references to capture scopes, but without it,
+ // we could get hung up waiting for a new queue, because the old queues are still outstanding.
+ // This bug was fixed by Apple in macOS 13 and iOS 16.
+ if ( !mvkOSVersionIsAtLeast(13.0, 16.0) ) {
+ while (_mtlCaptureScope.retainCount > 1) {
+ [_mtlCaptureScope release];
+ }
}
}
}
diff --git a/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm b/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm
index b7b6212..7d68067 100644
--- a/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm
+++ b/MoltenVK/MoltenVK/Utility/MVKBaseObject.mm
@@ -129,9 +129,10 @@
// Prepend the error code to the format string
const char* vkRsltName = mvkVkResultName(vkErr);
- char fmtStr[strlen(vkRsltName) + strlen(format) + 4];
- sprintf(fmtStr, "%s: %s", vkRsltName, format);
-
+ size_t rsltLen = strlen(vkRsltName) + strlen(format) + 4;
+ char fmtStr[rsltLen];
+ snprintf(fmtStr, rsltLen, "%s: %s", vkRsltName, format);
+
// Report the error
va_list lclArgs;
va_copy(lclArgs, args);
diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj
index 632ed45..3483c13 100644
--- a/MoltenVKPackaging.xcodeproj/project.pbxproj
+++ b/MoltenVKPackaging.xcodeproj/project.pbxproj
@@ -283,7 +283,7 @@
A90B2B1D1A9B6170008EE819 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1340;
+ LastUpgradeCheck = 1400;
TargetAttributes = {
A9FEADBC1F3517480010240E = {
DevelopmentTeam = VU3TCKU48B;
@@ -380,9 +380,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -394,9 +396,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -408,9 +412,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -422,9 +428,11 @@
files = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
);
name = "Package MoltenVK";
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -438,11 +446,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
);
name = "Package MoltenVK";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MVKShaderConverterTool Package.xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MVKShaderConverterTool Package.xcscheme
index be5489e..f64c992 100644
--- a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MVKShaderConverterTool Package.xcscheme
+++ b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MVKShaderConverterTool Package.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
index 50121c0..ade93a7 100644
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
+++ "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050Debug\051.xcscheme"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme"
index 50dc6b7..b56a6d5 100644
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme"
+++ "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050iOS only\051.xcscheme"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme"
index c1ee511..57fd077 100644
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme"
+++ "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050macOS only\051.xcscheme"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050tvOS only\051.xcscheme" "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050tvOS only\051.xcscheme"
index e41a70b..969098c 100644
--- "a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050tvOS only\051.xcscheme"
+++ "b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package \050tvOS only\051.xcscheme"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme
index ac62aab..1aa05c7 100644
--- a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme
+++ b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "NO"
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index f20dccb..d5bd71d 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -359,7 +359,7 @@
A9F55D25198BE6A7004EC31B /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1340;
+ LastUpgradeCheck = 1400;
ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
TargetAttributes = {
A9092A8C1A81717B00051823 = {
@@ -404,11 +404,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -422,11 +424,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -440,11 +444,13 @@
inputFileListPaths = (
);
inputPaths = (
+ "${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
);
name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
+ "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -630,12 +636,12 @@
"\"$(SRCROOT)/glslang\"",
"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
PRODUCT_NAME = MoltenVKShaderConverter;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
WARNING_CFLAGS = "-Wreorder";
};
name = Debug;
@@ -690,12 +696,12 @@
"\"$(SRCROOT)/glslang\"",
"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
);
- IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MACH_O_TYPE = staticlib;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.13;
PRODUCT_NAME = MoltenVKShaderConverter;
SKIP_INSTALL = YES;
- TVOS_DEPLOYMENT_TARGET = 9.0;
+ TVOS_DEPLOYMENT_TARGET = 11.0;
VALIDATE_PRODUCT = YES;
WARNING_CFLAGS = "-Wreorder";
};
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
index 63c8c56..68f38a0 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
index 383cfa1..4908c65 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
index 31267ef..c96f803 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
index ddf6440..422f9d2 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1340"
+ LastUpgradeVersion = "1400"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
index 606119a..06fedcb 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverterTool/OSSupport.mm
@@ -71,6 +71,11 @@
#define mslVer(MJ, MN, PT) mslVersionMajor == MJ && mslVersionMinor == MN && mslVersionPoint == PT
MTLLanguageVersion mslVerEnum = (MTLLanguageVersion)0;
+#if MVK_XCODE_14
+ if (mslVer(3, 0, 0)) {
+ mslVerEnum = MTLLanguageVersion3_0;
+ } else
+#endif
#if MVK_XCODE_13
if (mslVer(2, 4, 0)) {
mslVerEnum = MTLLanguageVersion2_4;
diff --git a/README.md b/README.md
index 329c8c3..49f7468 100644
--- a/README.md
+++ b/README.md
@@ -158,6 +158,12 @@
During building, **MoltenVK** references the latest *Apple SDK* frameworks. To access these frameworks,
and to avoid build errors, be sure to use the latest publicly available version of *Xcode*.
+**MoltenVK** can be built to support at least *macOS 10.11*, *iOS 9*, or *tvOS 9*, but the default
+_Xcode_ build settings in the included _Xcode_ projects are set to a minimum deployment target of
+*macOS 10.13*, *iOS 11*, and *tvOS 11*, which are the oldest OS versions supported by the current
+_Xcode_ version. If you require support for earlier OS versions, modify the `MACOSX_DEPLOYMENT_TARGET`,
+`IPHONEOS_DEPLOYMENT_TARGET`, or `TVOS_DEPLOYMENT_TARGET` build settings in _Xcode_ before building **MoltenVK**.
+
>***Note:*** To support `IOSurfaces` on *iOS* or *tvOS*, **MoltenVK**, and any app that uses
**MoltenVK**, must be built with a minimum **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET `)
build setting of `iOS 11.0` or greater, or a minimum **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET `)
diff --git a/Scripts/copy_lib_to_staging.sh b/Scripts/copy_lib_to_staging.sh
index 0441cbe..fabadd3 100755
--- a/Scripts/copy_lib_to_staging.sh
+++ b/Scripts/copy_lib_to_staging.sh
@@ -10,3 +10,6 @@
staging_dir="${MVK_XCFWK_STAGING_DIR}/Platform${EFFECTIVE_PLATFORM_NAME}"
mkdir -p "${staging_dir}"
cp -a "${MVK_BUILT_PROD_FILE}" "${staging_dir}/${MVK_PROD_FILENAME}"
+
+# Mark the XCFrameworkStaging directory as changed, to trigger packaging dependencies.
+touch ${MVK_XCFWK_STAGING_DIR}/..