Merge pull request #1054 from billhollings/master
Merge xcode12 branch into master.
diff --git a/.travis.yml b/.travis.yml
index f580812..503dc99 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
# macOS and Xcode Version
os: osx
-osx_image: xcode11.5
+osx_image: xcode12
# Build with verbose logging to avoid Travis timing out.
script:
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
index 48723fe..c7e6862 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 48;
+ objectVersion = 52;
objects = {
/* Begin PBXBuildFile section */
@@ -27,6 +27,8 @@
A964BD3E1E4EA6FC00CA9AF1 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC611E4EA6FC00CA9AF1 /* util.cpp */; };
A964BD3F1E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
A964BD401E4EA6FC00CA9AF1 /* util_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */; };
+ A991E26924FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E26824FCA59600D968D4 /* MoltenVK.xcframework */; };
+ A991E26A24FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E26824FCA59600D968D4 /* MoltenVK.xcframework */; };
A9B67B781C3AAE9800373FFD /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
A9B67B7A1C3AAE9800373FFD /* DemoViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.mm */; };
A9B67B7C1C3AAE9800373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
@@ -39,10 +41,6 @@
A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
- A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
- A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */; };
- A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */; };
- A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -90,6 +88,7 @@
A964BC631E4EA6FC00CA9AF1 /* util_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util_init.cpp; sourceTree = "<group>"; };
A964BC641E4EA6FC00CA9AF1 /* util_init.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = util_init.hpp; sourceTree = "<group>"; };
A977BCFE1B66BB010067E5BF /* API-Samples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "API-Samples.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ A991E26824FCA59600D968D4 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../../../MoltenVK/MoltenVK.xcframework; sourceTree = "<group>"; };
A99B2F0D24436190001117F7 /* generateSPIRVShaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = generateSPIRVShaders; sourceTree = "<group>"; };
A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -111,10 +110,6 @@
A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
- A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
- A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/iOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
- A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVKGLSLToSPIRVConverter.framework; path = ../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/MoltenVKGLSLToSPIRVConverter.framework; sourceTree = "<group>"; };
- A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../MoltenVK/macOS/framework/MoltenVK.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -122,8 +117,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2ABA3218505B000DDBC03 /* MoltenVK.framework in Frameworks */,
- A9C2ABA2218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
+ A991E26924FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -131,8 +125,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2ABA7218505CB00DDBC03 /* MoltenVK.framework in Frameworks */,
- A9C2ABA6218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework in Frameworks */,
+ A991E26A24FCA59600D968D4 /* MoltenVK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -496,10 +489,7 @@
A9C2AB9F218505B000DDBC03 /* Frameworks */ = {
isa = PBXGroup;
children = (
- A9C2ABA5218505CB00DDBC03 /* MoltenVK.framework */,
- A9C2ABA4218505CB00DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
- A9C2ABA1218505B000DDBC03 /* MoltenVK.framework */,
- A9C2ABA0218505B000DDBC03 /* MoltenVKGLSLToSPIRVConverter.framework */,
+ A991E26824FCA59600D968D4 /* MoltenVK.xcframework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -643,10 +633,6 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
- FRAMEWORK_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
- "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/framework\"",
- );
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
@@ -670,10 +656,6 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
- FRAMEWORK_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/iOS/framework\"",
- "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS/framework\"",
- );
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
@@ -692,10 +674,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
- FRAMEWORK_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
- "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/framework\"",
- );
GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
@@ -719,10 +697,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
- FRAMEWORK_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/macOS/framework\"",
- "\"$(SRCROOT)/../../../MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS/framework\"",
- );
GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
@@ -759,7 +733,7 @@
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
HEADER_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/include\"",
+ "\"$(SRCROOT)/include\"",
"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
);
ONLY_ACTIVE_ARCH = YES;
@@ -787,7 +761,7 @@
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
HEADER_SEARCH_PATHS = (
- "\"$(SRCROOT)/../../../MoltenVK/include\"",
+ "\"$(SRCROOT)/include\"",
"\"$(SRCROOT)/../VulkanSamples/API-Samples/utils\"",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
index 5275333..0d68747 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-iOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "API-Samples.app"
- BlueprintName = "API-Samples-iOS"
- ReferencedContainer = "container:API-Samples.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
index beeee17..6be3dac 100644
--- a/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/API-Samples/API-Samples.xcodeproj/xcshareddata/xcschemes/API-Samples-macOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
- BuildableName = "API-Samples.app"
- BlueprintName = "API-Samples-macOS"
- ReferencedContainer = "container:API-Samples.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVK b/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVK
new file mode 120000
index 0000000..aa025ad
--- /dev/null
+++ b/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVK
@@ -0,0 +1 @@
+../../../../MoltenVK/include/MoltenVK
\ No newline at end of file
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVKGLSLToSPIRVConverter b/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVKGLSLToSPIRVConverter
new file mode 120000
index 0000000..b03c7b1
--- /dev/null
+++ b/Demos/LunarG-VulkanSamples/API-Samples/include/MoltenVKGLSLToSPIRVConverter
@@ -0,0 +1 @@
+../../../../MoltenVKShaderConverter/include/MoltenVKShaderConverter
\ No newline at end of file
diff --git a/Demos/LunarG-VulkanSamples/API-Samples/include/vulkan b/Demos/LunarG-VulkanSamples/API-Samples/include/vulkan
new file mode 120000
index 0000000..00414df
--- /dev/null
+++ b/Demos/LunarG-VulkanSamples/API-Samples/include/vulkan
@@ -0,0 +1 @@
+../../../../MoltenVK/include/vulkan
\ No newline at end of file
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
index cc2ab9d..943125e 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 48;
+ objectVersion = 52;
objects = {
/* Begin PBXBuildFile section */
@@ -13,9 +13,10 @@
A93DBF4124A2A4D500079F64 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
A93DBF4224A2A4D500079F64 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
A93DBF4324A2A4D500079F64 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
- A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; };
- A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
A94D4CB724A2C9A3009C9139 /* MainTV.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */; };
+ A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
+ A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
+ A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27524FD543A00D968D4 /* MoltenVK.xcframework */; };
A9B53B151C3AC0BE00ABC6F6 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
A9B53B161C3AC0BE00ABC6F6 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
A9B53B181C3AC0BE00ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B831C3AAEA200373FFD /* AppDelegate.m */; };
@@ -28,53 +29,16 @@
A9B53B341C3AC15200ABC6F6 /* DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6F1C3AAE9800373FFD /* DemoViewController.m */; };
A9B53B351C3AC15200ABC6F6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B6C1C3AAE9800373FFD /* AppDelegate.m */; };
A9B53B361C3AC15200ABC6F6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B711C3AAE9800373FFD /* main.m */; };
- A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; };
- A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; };
- A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
- A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
/* End PBXBuildFile section */
-/* Begin PBXCopyFilesBuildPhase section */
- A91F43A11EDDD48800733D01 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- A9C2ABB02185098A00DDBC03 /* libMoltenVK.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A93DBF4624A2A4D500079F64 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- A93DBF4F24A2A6F000079F64 /* libMoltenVK.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A9B2A5571D7E4FC400F66656 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- A9C2ABB12185099500DDBC03 /* libMoltenVK.dylib in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
A904B5301C9A08C90008C013 /* cube.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cube.c; sourceTree = "<group>"; };
A904B5311C9A08C90008C013 /* cube.frag */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.frag; sourceTree = "<group>"; };
A904B5331C9A08C90008C013 /* cube.vert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = cube.vert; sourceTree = "<group>"; };
A93DBF4B24A2A4D500079F64 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
- A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/tvOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
A94D4CB424A2A95E009C9139 /* InfoTV.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InfoTV.plist; sourceTree = "<group>"; };
A94D4CB624A2C9A3009C9139 /* MainTV.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = MainTV.storyboard; sourceTree = "<group>"; };
+ A991E27524FD543A00D968D4 /* MoltenVK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MoltenVK.xcframework; path = ../../../MoltenVK/MoltenVK.xcframework; sourceTree = "<group>"; };
A9B53B271C3AC0BE00ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
A9B53B431C3AC15200ABC6F6 /* Cube.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Cube.app; sourceTree = BUILT_PRODUCTS_DIR; };
A9B67B6B1C3AAE9800373FFD /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
@@ -97,8 +61,6 @@
A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
- A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/macOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
- A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/iOS/dynamic/libMoltenVK.dylib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -106,7 +68,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A93DBF4E24A2A6F000079F64 /* libMoltenVK.dylib in Frameworks */,
+ A991E27724FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -114,7 +76,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2ABAD2185087500DDBC03 /* libMoltenVK.dylib in Frameworks */,
+ A991E27824FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -122,7 +84,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2ABAC2185086D00DDBC03 /* libMoltenVK.dylib in Frameworks */,
+ A991E27624FD543A00D968D4 /* MoltenVK.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -217,9 +179,7 @@
A9C2ABA82185085B00DDBC03 /* Frameworks */ = {
isa = PBXGroup;
children = (
- A93DBF4D24A2A6F000079F64 /* libMoltenVK.dylib */,
- A9C2ABAB2185086D00DDBC03 /* libMoltenVK.dylib */,
- A9C2ABA92185085B00DDBC03 /* libMoltenVK.dylib */,
+ A991E27524FD543A00D968D4 /* MoltenVK.xcframework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -234,7 +194,6 @@
A93DBF3B24A2A4D500079F64 /* Resources */,
A93DBF4024A2A4D500079F64 /* Sources */,
A93DBF4424A2A4D500079F64 /* Frameworks */,
- A93DBF4624A2A4D500079F64 /* CopyFiles */,
);
buildRules = (
);
@@ -252,7 +211,6 @@
A9B53B141C3AC0BE00ABC6F6 /* Resources */,
A9B53B171C3AC0BE00ABC6F6 /* Sources */,
A9B53B1B1C3AC0BE00ABC6F6 /* Frameworks */,
- A9B2A5571D7E4FC400F66656 /* CopyFiles */,
);
buildRules = (
);
@@ -270,7 +228,6 @@
A9B53B2E1C3AC15200ABC6F6 /* Resources */,
A9B53B331C3AC15200ABC6F6 /* Sources */,
A9B53B371C3AC15200ABC6F6 /* Frameworks */,
- A91F43A11EDDD48800733D01 /* CopyFiles */,
);
buildRules = (
);
@@ -391,8 +348,6 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = appletvos;
@@ -412,8 +367,6 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/InfoTV.plist";
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/tvOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = appletvos;
@@ -432,8 +385,6 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = Cube;
SDKROOT = macosx;
@@ -451,8 +402,6 @@
MVK_SAMP_CUBE,
);
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/dynamic\"";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_NAME = Cube;
SDKROOT = macosx;
@@ -472,8 +421,6 @@
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = iphoneos;
@@ -494,8 +441,6 @@
);
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
- LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/dynamic\"";
MARKETING_VERSION = 1;
PRODUCT_NAME = Cube;
SDKROOT = iphoneos;
@@ -529,7 +474,10 @@
"\"$(SRCROOT)/../../../MoltenVK/include\"",
);
ONLY_ACTIVE_ARCH = YES;
- OTHER_LDFLAGS = "-ObjC";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lstdc++",
+ );
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
};
name = Debug;
@@ -553,7 +501,10 @@
"\"$(SRCROOT)/include\"",
"\"$(SRCROOT)/../../../MoltenVK/include\"",
);
- OTHER_LDFLAGS = "-ObjC";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lstdc++",
+ );
PRODUCT_BUNDLE_IDENTIFIER = "com.moltenvk.${PRODUCT_NAME:identifier}";
};
name = Release;
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
index 6c3e35a..7e7431a 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-iOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
- BuildableName = "Cube.app"
- BlueprintName = "Cube-iOS"
- ReferencedContainer = "container:Cube.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
index 6344ada..ee686bb 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-macOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A9B53B0F1C3AC0BE00ABC6F6"
- BuildableName = "Cube.app"
- BlueprintName = "Cube-macOS"
- ReferencedContainer = "container:Cube.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
index 694d0ac..851887a 100644
--- a/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Cube/Cube.xcodeproj/xcshareddata/xcschemes/Cube-tvOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A9B53B291C3AC15200ABC6F6"
- BuildableName = "Cube.app"
- BlueprintName = "Cube-iOS"
- ReferencedContainer = "container:Cube.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
index bda4518..902ad08 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/project.pbxproj
@@ -7,6 +7,10 @@
objects = {
/* Begin PBXBuildFile section */
+ A92806E724FD77C00082B2CF /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A991E27124FD520900D968D4 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+ A92806E924FD77EC0082B2CF /* libMoltenVK.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A991E27324FD521600D968D4 /* libMoltenVK.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+ A991E27224FD520900D968D4 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27124FD520900D968D4 /* libMoltenVK.dylib */; };
+ A991E27424FD521600D968D4 /* libMoltenVK.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A991E27324FD521600D968D4 /* libMoltenVK.dylib */; };
A99789AF1CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
A99789B01CD3D4E2005E7DAC /* Hologram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789831CD3D4E2005E7DAC /* Hologram.cpp */; };
A99789B71CD3D4E2005E7DAC /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99789881CD3D4E2005E7DAC /* Main.cpp */; };
@@ -31,12 +35,33 @@
A9B67B8F1C3AAEA200373FFD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B67B871C3AAEA200373FFD /* main.m */; };
A9B67B901C3AAEA200373FFD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8A1C3AAEA200373FFD /* Main.storyboard */; };
A9B67B911C3AAEA200373FFD /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */; };
- A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB97218503A400DDBC03 /* libMoltenVK.a */; };
- A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */; };
A9D516F81CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
A9D516F91CD575E300097D96 /* HelpersDispatchTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */; };
/* End PBXBuildFile section */
+/* Begin PBXCopyFilesBuildPhase section */
+ A92806E624FD77AA0082B2CF /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ A92806E724FD77C00082B2CF /* libMoltenVK.dylib in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ A92806E824FD77D50082B2CF /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ A92806E924FD77EC0082B2CF /* libMoltenVK.dylib in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
1D6058910D05DD3D006BFB54 /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
A93374642284CD260059D36E /* Hologram.vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Hologram.vert.h; path = android/src/main/jni/Hologram.vert.h; sourceTree = "<group>"; };
@@ -45,6 +70,8 @@
A93CC3701CD56B8F00EB8A56 /* generate-dispatch-table */ = {isa = PBXFileReference; explicitFileType = text.script.python; path = "generate-dispatch-table"; sourceTree = "<group>"; };
A93CC3711CD56FD600EB8A56 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
A977BCFE1B66BB010067E5BF /* Hologram.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Hologram.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ A991E27124FD520900D968D4 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/dylib/iOS/libMoltenVK.dylib; sourceTree = "<group>"; };
+ A991E27324FD521600D968D4 /* libMoltenVK.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libMoltenVK.dylib; path = ../../../MoltenVK/dylib/macOS/libMoltenVK.dylib; sourceTree = "<group>"; };
A997897F1CD3D4E2005E7DAC /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
A99789821CD3D4E2005E7DAC /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Helpers.h; sourceTree = "<group>"; };
A99789831CD3D4E2005E7DAC /* Hologram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hologram.cpp; sourceTree = "<group>"; };
@@ -79,8 +106,6 @@
A9B67B881C3AAEA200373FFD /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
A9B67B8A1C3AAEA200373FFD /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
A9B67B8B1C3AAEA200373FFD /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
- A9C2AB97218503A400DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/iOS/static/libMoltenVK.a; sourceTree = "<group>"; };
- A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libMoltenVK.a; path = ../../../MoltenVK/macOS/static/libMoltenVK.a; sourceTree = "<group>"; };
A9D516F61CD575E300097D96 /* HelpersDispatchTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelpersDispatchTable.cpp; sourceTree = "<group>"; };
A9D516F71CD575E300097D96 /* HelpersDispatchTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelpersDispatchTable.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -90,7 +115,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2AB99218503A400DDBC03 /* libMoltenVK.a in Frameworks */,
+ A991E27224FD520900D968D4 /* libMoltenVK.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -98,7 +123,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A9C2AB9E218503BA00DDBC03 /* libMoltenVK.a in Frameworks */,
+ A991E27424FD521600D968D4 /* libMoltenVK.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -207,8 +232,8 @@
A9C2AB96218503A400DDBC03 /* Frameworks */ = {
isa = PBXGroup;
children = (
- A9C2AB9C218503BA00DDBC03 /* libMoltenVK.a */,
- A9C2AB97218503A400DDBC03 /* libMoltenVK.a */,
+ A991E27124FD520900D968D4 /* libMoltenVK.dylib */,
+ A991E27324FD521600D968D4 /* libMoltenVK.dylib */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -232,6 +257,7 @@
1D60588D0D05DD3D006BFB54 /* Resources */,
1D60588E0D05DD3D006BFB54 /* Sources */,
1D60588F0D05DD3D006BFB54 /* Frameworks */,
+ A92806E624FD77AA0082B2CF /* CopyFiles */,
);
buildRules = (
);
@@ -249,6 +275,7 @@
A977BCBE1B66BB010067E5BF /* Resources */,
A977BCC91B66BB010067E5BF /* Sources */,
A977BCF11B66BB010067E5BF /* Frameworks */,
+ A92806E824FD77D50082B2CF /* CopyFiles */,
);
buildRules = (
);
@@ -358,7 +385,8 @@
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/iOS\"";
MARKETING_VERSION = 1;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -374,7 +402,8 @@
GCC_PREFIX_HEADER = "$(SRCROOT)/iOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS/static\"";
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/iOS\"";
MARKETING_VERSION = 1;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -388,7 +417,8 @@
COMBINE_HIDPI_IMAGES = YES;
GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/macOS\"";
MACOSX_DEPLOYMENT_TARGET = 10.11;
OTHER_LDFLAGS = (
"$(inherited)",
@@ -405,7 +435,8 @@
COMBINE_HIDPI_IMAGES = YES;
GCC_PREFIX_HEADER = "$(SRCROOT)/macOS/Prefix.pch";
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS/static\"";
+ LD_RUNPATH_SEARCH_PATHS = "@executable_path/../Frameworks";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/dylib/macOS\"";
MACOSX_DEPLOYMENT_TARGET = 10.11;
OTHER_LDFLAGS = (
"$(inherited)",
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
index 3e0f340..3d15109 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-iOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
- BuildableName = "Hologram.app"
- BlueprintName = "Hologram-iOS"
- ReferencedContainer = "container:Hologram.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
index 354ab2d..b597c72 100644
--- a/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
+++ b/Demos/LunarG-VulkanSamples/Hologram/Hologram.xcodeproj/xcshareddata/xcschemes/Hologram-macOS.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A977BCBD1B66BB010067E5BF"
- BuildableName = "Hologram.app"
- BlueprintName = "Hologram-macOS"
- ReferencedContainer = "container:Hologram.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/Demos/README.md b/Demos/README.md
index aeccf91..0334bb3 100644
--- a/Demos/README.md
+++ b/Demos/README.md
@@ -56,9 +56,8 @@
The *macOS* version of this demo includes a sizable window, and represents an example of how to detect,
within your *Vulkan* code, when a window has been resized, and to modify the *Vulkan* swapchain accordingly.
-The `Cube` demo is a simple example of installing **MoltenVK** as a *dynamic library*. In this demo,
-the **MoltenVK** *dynamic library* is embedded in the application, but it could have been installed
-as a system library instead.
+The `Cube` demo is a simple example of installing **MoltenVK** as an `XCFramework`
+that is statically linked to the application.
<a name="lunarg-vulkan-samples-hologram"></a>
@@ -82,7 +81,9 @@
To customize, modify the arguments created in the `DemoViewController viewDidLoad` method
found in the `iOS/DemoViewController.mm` or `macOS/DemoViewController.mm` file.
-The `Hologram` demo is a simple example of installing **MoltenVK** as a *static library*.
+The `Hologram` demo is a simple example of installing **MoltenVK** as a *dynamic library* that is
+dynamically linked to the application. In this demo, the **MoltenVK** *dynamic library* is copied
+into and embedded in the application, but it could have been installed as a system library instead.
<a name="lunarg-vulkan-samples-api"></a>
@@ -119,7 +120,8 @@
To see descriptions and screenshots of each of the demos, open
[this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan).
-The `API-Samples` demo is a simple example of installing **MoltenVK** as a *static framework*.
+The `API-Samples` demo is a simple example of installing **MoltenVK** as an `XCFramework` that
+is statically linked to the application.
diff --git a/Docs/MoltenVK_Runtime_UserGuide.md b/Docs/MoltenVK_Runtime_UserGuide.md
index ba27473..f1fc211 100644
--- a/Docs/MoltenVK_Runtime_UserGuide.md
+++ b/Docs/MoltenVK_Runtime_UserGuide.md
@@ -20,8 +20,9 @@
- [About This Document](#about_this)
- [About **MoltenVK**](#about_moltenvk)
- [Installing **MoltenVK** in Your *Vulkan* Application](#install)
+ - [Install *MoltenVK* as a Universal `XCFramework`](#install_xcfwk)
+ - [Install *MoltenVK* as a Dynamic Library](#install_dylib)
- [Build and Runtime Requirements](#requirements)
- - [Install as Static Framework, Static Library, or Dynamic Library](#install_lib)
- [Interacting with the **MoltenVK** Runtime](#interaction)
- [MoltenVK `VK_MVK_moltenvk` Extension](#moltenvk_extension)
- [Configuring MoltenVK](#moltenvk_config)
@@ -76,6 +77,144 @@
Installing **MoltenVK** in Your *Vulkan* Application
----------------------------------------------------
+Installation of **MoltenVK** in your application is straightforward and easy!
+
+Depending on your build and deployment needs, you can link **MoltenVK** to your application either
+as a universal `XCFramework` or as a *dynamic library* (`.dylib`). Distributing an app containing
+a dynamic library via the *iOS App Store* or *tvOS App Store* can require specialized bundling.
+If you are unsure about which linking and deployment option you need, or on *iOS* or *tvOS*,
+unless you have specific needs for dynamic libraries, follow the steps for linking **MoltenVK**
+as an `XCFramework`, as it is the simpler option.
+
+The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate both
+of the installation techniques discussed above:
+
+- `XCFramework`: `Cube` and `API-Samples` demos.
+- Dynamic library: `Hologram` demo.
+
+
+<a name="install_xcfwk"></a>
+### Install *MoltenVK* as a Universal `XCFramework`
+
+To link **MoltenVK** to your application as an `XCFramework`, follow these steps:
+
+1. Open your application in *Xcode* and select your application's target in the
+ *Project Navigator* panel.
+
+2. Open the *Build Settings* tab.
+
+ 1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting,
+ add an entry that points to the `MoltenVK/include` folder.
+
+ 2. If using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET`)
+ setting, and ensure it is set to a value of `iOS 11.0` or greater, or if using `IOSurfaces` on *tvOS*,
+ open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a
+ value of `tvOS 11.0` or greater.
+
+3. Open the *Build Phases* tab and open the *Link Binary With Libraries* list.
+
+ 1. Drag `MoltenVK/MoltenVK.xcframework` to the *Link Binary With Libraries* list.
+
+ 2. If your application does **_not_** use use `C++`, click the **+** button,
+ and add `libc++.tbd` by selecting it from the list of system frameworks.
+ This is needed because **MoltenVK** uses `C++` system libraries internally.
+
+ 3. If you do **_not_** have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and
+ **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the
+ **+** button, and add the following items by selecting them from the list of system frameworks:
+ - `libc++.tbd` *(if not already done in Step 2)*
+ - `Metal.framework`
+ - `Foundation.framework`.
+ - `QuartzCore.framework`
+ - `IOKit.framework` (*macOS*)
+ - `UIKit.framework` (*iOS* or *tvOS*)
+ - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`,
+ or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
+
+
+
+<a name="install_dylib"></a>
+### Install *MoltenVK* as a Dynamic Library
+
+To link **MoltenVK** to your application as a dynamic library (`.dylib`), follow these steps:
+
+1. Open your application in *Xcode* and select your application's target in the
+ *Project Navigator* panel.
+
+
+2. Open the *Build Settings* tab.
+
+ 1. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting,
+ add an entry that points to the `MoltenVK/include` folder.
+
+ 2. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting,
+ add an entry that points to **_one_** of the following folders:
+ - `MoltenVK/dylib/macOS` *(macOS)*
+ - `MoltenVK/dylib/iOS` *(iOS)*
+ - `MoltenVK/dylib/tvOS` *(tvOS)*
+
+ 3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting,
+ add an entry that matches where the dynamic library will be located in your runtime
+ environment. If the dynamic library is to be embedded within your application,
+ you would typically set this to **_one_** of these values:
+
+ - `@executable_path/../Frameworks` *(macOS)*
+ - `@executable_path/Frameworks` *(iOS or tvOS)*
+
+ The `libMoltenVK.dylib` library is internally configured to be located at
+ `@rpath/libMoltenVK.dylib`.
+
+ 3. If using `IOSurfaces` on *iOS*, open the **iOS Deployment Target** (aka `IPHONEOS_DEPLOYMENT_TARGET`)
+ setting, and ensure it is set to a value of `iOS 11.0` or greater, or if using `IOSurfaces` on *tvOS*,
+ open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a
+ value of `tvOS 11.0` or greater.
+
+3. Open the *Build Phases* tab and open the *Link Binary With Libraries* list.
+
+ 1. Drag **_one_** of the following files to the *Link Binary With Libraries* list:
+ - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)*
+ - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)*
+ - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)*
+
+ 2. If your application does **_not_** use use `C++`, click the **+** button,
+ and add `libc++.tbd` by selecting it from the list of system frameworks.
+ This is needed because **MoltenVK** uses `C++` system libraries internally.
+
+ 3. If you do **_not_** have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and
+ **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click the
+ **+** button, and add the following items by selecting them from the list of system frameworks:
+ - `libc++.tbd` *(if not already done in Step 2)*
+ - `Metal.framework`
+ - `Foundation.framework`.
+ - `QuartzCore.framework`
+ - `IOKit.framework` (*macOS*)
+ - `UIKit.framework` (*iOS* or *tvOS*)
+ - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`,
+ or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
+
+4. Arrange to install the `libMoltenVK.dylib` file in your application environment:
+
+ - To copy the `libMoltenVK.dylib` file into your application or component library:
+
+ 1. On the *Build Phases* tab, add a new *Copy Files* build phase.
+
+ 2. Set the *Destination* into which you want to place the `libMoltenVK.dylib` file.
+ Typically this will be *Frameworks* (and it should match the **Runpath Search Paths**
+ (aka `LD_RUNPATH_SEARCH_PATHS`) build setting you added above).
+
+ 3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase:
+ - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)*
+ - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)*
+ - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)*
+
+ - Alternately, you may create your own installation mechanism to install one of the following
+ files into a standard *macOS*, *iOS*, or *tvOS* system library folder on the user's device:
+ - `MoltenVK/dylib/macOS/libMoltenVK.dylib` *(macOS)*
+ - `MoltenVK/dylib/iOS/libMoltenVK.dylib` *(iOS)*
+ - `MoltenVK/dylib/tvOS/libMoltenVK.dylib` *(tvOS)*
+
+
+
<a name="requirements"></a>
### Build and Runtime Requirements
@@ -97,145 +236,19 @@
- Information on *iOS* devices that are compatible with *Metal* can be found in
[this article](https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/HardwareGPUInformation/HardwareGPUInformation.html).
-
-
-<a name="install_lib"></a>
-### Install as Static Framework, Static Library, or Dynamic Library
-
-Installation of **MoltenVK** is straightforward and easy!
-
-Depending on your build and deployment needs, you can install **MoltenVK** as a *static framework*,
-*static library*, or *dynamic library*, by following the steps in this section. If you are unsure
-about which linking and deployment option you need, follow the steps for installing a
-*static framework*, as it is the simplest to install.
-
->**_Note:_** Distributing an app containing a dynamic library via the *iOS App Store* or
- *tvOS App Store* can require specialized bundling. Unless you have specific needs for
- dynamic libraries, the recommended approach on *iOS* or *tvOS* is to link **MoltenVK**
- to your app as a static library or framework.
-
-
-1. Open your application in *Xcode* and select your application's target in the
- *Project Navigator* panel.
-
-
-2. Open the *Build Settings* tab.
-
- - If installing **MoltenVK** as a *static framework* in your application:
- 1. In the **Framework Search Paths** (aka `FRAMEWORK_SEARCH_PATHS`)
- setting, add an entry that points to **_one_** of the following folders:
- - `MoltenVK/macOS/framework` *(macOS)*
- - `MoltenVK/iOS/framework` *(iOS)*
- - `MoltenVK/tvOS/framework` *(tvOS)*
-
- - If installing **MoltenVK** as a *static library* in your application:
- 1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting,
- add an entry that points to **_one_** of the following folders:
- - `MoltenVK/macOS/static` *(macOS)*
- - `MoltenVK/iOS/static` *(iOS)*
- - `MoltenVK/tvOS/static` *(tvOS)*
-
- 2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting,
- add an entry that points to the `MoltenVK/include` folder.
-
- - If installing **MoltenVK** as a *dynamic library* in your application:
- 1. In the **Library Search Paths** (aka `LIBRARY_SEARCH_PATHS`) setting,
- add an entry that points to **_one_** of the following folders:
- - `MoltenVK/macOS/dynamic` *(macOS)*
- - `MoltenVK/iOS/dynamic` *(iOS)*
- - `MoltenVK/tvOS/dynamic` *(tvOS)*
-
- 2. In the **Header Search Paths** (aka `HEADER_SEARCH_PATHS`) setting,
- add an entry that points to the `MoltenVK/include` folder.
- 3. In the **Runpath Search Paths** (aka `LD_RUNPATH_SEARCH_PATHS`) setting,
- add an entry that matches where the dynamic library will be located in your runtime
- environment. If the dynamic library is to be embedded within your application,
- you would typically set this value to either:
-
- - `@executable_path/../Frameworks` *(macOS)*
- - `@executable_path/Frameworks` *(iOS or tvOS)*
-
- The `libMoltenVK.dylib` library is internally configured to be located at
- `@rpath/libMoltenVK.dylib`.
-
-3. With the *Build Settings* tab open, if using `IOSurfaces` on *iOS*, open the **iOS Deployment Target**
- (aka `IPHONEOS_DEPLOYMENT_TARGET`) setting, and ensure it is set to a value of `iOS 11.0` or greater,
- or if using `IOSurfaces` on *tvOS*, open the **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET`)
- setting, and ensure it is set to a value of `tvOS 11.0` or greater.
-
-4. On the *Build Phases* tab, open the *Link Binary With Libraries* list.
+When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings may reduce performance.
+To improve performance and gain the benefits of *Metal*, perform the following in *Xcode*:
- - For *macOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
- - `MoltenVK/macOS/framework/MoltenVK.framework ` *(static framework)*
- - `MoltenVK/macOS/static/libMoltenVK.a` *(static library)*
- - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(dynamic library)*
-
- - For *iOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
- - `MoltenVK/iOS/framework/MoltenVK.framework ` *(static framework)*
- - `MoltenVK/iOS/static/libMoltenVK.a` *(static library)*
- - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(dynamic library)*
-
- - For *tvOS*, drag **_one_** of the following files to the *Link Binary With Libraries* list:
- - `MoltenVK/tvOS/framework/MoltenVK.framework ` *(static framework)*
- - `MoltenVK/tvOS/static/libMoltenVK.a` *(static library)*
- - `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` *(dynamic library)*
-
-5. While in the *Link Binary With Libraries* list on the *Build Phases* tab, if you do **_not_**
- have the **Link Frameworks Automatically** (aka `CLANG_MODULES_AUTOLINK`) and
- **Enable Modules (C and Objective-C)** (aka `CLANG_ENABLE_MODULES`) settings enabled, click
- the **+** button, and (selecting from the list of system frameworks) add the following items:
- - `libc++.tbd`
- - `Metal.framework`
- - `Foundation.framework`.
- - `QuartzCore.framework`
- - `IOKit.framework` (*macOS*)
- - `UIKit.framework` (*iOS* or *tvOS*)
- - `IOSurface.framework` (*macOS*, or *iOS* if `IPHONEOS_DEPLOYMENT_TARGET` is at least `iOS 11.0`,
- or *tvOS* if `TVOS_DEPLOYMENT_TARGET` is at least `tvOS 11.0`)
-
-6. If installing **MoltenVK** as a *dynamic library* in your application, arrange to install
- the `libMoltenVK.dylib` file in your application environment:
-
- - To copy the `libMoltenVK.dylib` file into your application or component library:
-
- 1. On the *Build Phases* tab, add a new *Copy Files* build phase.
-
- 2. Set the *Destination* into which you want to place the `libMoltenVK.dylib` file.
- Typically this will be *Frameworks* (and should match the **Runpath Search Paths**
- (aka `LD_RUNPATH_SEARCH_PATHS`) build setting you set above).
-
- 3. Drag **_one_** of the following files to the *Copy Files* list in this new build phase:
- - `MoltenVK/macOS/dynamic/libMoltenVK.dylib` *(macOS)*
- - `MoltenVK/iOS/dynamic/libMoltenVK.dylib` *(iOS)*
- - `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` *(tvOS)*
-
- - Alternately, you may create your own installation mechanism to install one of the
- `MoltenVK/macOS/dynamic/libMoltenVK.dylib`, `MoltenVK/iOS/dynamic/libMoltenVK.dylib`,
- or `MoltenVK/tvOS/dynamic/libMoltenVK.dylib` file into a standard *macOS*, *iOS*, or
- *tvOS* system library folder on the user's device.
-
-7. When a *Metal* app is running from *Xcode*, the default ***Scheme*** settings reduce
- performance. To improve performance and gain the benefits of *Metal*, perform the
- following in *Xcode*:
-
- 1. Open the ***Scheme Editor*** for building your main application. You can do
- this by selecting ***Edit Scheme...*** from the ***Scheme*** drop-down menu, or select
- ***Product -> Scheme -> Edit Scheme...*** from the main menu.
- 2. On the ***Info*** tab, set the ***Build Configuration*** to ***Release***, and disable the
- ***Debug executable*** check-box.
- 3. On the ***Options*** tab, disable both the ***Metal API Validation*** and ***GPU Frame Capture***
- options. For optimal performance, you may also consider disabling the other simulation
- and debugging options on this tab. For further information, see the
- [Xcode Scheme Settings and Performance](https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html#//apple_ref/doc/uid/TP40014221-CH8-SW3)
- section of Apple's *Metal Programming Guide* documentation.
-
-
-The demo apps, found in the `Demos.xcworkspace`, located in the `Demos` folder, demonstrate each
-of the installation techniques discussed above:
-
-- Static Framework: `API-Samples`.
-- Static library: `Hologram`.
-- Dynamic library: `Cube`.
+1. Open the ***Scheme Editor*** for building your main application. You can do
+ this by selecting ***Edit Scheme...*** from the ***Scheme*** drop-down menu, or select
+ ***Product -> Scheme -> Edit Scheme...*** from the main menu.
+2. On the ***Info*** tab, set the ***Build Configuration*** to ***Release***, and disable the
+ ***Debug executable*** check-box.
+3. On the ***Options*** tab, disable both the ***Metal API Validation*** and ***GPU Frame Capture***
+ options. For optimal performance, you may also consider disabling the other simulation
+ and debugging options on this tab. For further information, see the
+ [Xcode Scheme Settings and Performance](https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/MetalProgrammingGuide/Dev-Technique/Dev-Technique.html#//apple_ref/doc/uid/TP40014221-CH8-SW3)
+ section of Apple's *Metal Programming Guide* documentation.
diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index 03b2cc5..001246a 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -18,6 +18,8 @@
Released 2020/09/28
+>**_Note:_** This release contains changes to library paths and framework linking options.
+
- Add support for Vulkan 1.1, including:
- The `vkEnumerateInstanceVersion()` function
- The `vkGetDeviceQueue2()` function
@@ -38,12 +40,20 @@
future `MTLSharedEvent` Vulkan extension)
- `VK_KHR_multiview`
- Remove support for obsolete `VK_EXTX_portability_subset` extension.
+- Redesign build and linking options that leverage newer framework technology:
+ - Add comprehensive support for multi-platform, multi-architecture `XCFrameworks`.
+ - Build fat single-platform, multi-architecture `dylibs`.
+ - Add support for *Apple Silicon* builds for *macOS* and *Simulators*.
+ - Remove support for distinct legacy frameworks and static libraries.
+ - Remove support for fat libraries and frameworks that span device and simulators.
- Improve performance of tessellation control pipeline stage by processing multiple
patches per workgroup.
- `vkCmdBindDescriptorSets` order `pDynamicOffsets` by descriptor binding number
within each descriptor set.
- `vkCmdCopyImage` on macOS flush non-coherent image memory before copy operation.
- Re-add support for bitcode generation on *iOS* and *tvOS*.
+- Combine `MoltenVKSPIRVToMSLConverter` and `MoltenVKGLSLToSPIRVConverter`
+ frameworks into a single `MoltenVKShaderConverter` framework.
- Fix Metal validation error when occlusion query and renderpass are in separate
Vulkan command buffers.
diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj
index d308c9f..3dab9b0 100644
--- a/ExternalDependencies.xcodeproj/project.pbxproj
+++ b/ExternalDependencies.xcodeproj/project.pbxproj
@@ -11,8 +11,6 @@
isa = PBXAggregateTarget;
buildConfigurationList = 2FEA0AE52490320500EEF3AD /* Build configuration list for PBXAggregateTarget "ExternalDependencies-tvOS" */;
buildPhases = (
- A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */,
- 2FEA0AE42490320500EEF3AD /* Package External Libraries */,
);
dependencies = (
2FEA0CF12490325400EEF3AD /* PBXTargetDependency */,
@@ -26,7 +24,6 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7E721CEC72F0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-macOS" */;
buildPhases = (
- A9679AB021D26C7000856BF7 /* Package Libraries */,
);
dependencies = (
A972A7E921CEC76A0013AB25 /* PBXTargetDependency */,
@@ -40,8 +37,6 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7ED21CEC8030013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-iOS" */;
buildPhases = (
- A932E9C6249A7B9B00D64150 /* Create Fat Libraries */,
- A9679AAF21D26C1400856BF7 /* Package Libraries */,
);
dependencies = (
A972A7F121CEC8140013AB25 /* PBXTargetDependency */,
@@ -55,6 +50,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = A972A7F521CEC81B0013AB25 /* Build configuration list for PBXAggregateTarget "ExternalDependencies" */;
buildPhases = (
+ A9194DF624E8990C00FB127B /* Create XCFramework */,
A9FC5F8B249DB48D003CB086 /* Package Finish */,
);
dependencies = (
@@ -1728,8 +1724,8 @@
A913F24424CF87AE006CB02F /* ShaderLang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLang.h; sourceTree = "<group>"; };
A913F25724CF87AE006CB02F /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
A913F25824CF87AE006CB02F /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = "<group>"; };
- A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
- A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_ext_libs.sh; sourceTree = "<group>"; };
+ A9194DF424E8940600FB127B /* copy_ext_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_ext_lib_to_staging.sh; sourceTree = "<group>"; };
+ A9194DF524E8979100FB127B /* create_ext_lib_xcframeworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_ext_lib_xcframeworks.sh; sourceTree = "<group>"; };
A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */ = {isa = PBXFileReference; lastKnownFileType = text; path = packagePregenSpirvToolsHeaders; sourceTree = "<group>"; };
A95D90FE23A7F1E500CBCC60 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
A95D90FF23A7F1E500CBCC60 /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
@@ -1760,7 +1756,6 @@
A95D911923A7F1E500CBCC60 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
A95D911A23A7F1E500CBCC60 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
A95D911B23A7F1E500CBCC60 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
- A9679AAE21D269D900856BF7 /* package_ext_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs.sh; sourceTree = "<group>"; };
A972A80F21CECBBF0013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
A972A82321CECBE90013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; };
A972ABDC21CED7BC0013AB25 /* libglslang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglslang.a; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2179,6 +2174,8 @@
A9765DEE2485758500FDD115 /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
A9765DEF2485758500FDD115 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = "<group>"; };
A9765DF02485758500FDD115 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
+ A9772CFF24F9930E002617D0 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
+ A991DB2124E6016E00AEEC36 /* create_xcframework_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_xcframework_func.sh; sourceTree = "<group>"; };
A9C2104521D14FD7006BA2D3 /* fetchDependencies */ = {isa = PBXFileReference; lastKnownFileType = text; path = fetchDependencies; sourceTree = "<group>"; };
A9C2104721D15843006BA2D3 /* ExternalRevisions */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ExternalRevisions; sourceTree = "<group>"; };
A9FC5F7F249DA96D003CB086 /* package_ext_libs_finish.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_finish.sh; sourceTree = "<group>"; };
@@ -2381,10 +2378,11 @@
A9679AAB21D2699800856BF7 /* Scripts */ = {
isa = PBXGroup;
children = (
- A932E9DF249BC44D00D64150 /* create_fat_ext_libs.sh */,
- A932E9C5249A743B00D64150 /* create_fat_lib_func.sh */,
+ A9194DF424E8940600FB127B /* copy_ext_lib_to_staging.sh */,
+ A9772CFF24F9930E002617D0 /* copy_lib_to_staging.sh */,
+ A9194DF524E8979100FB127B /* create_ext_lib_xcframeworks.sh */,
+ A991DB2124E6016E00AEEC36 /* create_xcframework_func.sh */,
A9FC5F7F249DA96D003CB086 /* package_ext_libs_finish.sh */,
- A9679AAE21D269D900856BF7 /* package_ext_libs.sh */,
A9415EF624366B0E00566F16 /* packagePregenSpirvToolsHeaders */,
);
path = Scripts;
@@ -3725,6 +3723,7 @@
buildPhases = (
2FEA0AE92490321700EEF3AD /* Headers */,
2FEA0B1C2490321700EEF3AD /* Sources */,
+ A9194DF124E8855F00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3741,6 +3740,7 @@
buildPhases = (
2FEA0B4C2490322100EEF3AD /* Headers */,
2FEA0C0A2490322100EEF3AD /* Sources */,
+ A9194DEE24E8852B00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3757,6 +3757,7 @@
buildPhases = (
2FEA0CDA2490322B00EEF3AD /* Headers */,
2FEA0CE32490322B00EEF3AD /* Sources */,
+ A9194DEC24E884FC00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3773,6 +3774,7 @@
buildPhases = (
A976290021CC608E00B52A68 /* Headers */,
A976290121CC609100B52A68 /* Sources */,
+ A9194DE724E8431600FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3789,6 +3791,7 @@
buildPhases = (
A97628FF21CC608900B52A68 /* Headers */,
A97628FE21CC608400B52A68 /* Sources */,
+ A9194DEB24E85ABC00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3805,6 +3808,7 @@
buildPhases = (
A972A7FD21CECBBF0013AB25 /* Headers */,
A972A80521CECBBF0013AB25 /* Sources */,
+ A9194DED24E8851900FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3821,6 +3825,7 @@
buildPhases = (
A972A81121CECBE90013AB25 /* Headers */,
A972A81921CECBE90013AB25 /* Sources */,
+ A9194DEF24E8853B00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3837,6 +3842,7 @@
buildPhases = (
A972ABCA21CED7BC0013AB25 /* Headers */,
A972ABD221CED7BC0013AB25 /* Sources */,
+ A9194DF024E8854D00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3853,6 +3859,7 @@
buildPhases = (
A972ABDE21CED7CB0013AB25 /* Headers */,
A972ABE621CED7CB0013AB25 /* Sources */,
+ A9194DF224E8856E00FB127B /* Copy to Staging */,
);
buildRules = (
);
@@ -3918,7 +3925,7 @@
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
- 2FEA0AE42490320500EEF3AD /* Package External Libraries */ = {
+ A9194DE724E8431600FB127B /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -3927,16 +3934,16 @@
);
inputPaths = (
);
- name = "Package External Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
};
- A932E9C6249A7B9B00D64150 /* Create Fat Libraries */ = {
+ A9194DEB24E85ABC00FB127B /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -3945,16 +3952,16 @@
);
inputPaths = (
);
- name = "Create Fat Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"iOS\"\nexport MVK_OS_PROD_EXTN=\"iphoneos\"\nexport MVK_SIM_PROD_EXTN=\"iphonesimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
};
- A9679AAF21D26C1400856BF7 /* Package Libraries */ = {
+ A9194DEC24E884FC00FB127B /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -3963,16 +3970,16 @@
);
inputPaths = (
);
- name = "Package Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
};
- A9679AB021D26C7000856BF7 /* Package Libraries */ = {
+ A9194DED24E8851900FB127B /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -3981,16 +3988,16 @@
);
inputPaths = (
);
- name = "Package Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_ext_libs.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
};
- A9A5F2C1249D09820016D8B1 /* Create Fat Libraries */ = {
+ A9194DEE24E8852B00FB127B /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -3999,14 +4006,104 @@
);
inputPaths = (
);
- name = "Create Fat Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_OS_PROD_EXTN=\"appletvos\"\nexport MVK_SIM_PROD_EXTN=\"appletvsimulator\"\n\n. \"${SRCROOT}/Scripts/create_fat_ext_libs.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+ };
+ A9194DEF24E8853B00FB127B /* Copy to Staging */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy to Staging";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+ };
+ A9194DF024E8854D00FB127B /* Copy to Staging */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy to Staging";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+ };
+ A9194DF124E8855F00FB127B /* Copy to Staging */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy to Staging";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n\n";
+ };
+ A9194DF224E8856E00FB127B /* Copy to Staging */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy to Staging";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/copy_ext_lib_to_staging.sh\"\n";
+ };
+ A9194DF624E8990C00FB127B /* Create XCFramework */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Create XCFramework";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n";
};
A9FC5F8B249DB48D003CB086 /* Package Finish */ = {
isa = PBXShellScriptBuildPhase;
diff --git a/ExternalRevisions/README.md b/ExternalRevisions/README.md
index cbf5c1c..8a52555 100644
--- a/ExternalRevisions/README.md
+++ b/ExternalRevisions/README.md
@@ -43,7 +43,7 @@
To retrieve and build these libraries from their sources, run the `fetchDependencies`
script in the main repository directory:
- ./fetchDependencies [--debug]
+ ./fetchDependencies --all [--debug]
The `--debug` option will build the external libraries in Debug mode, which may
be useful when debugging and tracing calls into those libraries.
diff --git a/Makefile b/Makefile
index ebfee2c..b2c8406 100644
--- a/Makefile
+++ b/Makefile
@@ -5,14 +5,18 @@
.PHONY: all
all:
@$(MAKE) macos
- @$(MAKE) iosfat
- @$(MAKE) tvosfat
+ @$(MAKE) ios
+ @$(MAKE) iossim
+ @$(MAKE) tvos
+ @$(MAKE) tvossim
.PHONY: all-debug
all-debug:
@$(MAKE) macos-debug
- @$(MAKE) iosfat-debug
- @$(MAKE) tvosfat-debug
+ @$(MAKE) ios-debug
+ @$(MAKE) iossim-debug
+ @$(MAKE) tvos-debug
+ @$(MAKE) tvossim-debug
.PHONY: macos
macos:
@@ -30,12 +34,12 @@
ios-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -configuration "Debug"
-.PHONY: iosfat
-iosfat: ios
+.PHONY: iossim
+iossim:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator"
-.PHONY: iosfat-debug
-iosfat-debug: ios-debug
+.PHONY: iossim-debug
+iossim-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (iOS only)" -destination "generic/platform=iOS Simulator" -configuration "Debug"
.PHONY: tvos
@@ -46,12 +50,12 @@
tvos-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -configuration "Debug"
-.PHONY: tvosfat
-tvosfat: tvos
+.PHONY: tvossim
+tvossim:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator"
-.PHONY: tvosfat-debug
-tvosfat-debug: tvos-debug
+.PHONY: tvossim-debug
+tvossim-debug:
xcodebuild build -quiet -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator" -configuration "Debug"
.PHONY: clean
@@ -63,5 +67,26 @@
.PHONY: install
install:
rm -rf /Library/Frameworks/MoltenVK.framework
- cp -a Package/Latest/MoltenVK/macOS/framework/MoltenVK.framework /Library/Frameworks/
+ rm -rf /Library/Frameworks/MoltenVK.xcframework
+ cp -a Package/Latest/MoltenVK/MoltenVK.xcframework /Library/Frameworks/
+# Deprecated target names
+.PHONY: iosfat
+iosfat:
+ @$(MAKE) ios
+ @$(MAKE) iossim
+
+.PHONY: iosfat-debug
+iosfat-debug:
+ @$(MAKE) ios-debug
+ @$(MAKE) iossim-debug
+
+.PHONY: tvosfat
+tvosfat:
+ @$(MAKE) tvos
+ @$(MAKE) tvossim
+
+.PHONY: tvosfat-debug
+tvosfat-debug:
+ @$(MAKE) tvos-debug
+ @$(MAKE) tvossim-debug
diff --git a/MoltenVK/MoltenVK.xcframework b/MoltenVK/MoltenVK.xcframework
new file mode 120000
index 0000000..a3abb4a
--- /dev/null
+++ b/MoltenVK/MoltenVK.xcframework
@@ -0,0 +1 @@
+../Package/Latest/MoltenVK/MoltenVK.xcframework
\ No newline at end of file
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index ffdf19a..3998810 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -365,13 +365,6 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 2F21D82C24983488009BEA5F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = 2FEA0AC42490305800EEF3AD;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
- };
2F21D82E24983488009BEA5F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
@@ -379,13 +372,6 @@
remoteGlobalIDString = 2FEA0CFF2490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
- 2FEA0D19249040CA00EEF3AD /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = 2FEA0AD72490305800EEF3AD;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
- };
2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
@@ -393,20 +379,6 @@
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
- A96B8156227BF6FD008A772B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = A937472B1A9A8B2900F29B34;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
- };
- A96B8158227BF715008A772B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = A93747701A9A98D000F29B34;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-macOS";
- };
A981497B1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
@@ -414,20 +386,6 @@
remoteGlobalIDString = A964BD5F1C57EFBD00D930D8;
remoteInfo = MoltenVKShaderConverter;
};
- A981497D1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = A964BD611C57EFBD00D930D8;
- remoteInfo = "MVKGLSLToSPIRVConverter-iOS";
- };
- A981497F1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 2;
- remoteGlobalIDString = A964BD601C57EFBD00D930D8;
- remoteInfo = "MVKGLSLToSPIRVConverter-macOS";
- };
A98149811FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
@@ -449,12 +407,12 @@
remoteGlobalIDString = A93903B81C57E9D700FE90DC;
remoteInfo = "MVKSPIRVToMSLConverter-iOS";
};
- A98149A31FB6B9EB005F00B4 /* PBXContainerItemProxy */ = {
+ A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
proxyType = 1;
- remoteGlobalIDString = A93903C01C57E9ED00FE90DC;
- remoteInfo = "MVKSPIRVToMSLConverter-macOS";
+ remoteGlobalIDString = A9092A8C1A81717B00051823;
+ remoteInfo = MoltenVKShaderConverter;
};
/* End PBXContainerItemProxy section */
@@ -749,9 +707,6 @@
isa = PBXGroup;
children = (
A981497C1FB6B566005F00B4 /* MoltenVKShaderConverter */,
- A981497E1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
- 2FEA0D1A249040CA00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
- A98149801FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */,
A98149821FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
2FEA0D1C249040CA00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */,
A98149841FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */,
@@ -1061,14 +1016,12 @@
A980A25D24C6288D007A8F6F /* Generate Version Header */,
2FEA0A4024902F9F00EEF3AD /* Headers */,
2FEA0A8224902F9F00EEF3AD /* Sources */,
+ A9CBBFF124F89F79006D41EF /* Copy to Staging */,
2FEA0AB524902F9F00EEF3AD /* Create Dynamic Library */,
- A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */,
- 2FEA0AB624902F9F00EEF3AD /* Create Framework */,
);
buildRules = (
);
dependencies = (
- 2F21D82D24983488009BEA5F /* PBXTargetDependency */,
2F21D82F24983488009BEA5F /* PBXTargetDependency */,
);
name = "MoltenVK-tvOS";
@@ -1083,15 +1036,13 @@
A980A25B24C6283D007A8F6F /* Generate Version Header */,
A9B8EE071A98D796009C5A02 /* Headers */,
A9B8EE051A98D796009C5A02 /* Sources */,
+ A9CBBFEF24F89F5F006D41EF /* Copy to Staging */,
A9731FAD1EDDAE39006B7298 /* Create Dynamic Library */,
- A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */,
- A92EF79721854B3300C8B91B /* Create Framework */,
);
buildRules = (
);
dependencies = (
A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */,
- A96B8157227BF6FD008A772B /* PBXTargetDependency */,
);
name = "MoltenVK-iOS";
productName = MoltenVK;
@@ -1105,14 +1056,13 @@
A980A25E24C62895007A8F6F /* Generate Version Header */,
A9CBED871B6299D800E45FDC /* Headers */,
A9CBEDCE1B6299D800E45FDC /* Sources */,
+ A9CBBFF224F89F87006D41EF /* Copy to Staging */,
A93F47C91D7E389E002AF700 /* Create Dynamic Library */,
- A92EF78D21852B2400C8B91B /* Create Framework */,
);
buildRules = (
);
dependencies = (
- A98149A41FB6B9EB005F00B4 /* PBXTargetDependency */,
- A96B8159227BF715008A772B /* PBXTargetDependency */,
+ A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */,
);
name = "MoltenVK-macOS";
productName = MoltenVK;
@@ -1164,17 +1114,10 @@
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
- 2FEA0D1A249040CA00EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libMoltenVKGLSLToSPIRVConverter.a;
- remoteRef = 2FEA0D19249040CA00EEF3AD /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
2FEA0D1C249040CA00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
- path = libMoltenVKSPIRVToMSLConverter.a;
+ path = libMoltenVKShaderConverter.a;
remoteRef = 2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
@@ -1185,31 +1128,17 @@
remoteRef = A981497B1FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
- A981497E1FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libMoltenVKGLSLToSPIRVConverter.a;
- remoteRef = A981497D1FB6B566005F00B4 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- A98149801FB6B566005F00B4 /* libMoltenVKGLSLToSPIRVConverter.a */ = {
- isa = PBXReferenceProxy;
- fileType = archive.ar;
- path = libMoltenVKGLSLToSPIRVConverter.a;
- remoteRef = A981497F1FB6B566005F00B4 /* PBXContainerItemProxy */;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
A98149821FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
- path = libMoltenVKSPIRVToMSLConverter.a;
+ path = libMoltenVKShaderConverter.a;
remoteRef = A98149811FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
A98149841FB6B566005F00B4 /* libMoltenVKSPIRVToMSLConverter.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
- path = libMoltenVKSPIRVToMSLConverter.a;
+ path = libMoltenVKShaderConverter.a;
remoteRef = A98149831FB6B566005F00B4 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
@@ -1230,60 +1159,6 @@
shellPath = /bin/sh;
shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
};
- 2FEA0AB624902F9F00EEF3AD /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
- };
- A92EF78D21852B2400C8B91B /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
- };
- A92EF79721854B3300C8B91B /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
- };
A93F47C91D7E389E002AF700 /* Create Dynamic Library */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1366,7 +1241,7 @@
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/../Scripts/gen_moltenvk_rev_hdr.sh\"\n";
};
- A9EE084F249BD4AE00E523A2 /* Create Fat Libraries */ = {
+ A9CBBFEF24F89F5F006D41EF /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1375,16 +1250,16 @@
);
inputPaths = (
);
- name = "Create Fat Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
};
- A9FC5F6D249D39F3003CB086 /* Create Fat Libraries */ = {
+ A9CBBFF124F89F79006D41EF /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -1393,14 +1268,32 @@
);
inputPaths = (
);
- name = "Create Fat Libraries";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
+ };
+ A9CBBFF224F89F87006D41EF /* Copy to Staging */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy to Staging";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -1584,35 +1477,20 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- 2F21D82D24983488009BEA5F /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "MoltenVKGLSLToSPIRVConverter-tvOS";
- targetProxy = 2F21D82C24983488009BEA5F /* PBXContainerItemProxy */;
- };
2F21D82F24983488009BEA5F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVKSPIRVToMSLConverter-tvOS";
targetProxy = 2F21D82E24983488009BEA5F /* PBXContainerItemProxy */;
};
- A96B8157227BF6FD008A772B /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "MoltenVKGLSLToSPIRVConverter-iOS";
- targetProxy = A96B8156227BF6FD008A772B /* PBXContainerItemProxy */;
- };
- A96B8159227BF715008A772B /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "MoltenVKGLSLToSPIRVConverter-macOS";
- targetProxy = A96B8158227BF715008A772B /* PBXContainerItemProxy */;
- };
A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MVKSPIRVToMSLConverter-iOS";
targetProxy = A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */;
};
- A98149A41FB6B9EB005F00B4 /* PBXTargetDependency */ = {
+ A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- name = "MVKSPIRVToMSLConverter-macOS";
- targetProxy = A98149A31FB6B9EB005F00B4 /* PBXContainerItemProxy */;
+ name = MoltenVKShaderConverter;
+ targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -1721,8 +1599,11 @@
);
MACH_O_TYPE = staticlib;
MTL_ENABLE_DEBUG_INFO = YES;
+ MVK_SKIP_DYLIB = "";
+ "MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ "MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
ONLY_ACTIVE_ARCH = YES;
- PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKSPIRVToMSLConverter.a ${CONFIGURATION_BUILD_DIR}/libMoltenVKGLSLToSPIRVConverter.a";
+ PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
PRODUCT_NAME = MoltenVK;
SKIP_INSTALL = YES;
};
@@ -1782,7 +1663,10 @@
);
MACH_O_TYPE = staticlib;
MTL_ENABLE_DEBUG_INFO = NO;
- PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKSPIRVToMSLConverter.a ${CONFIGURATION_BUILD_DIR}/libMoltenVKGLSLToSPIRVConverter.a";
+ MVK_SKIP_DYLIB = "";
+ "MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ "MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
+ PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
PRODUCT_NAME = MoltenVK;
SKIP_INSTALL = YES;
VALIDATE_PRODUCT = YES;
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
index 1e5d460..105483f 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
@@ -186,7 +186,7 @@
// even if the structure contains alignment gaps.
mvkClear(this);
- enabled = false,
+ enabled = false;
stencilCompareFunction = MTLCompareFunctionAlways;
stencilFailureOperation = MTLStencilOperationKeep;
depthFailureOperation = MTLStencilOperationKeep;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index cd7ab9e..61ebd09 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -33,7 +33,7 @@
#include "MVKCodec.h"
#include "MVKEnvironment.h"
#include "MVKLogging.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
+#include <MoltenVKShaderConverter/SPIRVToMSLConverter.h>
#include "vk_mvk_moltenvk.h"
#import "CAMetalLayer+MoltenVK.h"
@@ -1251,6 +1251,12 @@
_metalFeatures.mslVersion = SPIRV_CROSS_NAMESPACE::CompilerMSL::Options::make_msl_version(maj, min);
switch (_metalFeatures.mslVersionEnum) {
+#if (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101600) || \
+ (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000) // also covers tvOS
+ case MTLLanguageVersion2_3:
+ setMSLVersion(2, 3);
+ break;
+#endif
case MTLLanguageVersion2_2:
setMSLVersion(2, 2);
break;
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
index 227fe3e..ea8c68c 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.h
@@ -22,7 +22,7 @@
#include "MVKCommandResourceFactory.h"
#include "MVKSync.h"
#include "MVKSmallVector.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
+#include <MoltenVKShaderConverter/SPIRVToMSLConverter.h>
#include <unordered_map>
#include <mutex>
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
index e615c7f..7db5dfd 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm
@@ -1256,6 +1256,11 @@
}];
if (hasPresentTime) {
+#if MVK_OS_SIMULATOR
+ // If MTLDrawable.presentedTime/addPresentedHandler isn't supported, just treat it as if the
+ // present happened when requested
+ _swapchain->recordPresentTime(presentID, desiredPresentTime, desiredPresentTime);
+#else
if ([_mtlDrawable respondsToSelector: @selector(addPresentedHandler:)]) {
[_mtlDrawable addPresentedHandler: ^(id<MTLDrawable> drawable) {
// Record the presentation time
@@ -1268,7 +1273,9 @@
// present happened when requested
_swapchain->recordPresentTime(presentID, desiredPresentTime, desiredPresentTime);
}
+#endif
}
+
}
// Resets the MTLTexture and CAMetalDrawable underlying this image.
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
index 9b9b40a..7c53e82 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.h
@@ -23,8 +23,8 @@
#include "MVKShaderModule.h"
#include "MVKSync.h"
#include "MVKSmallVector.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVReflection.h>
-#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
+#include <MoltenVKShaderConverter/SPIRVReflection.h>
+#include <MoltenVKShaderConverter/SPIRVToMSLConverter.h>
#include <unordered_map>
#include <unordered_set>
#include <ostream>
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
index 28d7c9c..4f59111 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKPipeline.mm
@@ -17,7 +17,7 @@
*/
#include "MVKPipeline.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
+#include <MoltenVKShaderConverter/SPIRVToMSLConverter.h>
#include "MVKRenderPass.h"
#include "MVKCommandBuffer.h"
#include "MVKFoundation.h"
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
index 3af05fc..832189e 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKShaderModule.h
@@ -21,8 +21,8 @@
#include "MVKDevice.h"
#include "MVKSync.h"
#include "MVKSmallVector.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h>
-#include <MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h>
+#include <MoltenVKShaderConverter/SPIRVToMSLConverter.h>
+#include <MoltenVKShaderConverter/GLSLToSPIRVConverter.h>
#include <mutex>
#import <Metal/Metal.h>
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
index 4f8ec3d..c63a16e 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKSync.mm
@@ -78,7 +78,7 @@
#pragma mark -
-#pragma mark MVKSemaphoreMTLEvent
+#pragma mark MVKSemaphoreMTLFence
// Could use any encoder. Assume BLIT is fastest and lightest.
// Nil mtlCmdBuff will do nothing.
diff --git a/MoltenVK/MoltenVK/Utility/MVKFoundation.h b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
index 3ce5714..d8d1ed2 100644
--- a/MoltenVK/MoltenVK/Utility/MVKFoundation.h
+++ b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
@@ -26,6 +26,7 @@
#include <cassert>
#include <limits>
#include <string>
+#include <cassert>
#include <simd/simd.h>
#include <type_traits>
diff --git a/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm b/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
index 8bee86e..623c648 100644
--- a/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
+++ b/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
@@ -22,7 +22,7 @@
#include "MVKFoundation.h"
#include "MVKOSExtensions.h"
#include "MVKBaseObject.h"
-#include <MoltenVKSPIRVToMSLConverter/SPIRVReflection.h>
+#include <MoltenVKShaderConverter/SPIRVReflection.h>
#include <unordered_map>
#include <string>
#include <limits>
diff --git a/MoltenVK/dylib b/MoltenVK/dylib
new file mode 120000
index 0000000..d7bc57e
--- /dev/null
+++ b/MoltenVK/dylib
@@ -0,0 +1 @@
+../Package/Latest/MoltenVK/dylib
\ No newline at end of file
diff --git a/MoltenVK/iOS b/MoltenVK/iOS
deleted file mode 120000
index fcdc7b4..0000000
--- a/MoltenVK/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/iOS
\ No newline at end of file
diff --git a/MoltenVK/macOS b/MoltenVK/macOS
deleted file mode 120000
index c83d7e9..0000000
--- a/MoltenVK/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/macOS
\ No newline at end of file
diff --git a/MoltenVK/tvOS b/MoltenVK/tvOS
deleted file mode 120000
index 5b0bd8e..0000000
--- a/MoltenVK/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../Package/Latest/MoltenVK/tvOS
\ No newline at end of file
diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj
index 584c18f..983965f 100644
--- a/MoltenVKPackaging.xcodeproj/project.pbxproj
+++ b/MoltenVKPackaging.xcodeproj/project.pbxproj
@@ -15,7 +15,6 @@
);
dependencies = (
2FEA0AC32490303F00EEF3AD /* PBXTargetDependency */,
- 2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */,
);
name = "MoltenVK-tvOS";
productName = Package;
@@ -28,7 +27,6 @@
);
dependencies = (
A975D5792140585200D4834F /* PBXTargetDependency */,
- A975D5812140585200D4834F /* PBXTargetDependency */,
);
name = "MoltenVK-iOS";
productName = Package;
@@ -41,7 +39,6 @@
);
dependencies = (
A975D58E2140586700D4834F /* PBXTargetDependency */,
- A975D5982140586700D4834F /* PBXTargetDependency */,
);
name = "MoltenVK-macOS";
productName = Package;
@@ -62,11 +59,12 @@
isa = PBXAggregateTarget;
buildConfigurationList = A9FEADDC1F3517480010240E /* Build configuration list for PBXAggregateTarget "MoltenVK" */;
buildPhases = (
+ A9B1008824F84BE400EADC6E /* Package MoltenVK */,
);
dependencies = (
- A9AFC2622184EEF60084B396 /* PBXTargetDependency */,
- A9AFC2602184EEF60084B396 /* PBXTargetDependency */,
- A9FC5F5F249D277E003CB086 /* PBXTargetDependency */,
+ A9B1008124F84BA700EADC6E /* PBXTargetDependency */,
+ A9B1008324F84BA700EADC6E /* PBXTargetDependency */,
+ A9B1008524F84BA700EADC6E /* PBXTargetDependency */,
);
name = MoltenVK;
productName = Package;
@@ -88,13 +86,6 @@
remoteGlobalIDString = 2FEA0A3B24902F9F00EEF3AD;
remoteInfo = "MoltenVK-tvOS";
};
- 2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = 2FEA0AC42490305800EEF3AD;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-tvOS";
- };
2FEA0ADB2490308E00EEF3AD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@@ -123,13 +114,6 @@
remoteGlobalIDString = A9B8EE091A98D796009C5A02;
remoteInfo = "MoltenVK-iOS";
};
- A975D5822140585200D4834F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = A937472B1A9A8B2900F29B34;
- remoteInfo = "MoltenVKGLSLToSPIRVConverter-iOS";
- };
A975D58F2140586700D4834F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
@@ -137,13 +121,6 @@
remoteGlobalIDString = A9CBED861B6299D800E45FDC;
remoteInfo = "MoltenVK-macOS";
};
- A975D5992140586700D4834F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = A9092A8C1A81717B00051823;
- remoteInfo = MoltenVKShaderConverter;
- };
A981498A1FB6B566005F00B4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@@ -186,20 +163,27 @@
remoteGlobalIDString = A9092A8C1A81717B00051823;
remoteInfo = MoltenVKShaderConverter;
};
- A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */ = {
+ A9B1008024F84BA700EADC6E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
- containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
+ containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
- remoteGlobalIDString = A975D5782140585200D4834F;
+ remoteGlobalIDString = A9B8EE091A98D796009C5A02;
remoteInfo = "MoltenVK-iOS";
};
- A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */ = {
+ A9B1008224F84BA700EADC6E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
- containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
+ containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
proxyType = 1;
- remoteGlobalIDString = A975D58B2140586700D4834F;
+ remoteGlobalIDString = A9CBED861B6299D800E45FDC;
remoteInfo = "MoltenVK-macOS";
};
+ A9B1008424F84BA700EADC6E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 2FEA0A3B24902F9F00EEF3AD;
+ remoteInfo = "MoltenVK-tvOS";
+ };
A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = A92DB40E1CE0F89600FBC835 /* MoltenVKShaderConverter.xcodeproj */;
@@ -207,17 +191,9 @@
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
};
- A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A90B2B1D1A9B6170008EE819 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2FEA0A2F24902F5E00EEF3AD;
- remoteInfo = "MoltenVK-tvOS";
- };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_lib.sh; sourceTree = "<group>"; };
A92DB3E41CE0F37D00FBC835 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
A92DB3E51CE0F37D00FBC835 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
A92DB3E61CE0F37D00FBC835 /* Whats_New.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = Whats_New.md; path = Docs/Whats_New.md; sourceTree = "<group>"; };
@@ -227,25 +203,21 @@
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_tool.sh; sourceTree = "<group>"; };
A92EF7C921856EA200C8B91B /* package_docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_docs.sh; sourceTree = "<group>"; };
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_update_latest.sh; sourceTree = "<group>"; };
- A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter.sh; sourceTree = "<group>"; };
+ A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_shader_converter_xcframework.sh; sourceTree = "<group>"; };
A92EF7DE2186451700C8B91B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; name = Makefile; path = ../Makefile; sourceTree = "<group>"; };
- A941E2B1221AEBD000890C56 /* create_framework_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_ios.sh; sourceTree = "<group>"; };
- A941E2B2221AEBD000890C56 /* create_framework_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_macos.sh; sourceTree = "<group>"; };
+ A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_lib_to_staging.sh; sourceTree = "<group>"; };
+ A93ED4E324F59CDB00FEB018 /* copy_to_staging.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = copy_to_staging.sh; sourceTree = "<group>"; };
A975D55C213F25D700D4834F /* create_dylib.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib.sh; sourceTree = "<group>"; };
A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = gen_moltenvk_rev_hdr.sh; sourceTree = "<group>"; };
A98149E51FB78829005F00B4 /* MoltenVK_Runtime_UserGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = MoltenVK_Runtime_UserGuide.md; path = Docs/MoltenVK_Runtime_UserGuide.md; sourceTree = "<group>"; };
- A99A760321852584000A8E2A /* create_framework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework.sh; sourceTree = "<group>"; };
+ A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_xcframework_func.sh; sourceTree = "<group>"; };
A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_macos.sh; sourceTree = "<group>"; };
A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_ios.sh; sourceTree = "<group>"; };
+ A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_moltenvk_xcframework.sh; sourceTree = "<group>"; };
A9DA8340218A198C002AA662 /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = "<group>"; };
A9DA8341218A198C002AA662 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
- A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_lib_func.sh; sourceTree = "<group>"; };
- A9EE084E249BD49200E523A2 /* create_fat_libs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs.sh; sourceTree = "<group>"; };
- A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_ios.sh; sourceTree = "<group>"; };
A9FC5F60249D2ED3003CB086 /* package_all.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_all.sh; sourceTree = "<group>"; };
A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_dylib_tvos.sh; sourceTree = "<group>"; };
- A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_framework_tvos.sh; sourceTree = "<group>"; };
- A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = create_fat_libs_tvos.sh; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
@@ -284,25 +256,20 @@
A975D55B213F25AD00D4834F /* Scripts */ = {
isa = PBXGroup;
children = (
+ A93ED4E324F59CDB00FEB018 /* copy_to_staging.sh */,
+ A93ED4DE24F59CDB00FEB018 /* copy_lib_to_staging.sh */,
A9C70F45221B04C800FBA31A /* create_dylib_ios.sh */,
A9C70F41221B04C800FBA31A /* create_dylib_macos.sh */,
A9FC5F64249D3778003CB086 /* create_dylib_tvos.sh */,
A975D55C213F25D700D4834F /* create_dylib.sh */,
- A9EE084A249BD49200E523A2 /* create_fat_lib_func.sh */,
- A9EE0851249BD71C00E523A2 /* create_fat_libs_ios.sh */,
- A9FC5F6A249D38DF003CB086 /* create_fat_libs_tvos.sh */,
- A9EE084E249BD49200E523A2 /* create_fat_libs.sh */,
- A941E2B1221AEBD000890C56 /* create_framework_ios.sh */,
- A941E2B2221AEBD000890C56 /* create_framework_macos.sh */,
- A9FC5F69249D3843003CB086 /* create_framework_tvos.sh */,
- A99A760321852584000A8E2A /* create_framework.sh */,
+ A9B1007A24F837AF00EADC6E /* create_xcframework_func.sh */,
A980A25F24C628F3007A8F6F /* gen_moltenvk_rev_hdr.sh */,
A9FC5F60249D2ED3003CB086 /* package_all.sh */,
A92EF7C921856EA200C8B91B /* package_docs.sh */,
+ A9CBBFF924F8A1EB006D41EF /* package_moltenvk_xcframework.sh */,
A92EF7C621856EA200C8B91B /* package_moltenvk.sh */,
- A9149F7A221A528900DD7C6C /* package_shader_converter_lib.sh */,
A92EF7C721856EA200C8B91B /* package_shader_converter_tool.sh */,
- A92EF7CB21856EA300C8B91B /* package_shader_converter.sh */,
+ A92EF7CB21856EA300C8B91B /* package_shader_converter_xcframework.sh */,
A92EF7CA21856EA200C8B91B /* package_update_latest.sh */,
A92EF7DE2186451700C8B91B /* Makefile */,
);
@@ -462,7 +429,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"tvOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D5872140585200D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@@ -476,7 +443,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"iOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}-${MVK_OS}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
};
A975D59A2140586700D4834F /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@@ -490,7 +457,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_OS=\"macOS\"\nexport MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n\n. \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n";
};
A9AD70122440ED3B00B9E254 /* Package MoltenVK */ = {
isa = PBXShellScriptBuildPhase;
@@ -504,7 +471,25 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "export MVK_BUILT_PROD_DIR=\"${BUILT_PRODUCTS_DIR}\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
+ shellScript = ". \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n. \"${SRCROOT}/Scripts/package_update_latest.sh\"\n";
+ };
+ A9B1008824F84BE400EADC6E /* Package MoltenVK */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Package MoltenVK";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -514,50 +499,35 @@
name = "MoltenVK-tvOS";
targetProxy = 2FEA0AC22490303F00EEF3AD /* PBXContainerItemProxy */;
};
- 2FEA0AD92490308E00EEF3AD /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "MoltenVKGLSLToSPIRVConverter-tvOS";
- targetProxy = 2FEA0AD82490308E00EEF3AD /* PBXContainerItemProxy */;
- };
A975D5792140585200D4834F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-iOS";
targetProxy = A975D57A2140585200D4834F /* PBXContainerItemProxy */;
};
- A975D5812140585200D4834F /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "MoltenVKGLSLToSPIRVConverter-iOS";
- targetProxy = A975D5822140585200D4834F /* PBXContainerItemProxy */;
- };
A975D58E2140586700D4834F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "MoltenVK-macOS";
targetProxy = A975D58F2140586700D4834F /* PBXContainerItemProxy */;
};
- A975D5982140586700D4834F /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = MoltenVKShaderConverter;
- targetProxy = A975D5992140586700D4834F /* PBXContainerItemProxy */;
- };
A9AD70102440ED3B00B9E254 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = MoltenVKShaderConverter;
targetProxy = A9AD70112440ED3B00B9E254 /* PBXContainerItemProxy */;
};
- A9AFC2602184EEF60084B396 /* PBXTargetDependency */ = {
+ A9B1008124F84BA700EADC6E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = A975D5782140585200D4834F /* MoltenVK-iOS */;
- targetProxy = A9AFC25F2184EEF60084B396 /* PBXContainerItemProxy */;
+ name = "MoltenVK-iOS";
+ targetProxy = A9B1008024F84BA700EADC6E /* PBXContainerItemProxy */;
};
- A9AFC2622184EEF60084B396 /* PBXTargetDependency */ = {
+ A9B1008324F84BA700EADC6E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = A975D58B2140586700D4834F /* MoltenVK-macOS */;
- targetProxy = A9AFC2612184EEF60084B396 /* PBXContainerItemProxy */;
+ name = "MoltenVK-macOS";
+ targetProxy = A9B1008224F84BA700EADC6E /* PBXContainerItemProxy */;
};
- A9FC5F5F249D277E003CB086 /* PBXTargetDependency */ = {
+ A9B1008524F84BA700EADC6E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = 2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */;
- targetProxy = A9FC5F5E249D277E003CB086 /* PBXContainerItemProxy */;
+ name = "MoltenVK-tvOS";
+ targetProxy = A9B1008424F84BA700EADC6E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
deleted file mode 120000
index 4a4b357..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
deleted file mode 120000
index ffa407b..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS b/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
deleted file mode 120000
index 15a8980..0000000
--- a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS
deleted file mode 120000
index 4a4b357..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/iOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/iOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS
deleted file mode 120000
index ffa407b..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/macOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/macOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS b/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS
deleted file mode 120000
index 15a8980..0000000
--- a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-../../Package/Latest/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/tvOS
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcframework b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcframework
new file mode 120000
index 0000000..326ce4d
--- /dev/null
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcframework
@@ -0,0 +1 @@
+../Package/Latest/MoltenVKShaderConverter/MoltenVKShaderConverter.xcframework
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index 49986c6..0375ed4 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -3,20 +3,10 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 48;
+ objectVersion = 52;
objects = {
/* Begin PBXBuildFile section */
- 2FEA0AC62490305800EEF3AD /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
- 2FEA0AC72490305800EEF3AD /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
- 2FEA0AC82490305800EEF3AD /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
- 2FEA0AC92490305800EEF3AD /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
- 2FEA0ACA2490305800EEF3AD /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
- 2FEA0ACC2490305800EEF3AD /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
- 2FEA0ACD2490305800EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
- 2FEA0ACE2490305800EEF3AD /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
- 2FEA0CFC249037E300EEF3AD /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CFB249037DA00EEF3AD /* libglslang.a */; };
- 2FEA0CFE2490380B00EEF3AD /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */; };
2FEA0D012490381A00EEF3AD /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
2FEA0D022490381A00EEF3AD /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
2FEA0D032490381A00EEF3AD /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
@@ -27,24 +17,28 @@
2FEA0D092490381A00EEF3AD /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
2FEA0D0A2490381A00EEF3AD /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
2FEA0D0B2490381A00EEF3AD /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
- 2FEA0D15249038E000EEF3AD /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */; };
- 2FEA0D16249038E600EEF3AD /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */; };
450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
- A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
- A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */; };
- A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
- A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */; };
- A90941A31C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
- A90941A41C581F840094110D /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90941A11C581F840094110D /* GLSLConversion.mm */; };
- A90941A51C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
- A90941A61C581F840094110D /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A90941A21C581F840094110D /* GLSLConversion.h */; };
- A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */; };
- A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */; };
+ A920A8A3251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */; };
+ A920A8A4251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */; };
+ A920A8A5251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */; };
+ A920A8A6251B75B70076851C /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A0251B75B70076851C /* GLSLConversion.h */; };
+ A920A8A7251B75B70076851C /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A0251B75B70076851C /* GLSLConversion.h */; };
+ A920A8A8251B75B70076851C /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A0251B75B70076851C /* GLSLConversion.h */; };
+ A920A8A9251B75B70076851C /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A920A8A1251B75B70076851C /* GLSLConversion.mm */; };
+ A920A8AA251B75B70076851C /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A920A8A1251B75B70076851C /* GLSLConversion.mm */; };
+ A920A8AB251B75B70076851C /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A920A8A1251B75B70076851C /* GLSLConversion.mm */; };
+ A920A8AC251B75B70076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ A920A8AD251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ A920A8AE251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+ A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+ A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+ A925B71B1C78DEB2006E7ECD /* libMoltenVKShaderConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */; };
A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
@@ -52,33 +46,23 @@
A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
A95096BF2003D32400F10950 /* OSSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* OSSupport.mm */; };
- A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2A21CEE6A90013AB25 /* libglslang.a */; };
- A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */; };
- A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
- A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
- A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3521CEE7330013AB25 /* libSPIRVCross.a */; };
- A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3821CEE7480013AB25 /* libglslang.a */; };
A97CC7401C7527F3004A5C7E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73D1C7527F3004A5C7E /* main.cpp */; };
A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
- A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
- A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+ A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+ A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+ A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+ A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+ A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+ A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
- A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3021CEE7040013AB25 /* libSPIRVTools.a */; };
- A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A972AD3421CEE7330013AB25 /* libSPIRVTools.a */; };
- A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
- A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C70F5D221B321600FBA31A /* SPIRVSupport.h */; };
A9C70F63221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
- A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
- A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C70F5E221B321700FBA31A /* SPIRVSupport.cpp */; };
- A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
- A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
/* End PBXBuildFile section */
@@ -91,49 +75,33 @@
remoteGlobalIDString = A93903C01C57E9ED00FE90DC;
remoteInfo = "MoltenVKSPIRVToMSLConverter-macOS";
};
- A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = A9F55D25198BE6A7004EC31B /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = A93747701A9A98D000F29B34;
- remoteInfo = "MetalGLShaderConverter-macOS";
- };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = ../Release/tvOS/libSPIRVTools.a; sourceTree = "<group>"; };
- 2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = ../Release/tvOS/libSPIRVCross.a; sourceTree = "<group>"; };
- 2FEA0CFB249037DA00EEF3AD /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = ../Release/tvOS/libglslang.a; sourceTree = "<group>"; };
- 2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2FEA0D142490381A00EEF3AD /* libMoltenVKShaderConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKShaderConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
450A4F5E220CB180007203D7 /* SPIRVReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVReflection.h; sourceTree = "<group>"; };
A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPIRVToMSLConverter.cpp; sourceTree = "<group>"; };
A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVToMSLConverter.h; sourceTree = "<group>"; };
- A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLSLToSPIRVConverter.cpp; sourceTree = "<group>"; };
- A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLToSPIRVConverter.h; sourceTree = "<group>"; };
- A90941A11C581F840094110D /* GLSLConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLSLConversion.mm; sourceTree = "<group>"; };
- A90941A21C581F840094110D /* GLSLConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLConversion.h; sourceTree = "<group>"; };
+ A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLSLToSPIRVConverter.cpp; sourceTree = "<group>"; };
+ A920A8A0251B75B70076851C /* GLSLConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLConversion.h; sourceTree = "<group>"; };
+ A920A8A1251B75B70076851C /* GLSLConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GLSLConversion.mm; sourceTree = "<group>"; };
+ A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSLToSPIRVConverter.h; sourceTree = "<group>"; };
A925B70A1C7754B2006E7ECD /* FileSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileSupport.mm; sourceTree = "<group>"; };
A925B70B1C7754B2006E7ECD /* FileSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSupport.h; sourceTree = "<group>"; };
A928C9171D0488DC00071B88 /* SPIRVConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPIRVConversion.h; sourceTree = "<group>"; };
A928C9181D0488DC00071B88 /* SPIRVConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SPIRVConversion.mm; sourceTree = "<group>"; };
- A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
- A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKSPIRVToMSLConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ A93903BF1C57E9D700FE90DC /* libMoltenVKShaderConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKShaderConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKShaderConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
A95096BD2003D32400F10950 /* OSSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OSSupport.mm; sourceTree = "<group>"; };
A95096BE2003D32400F10950 /* OSSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSSupport.h; sourceTree = "<group>"; };
A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MoltenVKShaderConverter; sourceTree = BUILT_PRODUCTS_DIR; };
- A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
- A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKGLSLToSPIRVConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
- A972AD2A21CEE6A90013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = iOS/libglslang.a; sourceTree = "<group>"; };
- A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = iOS/libSPIRVCross.a; sourceTree = "<group>"; };
- A972AD3021CEE7040013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = iOS/libSPIRVTools.a; sourceTree = "<group>"; };
- A972AD3421CEE7330013AB25 /* libSPIRVTools.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVTools.a; path = macOS/libSPIRVTools.a; sourceTree = "<group>"; };
- A972AD3521CEE7330013AB25 /* libSPIRVCross.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSPIRVCross.a; path = macOS/libSPIRVCross.a; sourceTree = "<group>"; };
- A972AD3821CEE7480013AB25 /* libglslang.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libglslang.a; path = macOS/libglslang.a; sourceTree = "<group>"; };
A97CC73D1C7527F3004A5C7E /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MoltenVKShaderConverterTool.cpp; sourceTree = "<group>"; };
A97CC73F1C7527F3004A5C7E /* MoltenVKShaderConverterTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoltenVKShaderConverterTool.h; sourceTree = "<group>"; };
A98149651FB6A98A005F00B4 /* MVKStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKStrings.h; sourceTree = "<group>"; };
+ A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVCross.xcframework; sourceTree = "<group>"; };
+ A98386FD24EEE93700199A05 /* glslang.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = glslang.xcframework; sourceTree = "<group>"; };
+ A983870224EEE94800199A05 /* SPIRVTools.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = SPIRVTools.xcframework; sourceTree = "<group>"; };
A9A14E322244388700C080F3 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKOSExtensions.mm; sourceTree = "<group>"; };
A9B51BDC225E98BB00AC74D2 /* MVKOSExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKOSExtensions.h; sourceTree = "<group>"; };
@@ -143,21 +111,13 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 2FEA0ACF2490305800EEF3AD /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 2FEA0CFE2490380B00EEF3AD /* libSPIRVTools.a in Frameworks */,
- 2FEA0CFC249037E300EEF3AD /* libglslang.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
2FEA0D0C2490381A00EEF3AD /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2FEA0D16249038E600EEF3AD /* libSPIRVTools.a in Frameworks */,
- 2FEA0D15249038E000EEF3AD /* libSPIRVCross.a in Frameworks */,
+ A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+ A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+ A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -166,26 +126,7 @@
buildActionMask = 2147483647;
files = (
A9A14E332244388700C080F3 /* Metal.framework in Frameworks */,
- A925B71A1C78DEB2006E7ECD /* libMoltenVKGLSLToSPIRVConverter.a in Frameworks */,
- A925B71B1C78DEB2006E7ECD /* libMoltenVKSPIRVToMSLConverter.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A972AD2821CEE6310013AB25 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A972AD2B21CEE6A90013AB25 /* libglslang.a in Frameworks */,
- A9C70F5A221B2F6500FBA31A /* libSPIRVTools.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A972AD2C21CEE6C30013AB25 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A972AD3921CEE7480013AB25 /* libglslang.a in Frameworks */,
- A9C70F5B221B2F8100FBA31A /* libSPIRVTools.a in Frameworks */,
+ A925B71B1C78DEB2006E7ECD /* libMoltenVKShaderConverter.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -193,8 +134,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A972AD3221CEE7040013AB25 /* libSPIRVTools.a in Frameworks */,
- A972AD3121CEE7040013AB25 /* libSPIRVCross.a in Frameworks */,
+ A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+ A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+ A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -202,47 +144,40 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- A972AD3621CEE7330013AB25 /* libSPIRVTools.a in Frameworks */,
- A972AD3721CEE7330013AB25 /* libSPIRVCross.a in Frameworks */,
+ A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+ A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+ A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */ = {
+ A9093C561C58013D0094110D /* MoltenVKShaderConverter */ = {
isa = PBXGroup;
children = (
A925B70B1C7754B2006E7ECD /* FileSupport.h */,
A925B70A1C7754B2006E7ECD /* FileSupport.mm */,
+ A920A8A0251B75B70076851C /* GLSLConversion.h */,
+ A920A8A1251B75B70076851C /* GLSLConversion.mm */,
+ A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */,
+ A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */,
A928C9171D0488DC00071B88 /* SPIRVConversion.h */,
A928C9181D0488DC00071B88 /* SPIRVConversion.mm */,
450A4F5E220CB180007203D7 /* SPIRVReflection.h */,
A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */,
A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */,
);
- path = MoltenVKSPIRVToMSLConverter;
- sourceTree = "<group>";
- };
- A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */ = {
- isa = PBXGroup;
- children = (
- A90941A21C581F840094110D /* GLSLConversion.h */,
- A90941A11C581F840094110D /* GLSLConversion.mm */,
- A90940A31C5808BB0094110D /* GLSLToSPIRVConverter.cpp */,
- A90940A41C5808BB0094110D /* GLSLToSPIRVConverter.h */,
- );
- path = MoltenVKGLSLToSPIRVConverter;
+ path = MoltenVKShaderConverter;
sourceTree = "<group>";
};
A964B28D1C57EBC400D930D8 /* Products */ = {
isa = PBXGroup;
children = (
- A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
- A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */,
+ A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */,
+ A93903BF1C57E9D700FE90DC /* libMoltenVKShaderConverter.a */,
+ 2FEA0D142490381A00EEF3AD /* libMoltenVKShaderConverter.a */,
A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */,
- A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
- A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */,
);
name = Products;
sourceTree = "<group>";
@@ -250,16 +185,10 @@
A972AD2921CEE6A80013AB25 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */,
+ A98386FD24EEE93700199A05 /* glslang.xcframework */,
+ A983870224EEE94800199A05 /* SPIRVTools.xcframework */,
A9A14E322244388700C080F3 /* Metal.framework */,
- 2FEA0CF9249037DA00EEF3AD /* libSPIRVTools.a */,
- 2FEA0CFA249037DA00EEF3AD /* libSPIRVCross.a */,
- 2FEA0CFB249037DA00EEF3AD /* libglslang.a */,
- A972AD2A21CEE6A90013AB25 /* libglslang.a */,
- A972AD3821CEE7480013AB25 /* libglslang.a */,
- A972AD2F21CEE7040013AB25 /* libSPIRVCross.a */,
- A972AD3521CEE7330013AB25 /* libSPIRVCross.a */,
- A972AD3021CEE7040013AB25 /* libSPIRVTools.a */,
- A972AD3421CEE7330013AB25 /* libSPIRVTools.a */,
);
name = Frameworks;
path = ../External/build/Latest;
@@ -294,13 +223,10 @@
A9F55D24198BE6A7004EC31B = {
isa = PBXGroup;
children = (
- A9093C561C58013D0094110D /* MoltenVKSPIRVToMSLConverter */,
- A90940A11C5808BB0094110D /* MoltenVKGLSLToSPIRVConverter */,
+ A9093C561C58013D0094110D /* MoltenVKShaderConverter */,
A97CC73C1C7527F3004A5C7E /* MoltenVKShaderConverterTool */,
A9F042A81FB4D060009FCCB8 /* Common */,
A964B28D1C57EBC400D930D8 /* Products */,
- 2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */,
- 2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */,
A972AD2921CEE6A80013AB25 /* Frameworks */,
);
sourceTree = "<group>";
@@ -308,63 +234,31 @@
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
- 2FEA0AC52490305800EEF3AD /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 2FEA0AC62490305800EEF3AD /* SPIRVSupport.h in Headers */,
- 2FEA0AC72490305800EEF3AD /* GLSLConversion.h in Headers */,
- 2FEA0AC82490305800EEF3AD /* GLSLToSPIRVConverter.h in Headers */,
- 2FEA0AC92490305800EEF3AD /* MVKCommonEnvironment.h in Headers */,
- 2FEA0ACA2490305800EEF3AD /* MVKStrings.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
2FEA0D002490381A00EEF3AD /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
2FEA0D012490381A00EEF3AD /* SPIRVReflection.h in Headers */,
+ A920A8A7251B75B70076851C /* GLSLConversion.h in Headers */,
2FEA0D022490381A00EEF3AD /* MVKStrings.h in Headers */,
2FEA0D032490381A00EEF3AD /* SPIRVSupport.h in Headers */,
2FEA0D042490381A00EEF3AD /* SPIRVConversion.h in Headers */,
+ A920A8AD251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */,
2FEA0D052490381A00EEF3AD /* SPIRVToMSLConverter.h in Headers */,
2FEA0D062490381A00EEF3AD /* MVKCommonEnvironment.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- A93747291A9A8B2900F29B34 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A9C70F5F221B321700FBA31A /* SPIRVSupport.h in Headers */,
- A90941A51C581F840094110D /* GLSLConversion.h in Headers */,
- A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
- A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
- A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A937476E1A9A98D000F29B34 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A9C70F60221B321700FBA31A /* SPIRVSupport.h in Headers */,
- A90941A61C581F840094110D /* GLSLConversion.h in Headers */,
- A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
- A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
- A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
A93903B91C57E9D700FE90DC /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
450A4F61220CB180007203D7 /* SPIRVReflection.h in Headers */,
+ A920A8A6251B75B70076851C /* GLSLConversion.h in Headers */,
A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */,
A9C70F61221B321700FBA31A /* SPIRVSupport.h in Headers */,
A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */,
+ A920A8AC251B75B70076851C /* GLSLToSPIRVConverter.h in Headers */,
A909408C1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
);
@@ -375,9 +269,11 @@
buildActionMask = 2147483647;
files = (
450A4F62220CB180007203D7 /* SPIRVReflection.h in Headers */,
+ A920A8A8251B75B70076851C /* GLSLConversion.h in Headers */,
A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */,
A9C70F62221B321700FBA31A /* SPIRVSupport.h in Headers */,
A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */,
+ A920A8AE251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */,
A909408D1C58013E0094110D /* SPIRVToMSLConverter.h in Headers */,
A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
);
@@ -386,44 +282,22 @@
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
- 2FEA0AC42490305800EEF3AD /* MoltenVKGLSLToSPIRVConverter-tvOS */ = {
+ 2FEA0CFF2490381A00EEF3AD /* MoltenVKShaderConverter-tvOS */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 2FEA0AD42490305800EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-tvOS" */;
- buildPhases = (
- 2FEA0AC52490305800EEF3AD /* Headers */,
- 2FEA0ACB2490305800EEF3AD /* Sources */,
- 2FEA0ACF2490305800EEF3AD /* Frameworks */,
- 2FEA0AD22490305800EEF3AD /* Create Dynamic Library */,
- A9FC5F6B249D3959003CB086 /* Create Fat Libraries */,
- 2FEA0AD32490305800EEF3AD /* Create Framework */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "MoltenVKGLSLToSPIRVConverter-tvOS";
- productName = "MetalGLShaderConverter-iOS";
- productReference = 2FEA0AD72490305800EEF3AD /* libMoltenVKGLSLToSPIRVConverter.a */;
- productType = "com.apple.product-type.library.static";
- };
- 2FEA0CFF2490381A00EEF3AD /* MoltenVKSPIRVToMSLConverter-tvOS */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-tvOS" */;
+ buildConfigurationList = 2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-tvOS" */;
buildPhases = (
2FEA0D002490381A00EEF3AD /* Headers */,
2FEA0D072490381A00EEF3AD /* Sources */,
2FEA0D0C2490381A00EEF3AD /* Frameworks */,
- 2FEA0D0F2490381A00EEF3AD /* Create Dynamic Library */,
- A9FC5F6C249D3987003CB086 /* Create Fat Libraries */,
- 2FEA0D102490381A00EEF3AD /* Create Framework */,
+ A93ED4E824F59E1100FEB018 /* Copy to Staging */,
);
buildRules = (
);
dependencies = (
);
- name = "MoltenVKSPIRVToMSLConverter-tvOS";
+ name = "MoltenVKShaderConverter-tvOS";
productName = "MetalGLShaderConverter-iOS";
- productReference = 2FEA0D142490381A00EEF3AD /* libMoltenVKSPIRVToMSLConverter.a */;
+ productReference = 2FEA0D142490381A00EEF3AD /* libMoltenVKShaderConverter.a */;
productType = "com.apple.product-type.library.static";
};
A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */ = {
@@ -437,89 +311,46 @@
);
dependencies = (
A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
- A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */,
);
name = MoltenVKShaderConverter;
productName = MetalGLShaderConverterTool;
productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
productType = "com.apple.product-type.tool";
};
- A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */ = {
+ A93903B81C57E9D700FE90DC /* MoltenVKShaderConverter-iOS */ = {
isa = PBXNativeTarget;
- buildConfigurationList = A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */;
- buildPhases = (
- A93747291A9A8B2900F29B34 /* Headers */,
- A93747271A9A8B2900F29B34 /* Sources */,
- A972AD2821CEE6310013AB25 /* Frameworks */,
- A9C70F49221B075700FBA31A /* Create Dynamic Library */,
- A9303625249BDF6B00DE139C /* Create Fat Libraries */,
- A941E2A7221AC9C300890C56 /* Create Framework */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "MoltenVKGLSLToSPIRVConverter-iOS";
- productName = "MetalGLShaderConverter-iOS";
- productReference = A964BD611C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
- productType = "com.apple.product-type.library.static";
- };
- A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */;
- buildPhases = (
- A937476E1A9A98D000F29B34 /* Headers */,
- A937476C1A9A98D000F29B34 /* Sources */,
- A972AD2C21CEE6C30013AB25 /* Frameworks */,
- A9C70F4A221B076D00FBA31A /* Create Dynamic Library */,
- A941E2A9221ACA2C00890C56 /* Create Framework */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "MoltenVKGLSLToSPIRVConverter-macOS";
- productName = "MetalGLShaderConverter-macOS";
- productReference = A964BD601C57EFBD00D930D8 /* libMoltenVKGLSLToSPIRVConverter.a */;
- productType = "com.apple.product-type.library.static";
- };
- A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */;
+ buildConfigurationList = A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-iOS" */;
buildPhases = (
A93903B91C57E9D700FE90DC /* Headers */,
A93903BA1C57E9D700FE90DC /* Sources */,
A972AD2E21CEE6F50013AB25 /* Frameworks */,
- A9C70F4B221B077C00FBA31A /* Create Dynamic Library */,
- A9303626249BDFA000DE139C /* Create Fat Libraries */,
- A941E2A8221AC9E800890C56 /* Create Framework */,
+ A93ED4E724F59E0900FEB018 /* Copy to Staging */,
);
buildRules = (
);
dependencies = (
);
- name = "MoltenVKSPIRVToMSLConverter-iOS";
+ name = "MoltenVKShaderConverter-iOS";
productName = "MetalGLShaderConverter-iOS";
- productReference = A93903BF1C57E9D700FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
+ productReference = A93903BF1C57E9D700FE90DC /* libMoltenVKShaderConverter.a */;
productType = "com.apple.product-type.library.static";
};
- A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */ = {
+ A93903C01C57E9ED00FE90DC /* MoltenVKShaderConverter-macOS */ = {
isa = PBXNativeTarget;
- buildConfigurationList = A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */;
+ buildConfigurationList = A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-macOS" */;
buildPhases = (
A93903C11C57E9ED00FE90DC /* Headers */,
A93903C21C57E9ED00FE90DC /* Sources */,
A972AD3321CEE7230013AB25 /* Frameworks */,
- A9C70F4C221B078C00FBA31A /* Create Dynamic Library */,
- A941E2AA221ACA4C00890C56 /* Create Framework */,
+ A93ED4E924F59E1800FEB018 /* Copy to Staging */,
);
buildRules = (
);
dependencies = (
);
- name = "MoltenVKSPIRVToMSLConverter-macOS";
+ name = "MoltenVKShaderConverter-macOS";
productName = "MetalGLShaderConverter-macOS";
- productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKSPIRVToMSLConverter.a */;
+ productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
@@ -535,14 +366,6 @@
CreatedOnToolsVersion = 6.1.1;
DevelopmentTeam = VU3TCKU48B;
};
- A937472B1A9A8B2900F29B34 = {
- CreatedOnToolsVersion = 6.1.1;
- DevelopmentTeam = VU3TCKU48B;
- };
- A93747701A9A98D000F29B34 = {
- CreatedOnToolsVersion = 6.1.1;
- DevelopmentTeam = VU3TCKU48B;
- };
A93903B81C57E9D700FE90DC = {
DevelopmentTeam = VU3TCKU48B;
};
@@ -565,18 +388,15 @@
projectRoot = "";
targets = (
A9092A8C1A81717B00051823 /* MoltenVKShaderConverter */,
- A937472B1A9A8B2900F29B34 /* MoltenVKGLSLToSPIRVConverter-iOS */,
- 2FEA0AC42490305800EEF3AD /* MoltenVKGLSLToSPIRVConverter-tvOS */,
- A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */,
- A93903B81C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter-iOS */,
- 2FEA0CFF2490381A00EEF3AD /* MoltenVKSPIRVToMSLConverter-tvOS */,
- A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */,
+ A93903B81C57E9D700FE90DC /* MoltenVKShaderConverter-iOS */,
+ 2FEA0CFF2490381A00EEF3AD /* MoltenVKShaderConverter-tvOS */,
+ A93903C01C57E9ED00FE90DC /* MoltenVKShaderConverter-macOS */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
- 2FEA0AD22490305800EEF3AD /* Create Dynamic Library */ = {
+ A93ED4E724F59E0900FEB018 /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -585,16 +405,16 @@
);
inputPaths = (
);
- name = "Create Dynamic Library";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
};
- 2FEA0AD32490305800EEF3AD /* Create Framework */ = {
+ A93ED4E824F59E1100FEB018 /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -603,16 +423,16 @@
);
inputPaths = (
);
- name = "Create Framework";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
};
- 2FEA0D0F2490381A00EEF3AD /* Create Dynamic Library */ = {
+ A93ED4E924F59E1800FEB018 /* Copy to Staging */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -621,267 +441,25 @@
);
inputPaths = (
);
- name = "Create Dynamic Library";
+ name = "Copy to Staging";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_tvos.sh\"\n";
- };
- 2FEA0D102490381A00EEF3AD /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_tvos.sh\"\n";
- };
- A9303625249BDF6B00DE139C /* Create Fat Libraries */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Fat Libraries";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
- };
- A9303626249BDFA000DE139C /* Create Fat Libraries */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Fat Libraries";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_ios.sh\"\n";
- };
- A941E2A7221AC9C300890C56 /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
- };
- A941E2A8221AC9E800890C56 /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_ios.sh\"\n";
- };
- A941E2A9221ACA2C00890C56 /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
- };
- A941E2AA221ACA4C00890C56 /* Create Framework */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Framework";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_framework_macos.sh\"\n";
- };
- A9C70F49221B075700FBA31A /* Create Dynamic Library */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Dynamic Library";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
- };
- A9C70F4A221B076D00FBA31A /* Create Dynamic Library */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Dynamic Library";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
- };
- A9C70F4B221B077C00FBA31A /* Create Dynamic Library */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Dynamic Library";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_ios.sh\"\n";
- };
- A9C70F4C221B078C00FBA31A /* Create Dynamic Library */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Dynamic Library";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_macos.sh\"\n";
- };
- A9FC5F6B249D3959003CB086 /* Create Fat Libraries */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Fat Libraries";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
- };
- A9FC5F6C249D3987003CB086 /* Create Fat Libraries */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Create Fat Libraries";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = ". \"${SRCROOT}/../Scripts/create_fat_libs_tvos.sh\"\n";
+ shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 2FEA0ACB2490305800EEF3AD /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 2FEA0ACC2490305800EEF3AD /* GLSLConversion.mm in Sources */,
- 2FEA0ACD2490305800EEF3AD /* SPIRVSupport.cpp in Sources */,
- 2FEA0ACE2490305800EEF3AD /* GLSLToSPIRVConverter.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
2FEA0D072490381A00EEF3AD /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2FEA0D082490381A00EEF3AD /* FileSupport.mm in Sources */,
+ A920A8AA251B75B70076851C /* GLSLConversion.mm in Sources */,
+ A920A8A4251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */,
2FEA0D092490381A00EEF3AD /* SPIRVToMSLConverter.cpp in Sources */,
2FEA0D0A2490381A00EEF3AD /* SPIRVSupport.cpp in Sources */,
2FEA0D0B2490381A00EEF3AD /* SPIRVConversion.mm in Sources */,
@@ -900,31 +478,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- A93747271A9A8B2900F29B34 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A90941A31C581F840094110D /* GLSLConversion.mm in Sources */,
- A9C70F64221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
- A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- A937476C1A9A98D000F29B34 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A90941A41C581F840094110D /* GLSLConversion.mm in Sources */,
- A9C70F65221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
- A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
A93903BA1C57E9D700FE90DC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A95096BB2003D00300F10950 /* FileSupport.mm in Sources */,
+ A920A8A9251B75B70076851C /* GLSLConversion.mm in Sources */,
+ A920A8A3251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */,
A909408A1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
A9C70F66221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
@@ -936,6 +496,8 @@
buildActionMask = 2147483647;
files = (
A95096BC2003D00300F10950 /* FileSupport.mm in Sources */,
+ A920A8AB251B75B70076851C /* GLSLConversion.mm in Sources */,
+ A920A8A5251B75B70076851C /* GLSLToSPIRVConverter.cpp in Sources */,
A909408B1C58013E0094110D /* SPIRVToMSLConverter.cpp in Sources */,
A9C70F67221B321700FBA31A /* SPIRVSupport.cpp in Sources */,
A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */,
@@ -947,47 +509,12 @@
/* Begin PBXTargetDependency section */
A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = A93903C01C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter-macOS */;
+ target = A93903C01C57E9ED00FE90DC /* MoltenVKShaderConverter-macOS */;
targetProxy = A925B71C1C78DEBF006E7ECD /* PBXContainerItemProxy */;
};
- A93749CF1A9AA7AF00F29B34 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = A93747701A9A98D000F29B34 /* MoltenVKGLSLToSPIRVConverter-macOS */;
- targetProxy = A93749CE1A9AA7AF00F29B34 /* PBXContainerItemProxy */;
- };
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
- 2FEA0AD52490305800EEF3AD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/tvOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
- SDKROOT = appletvos;
- TVOS_DEPLOYMENT_TARGET = 11.0;
- };
- name = Debug;
- };
- 2FEA0AD62490305800EEF3AD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/tvOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
- SDKROOT = appletvos;
- TVOS_DEPLOYMENT_TARGET = 11.0;
- };
- name = Release;
- };
2FEA0D122490381A00EEF3AD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -996,8 +523,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/tvOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = appletvos;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
@@ -1011,8 +536,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/tvOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = appletvos;
TVOS_DEPLOYMENT_TARGET = 11.0;
};
@@ -1027,7 +550,6 @@
"-ObjC",
"-w",
);
- PRODUCT_NAME = MoltenVKShaderConverter;
SDKROOT = macosx;
};
name = Debug;
@@ -1041,63 +563,6 @@
"-ObjC",
"-w",
);
- PRODUCT_NAME = MoltenVKShaderConverter;
- SDKROOT = macosx;
- };
- name = Release;
- };
- A93747401A9A8B2900F29B34 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/iOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- A93747411A9A8B2900F29B34 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/iOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
- SDKROOT = iphoneos;
- };
- name = Release;
- };
- A93747851A9A98D000F29B34 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/macOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
- SDKROOT = macosx;
- };
- name = Debug;
- };
- A93747861A9A98D000F29B34 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
- CLANG_WARN_UNREACHABLE_CODE = NO;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO;
- GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
- GCC_WARN_UNUSED_PARAMETER = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/macOS\"";
- PRODUCT_NAME = MoltenVKGLSLToSPIRVConverter;
SDKROOT = macosx;
};
name = Release;
@@ -1110,8 +575,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/iOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = iphoneos;
};
name = Debug;
@@ -1124,8 +587,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/iOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = iphoneos;
};
name = Release;
@@ -1138,8 +599,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/macOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = macosx;
};
name = Debug;
@@ -1152,8 +611,6 @@
"SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross",
);
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
- LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../External/build/Latest/macOS\"";
- PRODUCT_NAME = MoltenVKSPIRVToMSLConverter;
SDKROOT = macosx;
};
name = Release;
@@ -1177,10 +634,8 @@
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
- CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -1191,15 +646,14 @@
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
@@ -1210,6 +664,7 @@
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.11;
ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = MoltenVKShaderConverter;
SKIP_INSTALL = YES;
};
name = Debug;
@@ -1233,10 +688,8 @@
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = NO;
- CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
@@ -1247,15 +700,14 @@
GCC_OPTIMIZATION_LEVEL = fast;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
@@ -1265,6 +717,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MACH_O_TYPE = staticlib;
MACOSX_DEPLOYMENT_TARGET = 10.11;
+ PRODUCT_NAME = MoltenVKShaderConverter;
SKIP_INSTALL = YES;
VALIDATE_PRODUCT = YES;
};
@@ -1273,16 +726,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 2FEA0AD42490305800EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-tvOS" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 2FEA0AD52490305800EEF3AD /* Debug */,
- 2FEA0AD62490305800EEF3AD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-tvOS" */ = {
+ 2FEA0D112490381A00EEF3AD /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-tvOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2FEA0D122490381A00EEF3AD /* Debug */,
@@ -1300,25 +744,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- A937473F1A9A8B2900F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-iOS" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- A93747401A9A8B2900F29B34 /* Debug */,
- A93747411A9A8B2900F29B34 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- A93747841A9A98D000F29B34 /* Build configuration list for PBXNativeTarget "MoltenVKGLSLToSPIRVConverter-macOS" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- A93747851A9A98D000F29B34 /* Debug */,
- A93747861A9A98D000F29B34 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-iOS" */ = {
+ A93903BC1C57E9D700FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A93903BD1C57E9D700FE90DC /* Debug */,
@@ -1327,7 +753,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKSPIRVToMSLConverter-macOS" */ = {
+ A93903C41C57E9ED00FE90DC /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-macOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A93903C51C57E9ED00FE90DC /* Debug */,
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme
deleted file mode 100644
index 0ec7c34..0000000
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-iOS.xcscheme
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
- LastUpgradeVersion = "1170"
- version = "2.0">
- <BuildAction
- parallelizeBuildables = "YES"
- buildImplicitDependencies = "YES">
- <BuildActionEntries>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A937472B1A9A8B2900F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-iOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- </BuildActionEntries>
- </BuildAction>
- <TestAction
- buildConfiguration = "Debug"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES">
- <Testables>
- </Testables>
- </TestAction>
- <LaunchAction
- buildConfiguration = "Release"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- disableMainThreadChecker = "YES"
- launchStyle = "0"
- useCustomWorkingDirectory = "NO"
- ignoresPersistentStateOnLaunch = "NO"
- debugDocumentVersioning = "YES"
- debugXPCServices = "NO"
- debugServiceExtension = "internal"
- enableGPUFrameCaptureMode = "3"
- enableGPUValidationMode = "1"
- allowLocationSimulation = "NO"
- queueDebuggingEnabled = "No">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A937472B1A9A8B2900F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-iOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </LaunchAction>
- <ProfileAction
- buildConfiguration = "Release"
- shouldUseLaunchSchemeArgsEnv = "YES"
- savedToolIdentifier = ""
- useCustomWorkingDirectory = "NO"
- debugDocumentVersioning = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A937472B1A9A8B2900F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-iOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </ProfileAction>
- <AnalyzeAction
- buildConfiguration = "Debug">
- </AnalyzeAction>
- <ArchiveAction
- buildConfiguration = "Release"
- revealArchiveInOrganizer = "YES">
- </ArchiveAction>
-</Scheme>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-macOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-macOS.xcscheme
deleted file mode 100644
index b53d82d..0000000
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-macOS.xcscheme
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
- LastUpgradeVersion = "1170"
- version = "2.0">
- <BuildAction
- parallelizeBuildables = "YES"
- buildImplicitDependencies = "YES">
- <BuildActionEntries>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A93747701A9A98D000F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-macOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- </BuildActionEntries>
- </BuildAction>
- <TestAction
- buildConfiguration = "Debug"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES">
- <Testables>
- </Testables>
- </TestAction>
- <LaunchAction
- buildConfiguration = "Release"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- disableMainThreadChecker = "YES"
- launchStyle = "0"
- useCustomWorkingDirectory = "NO"
- ignoresPersistentStateOnLaunch = "NO"
- debugDocumentVersioning = "NO"
- debugXPCServices = "NO"
- debugServiceExtension = "internal"
- enableGPUFrameCaptureMode = "3"
- enableGPUValidationMode = "1"
- allowLocationSimulation = "NO"
- queueDebuggingEnabled = "No">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A93747701A9A98D000F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-macOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </LaunchAction>
- <ProfileAction
- buildConfiguration = "Release"
- shouldUseLaunchSchemeArgsEnv = "YES"
- savedToolIdentifier = ""
- useCustomWorkingDirectory = "NO"
- debugDocumentVersioning = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A93747701A9A98D000F29B34"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-macOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </ProfileAction>
- <AnalyzeAction
- buildConfiguration = "Debug">
- </AnalyzeAction>
- <ArchiveAction
- buildConfiguration = "Release"
- revealArchiveInOrganizer = "YES">
- </ArchiveAction>
-</Scheme>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-tvOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-tvOS.xcscheme
deleted file mode 100644
index b2f6ebc..0000000
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKGLSLToSPIRVConverter-tvOS.xcscheme
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
- LastUpgradeVersion = "1170"
- version = "1.3">
- <BuildAction
- parallelizeBuildables = "YES"
- buildImplicitDependencies = "YES">
- <BuildActionEntries>
- <BuildActionEntry
- buildForTesting = "YES"
- buildForRunning = "YES"
- buildForProfiling = "YES"
- buildForArchiving = "YES"
- buildForAnalyzing = "YES">
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "2FEA0AC42490305800EEF3AD"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-tvOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </BuildActionEntry>
- </BuildActionEntries>
- </BuildAction>
- <TestAction
- buildConfiguration = "Debug"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES">
- <Testables>
- </Testables>
- </TestAction>
- <LaunchAction
- buildConfiguration = "Debug"
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- launchStyle = "0"
- useCustomWorkingDirectory = "NO"
- ignoresPersistentStateOnLaunch = "NO"
- debugDocumentVersioning = "YES"
- debugServiceExtension = "internal"
- allowLocationSimulation = "YES">
- </LaunchAction>
- <ProfileAction
- buildConfiguration = "Release"
- shouldUseLaunchSchemeArgsEnv = "YES"
- savedToolIdentifier = ""
- useCustomWorkingDirectory = "NO"
- debugDocumentVersioning = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "2FEA0AC42490305800EEF3AD"
- BuildableName = "libMoltenVKGLSLToSPIRVConverter.a"
- BlueprintName = "MoltenVKGLSLToSPIRVConverter-tvOS"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
- </ProfileAction>
- <AnalyzeAction
- buildConfiguration = "Debug">
- </AnalyzeAction>
- <ArchiveAction
- buildConfiguration = "Release"
- revealArchiveInOrganizer = "YES">
- </ArchiveAction>
-</Scheme>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
similarity index 87%
rename from MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme
rename to MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
index 0b5a9f4..075d0da 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-iOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-iOS.xcscheme
@@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-iOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@@ -49,8 +49,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-iOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
@@ -65,8 +65,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903B81C57E9D700FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-iOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-iOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-macOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
similarity index 87%
rename from MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-macOS.xcscheme
rename to MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
index d58a425..662ab6a 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-macOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-macOS.xcscheme
@@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-macOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@@ -49,8 +49,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-macOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
@@ -65,8 +65,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A93903C01C57E9ED00FE90DC"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-macOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-macOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-tvOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
similarity index 89%
rename from MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-tvOS.xcscheme
rename to MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
index 6f7462c..2a8d372 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKSPIRVToMSLConverter-tvOS.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-tvOS.xcscheme
@@ -15,8 +15,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2FEA0CFF2490381A00EEF3AD"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-tvOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-tvOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</BuildActionEntry>
@@ -51,8 +51,8 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "2FEA0CFF2490381A00EEF3AD"
- BuildableName = "libMoltenVKSPIRVToMSLConverter.a"
- BlueprintName = "MoltenVKSPIRVToMSLConverter-tvOS"
+ BuildableName = "libMoltenVKShaderConverter.a"
+ BlueprintName = "MoltenVKShaderConverter-tvOS"
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
</BuildableReference>
</MacroExpansion>
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
index cb3a6c8..dc03203 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter.xcscheme
@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
- <MacroExpansion>
- <BuildableReference
- BuildableIdentifier = "primary"
- BlueprintIdentifier = "A9092A8C1A81717B00051823"
- BuildableName = "MoltenVKShaderConverter"
- BlueprintName = "MoltenVKShaderConverter"
- ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
- </BuildableReference>
- </MacroExpansion>
<Testables>
</Testables>
</TestAction>
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/FileSupport.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/FileSupport.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/FileSupport.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/FileSupport.h
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/FileSupport.mm b/MoltenVKShaderConverter/MoltenVKShaderConverter/FileSupport.mm
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/FileSupport.mm
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/FileSupport.mm
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLConversion.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLConversion.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLConversion.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLConversion.h
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLConversion.mm b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLConversion.mm
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLConversion.mm
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLConversion.mm
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.cpp b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.cpp
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp
diff --git a/MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/GLSLToSPIRVConverter.h
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVConversion.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVConversion.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVConversion.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVConversion.h
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVConversion.mm b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVConversion.mm
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVConversion.mm
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVConversion.mm
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVReflection.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVReflection.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVReflection.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVReflection.h
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.cpp
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
diff --git a/MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h b/MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.h
similarity index 100%
rename from MoltenVKShaderConverter/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
rename to MoltenVKShaderConverter/MoltenVKShaderConverter/SPIRVToMSLConverter.h
diff --git a/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLConversion.h b/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLConversion.h
deleted file mode 120000
index 12a69d1..0000000
--- a/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLConversion.h
+++ /dev/null
@@ -1 +0,0 @@
-../../MoltenVKGLSLToSPIRVConverter/GLSLConversion.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h b/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h
deleted file mode 120000
index 1fbe2d3..0000000
--- a/MoltenVKShaderConverter/include/MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h
+++ /dev/null
@@ -1 +0,0 @@
-../../MoltenVKGLSLToSPIRVConverter/GLSLToSPIRVConverter.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVConversion.h b/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVConversion.h
deleted file mode 120000
index b0ffadc..0000000
--- a/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVConversion.h
+++ /dev/null
@@ -1 +0,0 @@
-../../MoltenVKSPIRVToMSLConverter/SPIRVConversion.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h b/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
deleted file mode 120000
index b9a5def..0000000
--- a/MoltenVKShaderConverter/include/MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
+++ /dev/null
@@ -1 +0,0 @@
-../../MoltenVKSPIRVToMSLConverter/SPIRVToMSLConverter.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLConversion.h b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLConversion.h
new file mode 120000
index 0000000..f4c5096
--- /dev/null
+++ b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLConversion.h
@@ -0,0 +1 @@
+../../MoltenVKShaderConverter/GLSLConversion.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLToSPIRVConverter.h b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLToSPIRVConverter.h
new file mode 120000
index 0000000..d12b2a6
--- /dev/null
+++ b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/GLSLToSPIRVConverter.h
@@ -0,0 +1 @@
+../../MoltenVKShaderConverter/GLSLToSPIRVConverter.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVConversion.h b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVConversion.h
new file mode 120000
index 0000000..4bbf302
--- /dev/null
+++ b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVConversion.h
@@ -0,0 +1 @@
+../../MoltenVKShaderConverter/SPIRVConversion.h
\ No newline at end of file
diff --git a/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVToMSLConverter.h b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVToMSLConverter.h
new file mode 120000
index 0000000..e4a3e40
--- /dev/null
+++ b/MoltenVKShaderConverter/include/MoltenVKShaderConverter/SPIRVToMSLConverter.h
@@ -0,0 +1 @@
+../../MoltenVKShaderConverter/SPIRVToMSLConverter.h
\ No newline at end of file
diff --git a/README.md b/README.md
index 0591f77..a546e3c 100644
--- a/README.md
+++ b/README.md
@@ -80,11 +80,10 @@
- **MoltenVKShaderConverter** converts *SPIR-V* shader code to *Metal Shading Language (MSL)*
shader code, and converts *GLSL* shader source code to *SPIR-V* shader code and/or
- *Metal Shading Language (MSL)* shader code. The *SPIR-V* portion of the converter is also
- embedded in the **MoltenVK** runtime to automatically convert *SPIR-V* shaders to their *MSL*
- equivalents. In addition, both the *SPIR-V* and *GLSL* converters are packaged into a
- stand-alone command-line `MoltenVKShaderConverter` *macOS* tool for converting shaders
- at development time from the command line.
+ *Metal Shading Language (MSL)* shader code. The converter is embedded in the **MoltenVK**
+ runtime to automatically convert *SPIR-V* shaders to their *MSL* equivalents. In addition,
+ both the *SPIR-V* and *GLSL* converters are packaged into a stand-alone command-line
+ `MoltenVKShaderConverter` *macOS* tool for converting shaders at development time from the command line.
@@ -117,14 +116,23 @@
When running the `fetchDependencies` script, you must specify one or more platforms
for which to build the external libraries. The platform choices include:
- --all --macos --ios --iosfat --tvos --tvosfat
+ --all
+ --macos
+ --ios
+ --iossim
+ --tvos
+ --tvossim
-You can specify multiple of these selections. The `--iosfat` and `--tvosfat` selection builds one
-binary for each external library, with each binary including code for both *iOS* and *iOS Simulator*
-platforms, or *tvOS* and *tvOS Simulator* platforms, respectively. The `--all` selection is the same
-as selecting `--macos --iosfat --tvosfat` and results in three binaries for each external library:
-a *macOS* binary, a *fat iOS* binary, and a *fat tvOS* binary. The more selections you include,
-the longer the build time.
+You can specify multiple of these selections. The result is a single `XCFramework`
+for each external dependency library, with each `XCFramework` containing binaries for
+each of the requested platforms.
+
+The `--all` selection is the same as entering all of the other platform choices,
+and will result in a single `XCFramework` for each external dependency library,
+with each `XCFramework` containing binaries for all supported platforms and simulators.
+
+Running `fetchDependencies` repeatedly with different platforms will accumulate
+targets in the `XCFramework`.
For more information about the external open-source libraries used by **MoltenVK**,
see the [`ExternalRevisions/README.md`](ExternalRevisions/README.md) document.
@@ -196,29 +204,28 @@
make all
make macos
make ios
- make iosfat
+ make iossim
make tvos
- make tvosfat
+ make tvossim
make all-debug
make macos-debug
make ios-debug
- make iosfat-debug
+ make iossim-debug
make tvos-debug
- make tvosfat-debug
+ make tvossim-debug
make clean
make install
+- Running `make` repeatedly with different targets will accumulate binaries for these different targets.
+- The `all` target executes all platform targets.
- The `all` target is the default target. Running `make` with no arguments is the same as running `make all`.
-- The `*fat*` targets build fat binaries containing both platform and simulator code.
- The `*-debug` targets build the binaries using the **_Debug_** configuration.
-- The `all` target executes the `macos`, `iosfat`, and `tvosfat` targets.
-- The `all-debug` target executes the `macos-debug`, `iosfat-debug`, and `tvosfat-debug` targets.
-- The `install` target will copy the most recently built *macOS* `MoltenVK.framework` into
- the `/Library/Frameworks` folder of your computer. Since `/Library/Frameworks` is protected,
+- The `install` target will copy the most recently built `MoltenVK.xcframework` into the
+ `/Library/Frameworks` folder of your computer. Since `/Library/Frameworks` is protected,
you will generally need to run it as `sudo make install` and enter your password.
- The `install` target just installs the built framework, it does not first build the framework.
+ The `install` target just installs the built framework, it does not first build the framework.
You will first need to at least run `make macos` first.
The `make` targets all require that *Xcode* is installed on your system.
diff --git a/Scripts/copy_ext_lib_to_staging.sh b/Scripts/copy_ext_lib_to_staging.sh
new file mode 100755
index 0000000..77ec865
--- /dev/null
+++ b/Scripts/copy_ext_lib_to_staging.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export MVK_XCFWK_STAGING_DIR="${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging/${CONFIGURATION}"
+. "${SRCROOT}/Scripts/copy_lib_to_staging.sh"
diff --git a/Scripts/copy_lib_to_staging.sh b/Scripts/copy_lib_to_staging.sh
new file mode 100755
index 0000000..0441cbe
--- /dev/null
+++ b/Scripts/copy_lib_to_staging.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# Copy the static library file to its own directory within the XCFrameworkStaging directory.
+#
+# Requires the variable MVK_XCFWK_STAGING_DIR.
+#
+export MVK_PROD_FILENAME="lib${PRODUCT_NAME}.a"
+export MVK_BUILT_PROD_FILE="${BUILT_PRODUCTS_DIR}/${MVK_PROD_FILENAME}"
+
+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}"
diff --git a/Scripts/copy_to_staging.sh b/Scripts/copy_to_staging.sh
new file mode 100755
index 0000000..17044f4
--- /dev/null
+++ b/Scripts/copy_to_staging.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export MVK_XCFWK_STAGING_DIR="${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging/${CONFIGURATION}"
+. "${SRCROOT}/../Scripts/copy_lib_to_staging.sh"
diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh
index ca0e316..35ff8da 100755
--- a/Scripts/create_dylib.sh
+++ b/Scripts/create_dylib.sh
@@ -1,6 +1,12 @@
#!/bin/bash
-set -e
+# Allow dylib building to be skipped based on bulid setting.
+# For example, skipping the build of a dylib for Simulator builds
+# because Xcode cannot currently handle creating a Simulator dylib
+# containing both x86_64 and arm64 (Apple Silicon) architectures.
+if [ "${MVK_SKIP_DYLIB}" == "YES" ]; then
+ exit 0
+fi
export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
export MVK_DYLIB_NAME="lib${PRODUCT_NAME}.dylib"
diff --git a/Scripts/create_ext_lib_xcframeworks.sh b/Scripts/create_ext_lib_xcframeworks.sh
new file mode 100755
index 0000000..33cd977
--- /dev/null
+++ b/Scripts/create_ext_lib_xcframeworks.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_EXT_DIR="${PROJECT_DIR}/External"
+export MVK_XCFWK_STAGING_DIR="${MVK_EXT_DIR}/build/Intermediates/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${MVK_EXT_DIR}/build/${CONFIGURATION}"
+
+# Assemble the headers for the external libraries
+abs_ext_dir=`cd "${MVK_EXT_DIR}"; pwd; cd - > /dev/null`
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+rm -rf "${hdr_dir}"
+mkdir -p "${hdr_dir}"
+ln -sfn "${abs_ext_dir}/SPIRV-Cross" "${hdr_dir}/SPIRVCross"
+ln -sfn "${abs_ext_dir}/glslang/External/spirv-tools/include/spirv-tools" "${hdr_dir}/SPIRVTools"
+ln -sfn "${abs_ext_dir}/glslang" "${hdr_dir}/glslang"
+
+create_xcframework "SPIRVCross"
+create_xcframework "SPIRVTools"
+create_xcframework "glslang"
diff --git a/Scripts/create_fat_ext_libs.sh b/Scripts/create_fat_ext_libs.sh
deleted file mode 100755
index fb0a3ac..0000000
--- a/Scripts/create_fat_ext_libs.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-# Load functions
-. "${SRCROOT}/Scripts/create_fat_lib_func.sh"
-
-set -e
-
-export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS_PROD_EXTN}"
-export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_SIM_PROD_EXTN}"
-export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}-${MVK_OS}"
-
-create_fat_lib "libSPIRVCross.a"
-create_fat_lib "libSPIRVTools.a"
-create_fat_lib "libglslang.a"
-
diff --git a/Scripts/create_fat_lib_func.sh b/Scripts/create_fat_lib_func.sh
deleted file mode 100755
index 6d48b6f..0000000
--- a/Scripts/create_fat_lib_func.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-# If both platform and simulator lib files exist, create a fat file
-# from them both, otherwise if only one exists, copy it to the fat file.
-#
-# Takes one parameter:
-# 1 - filename
-#
-# Requires 3 build settings:
-# MVK_BUILT_OS_PROD_DIR - location to find OS input file
-# MVK_BUILT_SIM_PROD_DIR - location to find simulator input file
-# MVK_BUILT_FAT_PROD_DIR - location to put fat output file
-function create_fat_lib() {
- FILE_NAME=${1}
- BUILT_OS_PROD_FILE="${MVK_BUILT_OS_PROD_DIR}/${FILE_NAME}"
- BUILT_SIM_PROD_FILE="${MVK_BUILT_SIM_PROD_DIR}/${FILE_NAME}"
- BUILT_FAT_PROD_FILE="${MVK_BUILT_FAT_PROD_DIR}/${FILE_NAME}"
-
- if [ ! -e "${MVK_BUILT_FAT_PROD_DIR}" ]; then
- mkdir -p "${MVK_BUILT_FAT_PROD_DIR}"
- fi
- rm -rf "${BUILT_FAT_PROD_FILE}"
-
- if test -e "${BUILT_OS_PROD_FILE}"; then
- if test -e "${BUILT_SIM_PROD_FILE}"; then
- lipo \
- -create \
- -output "${BUILT_FAT_PROD_FILE}" \
- "${BUILT_OS_PROD_FILE}" \
- "${BUILT_SIM_PROD_FILE}"
- else
- cp -a "${BUILT_OS_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
- fi
- elif test -e "${BUILT_SIM_PROD_FILE}"; then
- cp -a "${BUILT_SIM_PROD_FILE}" "${BUILT_FAT_PROD_FILE}"
- fi
-}
diff --git a/Scripts/create_fat_libs.sh b/Scripts/create_fat_libs.sh
deleted file mode 100755
index 4a2f922..0000000
--- a/Scripts/create_fat_libs.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-# Load functions
-. "${SRCROOT}/../Scripts/create_fat_lib_func.sh"
-
-set -e
-
-#Static library
-export MVK_BUILT_OS_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS_PROD_EXTN}"
-export MVK_BUILT_SIM_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_SIM_PROD_EXTN}"
-export MVK_BUILT_FAT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-create_fat_lib "lib${PRODUCT_NAME}.a"
-
-# Dynamic library
-export MVK_BUILT_OS_PROD_DIR="${MVK_BUILT_OS_PROD_DIR}/dynamic"
-export MVK_BUILT_SIM_PROD_DIR="${MVK_BUILT_SIM_PROD_DIR}/dynamic"
-export MVK_BUILT_FAT_PROD_DIR="${MVK_BUILT_FAT_PROD_DIR}/dynamic"
-create_fat_lib "lib${PRODUCT_NAME}.dylib"
-
-# Dynamic library dSYM
-if [ "${CONFIGURATION}" == "Debug" ]; then
- cp -a "${MVK_BUILT_OS_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM" "${MVK_BUILT_FAT_PROD_DIR}"
- export MVK_BUILT_OS_PROD_DIR="${MVK_BUILT_OS_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
- export MVK_BUILT_SIM_PROD_DIR="${MVK_BUILT_SIM_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
- export MVK_BUILT_FAT_PROD_DIR="${MVK_BUILT_FAT_PROD_DIR}/lib${PRODUCT_NAME}.dylib.dSYM/Contents/Resources/DWARF"
- create_fat_lib "lib${PRODUCT_NAME}.dylib"
-fi
diff --git a/Scripts/create_fat_libs_ios.sh b/Scripts/create_fat_libs_ios.sh
deleted file mode 100755
index b5d3797..0000000
--- a/Scripts/create_fat_libs_ios.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="iOS"
-export MVK_OS_PROD_EXTN="iphoneos"
-export MVK_SIM_PROD_EXTN="iphonesimulator"
-
-. "${SRCROOT}/../Scripts/create_fat_libs.sh"
-
diff --git a/Scripts/create_fat_libs_tvos.sh b/Scripts/create_fat_libs_tvos.sh
deleted file mode 100755
index 9003f0c..0000000
--- a/Scripts/create_fat_libs_tvos.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="tvOS"
-export MVK_OS_PROD_EXTN="appletvos"
-export MVK_SIM_PROD_EXTN="appletvsimulator"
-
-. "${SRCROOT}/../Scripts/create_fat_libs.sh"
-
diff --git a/Scripts/create_framework.sh b/Scripts/create_framework.sh
deleted file mode 100755
index 37aaca4..0000000
--- a/Scripts/create_framework.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_TMPLT_PATH="${PROJECT_DIR}/../Templates/framework/${MVK_OS}"
-export MVK_BUILT_FRWK_PATH="${MVK_BUILT_PROD_DIR}/framework/${PRODUCT_NAME}.framework"
-export MVK_BUILT_FRWK_CONTENT_PATH="${MVK_BUILT_FRWK_PATH}/${MVK_FRWK_SUBPATH}"
-
-mkdir -p "${MVK_BUILT_PROD_DIR}/framework"
-
-rm -rf "${MVK_BUILT_FRWK_PATH}"
-cp -a "${MVK_TMPLT_PATH}/Template.framework" "${MVK_BUILT_FRWK_PATH}"
-cp -a "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a" "${MVK_BUILT_FRWK_CONTENT_PATH}${PRODUCT_NAME}"
-cp -pRL "${PROJECT_DIR}/include/${PRODUCT_NAME}/" "${MVK_BUILT_FRWK_CONTENT_PATH}Headers"
-rm -f "${MVK_BUILT_FRWK_CONTENT_PATH}Headers/README" #Remove git empty directory placeholder file
diff --git a/Scripts/create_framework_ios.sh b/Scripts/create_framework_ios.sh
deleted file mode 100755
index c75be1f..0000000
--- a/Scripts/create_framework_ios.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="iOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-export MVK_FRWK_SUBPATH=""
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
diff --git a/Scripts/create_framework_macos.sh b/Scripts/create_framework_macos.sh
deleted file mode 100755
index d776044..0000000
--- a/Scripts/create_framework_macos.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="macOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
-export MVK_FRWK_SUBPATH="Versions/Current/"
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
-
-ln -sfn "${MVK_FRWK_SUBPATH}${PRODUCT_NAME}" "${MVK_BUILT_FRWK_PATH}/${PRODUCT_NAME}"
diff --git a/Scripts/create_framework_tvos.sh b/Scripts/create_framework_tvos.sh
deleted file mode 100755
index 7cfde03..0000000
--- a/Scripts/create_framework_tvos.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_OS="tvOS"
-export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-${MVK_OS}"
-export MVK_FRWK_SUBPATH=""
-
-. "${SRCROOT}/../Scripts/create_framework.sh"
diff --git a/Scripts/create_xcframework_func.sh b/Scripts/create_xcframework_func.sh
new file mode 100755
index 0000000..c7b20cf
--- /dev/null
+++ b/Scripts/create_xcframework_func.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Creates a universal XCFramework for a product from any libraries that can be found for the product.
+#
+# Takes one parameter:
+# 1 - product_name
+#
+# Requires the variables MVK_XCFWK_STAGING_DIR and MVK_XCFWK_DEST_DIR.
+#
+function create_xcframework() {
+ prod_name=${1}
+ xcfwk_path="${MVK_XCFWK_DEST_DIR}/${prod_name}.xcframework"
+ hdr_path="${MVK_XCFWK_STAGING_DIR}/Headers/${prod_name}"
+
+ xcfwk_cmd="xcodebuild -quiet -create-xcframework -output \"${xcfwk_path}\""
+
+ # For each platform directory in the staging directory, add the library to the
+ # XCFramework if it exists, and for each library, add headers if they exist.
+ for prod_staging_dir in "${MVK_XCFWK_STAGING_DIR}/${CONFIGURATION}"/*; do
+ prod_lib_path="${prod_staging_dir}/lib${prod_name}.a"
+ if [[ -e "${prod_lib_path}" ]]; then
+ xcfwk_cmd+=" -library \"${prod_lib_path}\""
+# if [[ -e "${hdr_path}" ]]; then
+# xcfwk_cmd+=" -headers \"${hdr_path}\"" # Headers currently break build due to Xcode 12 ProcessXCFramework bug: https://developer.apple.com/forums/thread/651043?answerId=628400022#628400022
+# fi
+ fi
+ done
+
+ rm -rf "${xcfwk_path}"
+ eval "${xcfwk_cmd}"
+}
diff --git a/Scripts/package_all.sh b/Scripts/package_all.sh
index 2a6c0ef..e8b65c2 100755
--- a/Scripts/package_all.sh
+++ b/Scripts/package_all.sh
@@ -1,7 +1,8 @@
#!/bin/bash
. "${SRCROOT}/Scripts/package_moltenvk.sh"
-. "${SRCROOT}/Scripts/package_shader_converter.sh"
+. "${SRCROOT}/Scripts/package_moltenvk_xcframework.sh"
+. "${SRCROOT}/Scripts/package_shader_converter_xcframework.sh"
. "${SRCROOT}/Scripts/package_docs.sh"
. "${SRCROOT}/Scripts/package_update_latest.sh"
diff --git a/Scripts/package_ext_libs.sh b/Scripts/package_ext_libs.sh
deleted file mode 100755
index 8ec1a59..0000000
--- a/Scripts/package_ext_libs.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_EXT_LIB_DST_PATH="${PROJECT_DIR}/External/build/"
-export MVK_EXT_LIB_DST_OS_PATH="${MVK_EXT_LIB_DST_PATH}/${CONFIGURATION}/${MVK_OS}"
-
-rm -rf "${MVK_EXT_LIB_DST_OS_PATH}"
-mkdir -p "${MVK_EXT_LIB_DST_OS_PATH}"
-
-cp -a "${MVK_BUILT_PROD_DIR}/"*.a "${MVK_EXT_LIB_DST_OS_PATH}"
diff --git a/Scripts/package_moltenvk.sh b/Scripts/package_moltenvk.sh
index 766865b..61f99b2 100755
--- a/Scripts/package_moltenvk.sh
+++ b/Scripts/package_moltenvk.sh
@@ -2,28 +2,39 @@
set -e
+# Copy dylibs only if the source directory exists.
+# Takes two args: source build path OS suffix and destination path OS directory name
+function copy_dylib() {
+ src_dir="${BUILD_DIR}/${CONFIGURATION}${1}/dynamic"
+ dst_dir="${MVK_PKG_PROD_PATH}/dylib/${2}"
+
+ # If dylib file exists, copy it, any debug symbol file, and the Vulkan layer JSON file
+ src_file="${src_dir}/lib${MVK_PROD_NAME}.dylib"
+ if [[ -e "${src_file}" ]]; then
+ rm -rf "${dst_dir}"
+ mkdir -p "${dst_dir}"
+
+ cp -a "${src_file}" "${dst_dir}"
+
+ src_file+=".dSYM"
+ if [[ -e "${src_file}" ]]; then
+ cp -a "${src_file}" "${dst_dir}"
+ fi
+
+ cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${dst_dir}"
+
+ fi
+}
+
export MVK_PROD_NAME="MoltenVK"
export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_NAME}"
export MVK_PKG_PROD_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
-rm -rf "${MVK_PKG_PROD_PATH_OS}"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/static"
-cp -a "${MVK_BUILT_PROD_DIR}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic"
-cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-if test "$CONFIGURATION" = Debug; then
- cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-fi
-cp -a "${MVK_PROD_PROJ_PATH}/icd/${MVK_PROD_NAME}_icd.json" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
-cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
-
-# Remove the code signature
-rm -rf "${MVK_PKG_PROD_PATH_OS}/framework/${MVK_PROD_NAME}.framework/_CodeSignature"
+copy_dylib "" "macOS"
+copy_dylib "-iphoneos" "iOS"
+copy_dylib "-iphonesimulator" "iOS-simulator"
+copy_dylib "-appletvos" "tvOS"
+copy_dylib "-appletvsimulator" "tvOS-simulator"
# Remove and replace header include folder
rm -rf "${MVK_PKG_PROD_PATH}/include"
diff --git a/Scripts/package_moltenvk_xcframework.sh b/Scripts/package_moltenvk_xcframework.sh
new file mode 100755
index 0000000..adbf883
--- /dev/null
+++ b/Scripts/package_moltenvk_xcframework.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_PROD_BASE_NAME="MoltenVK"
+export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
+
+# Assemble the headers
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+mkdir -p "${hdr_dir}"
+rm -rf "${hdr_dir}/${MVK_PROD_BASE_NAME}"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/${MVK_PROD_BASE_NAME}" "${hdr_dir}"
+
+create_xcframework "MoltenVK"
diff --git a/Scripts/package_shader_converter.sh b/Scripts/package_shader_converter.sh
deleted file mode 100755
index 98568b6..0000000
--- a/Scripts/package_shader_converter.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_BASE_NAME="MoltenVKShaderConverter"
-export MVK_PKG_BASE_PATH="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
-export MVK_PKG_INCLUDE_PATH="${MVK_PKG_BASE_PATH}/include"
-
-# Remove and replace header include folder
-rm -rf "${MVK_PKG_INCLUDE_PATH}"
-mkdir -p "${MVK_PKG_INCLUDE_PATH}"
-cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/" "${MVK_PKG_INCLUDE_PATH}"
-
-#-----------------------------------
-# MoltenVKSPIRVToMSLConverter
-export MVK_PROD_NAME="MoltenVKSPIRVToMSLConverter"
-
-. "${SRCROOT}/Scripts/package_shader_converter_lib.sh"
-
-#-----------------------------------
-# MoltenVKGLSLToSPIRVConverter
-export MVK_PROD_NAME="MoltenVKGLSLToSPIRVConverter"
-
-. "${SRCROOT}/Scripts/package_shader_converter_lib.sh"
diff --git a/Scripts/package_shader_converter_lib.sh b/Scripts/package_shader_converter_lib.sh
deleted file mode 100755
index 14cf732..0000000
--- a/Scripts/package_shader_converter_lib.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-set -e
-
-export MVK_PROD_PROJ_PATH="${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH="${MVK_PKG_BASE_PATH}/${MVK_PROD_NAME}"
-export MVK_PKG_PROD_PATH_OS="${MVK_PKG_PROD_PATH}/${MVK_OS}"
-
-rm -rf "${MVK_PKG_PROD_PATH_OS}"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/static"
-cp -a "${MVK_BUILT_PROD_DIR}/lib${MVK_PROD_NAME}.a" "${MVK_PKG_PROD_PATH_OS}/static"
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/dynamic"
-cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-if test "$CONFIGURATION" = Debug; then
- cp -a "${MVK_BUILT_PROD_DIR}/dynamic/lib${MVK_PROD_NAME}.dylib.dSYM" "${MVK_PKG_PROD_PATH_OS}/dynamic"
-fi
-
-mkdir -p "${MVK_PKG_PROD_PATH_OS}/framework"
-cp -a "${MVK_BUILT_PROD_DIR}/framework/${MVK_PROD_NAME}.framework" "${MVK_PKG_PROD_PATH_OS}/framework"
diff --git a/Scripts/package_shader_converter_tool.sh b/Scripts/package_shader_converter_tool.sh
index 43330d4..98cb659 100755
--- a/Scripts/package_shader_converter_tool.sh
+++ b/Scripts/package_shader_converter_tool.sh
@@ -4,6 +4,7 @@
export MVK_PROD_NAME="MoltenVKShaderConverter"
export MVK_PKG_PROD_PATH_OS="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_NAME}/Tools"
+export MVK_BUILT_PROD_DIR="${BUILT_PRODUCTS_DIR}"
rm -rf "${MVK_PKG_PROD_PATH_OS}"
mkdir -p "${MVK_PKG_PROD_PATH_OS}"
diff --git a/Scripts/package_shader_converter_xcframework.sh b/Scripts/package_shader_converter_xcframework.sh
new file mode 100755
index 0000000..3425515
--- /dev/null
+++ b/Scripts/package_shader_converter_xcframework.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+. "${PROJECT_DIR}/Scripts/create_xcframework_func.sh"
+
+export MVK_PROD_BASE_NAME="MoltenVKShaderConverter"
+export MVK_XCFWK_STAGING_DIR="${BUILD_DIR}/XCFrameworkStaging"
+export MVK_XCFWK_DEST_DIR="${PROJECT_DIR}/Package/${CONFIGURATION}/${MVK_PROD_BASE_NAME}"
+
+# Assemble the headers for the shader frameworks
+hdr_dir="${MVK_XCFWK_STAGING_DIR}/Headers"
+mkdir -p "${hdr_dir}"
+rm -rf "${hdr_dir}/MoltenVKShaderConverter"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/MoltenVKShaderConverter" "${hdr_dir}"
+
+# Also copy headers to an include directory in the package.
+# This will not be needed once the XCFramework can be created with a Headers directory.
+mkdir -p "${MVK_XCFWK_DEST_DIR}"
+cp -pRL "${PROJECT_DIR}/${MVK_PROD_BASE_NAME}/include/" "${MVK_XCFWK_DEST_DIR}/include"
+
+create_xcframework "MoltenVKShaderConverter"
diff --git a/Templates/framework/iOS/Template.framework/Headers/README b/Templates/framework/iOS/Template.framework/Headers/README
deleted file mode 100644
index 26382bc..0000000
--- a/Templates/framework/iOS/Template.framework/Headers/README
+++ /dev/null
@@ -1 +0,0 @@
-Placeholder for empty git directory.
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Headers b/Templates/framework/macOS/Template.framework/Headers
deleted file mode 120000
index a177d2a..0000000
--- a/Templates/framework/macOS/Template.framework/Headers
+++ /dev/null
@@ -1 +0,0 @@
-Versions/Current/Headers
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Versions/A/Headers/README b/Templates/framework/macOS/Template.framework/Versions/A/Headers/README
deleted file mode 100644
index 26382bc..0000000
--- a/Templates/framework/macOS/Template.framework/Versions/A/Headers/README
+++ /dev/null
@@ -1 +0,0 @@
-Placeholder for empty git directory.
\ No newline at end of file
diff --git a/Templates/framework/macOS/Template.framework/Versions/Current b/Templates/framework/macOS/Template.framework/Versions/Current
deleted file mode 120000
index 8c7e5a6..0000000
--- a/Templates/framework/macOS/Template.framework/Versions/Current
+++ /dev/null
@@ -1 +0,0 @@
-A
\ No newline at end of file
diff --git a/Templates/framework/tvOS b/Templates/framework/tvOS
deleted file mode 120000
index d4676fd..0000000
--- a/Templates/framework/tvOS
+++ /dev/null
@@ -1 +0,0 @@
-iOS
\ No newline at end of file
diff --git a/fetchDependencies b/fetchDependencies
index d6602d5..28bd8d7 100755
--- a/fetchDependencies
+++ b/fetchDependencies
@@ -4,31 +4,29 @@
#
# fetchDependencies - Retrieves the correct versions of all dependencies
#
-# macOS usage: ./fetchDependencies [--ios] [--iosfat] [--tvos] [--tvosfat] [--macos] [--all] [--none]
+# macOS usage: ./fetchDependencies [--macos] [--ios] [--iossim] [--tvos] [--tvossim] [--all] [--none]
# [-v] [--debug] [--build-spirv-tools]
# [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
#
-# --ios
-# Build the external libraries for the iOS platform.
-#
-# --iosfat
-# Build a single binary for each external library, each containing code
-# for both iOS and iOS Simulator platforms.
-#
-# --tvos
-# Build the external libraries for the tvOS platform.
-#
-# --tvosfat
-# Build a single binary for each external library, each containing code
-# for both tvOS and tvOS Simulator platforms.
-#
# --macos
# Build the external libraries for the macOS platform.
#
+# --ios
+# Build the external libraries for the iOS platform.
+#
+# --iossim
+# Build the external libraries for the iOS Simulator platform.
+#
+# --tvos
+# Build the external libraries for the tvOS platform.
+#
+# --tvossim
+# Build the external libraries for the tvOS Simulator platform.
+#
# --all
-# Equivalent to specifying [--iosfat --tvosfat --macos]. Results in thee
-# binaries for each external library: one for the iOS and iOS Simulator platforms,
-# one for the tvOS and tvOS Simulator platforms, and one for the macOS platform.
+# Equivalent to specifying [--macos --ios --iossim --tvos --tvossim].
+# Results in one XCFramework for each external library, each containing
+# binaries for all supported platforms.
#
# --none
# Don't build the external libraries for any platform.
@@ -94,8 +92,7 @@
BLD_SPECIFIED="Y"
shift 1
;;
- --iosfat)
- BLD_IOS="Y"
+ --iossim)
BLD_IOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
@@ -105,8 +102,7 @@
BLD_SPECIFIED="Y"
shift 1
;;
- --tvosfat)
- BLD_TVOS="Y"
+ --tvossim)
BLD_TVOS_SIM="Y"
BLD_SPECIFIED="Y"
shift 1
@@ -363,7 +359,7 @@
if [ "$BLD_SPECIFIED" = "" ]; then
echo "ERROR: You did not specify a platform to build."
echo "Include one or more of the following platform options:"
- echo " --ios --iosfat --tvos --tvosfat --macos --all"
+ echo " --macos --ios --iossim --tvos --tvossim --all"
echo "See the instructions in the fetchDependencies script for more info."
exit 1
fi
@@ -380,7 +376,7 @@
XC_PLTFM=${2}
XC_SCHEME="${EXT_DEPS}-${XC_OS}"
- XC_LCL_DD_PATH="${XC_DD_PATH}/Intermediates/${XC_OS}"
+ XC_LCL_DD_PATH="${XC_DD_PATH}/Intermediates/${XC_PLTFM}"
XC_DEST="generic/platform=${XC_PLTFM}"
echo Building external libraries for ${XC_PLTFM}
@@ -402,29 +398,9 @@
# 2 - platform
function build() {
if [ "$XC_USE_BCKGND" != "" ]; then
- build_impl ${1} ${2} &
+ build_impl "${1}" "${2}" &
else
- build_impl ${1} ${2}
- fi
-}
-
-# Build a fat library for the OS containing code for the OS and its Simulator
-# Builds serially to ensure both are built
-# 1 - OS
-function build_fat_impl() {
- XC_OS=${1}
-
- build_impl ${XC_OS} ${XC_OS}
- build_impl ${XC_OS} "${XC_OS} Simulator"
-}
-
-# Select whether or not to run the build in parallel.
-# 1 - OS
-function build_fat() {
- if [ "$XC_USE_BCKGND" != "" ]; then
- build_fat_impl ${1} &
- else
- build_fat_impl ${1}
+ build_impl "${1}" "${2}"
fi
}
@@ -448,19 +424,19 @@
fi
if [ "$BLD_IOS" != "" ]; then
- if [ "$BLD_IOS_SIM" != "" ]; then
- build_fat "iOS"
- else
- build "iOS" "iOS"
- fi
+ build "iOS" "iOS"
+fi
+
+if [ "$BLD_IOS_SIM" != "" ]; then
+ build "iOS" "iOS Simulator"
fi
if [ "$BLD_TVOS" != "" ]; then
- if [ "$BLD_TVOS_SIM" != "" ]; then
- build_fat "tvOS"
- else
- build "tvOS" "tvOS"
- fi
+ build "tvOS" "tvOS"
+fi
+
+if [ "$BLD_TVOS_SIM" != "" ]; then
+ build "tvOS" "tvOS Simulator"
fi
# Wait for any background process (if selected) to finish
@@ -468,9 +444,10 @@
wait
fi
-# Update latest symlink and clean MoltenVK for rebuild
+# Build XCFrameworks, update latest symlink, and clean MoltenVK for rebuild
PROJECT_DIR="."
CONFIGURATION=${XC_CONFIG}
+. "./Scripts/create_ext_lib_xcframeworks.sh"
. "./Scripts/package_ext_libs_finish.sh"
echo ========== Finished at `date +"%r"` ==========