Automatically install demo apps.
Add LunarG demo app repository as a submodule. Add LunarG demo config to makeAll script. Rename Demos/README_MoltenVK_Demos.md to Demos/README.md. Do not copy Demos folder to MoltenVK runtime distribution. Do not copy ThirdPartyConfig.md to MoltenVK runtime distribution. Add cmake as a dependency in README.md.
6
.gitmodules
vendored
@ -16,6 +16,12 @@
|
||||
[submodule "External/SPIRV-Cross"]
|
||||
path = External/SPIRV-Cross
|
||||
url = https://github.com/KhronosGroup/SPIRV-Cross.git
|
||||
ignore = dirty
|
||||
[submodule "External/Vulkan-LoaderAndValidationLayers"]
|
||||
path = External/Vulkan-LoaderAndValidationLayers
|
||||
url = https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
|
||||
ignore = dirty
|
||||
[submodule "External/VulkanSamples"]
|
||||
path = External/VulkanSamples
|
||||
url = https://github.com/brenwill/VulkanSamples.git
|
||||
ignore = dirty
|
||||
|
9
Demos/Demos.xcworkspace/contents.xcworkspacedata
generated
@ -2,7 +2,7 @@
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:README_MoltenVK_Demos.md">
|
||||
location = "group:/Users/bill/Documents/Dev/iOSProjects/Molten/MoltenVK-bh/Demos/README.md">
|
||||
</FileRef>
|
||||
<Group
|
||||
location = "container:"
|
||||
@ -17,11 +17,4 @@
|
||||
location = "group:LunarG-VulkanSamples/Hologram/Hologram.xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:"
|
||||
name = "Khronos-Vulkan-Samples">
|
||||
<FileRef
|
||||
location = "group:Khronos-Vulkan-Samples/AsynchronousTimeWarp/AsynchronousTimeWarp.xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
</Workspace>
|
||||
|
@ -1,532 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 48;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
A9096E4D1F7EF0E200DFBEA6 /* IOSurface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9096E4C1F7EF0E200DFBEA6 /* IOSurface.framework */; };
|
||||
A944E5E61D1CA976000777C7 /* macOS.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A944E5E51D1CA976000777C7 /* macOS.xcassets */; };
|
||||
A944E5EE1D1CA9E0000777C7 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A944E5EA1D1CA9E0000777C7 /* Default-568h@2x.png */; };
|
||||
A944E5EF1D1CA9E0000777C7 /* Default~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = A944E5EB1D1CA9E0000777C7 /* Default~ipad.png */; };
|
||||
A944E5F01D1CA9E0000777C7 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = A944E5EC1D1CA9E0000777C7 /* Icon.png */; };
|
||||
A947FD781CF91202007A3232 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A947FD771CF91202007A3232 /* libc++.tbd */; };
|
||||
A947FD7A1CF91217007A3232 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A947FD791CF91217007A3232 /* MoltenVK.framework */; };
|
||||
A95419011D11A1F0000901F0 /* MoltenVK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A95419001D11A1F0000901F0 /* MoltenVK.framework */; };
|
||||
A9A7447F1D1198A400ADB0E9 /* atw_vulkan.c in Sources */ = {isa = PBXBuildFile; fileRef = A9A980211CF92ADC00A9CCE1 /* atw_vulkan.c */; };
|
||||
A9A744841D1198A400ADB0E9 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A947FD771CF91202007A3232 /* libc++.tbd */; };
|
||||
A9A980641CF92B0400A9CCE1 /* atw_vulkan.c in Sources */ = {isa = PBXBuildFile; fileRef = A9A980211CF92ADC00A9CCE1 /* atw_vulkan.c */; };
|
||||
A9A980651CF92B5200A9CCE1 /* atw_opengl.c in Sources */ = {isa = PBXBuildFile; fileRef = A9A980201CF92ADC00A9CCE1 /* atw_opengl.c */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
A9096E4C1F7EF0E200DFBEA6 /* IOSurface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOSurface.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/IOSurface.framework; sourceTree = DEVELOPER_DIR; };
|
||||
A944E5E51D1CA976000777C7 /* macOS.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = macOS.xcassets; sourceTree = "<group>"; };
|
||||
A944E5EA1D1CA9E0000777C7 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
|
||||
A944E5EB1D1CA9E0000777C7 /* Default~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~ipad.png"; sourceTree = "<group>"; };
|
||||
A944E5EC1D1CA9E0000777C7 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
|
||||
A947FD771CF91202007A3232 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
A947FD791CF91217007A3232 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/macOS/MoltenVK.framework; sourceTree = "<group>"; };
|
||||
A95419001D11A1F0000901F0 /* MoltenVK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MoltenVK.framework; path = ../../../../Package/Latest/MoltenVK/iOS/MoltenVK.framework; sourceTree = "<group>"; };
|
||||
A95816661C03BC4D00792CBF /* AsynchronousTimeWarp-OGL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsynchronousTimeWarp-OGL.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A95816741C03BC4D00792CBF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
A95816881C03D79500792CBF /* AsynchronousTimeWarp-VK.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsynchronousTimeWarp-VK.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A9A744881D1198A400ADB0E9 /* AsynchronousTimeWarp-VK.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AsynchronousTimeWarp-VK.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A9A980201CF92ADC00A9CCE1 /* atw_opengl.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; path = atw_opengl.c; sourceTree = "<group>"; usesTabs = 1; };
|
||||
A9A980211CF92ADC00A9CCE1 /* atw_vulkan.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; path = atw_vulkan.c; sourceTree = "<group>"; usesTabs = 1; };
|
||||
A9A980231CF92ADC00A9CCE1 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||
A9A980631CF92ADC00A9CCE1 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
A95816631C03BC4D00792CBF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A95816811C03D79500792CBF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A947FD7A1CF91217007A3232 /* MoltenVK.framework in Frameworks */,
|
||||
A947FD781CF91202007A3232 /* libc++.tbd in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A9A744821D1198A400ADB0E9 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A95419011D11A1F0000901F0 /* MoltenVK.framework in Frameworks */,
|
||||
A9096E4D1F7EF0E200DFBEA6 /* IOSurface.framework in Frameworks */,
|
||||
A9A744841D1198A400ADB0E9 /* libc++.tbd in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
A93E22721C060C4A00206F85 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9096E4C1F7EF0E200DFBEA6 /* IOSurface.framework */,
|
||||
A95419001D11A1F0000901F0 /* MoltenVK.framework */,
|
||||
A947FD791CF91217007A3232 /* MoltenVK.framework */,
|
||||
A947FD771CF91202007A3232 /* libc++.tbd */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A944E5E41D1CA976000777C7 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A944E5E51D1CA976000777C7 /* macOS.xcassets */,
|
||||
);
|
||||
path = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A944E5E71D1CA9E0000777C7 /* iOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A944E5E91D1CA9E0000777C7 /* Resources */,
|
||||
);
|
||||
path = iOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A944E5E91D1CA9E0000777C7 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A944E5EA1D1CA9E0000777C7 /* Default-568h@2x.png */,
|
||||
A944E5EB1D1CA9E0000777C7 /* Default~ipad.png */,
|
||||
A944E5EC1D1CA9E0000777C7 /* Icon.png */,
|
||||
);
|
||||
path = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A958165D1C03BC4D00792CBF = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9A9801E1CF92ADC00A9CCE1 /* atw */,
|
||||
A944E5E71D1CA9E0000777C7 /* iOS */,
|
||||
A95816681C03BC4D00792CBF /* macOS */,
|
||||
A93E22721C060C4A00206F85 /* Frameworks */,
|
||||
A95816671C03BC4D00792CBF /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A95816671C03BC4D00792CBF /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A95816661C03BC4D00792CBF /* AsynchronousTimeWarp-OGL.app */,
|
||||
A95816881C03D79500792CBF /* AsynchronousTimeWarp-VK.app */,
|
||||
A9A744881D1198A400ADB0E9 /* AsynchronousTimeWarp-VK.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A95816681C03BC4D00792CBF /* macOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A944E5E41D1CA976000777C7 /* Resources */,
|
||||
A95816741C03BC4D00792CBF /* Info.plist */,
|
||||
);
|
||||
path = macOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A9A9801E1CF92ADC00A9CCE1 /* atw */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A9A980201CF92ADC00A9CCE1 /* atw_opengl.c */,
|
||||
A9A980211CF92ADC00A9CCE1 /* atw_vulkan.c */,
|
||||
A9A980231CF92ADC00A9CCE1 /* LICENSE */,
|
||||
A9A980631CF92ADC00A9CCE1 /* README.md */,
|
||||
);
|
||||
path = atw;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
A95816651C03BC4D00792CBF /* AsynchronousTimeWarp-OGL-macOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = A95816771C03BC4D00792CBF /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-OGL-macOS" */;
|
||||
buildPhases = (
|
||||
A95816621C03BC4D00792CBF /* Sources */,
|
||||
A95816641C03BC4D00792CBF /* Resources */,
|
||||
A95816631C03BC4D00792CBF /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "AsynchronousTimeWarp-OGL-macOS";
|
||||
productName = AsynchronousTimeWarp;
|
||||
productReference = A95816661C03BC4D00792CBF /* AsynchronousTimeWarp-OGL.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
A958167E1C03D79500792CBF /* AsynchronousTimeWarp-VK-macOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = A95816851C03D79500792CBF /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-VK-macOS" */;
|
||||
buildPhases = (
|
||||
A958167F1C03D79500792CBF /* Sources */,
|
||||
A95816821C03D79500792CBF /* Resources */,
|
||||
A95816811C03D79500792CBF /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "AsynchronousTimeWarp-VK-macOS";
|
||||
productName = AsynchronousTimeWarp;
|
||||
productReference = A95816881C03D79500792CBF /* AsynchronousTimeWarp-VK.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
A9A7447D1D1198A400ADB0E9 /* AsynchronousTimeWarp-VK-iOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = A9A744851D1198A400ADB0E9 /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-VK-iOS" */;
|
||||
buildPhases = (
|
||||
A9A7447E1D1198A400ADB0E9 /* Sources */,
|
||||
A9A744801D1198A400ADB0E9 /* Resources */,
|
||||
A9A744821D1198A400ADB0E9 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "AsynchronousTimeWarp-VK-iOS";
|
||||
productName = AsynchronousTimeWarp;
|
||||
productReference = A9A744881D1198A400ADB0E9 /* AsynchronousTimeWarp-VK.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
A958165E1C03BC4D00792CBF /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
ORGANIZATIONNAME = "The Brenwill Workshop Ltd.";
|
||||
TargetAttributes = {
|
||||
A95816651C03BC4D00792CBF = {
|
||||
CreatedOnToolsVersion = 7.1.1;
|
||||
DevelopmentTeam = VU3TCKU48B;
|
||||
};
|
||||
A958167E1C03D79500792CBF = {
|
||||
DevelopmentTeam = VU3TCKU48B;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = A95816611C03BC4D00792CBF /* Build configuration list for PBXProject "AsynchronousTimeWarp" */;
|
||||
compatibilityVersion = "Xcode 8.0";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = A958165D1C03BC4D00792CBF;
|
||||
productRefGroup = A95816671C03BC4D00792CBF /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
A9A7447D1D1198A400ADB0E9 /* AsynchronousTimeWarp-VK-iOS */,
|
||||
A958167E1C03D79500792CBF /* AsynchronousTimeWarp-VK-macOS */,
|
||||
A95816651C03BC4D00792CBF /* AsynchronousTimeWarp-OGL-macOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
A95816641C03BC4D00792CBF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A95816821C03D79500792CBF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A944E5E61D1CA976000777C7 /* macOS.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A9A744801D1198A400ADB0E9 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A944E5F01D1CA9E0000777C7 /* Icon.png in Resources */,
|
||||
A944E5EF1D1CA9E0000777C7 /* Default~ipad.png in Resources */,
|
||||
A944E5EE1D1CA9E0000777C7 /* Default-568h@2x.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
A95816621C03BC4D00792CBF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9A980651CF92B5200A9CCE1 /* atw_opengl.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A958167F1C03D79500792CBF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9A980641CF92B0400A9CCE1 /* atw_vulkan.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
A9A7447E1D1198A400ADB0E9 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A9A7447F1D1198A400ADB0E9 /* atw_vulkan.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
A95816751C03BC4D00792CBF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"\"$(SRCROOT)/../../../MoltenVK/include\"",
|
||||
"\"$(SRCROOT)/../Vulkan-Samples/external/include\"",
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
A95816761C03BC4D00792CBF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"\"$(SRCROOT)/../../../MoltenVK/include\"",
|
||||
"\"$(SRCROOT)/../Vulkan-Samples/external/include\"",
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
A95816781C03BC4D00792CBF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = macOS/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-OGL";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
A95816791C03BC4D00792CBF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = macOS/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-OGL";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
A95816861C03D79500792CBF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\"";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_MACOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-VK";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
A95816871C03D79500792CBF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/macOS\"";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_MACOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/macOS/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-VK";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
A9A744861D1198A400ADB0E9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\"";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_IOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-VK";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = arm64;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
A9A744871D1198A400ADB0E9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/../../../MoltenVK/iOS\"";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
VK_USE_PLATFORM_IOS_MVK,
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/iOS/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.moltenvk.AsynchronousTimeWarp;
|
||||
PRODUCT_NAME = "AsynchronousTimeWarp-VK";
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALID_ARCHS = arm64;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
A95816611C03BC4D00792CBF /* Build configuration list for PBXProject "AsynchronousTimeWarp" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A95816751C03BC4D00792CBF /* Debug */,
|
||||
A95816761C03BC4D00792CBF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
A95816771C03BC4D00792CBF /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-OGL-macOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A95816781C03BC4D00792CBF /* Debug */,
|
||||
A95816791C03BC4D00792CBF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
A95816851C03D79500792CBF /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-VK-macOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A95816861C03D79500792CBF /* Debug */,
|
||||
A95816871C03D79500792CBF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
A9A744851D1198A400ADB0E9 /* Build configuration list for PBXNativeTarget "AsynchronousTimeWarp-VK-iOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
A9A744861D1198A400ADB0E9 /* Debug */,
|
||||
A9A744871D1198A400ADB0E9 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = A958165E1C03BC4D00792CBF /* Project object */;
|
||||
}
|
@ -1,123 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A9A7447D1D1198A400ADB0E9"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-iOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A9A7447D1D1198A400ADB0E9"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-iOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugXPCServices = "NO"
|
||||
debugServiceExtension = "internal"
|
||||
enableGPUFrameCaptureMode = "3"
|
||||
enableGPUValidationMode = "1"
|
||||
allowLocationSimulation = "NO"
|
||||
queueDebuggingEnabled = "No">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A9A7447D1D1198A400ADB0E9"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-iOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-q"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "-w"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "-e"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A9A7447D1D1198A400ADB0E9"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-iOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,124 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A958167E1C03D79500792CBF"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-macOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
language = ""
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A958167E1C03D79500792CBF"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-macOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
language = ""
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "NO"
|
||||
debugXPCServices = "NO"
|
||||
debugServiceExtension = "internal"
|
||||
enableGPUFrameCaptureMode = "3"
|
||||
enableGPUValidationMode = "1"
|
||||
allowLocationSimulation = "NO"
|
||||
viewDebuggingEnabled = "No"
|
||||
queueDebuggingEnabled = "No">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A958167E1C03D79500792CBF"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-macOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-q"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "-w"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "-e"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
<CommandLineArgument
|
||||
argument = "0"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "A958167E1C03D79500792CBF"
|
||||
BuildableName = "AsynchronousTimeWarp-VK.app"
|
||||
BlueprintName = "AsynchronousTimeWarp-VK-macOS"
|
||||
ReferencedContainer = "container:AsynchronousTimeWarp.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1 +0,0 @@
|
||||
../Vulkan-Samples/samples/apps/atw
|
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>iOS/Resources/Icon.png</string>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string></string>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 5.8 KiB |
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © The Brenwill Workshop Ltd. All rights reserved.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,63 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "16x16",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-16.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "16x16",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "32x32",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-32.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "32x32",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "128x128",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-128.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "128x128",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "256x256",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-256.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "256x256",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "512x512",
|
||||
"idiom" : "mac",
|
||||
"filename" : "Icon-512.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "mac",
|
||||
"size" : "512x512",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 70 KiB |
@ -1,6 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
../../../../Khronos/Khronos-Vulkan-Samples/Vulkan-Samples
|
@ -623,7 +623,7 @@
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
LastUpgradeCheck = 0920;
|
||||
TargetAttributes = {
|
||||
A977BCBD1B66BB010067E5BF = {
|
||||
DevelopmentTeam = VU3TCKU48B;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -264,7 +264,7 @@
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
LastUpgradeCheck = 0920;
|
||||
TargetAttributes = {
|
||||
A9B53B0F1C3AC0BE00ABC6F6 = {
|
||||
DevelopmentTeam = VU3TCKU48B;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -355,7 +355,7 @@
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
LastUpgradeCheck = 0920;
|
||||
TargetAttributes = {
|
||||
A977BCBD1B66BB010067E5BF = {
|
||||
DevelopmentTeam = VU3TCKU48B;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0900"
|
||||
LastUpgradeVersion = "0920"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
@ -1 +1 @@
|
||||
../../../../Khronos/LunarG-VulkanSamples/VulkanSamples
|
||||
../../External/VulkanSamples
|
199
Demos/README.md
Executable file
@ -0,0 +1,199 @@
|
||||
<a class="site-logo" href="https://github.com/KhronosGroup/MoltenVK" title="MoltenVK">
|
||||
<img src="../Docs/images/MoltenVK-Logo-Banner.png" alt="MoltenVK" style="width:256px;height:auto">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
#MoltenVK Demo Projects
|
||||
|
||||
Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
|
||||
|
||||
*This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
|
||||
For best results, use a Markdown reader.*
|
||||
|
||||
|
||||
|
||||
Table of Contents
|
||||
-----------------
|
||||
|
||||
- [LunarG Vulkan Samples](#lunarg-vulkan-samples)
|
||||
- [*Demos*](#lunarg-vulkan-samples-demos)
|
||||
- [*API-Samples*](#lunarg-vulkan-samples-api)
|
||||
- [*Hologram*](#lunarg-vulkan-samples-hologram)
|
||||
- [Sascha Willems Vulkan Samples](#sascha-willems-vulkan-samples)
|
||||
- [Installing the *Sascha Willems* Library](#sascha-willems-install)
|
||||
- [Cinder Vulkan Samples](#cinder-vulkan-samples)
|
||||
- [Installing the *Cinder* Library](#cinder-install)
|
||||
- [*Fish Tornado*](#cinder-vulkan-samples-fish-tornado)
|
||||
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples"></a>
|
||||
LunarG Vulkan Samples
|
||||
---------------------
|
||||
|
||||
[LunarG](https://lunarg.com), who have been involved in *Vulkan* development from the
|
||||
beginning, and are one of the original developers of *Vulkan* tools and SDK's, provides
|
||||
a suite of demo apps, that demonstrate a wide range of basic *Vulkan* features.
|
||||
|
||||
These demo apps are included in **MoltenVK**, and can be found in the `LunarG-VulkanSamples`
|
||||
folder of this `Demos` folder, and in the `LunarG-VulkanSamples` group in the *Xcode Project Navigator*
|
||||
in the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-demos"></a>
|
||||
### *Demos*
|
||||
|
||||
A basic textured cube that spins in place.
|
||||
|
||||
The demo can be found in the `LunarG-VulkanSamples/Demos` folder, and in the
|
||||
`LunarG-VulkanSamples/Demos` group in the *Xcode Project Navigator* in the
|
||||
`Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
To run this demo, run either the `Cube-iOS` or `Cube-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
This demo is a simple example of installing **MoltenVK** as a dynamic library, instead of as
|
||||
a statically-linked framework. In this demo, the **MoltenVK** dynamic library is embedded in
|
||||
the application, but it could have been installed as a system library instead.
|
||||
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-api"></a>
|
||||
### *API-Samples*
|
||||
|
||||
This *Xcode* project actually contains a large number of modular demos, with each demo
|
||||
demonstrating a particular *Vulkan* feature, or suite of calls.
|
||||
|
||||
This demo can be found in the `LunarG-VulkanSamples/API-Samples` folder, and in the
|
||||
`LunarG-VulkanSamples/API-Samples` group in the *Xcode Project Navigator* in the
|
||||
`Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
To run this demo, run either the `API-Samples-iOS` or `API-Samples-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
To specify which of the many modular demos to run, open the `Samples.h` in the `API-Samples`
|
||||
project in the *Xcode Project Navigator* in the `Demos.xcworkspace` *Xcode* workspace, and
|
||||
follow the instructions in the comments within that file.
|
||||
|
||||
> **Note:** For simplicity, the `API-Samples` demos are bare-bones. Each of the `API-Samples`
|
||||
> demos renders a single frame during app startup, and then leaves the rendered image static.
|
||||
> There is no display loop or motion in any of these demos.
|
||||
> **This is normal for these demos, and the demo has not "hung" or "crashed" when this occurs.**
|
||||
|
||||
To see descriptions and screenshots of each of the demos, open
|
||||
[this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan).
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-hologram"></a>
|
||||
### *Hologram*
|
||||
|
||||
> **Note:** In order to build the `Hologram` demo, you must have *Python3* installed
|
||||
> on your build computer.
|
||||
|
||||
This is a sophisticated particle demo that populates command buffers from multiple threads.
|
||||
|
||||
This demo can be found in the `LunarG-VulkanSamples/Hologram` folder, and in the
|
||||
`LunarG-VulkanSamples/Hologram` group in the *Xcode Project Navigator* in the
|
||||
`Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
To run this demo, run either the `Hologram-iOS` or `Hologram-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
On *macOS*, once the demo is open, you can use the *Up-arrow* and *Down-arrow* keys on the
|
||||
keyboard to zoom the camera in and out of the scene. Zooming out will show more items on screen.
|
||||
|
||||
The demo allows some customization, by modifying the arguments passed to the demo at startup.
|
||||
To customize, modify the arguments created in the `DemoViewController viewDidLoad` method
|
||||
found in the `iOS/DemoViewController.mm` or `macOS/DemoViewController.mm` file.
|
||||
|
||||
This demo illustrates the use of the **MoltenVK** API `vkGetMoltenVKDeviceConfigurationMVK()`
|
||||
and `vkSetMoltenVKDeviceConfigurationMVK()` functions to enable **MoltenVK** debugging, including
|
||||
logging the conversion of shaders from *SPIR-V* to *Metal Shading Language*. See the use of these
|
||||
functions in the `Hologram/Hologram.cpp` file. To see the effect, modify the `Hologram-iOS` or
|
||||
`Hologram-macOS` *Scheme* from within *Xcode* to use the **Debug** *Build Configuration* setting.
|
||||
|
||||
|
||||
|
||||
<a name="sascha-willems-vulkan-samples"></a>
|
||||
Sascha Willems Vulkan Samples
|
||||
-----------------------------
|
||||
|
||||
[*Sascha Willems*](https://github.com/brenwill/Vulkan) provides an open-source library containing
|
||||
a large number of sophisticated *Vulkan* samples. The library contains support for running these
|
||||
examples on *iOS* and *macOS* in *Xcode*, using **MoltenVK**.
|
||||
|
||||
|
||||
<a name="sascha-willems-install"></a>
|
||||
### Installing the *Sascha Willems* Library
|
||||
|
||||
To install the *Sascha Willems Vulkan* samples, open a *Terminal* session and perform
|
||||
the following command-line steps:
|
||||
|
||||
1. In the parent directory of this `MoltenVK` repository, clone the modified *Sascha Willems* `Vulkan` repo:
|
||||
|
||||
git clone https://github.com/brenwill/Vulkan.git
|
||||
|
||||
2. By default, the *Sascha Willems Vulkan* samples expect **MoltenVK** to be installed in a directory
|
||||
beside the `Cinder` repository:
|
||||
|
||||
Vulkan/
|
||||
MoltenVK/
|
||||
|
||||
If you have installed **MoltenVK** somewhere else, create a symlink to your **MoltenVK** installation:
|
||||
|
||||
ln -sfn path-to-MoltenVK/MoltenVK
|
||||
|
||||
2. Follow the instructions in the `Vulkan\xcode\README_MoltenVK_Examples.md` document
|
||||
within the *Sascha Willems* `Vulkan` repository.
|
||||
|
||||
|
||||
|
||||
<a name="cinder-vulkan-samples"></a>
|
||||
Cinder Vulkan Samples
|
||||
---------------------
|
||||
|
||||
[*Cinder*](https://libcinder.org) is a cross-platform 3D graphics engine built in C++.
|
||||
*Cinder* supports *Vulkan*, and includes several *Vulkan* demos.
|
||||
|
||||
These demo apps are included as part of the *Cinder* code repository.
|
||||
|
||||
These **MoltenVK** demos use a modified version of *Cinder*, that allows *Vulkan* to run under
|
||||
*iOS* and *macOS*. To download the modified version of *Cinder*, and link it to **MoltenVK**,
|
||||
follow the instructions in the [Installing the *Cinder* Library](#cinder-install)
|
||||
section next.
|
||||
|
||||
|
||||
<a name="cinder-install"></a>
|
||||
### Installing the *Cinder* Library
|
||||
|
||||
To install the modified *Cinder* library, and link it to **MoltenVK**,
|
||||
open a *Terminal* session and perform the following command-line steps:
|
||||
|
||||
1. In the parent directory of this `MoltenVK` repository, clone the modified `Cinder` repo,
|
||||
including required submodules:
|
||||
|
||||
git clone --recursive https://github.com/brenwill/Cinder.git
|
||||
|
||||
2. Build the core *Cinder* library:
|
||||
|
||||
Cinder/xcode/fullbuild.sh
|
||||
|
||||
3. By default, the *Cinder Vulkan* samples expect **MoltenVK** to be installed in a directory
|
||||
beside the `Cinder` repository:
|
||||
|
||||
Cinder/
|
||||
MoltenVK/
|
||||
|
||||
If you have installed **MoltenVK** somewhere else, create a symlink to your **MoltenVK** installation:
|
||||
|
||||
ln -sfn path-to-MoltenVK/MoltenVK
|
||||
|
||||
|
||||
|
||||
<a name="cinder-vulkan-samples-fish-tornado"></a>
|
||||
### *Fish Tornado*
|
||||
|
||||
This is a sophisticated simulation of a *Fish Tornado*, a swirling school of thousands of fish.
|
||||
|
||||
This demo can be found in the `samples/_vulkan_explicit/FishTornado` folder of the *Cinder* repository.
|
||||
To build and run this demo for either *iOS* or *macOS*, open the `xcode-ios/FishTornado.xcodeproj`
|
||||
or `xcode/FishTornado.xcodeproj` *Xcode* project, respectively.
|
||||
|
@ -1,322 +0,0 @@
|
||||
<a class="site-logo" href="https://github.com/KhronosGroup/MoltenVK" title="MoltenVK">
|
||||
<img src="../Docs/images/MoltenVK-Logo-Banner.png" alt="MoltenVK" style="width:256px;height:auto">
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
#MoltenVK Demo Projects
|
||||
|
||||
Copyright (c) 2014-2018 [The Brenwill Workshop Ltd.](http://www.brenwill.com)
|
||||
|
||||
*This document is written in [Markdown](http://en.wikipedia.org/wiki/Markdown) format.
|
||||
For best results, use a Markdown reader.*
|
||||
|
||||
|
||||
|
||||
Table of Contents
|
||||
-----------------
|
||||
|
||||
- [Introduction](#intro)
|
||||
- [LunarG Vulkan Samples](#lunarg-vulkan-samples)
|
||||
- [Installing the LunarG `VulkanSamples` Library](#lunarg-vulkan-samples-install)
|
||||
- [*Demos*](#lunarg-vulkan-samples-demos)
|
||||
- [*API-Samples*](#lunarg-vulkan-samples-api)
|
||||
- [*Hologram*](#lunarg-vulkan-samples-hologram)
|
||||
- [Khronos Vulkan Samples](#khronos-vulkan-samples)
|
||||
- [Installing the Khronos `Vulkan-Samples` Library](#khronos-vulkan-samples-install)
|
||||
- [*AsynchronousTimeWarp*](#khronos-vulkan-samples-atw)
|
||||
- [Sascha Willems Vulkan Samples](#sascha-willems-vulkan-samples)
|
||||
- [Installing the *Sascha Willems* Library](#sascha-willems-install)
|
||||
- [Cinder Vulkan Samples](#cinder-vulkan-samples)
|
||||
- [Installing the *Cinder* Library](#cinder-install)
|
||||
- [*Fish Tornado*](#cinder-vulkan-samples-fish-tornado)
|
||||
|
||||
|
||||
<a name="intro"></a>
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The *Xcode* projects in this folder are a set of demo applications that demonstrate
|
||||
how to integrate *Vulkan* into an *Xcode* project, and demonstrate the features and
|
||||
capabilities of *Vulkan* when using using **MoltenVK** on the *iOS* and *macOS* platforms.
|
||||
|
||||
Although the demo projects are provided with this `MoltenVK` distribution,
|
||||
the source code and resources for the demo applications come from publicly-available
|
||||
open-source repositories. Follow the instructions for each section below to learn
|
||||
how to download the demo application source code and resources for each set of
|
||||
demo applications.
|
||||
|
||||
To review and run all of the available demo apps, open the `Demos.xcworkspace`
|
||||
*Xcode* workspace in *Xcode*.
|
||||
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples"></a>
|
||||
LunarG Vulkan Samples
|
||||
---------------------
|
||||
|
||||
[LunarG](https://lunarg.com), who have been involved in *Vulkan* development from the
|
||||
beginning, and are one of the original developers of *Vulkan* tools and SDK's, provides
|
||||
a suite of demo apps, that demonstrate a wide range of basic *Vulkan* features.
|
||||
|
||||
These demo apps can be found in the `LunarG-VulkanSamples` folder of this `Demos`
|
||||
folder, and in the `LunarG-VulkanSamples` group in the *Xcode Project Navigator*
|
||||
in the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
These **MoltenVK** demos use a modified version of the *LunarG Vulkan Samples*, that allows
|
||||
the demo apps to run under *iOS* and *macOS*. To download these modified *LunarG Vulkan Samples*,
|
||||
and link them to the demo *Xcode* projects in this `MoltenVK` distribution, follow the instructions
|
||||
in the [Installing the LunarG `VulkanSamples` Library](#lunarg-vulkan-samples-install) section next.
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-install"></a>
|
||||
###Installing the LunarG *VulkanSamples* Library
|
||||
|
||||
To run the *LunarG Vulkan Samples* demo apps, **MoltenVK** uses a modified version of the
|
||||
*LunarG* `VulkanSamples` library. To install this modified *LunarG* `VulkanSamples` library,
|
||||
open a *Terminal* session and perform the following command-line steps:
|
||||
|
||||
1. In a folder outside this `MoltenVK` distribution, clone the modified `VulkanSamples` repo:
|
||||
|
||||
git clone https://github.com/brenwill/VulkanSamples.git
|
||||
|
||||
2. In the `MoltenVK/Demos/LunarG-VulkanSamples` folder, replace the `VulkanSamples` symlink as follows:
|
||||
|
||||
ln -sfn path-to-VulkanSamples-repo-folder VulkanSamples
|
||||
|
||||
3. Run the `MoltenVKShaderConverter` tool to convert the *GLSL* shaders in the `VulkanSamples`
|
||||
library to *SPIR-V*:
|
||||
|
||||
cd path-to-MoltenVK-package
|
||||
MoltenVKShaderConverter/Tools/MoltenVKShaderConverter -gi -so -xs "-" -d Demos/LunarG-VulkanSamples/VulkanSamples/demos
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-demos"></a>
|
||||
###LunarG Vulkan Samples: *Demos*
|
||||
|
||||
This demo is a simple renderings that originally were included in the *Vulkan* SDK.
|
||||
|
||||
The demo can be found in the `MoltenVK/Demos/LunarG-VulkanSamples/Demos` folder,
|
||||
and in the `LunarG-VulkanSamples/Demos` group in the *Xcode Project Navigator*
|
||||
in the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
####Cube
|
||||
|
||||
A basic textured cube that spins in place.
|
||||
|
||||
To run this demo, run either the `Cube-iOS` or `Cube-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
This demo is a simple example of installing **MoltenVK** as a dynamic library, instead of as
|
||||
a statically-linked framework. In this demo, the **MoltenVK** dynamic library is embedded in
|
||||
the application, but it could have been installed as a system library instead.
|
||||
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-api"></a>
|
||||
###LunarG Vulkan Samples: *API-Samples*
|
||||
|
||||
This *Xcode* project actually contains a large number of modular demos, with each demo
|
||||
demonstrating a particular *Vulkan* feature, or suite of calls.
|
||||
|
||||
> **Note:** For simplicity, the `API-Samples` demos are bare-bones. Each of the `API-Samples`
|
||||
> demos renders a single frame during app startup, and then leaves the rendered image static.
|
||||
> There is no display loop or motion in any of these demos.
|
||||
> **This is normal for these demos, and the demo has not "hung" or "crashed" when this occurs.**
|
||||
|
||||
This demo can be found in the `MoltenVK/Demos/LunarG-VulkanSamples/API-Samples` folder,
|
||||
and in the `LunarG-VulkanSamples/API-Samples` group in the *Xcode Project Navigator* in
|
||||
the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
To run this demo, run either the `API-Samples-iOS` or `API-Samples-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
To specify which of the many modular demos to run, open the `Samples.h` in the `API-Samples`
|
||||
project in the *Xcode Project Navigator* in the `Demos.xcworkspace` *Xcode* workspace, and
|
||||
follow the instructions in the comments within that file.
|
||||
|
||||
To see descriptions and screenshots of each of the demos, open
|
||||
[this summary document](LunarG-VulkanSamples/VulkanSamples/samples_index.html#AdditionalVulkan),
|
||||
after you have [installed](#lunarg-vulkan-samples-install) the `LunarG Vulkan Samples` repository.
|
||||
|
||||
|
||||
<a name="lunarg-vulkan-samples-hologram"></a>
|
||||
###LunarG Vulkan Samples: *Hologram*
|
||||
|
||||
> **Note:** In order to build the `Hologram` demo, you must have *Python3* installed
|
||||
> on your build computer.
|
||||
|
||||
This is a sophisticated particle demo that populates command buffers from multiple threads.
|
||||
|
||||
This demo can be found in the `MoltenVK/Demos/LunarG-VulkanSamples/Hologram` folder, and in the
|
||||
`LunarG-VulkanSamples/Hologram` group in the *Xcode Project Navigator* in the `Demos.xcworkspace`
|
||||
*Xcode* workspace.
|
||||
|
||||
To run this demo, run either the `Hologram-iOS` or `Hologram-macOS` *Scheme* from within *Xcode*.
|
||||
|
||||
On *macOS*, once the demo is open, you can use the *Up-arrow* and *Down-arrow* keys on the
|
||||
keyboard to zoom the camera in and out of the scene. Zooming out will show more items on screen.
|
||||
|
||||
The demo allows some customization, by modifying the arguments passed to the demo at startup.
|
||||
To customize, modify the arguments created in the `DemoViewController viewDidLoad` method
|
||||
found in the `iOS/DemoViewController.mm` or `macOS/DemoViewController.mm` file.
|
||||
|
||||
This demo illustrates the use of the **MoltenVK** API `vkGetMoltenVKDeviceConfigurationMVK()`
|
||||
and `vkSetMoltenVKDeviceConfigurationMVK()` functions to enable **MoltenVK** debugging, including
|
||||
logging the conversion of shaders from *SPIR-V* to *Metal Shading Language*. See the use of these
|
||||
functions in the `Hologram/Hologram.cpp` file. To see the effect, modify the `Hologram-iOS` or
|
||||
`Hologram-macOS` *Scheme* from within *Xcode* to use the **Debug** *Build Configuration* setting.
|
||||
|
||||
|
||||
|
||||
<a name="khronos-vulkan-samples"></a>
|
||||
Khronos Vulkan Samples
|
||||
----------------------
|
||||
|
||||
[Khronos](https://khronos.org), the standards organization that developed *Vulkan* provides
|
||||
a suite of demo apps, that demonstrate a range of sophisticated *Vulkan* features.
|
||||
|
||||
These demo apps can be found in the `Khronos-Vulkan-Samples` folder of this `Demos`
|
||||
folder, and in the `Khronos-Vulkan-Samples` group in the *Xcode Project Navigator*
|
||||
in the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
These **MoltenVK** demos use a modified version of the *Khronos Vulkan Samples*, that allows
|
||||
the demo apps to run under *iOS* and *macOS*. To download these modified *Khronos Vulkan Samples*,
|
||||
and link them to the demo *Xcode* projects in this `MoltenVK` distribution, follow the instructions
|
||||
in the [Installing the Khronos `Vulkan-Samples` Library](#khronos-vulkan-samples-install) section next.
|
||||
|
||||
|
||||
<a name="khronos-vulkan-samples-install"></a>
|
||||
###Installing the Khronos `Vulkan-Samples` Library
|
||||
|
||||
To run the *Khronos Vulkan Samples* demo apps, **MoltenVK** uses a modified version of the
|
||||
*Khronos* `Vulkan-Samples` library. To install this modified *Khronos* `Vulkan-Samples` library,
|
||||
open a *Terminal* session and perform the following command-line steps:
|
||||
|
||||
1. In a folder outside this `MoltenVK` distribution, clone the modified `Vulkan-Samples` repo:
|
||||
|
||||
git clone https://github.com/brenwill/Vulkan-Samples.git
|
||||
|
||||
2. In the `MoltenVK/Demos/Khronos-Vulkan-Samples` folder, replace the `Vulkan-Samples` symlink as follows:
|
||||
|
||||
ln -sfn path-to-Vulkan-Samples-repo-folder Vulkan-Samples
|
||||
|
||||
|
||||
<a name="khronos-vulkan-samples-atw"></a>
|
||||
###Khronos Vulkan Samples: *AsynchronousTimeWarp*
|
||||
|
||||
This demo was contributed by *Oculus VR, LLC*, and demonstrates a variety of critical tests for
|
||||
evaluating accurate synchronization between the two scene images in a virtual reality headset.
|
||||
|
||||
This demo can be found in the `MoltenVK/Demos/Khronos-Vulkan-Samples/AsynchronousTimeWarp` folder,
|
||||
and in the `Khronos-Vulkan-Samples/AsynchronousTimeWarp` group in the *Xcode Project Navigator*
|
||||
in the `Demos.xcworkspace` *Xcode* workspace.
|
||||
|
||||
You can make a large number of configuration changes to this demo, to increase or decrease the
|
||||
rendering and computational load of the scene. You can set these configuration values by passing
|
||||
command-line arguments to the demo at start-up. You pass these command-line arguments by setting
|
||||
them in the `Arguments` tab of the `AsynchronousTimeWarp-VK-iOS` or `AsynchronousTimeWarp-VK-macOS`
|
||||
*Xcode* schemes.
|
||||
|
||||
For example, the following command-line arguments can be used to set the scene complexity:
|
||||
|
||||
- `-q [0-3]` : controls whether a minimal, small, medium, or large quantity of objects
|
||||
will be rendered.
|
||||
- `-w [0-3]` : controls whether each object will be rendered with a minimal, small,
|
||||
medium, or large quantity of triangles.
|
||||
- `-e [0-3]` : controls whether a minimal, small, medium, or large number of lights
|
||||
will be used to illuminate the scene.
|
||||
|
||||
On *macOS*, once the demo is open, you can also tap the `Q`, `W`, or `E` keys on the keyboard
|
||||
to cycle each of these same configuration parameters through their range of possible values.
|
||||
|
||||
For the full instructions for this demo, including a list and explanation of all of
|
||||
the configuration options, read the notes at the top of the `atw/atw_vulkan.c` file.
|
||||
|
||||
This demo illustrates the use of the **MoltenVK** API `vkGetMoltenVKDeviceConfigurationMVK()`
|
||||
and `vkSetMoltenVKDeviceConfigurationMVK()` functions to enable performance tracking and logging,
|
||||
and to enable **MoltenVK** debugging, including logging the conversion of shaders from *SPIR-V*
|
||||
to *Metal Shading Language*. See the use of these functions in the `atw/atw_vulkan.c` file.
|
||||
To see the effect of shader conversion logging, modify the `AsynchronousTimeWarp-VK-iOS` or
|
||||
`AsynchronousTimeWarp-VK-macOS` *Scheme* from within *Xcode* to use the
|
||||
**Debug** *Build Configuration* setting.
|
||||
|
||||
|
||||
|
||||
<a name="sascha-willems-vulkan-samples"></a>
|
||||
Sascha Willems Vulkan Samples
|
||||
-----------------------------
|
||||
|
||||
[*Sascha Willems*](https://github.com/brenwill/Vulkan) provides an open-source library containing
|
||||
a large number of sophisticated *Vulkan* examples. The library contains support for running these
|
||||
examples on *iOS* and *macOS* in *Xcode*, using **MoltenVK**.
|
||||
|
||||
|
||||
<a name="sascha-willems-install"></a>
|
||||
###Installing the *Sascha Willems* Library
|
||||
|
||||
To install the *Sascha Willems Vulkan* samples, open a *Terminal* session and perform
|
||||
the following command-line steps:
|
||||
|
||||
1. In a folder outside this `MoltenVK` distribution, clone the modified *Sascha Willems* `Vulkan` repo:
|
||||
|
||||
git clone https://github.com/brenwill/Vulkan.git
|
||||
|
||||
2. Follow the instructions in the `Vulkan\xcode\README_MoltenVK_Examples.md` document
|
||||
within the *Sascha Willems* `Vulkan` repository.
|
||||
|
||||
|
||||
|
||||
<a name="cinder-vulkan-samples"></a>
|
||||
Cinder Vulkan Samples
|
||||
---------------------
|
||||
|
||||
[*Cinder*](https://libcinder.org) is a cross-platform 3D graphics engine built in C++.
|
||||
*Cinder* supports *Vulkan*, and includes several *Vulkan* demos.
|
||||
|
||||
These demo apps are included as part of the *Cinder* code repository.
|
||||
|
||||
These **MoltenVK** demos use a modified version of *Cinder*, that allows *Vulkan* to run under
|
||||
*iOS* and *macOS*. To download the modified version of *Cinder*, and link it to **MoltenVK**,
|
||||
follow the instructions in the [Installing the `Cinder` Library](#cinder-vulkan-samples-install)
|
||||
section next.
|
||||
|
||||
|
||||
<a name="cinder-install"></a>
|
||||
###Installing the *Cinder* Library
|
||||
|
||||
To run the *Cinder Vulkan Samples* demo apps, **MoltenVK** uses a modified version of the
|
||||
*Cinder* library. To install this modified *Cinder* library, and link it to **MoltenVK**,
|
||||
open a *Terminal* session and perform the following command-line steps:
|
||||
|
||||
1. In a folder outside this `MoltenVK` distribution, clone the modified `Cinder` repo,
|
||||
including required submodules:
|
||||
|
||||
git clone --recursive https://github.com/brenwill/Cinder.git
|
||||
|
||||
2. Build the core *Cinder* library:
|
||||
|
||||
Cinder/xcode/fullbuild.sh
|
||||
|
||||
3. By default, the *Cinder Vulkan* samples expect **MoltenVK** to be installed in a directory
|
||||
beside the `Cinder` repository:
|
||||
|
||||
Cinder/
|
||||
MoltenVK/
|
||||
|
||||
|
||||
If you have installed **MoltenVK** somewhere else, you can redirect the *Cinder Vulkan*
|
||||
samples to the location of your **MoltenVK** installation as follows:
|
||||
|
||||
cd Cinder/samples/_vulkan_explicit
|
||||
ln -sfn path-to-the-MoltenVK-distribution/MoltenVK
|
||||
|
||||
|
||||
|
||||
<a name="cinder-vulkan-samples-fish-tornado"></a>
|
||||
###Cinder Vulkan Samples: *Fish Tornado*
|
||||
|
||||
This is a sophisticated simulation of a *Fish Tornado*, a swirling school of thousands of fish.
|
||||
|
||||
This demo can be found in the `samples/_vulkan_explicit/FishTornado` folder of the *Cinder* repository.
|
||||
To build and run this demo for either *iOS* or *macOS*, open the `xcode-ios/FishTornado.xcodeproj`
|
||||
or `xcode/FishTornado.xcodeproj` *Xcode* project, respectively.
|
||||
|
@ -19,7 +19,6 @@ Table of Contents
|
||||
|
||||
- [About This Document](#about_this)
|
||||
- [About **MoltenVK**](#about_moltenvk)
|
||||
- [Running the **MoltenVK** Demo Applications](#demos)
|
||||
- [Installing **MoltenVK** in Your *Vulkan* Application](#install)
|
||||
- [Build and Runtime Requirements](#requirements)
|
||||
- [Install as Static Library Framework](#install_static_lib)
|
||||
@ -34,7 +33,6 @@ Table of Contents
|
||||
- [Xcode Configuration](#xcode_config)
|
||||
- [Metal System Trace Tool](#trace_tool)
|
||||
- [Known **MoltenVK** Limitations](#limitations)
|
||||
- [Third-Party Credits](#credits)
|
||||
|
||||
|
||||
|
||||
@ -46,7 +44,7 @@ This document describes how to integrate the **MoltenVK** runtime distribution p
|
||||
or application, once **MoltenVK** has been built into a framework or library for *iOS* or *macOS*.
|
||||
|
||||
To learn how to use the **MoltenVK** open-source repository to build a **MoltenVK** runtime
|
||||
distribution package, see the main [**README**](../README.md) document in the `MoltenVK` repository.
|
||||
distribution package, see the main [`README.md`](../README.md) document in the `MoltenVK` repository.
|
||||
|
||||
|
||||
|
||||
@ -70,28 +68,6 @@ using the **Runtime Shader Conversion** feature of **MoltenVK**, or at developme
|
||||
package.
|
||||
|
||||
|
||||
|
||||
<a name="demos"></a>
|
||||
Running the **MoltenVK** Demo Applications
|
||||
------------------------------------------
|
||||
|
||||
You can explore how **MoltenVK** provides *Vulkan* support on *iOS* and *macOS* by investigating
|
||||
and running the demo applications that are supported with this **MoltenVK** distribution package.
|
||||
|
||||
The **MoltenVK** demo apps are located in the `Demos` folder within the **MoltenVK**
|
||||
distribution package. Each demo app is available as an *Xcode* project.
|
||||
|
||||
To review and run many of the available demo apps, open the `Demos/Demos.xcworkspace` workspace
|
||||
in *Xcode*.
|
||||
|
||||
Please read the [Demos/README_MoltenVK_Demos.md](Demos/README_MoltenVK_Demos.md) document for a
|
||||
description of each demo app, and instructions on downloading and running the demo apps.
|
||||
Many of the **MoltenVK** demos make use of third-party demo examples, which must be downloaded
|
||||
from an external repository. Several of the demo apps allow you to explore a variety of *Vulkan*
|
||||
features by modifying *Xcode* build settings. All of this is explained in the
|
||||
[README_MoltenVK_Demos.md](Demos/README_MoltenVK_Demos.md) document.
|
||||
|
||||
|
||||
<a name="install"></a>
|
||||
Installing **MoltenVK** in Your *Vulkan* Application
|
||||
----------------------------------------------------
|
||||
@ -481,22 +457,3 @@ The following *Vulkan* features have not been implemented in this version of **M
|
||||
- `VK_FORMAT_R8_UNORM`: `VkComponentMapping.r` = `VK_COMPONENT_SWIZZLE_R`
|
||||
- `VK_FORMAT_R8G8B8A8_UNORM` <-> `VK_FORMAT_B8G8R8A8_UNORM`
|
||||
- `VK_FORMAT_R8G8B8A8_SRGB` <-> `VK_FORMAT_B8G8R8A8_SRGB`
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="credits"></a>
|
||||
Third-Party Credits
|
||||
-------------------
|
||||
|
||||
**MoltenVK** uses technology from the following open-source frameworks:
|
||||
|
||||
- [*Vulkan-Hpp*](https://github.com/KhronosGroup/Vulkan-Hpp)
|
||||
- [*Vulkan-Docs*](https://github.com/KhronosGroup/Vulkan-Docs)
|
||||
- [*tinyxml2*](https://github.com/leethomason/tinyxml2)
|
||||
|
||||
**MoltenVKShaderConverter** uses technology from the following open-source frameworks:
|
||||
|
||||
- [*SPIRV-Cross*](https://github.com/KhronosGroup/SPIRV-Cross)
|
||||
- [*SPIRV-Tools*](https://github.com/KhronosGroup/SPIRV-Tools)
|
||||
- [*glslang*](https://github.com/KhronosGroup/glslang)
|
||||
|
@ -19,6 +19,10 @@ Table of Contents
|
||||
- [Using the *Vulkan-LoaderAndValidationLayers* Repository with **MoltenVK**](#install_vulkan_lvl)
|
||||
- [Updating the *Vulkan-LoaderAndValidationLayers* library version](#update_vulkan_lvl)
|
||||
|
||||
- *VulkanSamples*
|
||||
- [Using the *VulkanSamples* Repository with **MoltenVK**](#install_vulkan_samples)
|
||||
- [Updating the *VulkanSamples* library version](#update_vulkan_samples)
|
||||
|
||||
- *SPIRV-Cross*
|
||||
- [Using the *SPIRV-Cross* library with **MoltenVKShaderConverter**](#install_spirv-cross)
|
||||
- [Updating the *SPIRV-Cross* library version](#update_spirv-cross)
|
||||
@ -35,6 +39,7 @@ Table of Contents
|
||||
- [Adding the *glslang* library to a new *Xcode* project](#add_glslang)
|
||||
|
||||
|
||||
|
||||
<a name="install_vulkan_spec"></a>
|
||||
Using the *Vulkan-Hpp* Spec Repository with *MoltenVK*
|
||||
------------------------------------------------------
|
||||
@ -111,6 +116,46 @@ The updated version will then be "locked in" the next time the `MoltenVK` reposi
|
||||
|
||||
|
||||
|
||||
<a name="install_vulkan_samples"></a>
|
||||
Using the *VulkanSamples* Repository with *MoltenVK*
|
||||
----------------------------------------------------
|
||||
|
||||
**MoltenVK** includes several simple demo apps from *LunarG*. These are sourced from
|
||||
a modified fork of the *VulkanSamples* repository.
|
||||
|
||||
To add the *VulkanSamples* repository to **MoltenVK**, open a *Terminal* session and
|
||||
perform the following command-line steps:
|
||||
|
||||
1. If you used the `--recursive` option when cloning the `MoltenVK` repository, you should already
|
||||
have the `VulkanSamples` submodule, and you can skip to *Step 2* below. If you did **_not_**
|
||||
use the `--recursive` option when cloning the `MoltenVK` repository, retrieve the `VulkanSamples`
|
||||
submodule into the `External` directory as follows, from within the `MoltenVK` repository directory:
|
||||
|
||||
git submodule update --init External/VulkanSamples
|
||||
|
||||
2. In the `Externals` folder within the `MoltenVK` repository, build the spec and header files
|
||||
as follows from the main directory of this `MoltenVK` repository:
|
||||
|
||||
cd External
|
||||
./makeVulkanSamples
|
||||
|
||||
|
||||
|
||||
<a name="update_vulkan_samples"></a>
|
||||
Updating the *VulkanSamples* library version
|
||||
--------------------------------------------
|
||||
|
||||
If you are developing enhancements to **MoltenVK**, you can update the version of `VulkanSamples`
|
||||
used by **MoltenVK** to the latest version available by re-cloning and re-building the
|
||||
`VulkanSamples` submodule using the `getLatestVulkanSamples` script:
|
||||
|
||||
cd External
|
||||
./getLatestVulkanSamples
|
||||
|
||||
The updated version will then be "locked in" the next time the `MoltenVK` repository is committed to `git`.
|
||||
|
||||
|
||||
|
||||
<a name="install_spirv-cross"></a>
|
||||
Using the *SPIRV-Cross* library with *MoltenVKShaderConverter*
|
||||
--------------------------------------------------------------
|
||||
|
1
External/VulkanSamples
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit d435e00dc9f614155621cdadd2f00fbd0585cda6
|
3
External/getLatestAll
vendored
@ -9,6 +9,8 @@
|
||||
# getLatestSPIRVTools
|
||||
# getLatestglslang
|
||||
# getLatestSPIRVCross
|
||||
# getLatestVulkanLVL
|
||||
# getLatestVulkanSamples
|
||||
#
|
||||
# macOS usage: ./getLatestAll
|
||||
|
||||
@ -17,3 +19,4 @@
|
||||
./getLatestglslang
|
||||
./getLatestSPIRVCross
|
||||
./getLatestVulkanLVL
|
||||
./getLatestVulkanSamples
|
||||
|
12
External/getLatestVulkanSamples
vendored
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2016-2018 The Brenwill Workshop Ltd.
|
||||
#
|
||||
# getLatestVulkanSamples - Updates to the latest version of VulkanSamples submodule.
|
||||
#
|
||||
# macOS usage: ./getLatestVulkanSamples
|
||||
|
||||
rm -rf VulkanSamples
|
||||
git clone https://github.com/brenwill/VulkanSamples.git
|
||||
|
||||
./makeVulkanSamples
|
5
External/makeAll
vendored
@ -6,9 +6,12 @@
|
||||
# makeVulkanSpec
|
||||
# makeSPIRVTools
|
||||
# makeglslang
|
||||
#
|
||||
# makeVulkanSamples
|
||||
#
|
||||
# macOS usage: ./makeAll
|
||||
|
||||
./makeVulkanSpec
|
||||
./makeSPIRVTools
|
||||
./makeglslang
|
||||
./makeVulkanSamples
|
||||
|
||||
|
2
External/makeSPIRVTools
vendored
@ -6,8 +6,6 @@
|
||||
#
|
||||
# macOS usage: ./makeSPIRVTools
|
||||
|
||||
# Build SPIRV-Tools
|
||||
|
||||
echo
|
||||
echo MoltenVK building SPIRV-Tools
|
||||
echo
|
||||
|
11
External/makeVulkanSamples
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2016-2018 The Brenwill Workshop Ltd.
|
||||
#
|
||||
# makeVulkanSamples - Configures VulkanSamples for use in demos.
|
||||
#
|
||||
# macOS usage: ./makeVulkanSpec
|
||||
|
||||
|
||||
../Package/Latest/MoltenVKShaderConverter/Tools/MoltenVKShaderConverter -gi -so -xs "-" -d ./VulkanSamples/demos
|
||||
|
2
External/makeglslang
vendored
@ -6,8 +6,6 @@
|
||||
#
|
||||
# macOS usage: ./makeglslang
|
||||
|
||||
# Build glslang
|
||||
|
||||
echo
|
||||
echo MoltenVK building glslang
|
||||
echo
|
||||
|
@ -149,6 +149,8 @@
|
||||
A9B732A51FC9C588006721CB /* getLatestSPIRVCross */ = {isa = PBXFileReference; lastKnownFileType = text; path = getLatestSPIRVCross; sourceTree = "<group>"; };
|
||||
A9B732A61FC9C588006721CB /* getLatestVulkanSpec */ = {isa = PBXFileReference; lastKnownFileType = text; path = getLatestVulkanSpec; sourceTree = "<group>"; };
|
||||
A9B732A71FCA1D71006721CB /* getLatestAll */ = {isa = PBXFileReference; lastKnownFileType = text; path = getLatestAll; sourceTree = "<group>"; };
|
||||
A9CE6DAA204DF916005250D7 /* makeVulkanSamples */ = {isa = PBXFileReference; lastKnownFileType = text; path = makeVulkanSamples; sourceTree = "<group>"; };
|
||||
A9CE6DAB204DF924005250D7 /* getLatestVulkanSamples */ = {isa = PBXFileReference; lastKnownFileType = text; path = getLatestVulkanSamples; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@ -189,12 +191,14 @@
|
||||
A939A6FC1F547A12006ACA0C /* makeAll */,
|
||||
A939A6FD1F547A12006ACA0C /* makeglslang */,
|
||||
A939A6FE1F547A12006ACA0C /* makeSPIRVTools */,
|
||||
A9CE6DAA204DF916005250D7 /* makeVulkanSamples */,
|
||||
A939A6FF1F547A12006ACA0C /* makeVulkanSpec */,
|
||||
A9B732A71FCA1D71006721CB /* getLatestAll */,
|
||||
A9B732A31FC9C588006721CB /* getLatestglslang */,
|
||||
A9B732A51FC9C588006721CB /* getLatestSPIRVCross */,
|
||||
A9B732A41FC9C588006721CB /* getLatestSPIRVTools */,
|
||||
A94545691FEB1C23000C2CB2 /* getLatestVulkanLVL */,
|
||||
A9CE6DAB204DF924005250D7 /* getLatestVulkanSamples */,
|
||||
A9B732A61FC9C588006721CB /* getLatestVulkanSpec */,
|
||||
);
|
||||
path = External;
|
||||
@ -316,7 +320,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "set -e\n\n# Package folder\nexport MVK_WKSPC_PATH=\"${PROJECT_DIR}\"\nexport MVK_PKG_LOCN=\"${MVK_WKSPC_PATH}/Package\"\nexport MVK_PKG_CONFIG_PATH=\"${MVK_PKG_LOCN}/${CONFIGURATION}\"\n\n# Copy the docs. Allow silent fail if a symlinked doc is not built.\ncp -a \"${MVK_WKSPC_PATH}/LICENSE\" \"${MVK_PKG_CONFIG_PATH}\"\ncp -pRLf \"${MVK_WKSPC_PATH}/Docs\" \"${MVK_PKG_CONFIG_PATH}\" 2> /dev/null || true\n\n";
|
||||
shellScript = "set -e\n\n# Package folder\nexport MVK_WKSPC_PATH=\"${PROJECT_DIR}\"\nexport MVK_PKG_LOCN=\"${MVK_WKSPC_PATH}/Package\"\nexport MVK_PKG_CONFIG_PATH=\"${MVK_PKG_LOCN}/${CONFIGURATION}\"\n\n# Copy the docs. Allow silent fail if a symlinked doc is not built.\ncp -a \"${MVK_WKSPC_PATH}/LICENSE\" \"${MVK_PKG_CONFIG_PATH}\"\ncp -pRLf \"${MVK_WKSPC_PATH}/Docs\" \"${MVK_PKG_CONFIG_PATH}\" 2> /dev/null || true\nrm \"${MVK_PKG_CONFIG_PATH}/Docs/ThirdPartyConfig.md\"\n\n";
|
||||
};
|
||||
A9FEADD61F3517480010240E /* Package MoltenVK */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
@ -330,7 +334,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "set -e\n\n# Package folder\nexport MVK_PROD_NAME=\"MoltenVK\"\nexport MVK_DYLIB_NAME=\"lib${MVK_PROD_NAME}.dylib\"\nexport MVK_ICD_NAME=\"${MVK_PROD_NAME}_icd.json\"\nexport MVK_WKSPC_PATH=\"${PROJECT_DIR}\"\nexport MVK_PROD_PROJ_PATH=\"${MVK_WKSPC_PATH}/${MVK_PROD_NAME}\"\nexport MVK_PKG_LOCN=\"${MVK_WKSPC_PATH}/Package\"\nexport MVK_PKG_CONFIG_PATH=\"${MVK_PKG_LOCN}/${CONFIGURATION}\"\nexport MVK_PKG_PROD_PATH=\"${MVK_PKG_CONFIG_PATH}/${MVK_PROD_NAME}\"\n\n# Remove the product folder\nrm -rf \"${MVK_PKG_PROD_PATH}\"\n\n# Remove and replace the existing macOS framework folder and copy framework into it\nexport MVK_OS_PROD_PATH=\"${MVK_PKG_PROD_PATH}/macOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\nrm -rf \"${MVK_OS_PROD_PATH}\"\nmkdir -p \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}\" \"${MVK_OS_PROD_PATH}\"\n\n# Remove and replace the existing iOS framework folder and copy framework into it\nexport MVK_OS_PROD_PATH=\"${MVK_PKG_PROD_PATH}/iOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-iphoneos\"\nrm -rf \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature\"\nrm -rf \"${MVK_OS_PROD_PATH}\"\nmkdir -p \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}\" \"${MVK_OS_PROD_PATH}\"\n\n# Remove and replace header include folder\nrm -rf \"${MVK_PKG_PROD_PATH}/include\"\ncp -pRL \"${MVK_PROD_PROJ_PATH}/include\" \"${MVK_PKG_PROD_PATH}\"\n\n# Copy the demo apps to the Configuration package folder\nrm -rf \"${MVK_PKG_CONFIG_PATH}/Demos\"\ncp -af \"${MVK_WKSPC_PATH}/Demos\" \"${MVK_PKG_CONFIG_PATH}\"\n\n# Remove developer user info from demo projects\nexport MVK_PKG_DEMOS_PATH=\"${MVK_PKG_CONFIG_PATH}/Demos\"\nexport MVK_PKG_DEMO_PROJ_PATH=\"${MVK_PKG_DEMOS_PATH}/Demos.xcworkspace\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/xcuserdata\"\n\nexport MVK_DEMO_NAME=\"API-Samples\"\nexport MVK_PKG_DEMO_PROJ_PATH=\"${MVK_PKG_DEMOS_PATH}/LunarG-VulkanSamples/${MVK_DEMO_NAME}/${MVK_DEMO_NAME}.xcodeproj\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/xcuserdata\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/project.xcworkspace\"\n\nexport MVK_DEMO_NAME=\"Demos\"\nexport MVK_PKG_DEMO_PROJ_PATH=\"${MVK_PKG_DEMOS_PATH}/LunarG-VulkanSamples/${MVK_DEMO_NAME}/${MVK_DEMO_NAME}.xcodeproj\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/xcuserdata\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/project.xcworkspace\"\n\nexport MVK_DEMO_NAME=\"Hologram\"\nexport MVK_PKG_DEMO_PROJ_PATH=\"${MVK_PKG_DEMOS_PATH}/LunarG-VulkanSamples/${MVK_DEMO_NAME}/${MVK_DEMO_NAME}.xcodeproj\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/xcuserdata\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/project.xcworkspace\"\n\nexport MVK_DEMO_NAME=\"AsynchronousTimeWarp\"\nexport MVK_PKG_DEMO_PROJ_PATH=\"${MVK_PKG_DEMOS_PATH}/Khronos-Vulkan-Samples/${MVK_DEMO_NAME}/${MVK_DEMO_NAME}.xcodeproj\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/xcuserdata\"\nrm -rf \"${MVK_PKG_DEMO_PROJ_PATH}/project.xcworkspace\"\n";
|
||||
shellScript = "set -e\n\n# Package folder\nexport MVK_PROD_NAME=\"MoltenVK\"\nexport MVK_DYLIB_NAME=\"lib${MVK_PROD_NAME}.dylib\"\nexport MVK_ICD_NAME=\"${MVK_PROD_NAME}_icd.json\"\nexport MVK_WKSPC_PATH=\"${PROJECT_DIR}\"\nexport MVK_PROD_PROJ_PATH=\"${MVK_WKSPC_PATH}/${MVK_PROD_NAME}\"\nexport MVK_PKG_LOCN=\"${MVK_WKSPC_PATH}/Package\"\nexport MVK_PKG_CONFIG_PATH=\"${MVK_PKG_LOCN}/${CONFIGURATION}\"\nexport MVK_PKG_PROD_PATH=\"${MVK_PKG_CONFIG_PATH}/${MVK_PROD_NAME}\"\n\n# Remove the product folder\nrm -rf \"${MVK_PKG_PROD_PATH}\"\n\n# Remove and replace the existing macOS framework folder and copy framework into it\nexport MVK_OS_PROD_PATH=\"${MVK_PKG_PROD_PATH}/macOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}\"\nrm -rf \"${MVK_OS_PROD_PATH}\"\nmkdir -p \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}\" \"${MVK_OS_PROD_PATH}\"\n\n# Remove and replace the existing iOS framework folder and copy framework into it\nexport MVK_OS_PROD_PATH=\"${MVK_PKG_PROD_PATH}/iOS\"\nexport MVK_BUILT_PROD_PATH=\"${BUILT_PRODUCTS_DIR}/../${CONFIGURATION}-iphoneos\"\nrm -rf \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework/_CodeSignature\"\nrm -rf \"${MVK_OS_PROD_PATH}\"\nmkdir -p \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_PROD_NAME}.framework\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_BUILT_PROD_PATH}/${MVK_DYLIB_NAME}\" \"${MVK_OS_PROD_PATH}\"\ncp -a \"${MVK_PROD_PROJ_PATH}/icd/${MVK_ICD_NAME}\" \"${MVK_OS_PROD_PATH}\"\n\n# Remove and replace header include folder\nrm -rf \"${MVK_PKG_PROD_PATH}/include\"\ncp -pRL \"${MVK_PROD_PROJ_PATH}/include\" \"${MVK_PKG_PROD_PATH}\"";
|
||||
};
|
||||
A9FEADD71F3517480010240E /* Package MoltenVKShaderConverter */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
36
README.md
@ -23,6 +23,7 @@ Table of Contents
|
||||
- [Third-Party Libraries](#third-party)
|
||||
- [Updating the Third-Party Library Versions](#update_third-party)
|
||||
- [Building **MoltenVK**](#building)
|
||||
- [Running the **MoltenVK** Demo Applications](#demos)
|
||||
- [Using **MoltenVK** in Your Application](#using)
|
||||
- [Third-Party Credits](#credits)
|
||||
|
||||
@ -68,8 +69,9 @@ Installing **MoltenVK**
|
||||
this `MoltenVK` repository, and then run the `External/makeAll` script to create necessary
|
||||
components within the third-party libraries.
|
||||
|
||||
1. Ensure you have `python3` installed:
|
||||
1. Ensure you have `cmake` and `python3` installed:
|
||||
|
||||
brew install cmake
|
||||
brew install python3
|
||||
|
||||
2. **_Optional:_** If you want to generate a Vulkan specification document for inclusion
|
||||
@ -182,15 +184,33 @@ included in the **MoltenVK** runtime distribution package, and you can use it to
|
||||
|
||||
|
||||
|
||||
<a name="demos"></a>
|
||||
Running the **MoltenVK** Demo Applications
|
||||
------------------------------------------
|
||||
|
||||
Once you have compiled and built the **MoltenVK** runtime distribution package from this **MoltenVK** repository,
|
||||
as described in the [Building **MoltenVK**](#building) section, you can explore how **MoltenVK** provides *Vulkan*
|
||||
support on *iOS* and *macOS* by investigating and running the demo applications that are included in **MoltenVK**.
|
||||
|
||||
The **MoltenVK** demo apps are located in the `Demos` folder. Each demo app is available as an *Xcode* project.
|
||||
To review and run the included demo apps, open the `Demos/Demos.xcworkspace` workspace in *Xcode*.
|
||||
|
||||
Please read the [`Demos/README.md`](Demos/README.md) document for a description of each demo app, and instructions
|
||||
on running the demo apps. Several of the demo apps allow you to explore a variety of *Vulkan* features by modifying
|
||||
*Xcode* build settings. Additional demos can be downloaded and built from external repositories, as described in the
|
||||
[`Demos/README.md`](Demos/README.md) document
|
||||
|
||||
|
||||
|
||||
<a name="using"></a>
|
||||
Using **MoltenVK** in Your Application
|
||||
--------------------------------------
|
||||
|
||||
Once you have compiled and built the **MoltenVK** runtime distribution package from this **MoltenVK**
|
||||
repository, as described in the [previous section](#building), follow the instructions in the installation
|
||||
section of the [**MoltenVK Runtime User Guide**](Docs/MoltenVK_Runtime_UserGuide.md#install) document in the
|
||||
Once you have compiled and built the **MoltenVK** runtime distribution package from this **MoltenVK** repository,
|
||||
as described in the [Building **MoltenVK**](#building) section, follow the instructions in the Installation
|
||||
section of the [`MoltenVK_Runtime_UserGuide.md`](Docs/MoltenVK_Runtime_UserGuide.md#install) document in the
|
||||
`Docs` directory of the **MoltenVK** runtime distribution package found in the `Package/Latest` directory,
|
||||
to link the **MoltenVK** frameworks and libraries in the `Package/Latest` directory to your application.
|
||||
to link the **MoltenVK** frameworks and libraries to your application.
|
||||
|
||||
The runtime distribution package in the `Package/Latest` directory is a stand-alone package, and you can copy
|
||||
the contents of that directory out of this **MoltenVK** repository into your own application building environment.
|
||||
@ -206,10 +226,8 @@ Third-Party Credits
|
||||
- [*Vulkan-Hpp*](https://github.com/KhronosGroup/Vulkan-Hpp)
|
||||
- [*Vulkan-Docs*](https://github.com/KhronosGroup/Vulkan-Docs)
|
||||
- [*Vulkan-LoaderAndValidationLayers*](https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers)
|
||||
- [*tinyxml2*](https://github.com/leethomason/tinyxml2)
|
||||
|
||||
**MoltenVKShaderConverter** uses technology from the following open-source frameworks:
|
||||
|
||||
- [*VulkanSamples*](https://github.com/brenwill/VulkanSamples)
|
||||
- [*SPIRV-Cross*](https://github.com/KhronosGroup/SPIRV-Cross)
|
||||
- [*SPIRV-Tools*](https://github.com/KhronosGroup/SPIRV-Tools)
|
||||
- [*glslang*](https://github.com/KhronosGroup/glslang)
|
||||
- [*tinyxml2*](https://github.com/leethomason/tinyxml2)
|
||||
|