Merge pull request #1976 from billhollings/nginetechnologies-visionOS
Support building for visionOS platform
This commit is contained in:
commit
97eb80bd39
@ -62,6 +62,14 @@ extern "C" {
|
||||
# define MVK_TVOS TARGET_OS_TV
|
||||
#endif
|
||||
|
||||
/** Building for visionOS. */
|
||||
#ifndef TARGET_OS_XR
|
||||
# define TARGET_OS_XR 0 // Older SDK's don't define TARGET_OS_XR
|
||||
#endif
|
||||
#ifndef MVK_VISIONOS
|
||||
# define MVK_VISIONOS TARGET_OS_XR
|
||||
#endif
|
||||
|
||||
/** Building for iOS or tvOS. */
|
||||
#ifndef MVK_IOS_OR_TVOS
|
||||
# define MVK_IOS_OR_TVOS (MVK_IOS || MVK_TVOS)
|
||||
@ -72,6 +80,11 @@ extern "C" {
|
||||
# define MVK_MACOS_OR_IOS (MVK_MACOS || MVK_IOS)
|
||||
#endif
|
||||
|
||||
/** Building for macOS, iOS or visionOS. */
|
||||
#ifndef MVK_MACOS_OR_IOS_OR_VISIONOS
|
||||
# define MVK_MACOS_OR_IOS_OR_VISIONOS (MVK_MACOS || MVK_IOS | MVK_VISIONOS)
|
||||
#endif
|
||||
|
||||
/** Building for a Simulator. */
|
||||
#ifndef MVK_OS_SIMULATOR
|
||||
# define MVK_OS_SIMULATOR TARGET_OS_SIMULATOR
|
||||
|
@ -52,11 +52,13 @@ inline bool mvkOSVersionIsAtLeast(MVKOSVersion minVer) { return mvkOSVersion() >
|
||||
* to always fail on that OS, which is useful for indidicating functionalty guarded by
|
||||
* this test is not supported on that OS.
|
||||
*/
|
||||
inline bool mvkOSVersionIsAtLeast(MVKOSVersion macOSMinVer, MVKOSVersion iOSMinVer) {
|
||||
inline bool mvkOSVersionIsAtLeast(MVKOSVersion macOSMinVer, MVKOSVersion iOSMinVer, MVKOSVersion visionOSMinVer) {
|
||||
#if MVK_MACOS
|
||||
return mvkOSVersionIsAtLeast(macOSMinVer);
|
||||
#endif
|
||||
#if MVK_IOS_OR_TVOS
|
||||
#if MVK_VISIONOS
|
||||
return mvkOSVersionIsAtLeast(visionOSMinVer);
|
||||
#elif MVK_IOS_OR_TVOS
|
||||
return mvkOSVersionIsAtLeast(iOSMinVer);
|
||||
#endif
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ bool mvkGetEnvVarBool(std::string varName, bool* pWasFound) {
|
||||
#pragma mark System memory
|
||||
|
||||
uint64_t mvkGetSystemMemorySize() {
|
||||
#if MVK_MACOS_OR_IOS
|
||||
#if MVK_MACOS_OR_IOS_OR_VISIONOS
|
||||
mach_msg_type_number_t host_size = HOST_BASIC_INFO_COUNT;
|
||||
host_basic_info_data_t info;
|
||||
if (host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&info, &host_size) == KERN_SUCCESS) {
|
||||
|
@ -26,6 +26,7 @@ Released TBD
|
||||
- `VK_EXT_shader_subgroup_ballot`
|
||||
- `VK_EXT_shader_subgroup_vote`
|
||||
- Add support for `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN`.
|
||||
- Support building MoltenVK for visionOS.
|
||||
- Ensure non-dispatch compute commands don't interfere with compute encoding state used by dispatch commands.
|
||||
- Support `VK_PRESENT_MODE_IMMEDIATE_KHR` if `VkPresentTimeGOOGLE::desiredPresentTime` is zero.
|
||||
- Support maximizing the concurrent executing compilation tasks via `MVKConfiguration::shouldMaximizeConcurrentCompilation`
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1500"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7EC12A45BAAA007BBBF7"
|
||||
BuildableName = "ExternalDependencies-xrOS"
|
||||
BlueprintName = "ExternalDependencies-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
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 = "DCFD7EC12A45BAAA007BBBF7"
|
||||
BuildableName = "ExternalDependencies-xrOS"
|
||||
BlueprintName = "ExternalDependencies-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1500"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7C892A45BA7D007BBBF7"
|
||||
BuildableName = "libSPIRVCross.a"
|
||||
BlueprintName = "SPIRV-Cross-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</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 = "DCFD7C892A45BA7D007BBBF7"
|
||||
BuildableName = "libSPIRVCross.a"
|
||||
BlueprintName = "SPIRV-Cross-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1500"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7D0C2A45BA9C007BBBF7"
|
||||
BuildableName = "libSPIRVTools.a"
|
||||
BlueprintName = "SPIRV-Tools-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</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 = "DCFD7D0C2A45BA9C007BBBF7"
|
||||
BuildableName = "libSPIRVTools.a"
|
||||
BlueprintName = "SPIRV-Tools-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1500"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7CA42A45BA92007BBBF7"
|
||||
BuildableName = "libglslang.a"
|
||||
BlueprintName = "glslang-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</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 = "DCFD7CA42A45BA92007BBBF7"
|
||||
BuildableName = "libglslang.a"
|
||||
BlueprintName = "glslang-xrOS"
|
||||
ReferencedContainer = "container:ExternalDependencies.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
22
Makefile
22
Makefile
@ -21,6 +21,8 @@ MAKEARGS := $(strip \
|
||||
$(v)=$(value $(v)) ,)))
|
||||
|
||||
# Specify individually (not as dependencies) so the sub-targets don't run in parallel
|
||||
# visionos and visionossim are currently excluded from `all` because they require
|
||||
# Xcode 15+ and will abort a multi-platform build on earlier Xcode versions.
|
||||
.PHONY: all
|
||||
all:
|
||||
@$(MAKE) macos
|
||||
@ -29,6 +31,8 @@ all:
|
||||
@$(MAKE) maccat
|
||||
@$(MAKE) tvos
|
||||
@$(MAKE) tvossim
|
||||
# @$(MAKE) visionos # Requires Xcode 15+
|
||||
# @$(MAKE) visionossim # Requires Xcode 15+
|
||||
|
||||
.PHONY: all-debug
|
||||
all-debug:
|
||||
@ -38,6 +42,8 @@ all-debug:
|
||||
@$(MAKE) maccat-debug
|
||||
@$(MAKE) tvos-debug
|
||||
@$(MAKE) tvossim-debug
|
||||
# @$(MAKE) visionos-debug # Requires Xcode 15+
|
||||
# @$(MAKE) visionossim-debug # Requires Xcode 15+
|
||||
|
||||
.PHONY: macos
|
||||
macos:
|
||||
@ -87,6 +93,22 @@ tvossim:
|
||||
tvossim-debug:
|
||||
$(XCODEBUILD) build -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (tvOS only)" -destination "generic/platform=tvOS Simulator" -configuration "Debug" GCC_PREPROCESSOR_DEFINITIONS='$${inherited} $(MAKEARGS)' $(OUTPUT_FMT_CMD)
|
||||
|
||||
.PHONY: visionos
|
||||
visionos:
|
||||
$(XCODEBUILD) build -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (visionOS only)" -destination "generic/platform=xrOS" GCC_PREPROCESSOR_DEFINITIONS='$${inherited} $(MAKEARGS)' $(OUTPUT_FMT_CMD)
|
||||
|
||||
.PHONY: visionos-debug
|
||||
visionos-debug:
|
||||
$(XCODEBUILD) build -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (visionOS only)" -destination "generic/platform=xrOS" -configuration "Debug" GCC_PREPROCESSOR_DEFINITIONS='$${inherited} $(MAKEARGS)' $(OUTPUT_FMT_CMD)
|
||||
|
||||
.PHONY: visionossim
|
||||
visionossim:
|
||||
$(XCODEBUILD) build -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (visionOS only)" -destination "generic/platform=xrOS Simulator" GCC_PREPROCESSOR_DEFINITIONS='$${inherited} $(MAKEARGS)' $(OUTPUT_FMT_CMD)
|
||||
|
||||
.PHONY: visionossim-debug
|
||||
visionossim-debug:
|
||||
$(XCODEBUILD) build -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (visionOS only)" -destination "generic/platform=xrOS Simulator" -configuration "Debug" GCC_PREPROCESSOR_DEFINITIONS='$${inherited} $(MAKEARGS)' $(OUTPUT_FMT_CMD)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(XCODEBUILD) clean -project "$(XC_PROJ)" -scheme "$(XC_SCHEME) (macOS only)" -destination "generic/platform=macOS" $(OUTPUT_FMT_CMD)
|
||||
|
@ -374,6 +374,126 @@
|
||||
A9F3D9DD24732A4D00745190 /* MVKSmallVectorAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */; };
|
||||
A9F3D9DE24732A4D00745190 /* MVKSmallVector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */; };
|
||||
A9F3D9DF24732A4D00745190 /* MVKSmallVector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */; };
|
||||
DCFD7EE42A45BC6E007BBBF7 /* MVKExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A909F65A213B190600FCD6BE /* MVKExtensions.h */; };
|
||||
DCFD7EE52A45BC6E007BBBF7 /* vk_mvk_moltenvk.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */; };
|
||||
DCFD7EE62A45BC6E007BBBF7 /* MVKDeviceFeatureStructs.def in Headers */ = {isa = PBXBuildFile; fileRef = A987B666289AFB2400F933C8 /* MVKDeviceFeatureStructs.def */; };
|
||||
DCFD7EE72A45BC6E007BBBF7 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; };
|
||||
DCFD7EE82A45BC6E007BBBF7 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; };
|
||||
DCFD7EE92A45BC6E007BBBF7 /* MVKEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149431FB6A3F7005F00B4 /* MVKEnvironment.h */; };
|
||||
DCFD7EEA2A45BC6E007BBBF7 /* MVKSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7991C7DFB4800632CA3 /* MVKSurface.h */; };
|
||||
DCFD7EEB2A45BC6E007BBBF7 /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DFE21064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.h */; };
|
||||
DCFD7EEC2A45BC6E007BBBF7 /* MVKInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB78B1C7DFB4800632CA3 /* MVKInstance.h */; };
|
||||
DCFD7EED2A45BC6E007BBBF7 /* MVKCommandResourceFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = A95870F61C90D29F009EB096 /* MVKCommandResourceFactory.h */; };
|
||||
DCFD7EEE2A45BC6E007BBBF7 /* MVKQueryPool.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB78F1C7DFB4800632CA3 /* MVKQueryPool.h */; };
|
||||
DCFD7EEF2A45BC6E007BBBF7 /* MVKCommandEncoderState.h in Headers */ = {isa = PBXBuildFile; fileRef = A95B7D671D3EE486003183D3 /* MVKCommandEncoderState.h */; };
|
||||
DCFD7EF02A45BC6E007BBBF7 /* MVKCommandPipelineStateFactoryShaderSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB77C1C7DFB4800632CA3 /* MVKCommandPipelineStateFactoryShaderSource.h */; };
|
||||
DCFD7EF12A45BC6E007BBBF7 /* MVKDescriptorSet.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7811C7DFB4800632CA3 /* MVKDescriptorSet.h */; };
|
||||
DCFD7EF22A45BC6E007BBBF7 /* MVKBitArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D7104E25CDE05E00E38106 /* MVKBitArray.h */; };
|
||||
DCFD7EF32A45BC6E007BBBF7 /* NSString+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DD22100B197002781DD /* NSString+MoltenVK.h */; };
|
||||
DCFD7EF42A45BC6E007BBBF7 /* CAMetalLayer+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DD12100B197002781DD /* CAMetalLayer+MoltenVK.h */; };
|
||||
DCFD7EF52A45BC6E007BBBF7 /* MVKCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 45557A5121C9EFF3008868BD /* MVKCodec.h */; };
|
||||
DCFD7EF62A45BC6E007BBBF7 /* MVKRenderPass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7931C7DFB4800632CA3 /* MVKRenderPass.h */; };
|
||||
DCFD7EF72A45BC6E007BBBF7 /* MVKLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F0429E1FB4CF82009FCCB8 /* MVKLogging.h */; };
|
||||
DCFD7EF82A45BC6E007BBBF7 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = 4536382D2508A4C6000EFFD3 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.h */; };
|
||||
DCFD7EF92A45BC6E007BBBF7 /* MVKQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7911C7DFB4800632CA3 /* MVKQueue.h */; };
|
||||
DCFD7EFA2A45BC6E007BBBF7 /* MVKFramebuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7871C7DFB4800632CA3 /* MVKFramebuffer.h */; };
|
||||
DCFD7EFB2A45BC6E007BBBF7 /* MVKWatermarkShaderSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A981494B1FB6A3F7005F00B4 /* MVKWatermarkShaderSource.h */; };
|
||||
DCFD7EFC2A45BC6E007BBBF7 /* MTLSamplerDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DD32100B197002781DD /* MTLSamplerDescriptor+MoltenVK.h */; };
|
||||
DCFD7EFD2A45BC6E007BBBF7 /* MVKSync.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB79D1C7DFB4800632CA3 /* MVKSync.h */; };
|
||||
DCFD7EFE2A45BC6E007BBBF7 /* MVKDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7831C7DFB4800632CA3 /* MVKDevice.h */; };
|
||||
DCFD7EFF2A45BC6E007BBBF7 /* MVKSmallVector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */; };
|
||||
DCFD7F002A45BC6E007BBBF7 /* MVKCommandPool.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB77A1C7DFB4800632CA3 /* MVKCommandPool.h */; };
|
||||
DCFD7F012A45BC6E007BBBF7 /* MVKShaderModule.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7971C7DFB4800632CA3 /* MVKShaderModule.h */; };
|
||||
DCFD7F022A45BC6E007BBBF7 /* MVKVulkanAPIObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A99C91012295FAC500A061DA /* MVKVulkanAPIObject.h */; };
|
||||
DCFD7F032A45BC6E007BBBF7 /* MVKCmdQueries.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7701C7DFB4800632CA3 /* MVKCmdQueries.h */; };
|
||||
DCFD7F042A45BC6E007BBBF7 /* MVKCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7761C7DFB4800632CA3 /* MVKCommand.h */; };
|
||||
DCFD7F052A45BC6E007BBBF7 /* MVKBaseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149421FB6A3F7005F00B4 /* MVKBaseObject.h */; };
|
||||
DCFD7F062A45BC6E007BBBF7 /* MVKMTLBufferAllocation.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C96DCE1DDC20C20053187F /* MVKMTLBufferAllocation.h */; };
|
||||
DCFD7F072A45BC6E007BBBF7 /* MVKObjectPool.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149461FB6A3F7005F00B4 /* MVKObjectPool.h */; };
|
||||
DCFD7F082A45BC6E007BBBF7 /* MVKSwapchain.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB79B1C7DFB4800632CA3 /* MVKSwapchain.h */; };
|
||||
DCFD7F092A45BC6E007BBBF7 /* MVKGPUCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */; };
|
||||
DCFD7F0A2A45BC6E007BBBF7 /* MVKBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB77F1C7DFB4800632CA3 /* MVKBuffer.h */; };
|
||||
DCFD7F0B2A45BC6E007BBBF7 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F0429D1FB4CF82009FCCB8 /* MVKCommonEnvironment.h */; };
|
||||
DCFD7F0C2A45BC6E007BBBF7 /* MVKWatermark.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149491FB6A3F7005F00B4 /* MVKWatermark.h */; };
|
||||
DCFD7F0D2A45BC6E007BBBF7 /* MVKOSExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9B51BD6225E986A00AC74D2 /* MVKOSExtensions.h */; };
|
||||
DCFD7F0E2A45BC6E007BBBF7 /* MVKCmdRenderPass.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7721C7DFB4800632CA3 /* MVKCmdRenderPass.h */; };
|
||||
DCFD7F0F2A45BC6E007BBBF7 /* MVKCmdPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76E1C7DFB4800632CA3 /* MVKCmdPipeline.h */; };
|
||||
DCFD7F102A45BC6E007BBBF7 /* MVKSmallVectorAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */; };
|
||||
DCFD7F112A45BC6E007BBBF7 /* MVKPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB78D1C7DFB4800632CA3 /* MVKPipeline.h */; };
|
||||
DCFD7F122A45BC6E007BBBF7 /* MVKImage.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7891C7DFB4800632CA3 /* MVKImage.h */; };
|
||||
DCFD7F132A45BC6E007BBBF7 /* MVKBlockObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4553AEFA2251617100E8EBCD /* MVKBlockObserver.h */; };
|
||||
DCFD7F142A45BC6E007BBBF7 /* MVKCmdTransfer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB76C1C7DFB4800632CA3 /* MVKCmdTransfer.h */; };
|
||||
DCFD7F152A45BC6E007BBBF7 /* MVKDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A966A5DC23C535D000BBF9B4 /* MVKDescriptor.h */; };
|
||||
DCFD7F162A45BC6E007BBBF7 /* MVKCmdDraw.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7741C7DFB4800632CA3 /* MVKCmdDraw.h */; };
|
||||
DCFD7F172A45BC6E007BBBF7 /* MVKCommandBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7781C7DFB4800632CA3 /* MVKCommandBuffer.h */; };
|
||||
DCFD7F182A45BC6E007BBBF7 /* MTLRenderPassDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DEE2100B302002781DD /* MTLRenderPassDescriptor+MoltenVK.h */; };
|
||||
DCFD7F192A45BC6E007BBBF7 /* MVKCmdDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = A99C90EC229455B200A061DA /* MVKCmdDebug.h */; };
|
||||
DCFD7F1A2A45BC6E007BBBF7 /* MVKWatermarkTextureContent.h in Headers */ = {isa = PBXBuildFile; fileRef = A981494C1FB6A3F7005F00B4 /* MVKWatermarkTextureContent.h */; };
|
||||
DCFD7F1B2A45BC6E007BBBF7 /* MVKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149441FB6A3F7005F00B4 /* MVKFoundation.h */; };
|
||||
DCFD7F1C2A45BC6E007BBBF7 /* MVKDeviceMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7851C7DFB4800632CA3 /* MVKDeviceMemory.h */; };
|
||||
DCFD7F1D2A45BC6E007BBBF7 /* MVKMTLResourceBindings.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E4B7881E1D8AF10046A4CE /* MVKMTLResourceBindings.h */; };
|
||||
DCFD7F1E2A45BC6E007BBBF7 /* MVKExtensions.def in Headers */ = {isa = PBXBuildFile; fileRef = 45003E6F214AD4C900E989CB /* MVKExtensions.def */; };
|
||||
DCFD7F1F2A45BC6E007BBBF7 /* mvk_datatypes.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9CEAAD1227378D400FAF779 /* mvk_datatypes.hpp */; };
|
||||
DCFD7F202A45BC6E007BBBF7 /* MVKCommandEncodingPool.h in Headers */ = {isa = PBXBuildFile; fileRef = A90C8DE81F45354D009CB32C /* MVKCommandEncodingPool.h */; };
|
||||
DCFD7F212A45BC6E007BBBF7 /* MVKResource.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7951C7DFB4800632CA3 /* MVKResource.h */; };
|
||||
DCFD7F222A45BC6E007BBBF7 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = 453638312508A4C7000EFFD3 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.h */; };
|
||||
DCFD7F232A45BC6E007BBBF7 /* MTLTextureDescriptor+MoltenVK.h in Headers */ = {isa = PBXBuildFile; fileRef = A9E53DD02100B197002781DD /* MTLTextureDescriptor+MoltenVK.h */; };
|
||||
DCFD7F242A45BC6E007BBBF7 /* MVKPixelFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = A9653FB724129C84005999D7 /* MVKPixelFormats.h */; };
|
||||
DCFD7F252A45BC6E007BBBF7 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A981496A1FB6A998005F00B4 /* MVKStrings.h */; };
|
||||
DCFD7F262A45BC6E007BBBF7 /* MVKLayers.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7A01C7DFB4800632CA3 /* MVKLayers.h */; };
|
||||
DCFD7F282A45BC6E007BBBF7 /* MVKBlockObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 4553AEF62251617100E8EBCD /* MVKBlockObserver.m */; };
|
||||
DCFD7F292A45BC6E007BBBF7 /* MTLRenderPipelineDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DFA21064F84002781DD /* MTLRenderPipelineDescriptor+MoltenVK.m */; };
|
||||
DCFD7F2A2A45BC6E007BBBF7 /* MVKResource.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7961C7DFB4800632CA3 /* MVKResource.mm */; };
|
||||
DCFD7F2B2A45BC6E007BBBF7 /* MVKDescriptorSet.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7821C7DFB4800632CA3 /* MVKDescriptorSet.mm */; };
|
||||
DCFD7F2C2A45BC6E007BBBF7 /* MVKVulkanAPIObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = A99C91002295FAC500A061DA /* MVKVulkanAPIObject.mm */; };
|
||||
DCFD7F2D2A45BC6E007BBBF7 /* MTLTextureDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DD52100B197002781DD /* MTLTextureDescriptor+MoltenVK.m */; };
|
||||
DCFD7F2E2A45BC6E007BBBF7 /* MVKCommandResourceFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95870F71C90D29F009EB096 /* MVKCommandResourceFactory.mm */; };
|
||||
DCFD7F2F2A45BC6E007BBBF7 /* MVKCommandEncodingPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90C8DE91F45354D009CB32C /* MVKCommandEncodingPool.mm */; };
|
||||
DCFD7F302A45BC6E007BBBF7 /* MVKWatermark.mm in Sources */ = {isa = PBXBuildFile; fileRef = A981494A1FB6A3F7005F00B4 /* MVKWatermark.mm */; };
|
||||
DCFD7F312A45BC6E007BBBF7 /* MVKBaseObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = A98149411FB6A3F7005F00B4 /* MVKBaseObject.mm */; };
|
||||
DCFD7F322A45BC6E007BBBF7 /* NSString+MoltenVK.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DD42100B197002781DD /* NSString+MoltenVK.mm */; };
|
||||
DCFD7F332A45BC6E007BBBF7 /* vulkan.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7AD1C7DFB4800632CA3 /* vulkan.mm */; };
|
||||
DCFD7F342A45BC6E007BBBF7 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = 4536382F2508A4C6000EFFD3 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.m */; };
|
||||
DCFD7F352A45BC6E007BBBF7 /* MVKSurface.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB79A1C7DFB4800632CA3 /* MVKSurface.mm */; };
|
||||
DCFD7F362A45BC6E007BBBF7 /* MVKQueryPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7901C7DFB4800632CA3 /* MVKQueryPool.mm */; };
|
||||
DCFD7F372A45BC6E007BBBF7 /* MVKInstance.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB78C1C7DFB4800632CA3 /* MVKInstance.mm */; };
|
||||
DCFD7F382A45BC6E007BBBF7 /* MVKDeviceMemory.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7861C7DFB4800632CA3 /* MVKDeviceMemory.mm */; };
|
||||
DCFD7F392A45BC6E007BBBF7 /* MVKImage.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB78A1C7DFB4800632CA3 /* MVKImage.mm */; };
|
||||
DCFD7F3A2A45BC6E007BBBF7 /* MVKCommandPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB77B1C7DFB4800632CA3 /* MVKCommandPool.mm */; };
|
||||
DCFD7F3B2A45BC6E007BBBF7 /* MVKCmdDraw.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7751C7DFB4800632CA3 /* MVKCmdDraw.mm */; };
|
||||
DCFD7F3C2A45BC6E007BBBF7 /* MVKCommandBuffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7791C7DFB4800632CA3 /* MVKCommandBuffer.mm */; };
|
||||
DCFD7F3D2A45BC6E007BBBF7 /* MVKCmdRenderPass.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7731C7DFB4800632CA3 /* MVKCmdRenderPass.mm */; };
|
||||
DCFD7F3E2A45BC6E007BBBF7 /* MVKBuffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7801C7DFB4800632CA3 /* MVKBuffer.mm */; };
|
||||
DCFD7F3F2A45BC6E007BBBF7 /* MVKEnvironment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5E9C525C0822700E9085E /* MVKEnvironment.cpp */; };
|
||||
DCFD7F402A45BC6E007BBBF7 /* mvk_datatypes.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7A91C7DFB4800632CA3 /* mvk_datatypes.mm */; };
|
||||
DCFD7F412A45BC6E007BBBF7 /* MVKExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A909F65E213B190700FCD6BE /* MVKExtensions.mm */; };
|
||||
DCFD7F422A45BC6E007BBBF7 /* MVKFoundation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A98149451FB6A3F7005F00B4 /* MVKFoundation.cpp */; };
|
||||
DCFD7F432A45BC6E007BBBF7 /* MVKPixelFormats.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9653FB924129C84005999D7 /* MVKPixelFormats.mm */; };
|
||||
DCFD7F442A45BC6E007BBBF7 /* MVKDevice.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7841C7DFB4800632CA3 /* MVKDevice.mm */; };
|
||||
DCFD7F452A45BC6E007BBBF7 /* MTLRenderPassDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DF22100B302002781DD /* MTLRenderPassDescriptor+MoltenVK.m */; };
|
||||
DCFD7F462A45BC6E007BBBF7 /* MVKDescriptor.mm in Sources */ = {isa = PBXBuildFile; fileRef = A966A5DE23C535D000BBF9B4 /* MVKDescriptor.mm */; };
|
||||
DCFD7F472A45BC6E007BBBF7 /* MVKPipeline.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB78E1C7DFB4800632CA3 /* MVKPipeline.mm */; };
|
||||
DCFD7F482A45BC6E007BBBF7 /* MVKQueue.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7921C7DFB4800632CA3 /* MVKQueue.mm */; };
|
||||
DCFD7F492A45BC6E007BBBF7 /* MTLSamplerDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DCD2100B197002781DD /* MTLSamplerDescriptor+MoltenVK.m */; };
|
||||
DCFD7F4A2A45BC6E007BBBF7 /* MVKRenderPass.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7941C7DFB4800632CA3 /* MVKRenderPass.mm */; };
|
||||
DCFD7F4B2A45BC6E007BBBF7 /* MVKCmdTransfer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB76D1C7DFB4800632CA3 /* MVKCmdTransfer.mm */; };
|
||||
DCFD7F4C2A45BC6E007BBBF7 /* MVKCmdQueries.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7711C7DFB4800632CA3 /* MVKCmdQueries.mm */; };
|
||||
DCFD7F4D2A45BC6E007BBBF7 /* vk_mvk_moltenvk.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7AC1C7DFB4800632CA3 /* vk_mvk_moltenvk.mm */; };
|
||||
DCFD7F4E2A45BC6E007BBBF7 /* MVKSwapchain.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB79C1C7DFB4800632CA3 /* MVKSwapchain.mm */; };
|
||||
DCFD7F4F2A45BC6E007BBBF7 /* MVKCommandEncoderState.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95B7D681D3EE486003183D3 /* MVKCommandEncoderState.mm */; };
|
||||
DCFD7F502A45BC6E007BBBF7 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; };
|
||||
DCFD7F512A45BC6E007BBBF7 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BD2225E986A00AC74D2 /* MVKOSExtensions.mm */; };
|
||||
DCFD7F522A45BC6E007BBBF7 /* MVKShaderModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7981C7DFB4800632CA3 /* MVKShaderModule.mm */; };
|
||||
DCFD7F532A45BC6E007BBBF7 /* MVKSync.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB79E1C7DFB4800632CA3 /* MVKSync.mm */; };
|
||||
DCFD7F542A45BC6E007BBBF7 /* MVKCodec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 45557A4D21C9EFF3008868BD /* MVKCodec.mm */; };
|
||||
DCFD7F552A45BC6E007BBBF7 /* MVKCmdPipeline.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB76F1C7DFB4800632CA3 /* MVKCmdPipeline.mm */; };
|
||||
DCFD7F562A45BC6E007BBBF7 /* MVKLayers.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7A11C7DFB4800632CA3 /* MVKLayers.mm */; };
|
||||
DCFD7F572A45BC6E007BBBF7 /* MVKFramebuffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94FB7881C7DFB4800632CA3 /* MVKFramebuffer.mm */; };
|
||||
DCFD7F582A45BC6E007BBBF7 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = 453638302508A4C6000EFFD3 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.m */; };
|
||||
DCFD7F592A45BC6E007BBBF7 /* MVKMTLBufferAllocation.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9C96DCF1DDC20C20053187F /* MVKMTLBufferAllocation.mm */; };
|
||||
DCFD7F5A2A45BC6E007BBBF7 /* CAMetalLayer+MoltenVK.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E53DD62100B197002781DD /* CAMetalLayer+MoltenVK.m */; };
|
||||
DCFD7F5B2A45BC6E007BBBF7 /* MVKCmdDispatch.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9096E5D1F81E16300DFBEA6 /* MVKCmdDispatch.mm */; };
|
||||
DCFD7F5C2A45BC6E007BBBF7 /* MVKCmdDebug.mm in Sources */ = {isa = PBXBuildFile; fileRef = A99C90ED229455B300A061DA /* MVKCmdDebug.mm */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -426,6 +546,20 @@
|
||||
remoteGlobalIDString = A9092A8C1A81717B00051823;
|
||||
remoteInfo = MoltenVKShaderConverter;
|
||||
};
|
||||
DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = DCFD7F6F2A45BDA0007BBBF7;
|
||||
remoteInfo = "MoltenVKShaderConverter-xrOS";
|
||||
};
|
||||
DCBC41212A45DB1000F49BD1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = DCFD7F882A45BDA0007BBBF7;
|
||||
remoteInfo = MoltenVKShaderConverter;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@ -561,6 +695,7 @@
|
||||
A9F0429E1FB4CF82009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = "<group>"; };
|
||||
A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVectorAllocator.h; sourceTree = "<group>"; };
|
||||
A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVector.h; sourceTree = "<group>"; };
|
||||
DCFD7F622A45BC6E007BBBF7 /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@ -731,6 +866,7 @@
|
||||
A98149821FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
|
||||
2FEA0D1C249040CA00EEF3AD /* libMoltenVKShaderConverter.a */,
|
||||
A98149841FB6B566005F00B4 /* libMoltenVKShaderConverter.a */,
|
||||
DCBC41222A45DB1000F49BD1 /* libMoltenVKShaderConverter.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -798,6 +934,7 @@
|
||||
A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */,
|
||||
A9CBEE011B6299D800E45FDC /* libMoltenVK.a */,
|
||||
2FEA0ABA24902F9F00EEF3AD /* libMoltenVK.a */,
|
||||
DCFD7F622A45BC6E007BBBF7 /* libMoltenVK.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -1035,6 +1172,80 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DCFD7EE32A45BC6E007BBBF7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DCFD7EE42A45BC6E007BBBF7 /* MVKExtensions.h in Headers */,
|
||||
DCFD7EE52A45BC6E007BBBF7 /* vk_mvk_moltenvk.h in Headers */,
|
||||
DCFD7EE62A45BC6E007BBBF7 /* MVKDeviceFeatureStructs.def in Headers */,
|
||||
DCFD7EE72A45BC6E007BBBF7 /* mvk_datatypes.h in Headers */,
|
||||
DCFD7EE82A45BC6E007BBBF7 /* mvk_vulkan.h in Headers */,
|
||||
DCFD7EE92A45BC6E007BBBF7 /* MVKEnvironment.h in Headers */,
|
||||
DCFD7EEA2A45BC6E007BBBF7 /* MVKSurface.h in Headers */,
|
||||
DCFD7EEB2A45BC6E007BBBF7 /* MTLRenderPipelineDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7EEC2A45BC6E007BBBF7 /* MVKInstance.h in Headers */,
|
||||
DCFD7EED2A45BC6E007BBBF7 /* MVKCommandResourceFactory.h in Headers */,
|
||||
DCFD7EEE2A45BC6E007BBBF7 /* MVKQueryPool.h in Headers */,
|
||||
DCFD7EEF2A45BC6E007BBBF7 /* MVKCommandEncoderState.h in Headers */,
|
||||
DCFD7EF02A45BC6E007BBBF7 /* MVKCommandPipelineStateFactoryShaderSource.h in Headers */,
|
||||
DCFD7EF12A45BC6E007BBBF7 /* MVKDescriptorSet.h in Headers */,
|
||||
DCFD7EF22A45BC6E007BBBF7 /* MVKBitArray.h in Headers */,
|
||||
DCFD7EF32A45BC6E007BBBF7 /* NSString+MoltenVK.h in Headers */,
|
||||
DCFD7EF42A45BC6E007BBBF7 /* CAMetalLayer+MoltenVK.h in Headers */,
|
||||
DCFD7EF52A45BC6E007BBBF7 /* MVKCodec.h in Headers */,
|
||||
DCFD7EF62A45BC6E007BBBF7 /* MVKRenderPass.h in Headers */,
|
||||
DCFD7EF72A45BC6E007BBBF7 /* MVKLogging.h in Headers */,
|
||||
DCFD7EF82A45BC6E007BBBF7 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7EF92A45BC6E007BBBF7 /* MVKQueue.h in Headers */,
|
||||
DCFD7EFA2A45BC6E007BBBF7 /* MVKFramebuffer.h in Headers */,
|
||||
DCFD7EFB2A45BC6E007BBBF7 /* MVKWatermarkShaderSource.h in Headers */,
|
||||
DCFD7EFC2A45BC6E007BBBF7 /* MTLSamplerDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7EFD2A45BC6E007BBBF7 /* MVKSync.h in Headers */,
|
||||
DCFD7EFE2A45BC6E007BBBF7 /* MVKDevice.h in Headers */,
|
||||
DCFD7EFF2A45BC6E007BBBF7 /* MVKSmallVector.h in Headers */,
|
||||
DCFD7F002A45BC6E007BBBF7 /* MVKCommandPool.h in Headers */,
|
||||
DCFD7F012A45BC6E007BBBF7 /* MVKShaderModule.h in Headers */,
|
||||
DCFD7F022A45BC6E007BBBF7 /* MVKVulkanAPIObject.h in Headers */,
|
||||
DCFD7F032A45BC6E007BBBF7 /* MVKCmdQueries.h in Headers */,
|
||||
DCFD7F042A45BC6E007BBBF7 /* MVKCommand.h in Headers */,
|
||||
DCFD7F052A45BC6E007BBBF7 /* MVKBaseObject.h in Headers */,
|
||||
DCFD7F062A45BC6E007BBBF7 /* MVKMTLBufferAllocation.h in Headers */,
|
||||
DCFD7F072A45BC6E007BBBF7 /* MVKObjectPool.h in Headers */,
|
||||
DCFD7F082A45BC6E007BBBF7 /* MVKSwapchain.h in Headers */,
|
||||
DCFD7F092A45BC6E007BBBF7 /* MVKGPUCapture.h in Headers */,
|
||||
DCFD7F0A2A45BC6E007BBBF7 /* MVKBuffer.h in Headers */,
|
||||
DCFD7F0B2A45BC6E007BBBF7 /* MVKCommonEnvironment.h in Headers */,
|
||||
DCFD7F0C2A45BC6E007BBBF7 /* MVKWatermark.h in Headers */,
|
||||
DCFD7F0D2A45BC6E007BBBF7 /* MVKOSExtensions.h in Headers */,
|
||||
DCFD7F0E2A45BC6E007BBBF7 /* MVKCmdRenderPass.h in Headers */,
|
||||
DCFD7F0F2A45BC6E007BBBF7 /* MVKCmdPipeline.h in Headers */,
|
||||
DCFD7F102A45BC6E007BBBF7 /* MVKSmallVectorAllocator.h in Headers */,
|
||||
DCFD7F112A45BC6E007BBBF7 /* MVKPipeline.h in Headers */,
|
||||
DCFD7F122A45BC6E007BBBF7 /* MVKImage.h in Headers */,
|
||||
DCFD7F132A45BC6E007BBBF7 /* MVKBlockObserver.h in Headers */,
|
||||
DCFD7F142A45BC6E007BBBF7 /* MVKCmdTransfer.h in Headers */,
|
||||
DCFD7F152A45BC6E007BBBF7 /* MVKDescriptor.h in Headers */,
|
||||
DCFD7F162A45BC6E007BBBF7 /* MVKCmdDraw.h in Headers */,
|
||||
DCFD7F172A45BC6E007BBBF7 /* MVKCommandBuffer.h in Headers */,
|
||||
DCFD7F182A45BC6E007BBBF7 /* MTLRenderPassDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7F192A45BC6E007BBBF7 /* MVKCmdDebug.h in Headers */,
|
||||
DCFD7F1A2A45BC6E007BBBF7 /* MVKWatermarkTextureContent.h in Headers */,
|
||||
DCFD7F1B2A45BC6E007BBBF7 /* MVKFoundation.h in Headers */,
|
||||
DCFD7F1C2A45BC6E007BBBF7 /* MVKDeviceMemory.h in Headers */,
|
||||
DCFD7F1D2A45BC6E007BBBF7 /* MVKMTLResourceBindings.h in Headers */,
|
||||
DCFD7F1E2A45BC6E007BBBF7 /* MVKExtensions.def in Headers */,
|
||||
DCFD7F1F2A45BC6E007BBBF7 /* mvk_datatypes.hpp in Headers */,
|
||||
DCFD7F202A45BC6E007BBBF7 /* MVKCommandEncodingPool.h in Headers */,
|
||||
DCFD7F212A45BC6E007BBBF7 /* MVKResource.h in Headers */,
|
||||
DCFD7F222A45BC6E007BBBF7 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7F232A45BC6E007BBBF7 /* MTLTextureDescriptor+MoltenVK.h in Headers */,
|
||||
DCFD7F242A45BC6E007BBBF7 /* MVKPixelFormats.h in Headers */,
|
||||
DCFD7F252A45BC6E007BBBF7 /* MVKStrings.h in Headers */,
|
||||
DCFD7F262A45BC6E007BBBF7 /* MVKLayers.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -1098,6 +1309,26 @@
|
||||
productReference = A9CBEE011B6299D800E45FDC /* libMoltenVK.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
DCFD7EDF2A45BC6E007BBBF7 /* MoltenVK-xrOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DCFD7F5F2A45BC6E007BBBF7 /* Build configuration list for PBXNativeTarget "MoltenVK-xrOS" */;
|
||||
buildPhases = (
|
||||
DCFD7EE22A45BC6E007BBBF7 /* Generate Version Header */,
|
||||
DCFD7EE32A45BC6E007BBBF7 /* Headers */,
|
||||
DCFD7F272A45BC6E007BBBF7 /* Sources */,
|
||||
DCFD7F5D2A45BC6E007BBBF7 /* Copy to Staging */,
|
||||
DCFD7F5E2A45BC6E007BBBF7 /* Create Dynamic Library */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "MoltenVK-xrOS";
|
||||
productName = MoltenVK;
|
||||
productReference = DCFD7F622A45BC6E007BBBF7 /* libMoltenVK.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@ -1138,6 +1369,7 @@
|
||||
A9B8EE091A98D796009C5A02 /* MoltenVK-iOS */,
|
||||
2FEA0A3B24902F9F00EEF3AD /* MoltenVK-tvOS */,
|
||||
A9CBED861B6299D800E45FDC /* MoltenVK-macOS */,
|
||||
DCFD7EDF2A45BC6E007BBBF7 /* MoltenVK-xrOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -1171,6 +1403,13 @@
|
||||
remoteRef = A98149831FB6B566005F00B4 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
DCBC41222A45DB1000F49BD1 /* libMoltenVKShaderConverter.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = libMoltenVKShaderConverter.a;
|
||||
remoteRef = DCBC41212A45DB1000F49BD1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
@ -1341,6 +1580,63 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n\n";
|
||||
};
|
||||
DCFD7EE22A45BC6E007BBBF7 /* Generate Version Header */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Generate Version Header";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(BUILT_PRODUCTS_DIR)/mvkGitRevDerived.h",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/../Scripts/gen_moltenvk_rev_hdr.sh\"\n";
|
||||
};
|
||||
DCFD7F5D2A45BC6E007BBBF7 /* Copy to Staging */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
|
||||
);
|
||||
name = "Copy to Staging";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
|
||||
};
|
||||
DCFD7F5E2A45BC6E007BBBF7 /* Create Dynamic Library */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
|
||||
);
|
||||
name = "Create Dynamic Library";
|
||||
outputPaths = (
|
||||
"${BUILT_PRODUCTS_DIR}/dynamic/lib${PRODUCT_NAME}.dylib",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/create_dylib_xros.sh\"\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@ -1523,6 +1819,66 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DCFD7F272A45BC6E007BBBF7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DCFD7F282A45BC6E007BBBF7 /* MVKBlockObserver.m in Sources */,
|
||||
DCFD7F292A45BC6E007BBBF7 /* MTLRenderPipelineDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F2A2A45BC6E007BBBF7 /* MVKResource.mm in Sources */,
|
||||
DCFD7F2B2A45BC6E007BBBF7 /* MVKDescriptorSet.mm in Sources */,
|
||||
DCFD7F2C2A45BC6E007BBBF7 /* MVKVulkanAPIObject.mm in Sources */,
|
||||
DCFD7F2D2A45BC6E007BBBF7 /* MTLTextureDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F2E2A45BC6E007BBBF7 /* MVKCommandResourceFactory.mm in Sources */,
|
||||
DCFD7F2F2A45BC6E007BBBF7 /* MVKCommandEncodingPool.mm in Sources */,
|
||||
DCFD7F302A45BC6E007BBBF7 /* MVKWatermark.mm in Sources */,
|
||||
DCFD7F312A45BC6E007BBBF7 /* MVKBaseObject.mm in Sources */,
|
||||
DCFD7F322A45BC6E007BBBF7 /* NSString+MoltenVK.mm in Sources */,
|
||||
DCFD7F332A45BC6E007BBBF7 /* vulkan.mm in Sources */,
|
||||
DCFD7F342A45BC6E007BBBF7 /* MTLRenderPassDepthAttachmentDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F352A45BC6E007BBBF7 /* MVKSurface.mm in Sources */,
|
||||
DCFD7F362A45BC6E007BBBF7 /* MVKQueryPool.mm in Sources */,
|
||||
DCFD7F372A45BC6E007BBBF7 /* MVKInstance.mm in Sources */,
|
||||
DCFD7F382A45BC6E007BBBF7 /* MVKDeviceMemory.mm in Sources */,
|
||||
DCFD7F392A45BC6E007BBBF7 /* MVKImage.mm in Sources */,
|
||||
DCFD7F3A2A45BC6E007BBBF7 /* MVKCommandPool.mm in Sources */,
|
||||
DCFD7F3B2A45BC6E007BBBF7 /* MVKCmdDraw.mm in Sources */,
|
||||
DCFD7F3C2A45BC6E007BBBF7 /* MVKCommandBuffer.mm in Sources */,
|
||||
DCFD7F3D2A45BC6E007BBBF7 /* MVKCmdRenderPass.mm in Sources */,
|
||||
DCFD7F3E2A45BC6E007BBBF7 /* MVKBuffer.mm in Sources */,
|
||||
DCFD7F3F2A45BC6E007BBBF7 /* MVKEnvironment.cpp in Sources */,
|
||||
DCFD7F402A45BC6E007BBBF7 /* mvk_datatypes.mm in Sources */,
|
||||
DCFD7F412A45BC6E007BBBF7 /* MVKExtensions.mm in Sources */,
|
||||
DCFD7F422A45BC6E007BBBF7 /* MVKFoundation.cpp in Sources */,
|
||||
DCFD7F432A45BC6E007BBBF7 /* MVKPixelFormats.mm in Sources */,
|
||||
DCFD7F442A45BC6E007BBBF7 /* MVKDevice.mm in Sources */,
|
||||
DCFD7F452A45BC6E007BBBF7 /* MTLRenderPassDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F462A45BC6E007BBBF7 /* MVKDescriptor.mm in Sources */,
|
||||
DCFD7F472A45BC6E007BBBF7 /* MVKPipeline.mm in Sources */,
|
||||
DCFD7F482A45BC6E007BBBF7 /* MVKQueue.mm in Sources */,
|
||||
DCFD7F492A45BC6E007BBBF7 /* MTLSamplerDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F4A2A45BC6E007BBBF7 /* MVKRenderPass.mm in Sources */,
|
||||
DCFD7F4B2A45BC6E007BBBF7 /* MVKCmdTransfer.mm in Sources */,
|
||||
DCFD7F4C2A45BC6E007BBBF7 /* MVKCmdQueries.mm in Sources */,
|
||||
DCFD7F4D2A45BC6E007BBBF7 /* vk_mvk_moltenvk.mm in Sources */,
|
||||
DCFD7F4E2A45BC6E007BBBF7 /* MVKSwapchain.mm in Sources */,
|
||||
DCFD7F4F2A45BC6E007BBBF7 /* MVKCommandEncoderState.mm in Sources */,
|
||||
DCFD7F502A45BC6E007BBBF7 /* MVKGPUCapture.mm in Sources */,
|
||||
DCFD7F512A45BC6E007BBBF7 /* MVKOSExtensions.mm in Sources */,
|
||||
DCFD7F522A45BC6E007BBBF7 /* MVKShaderModule.mm in Sources */,
|
||||
DCFD7F532A45BC6E007BBBF7 /* MVKSync.mm in Sources */,
|
||||
DCFD7F542A45BC6E007BBBF7 /* MVKCodec.mm in Sources */,
|
||||
DCFD7F552A45BC6E007BBBF7 /* MVKCmdPipeline.mm in Sources */,
|
||||
DCFD7F562A45BC6E007BBBF7 /* MVKLayers.mm in Sources */,
|
||||
DCFD7F572A45BC6E007BBBF7 /* MVKFramebuffer.mm in Sources */,
|
||||
DCFD7F582A45BC6E007BBBF7 /* MTLRenderPassStencilAttachmentDescriptor+MoltenVK.m in Sources */,
|
||||
DCFD7F592A45BC6E007BBBF7 /* MVKMTLBufferAllocation.mm in Sources */,
|
||||
DCFD7F5A2A45BC6E007BBBF7 /* CAMetalLayer+MoltenVK.m in Sources */,
|
||||
DCFD7F5B2A45BC6E007BBBF7 /* MVKCmdDispatch.mm in Sources */,
|
||||
DCFD7F5C2A45BC6E007BBBF7 /* MVKCmdDebug.mm in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
@ -1541,6 +1897,11 @@
|
||||
name = MoltenVKShaderConverter;
|
||||
targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
|
||||
};
|
||||
DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "MoltenVKShaderConverter-xrOS";
|
||||
targetProxy = DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@ -1727,6 +2088,20 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
DCFD7F602A45BC6E007BBBF7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
SDKROOT = xros;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DCFD7F612A45BC6E007BBBF7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
SDKROOT = xros;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@ -1766,6 +2141,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
DCFD7F5F2A45BC6E007BBBF7 /* Build configuration list for PBXNativeTarget "MoltenVK-xrOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DCFD7F602A45BC6E007BBBF7 /* Debug */,
|
||||
DCFD7F612A45BC6E007BBBF7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = A9F55D25198BE6A7004EC31B /* Project object */;
|
||||
|
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1500"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7EDF2A45BC6E007BBBF7"
|
||||
BuildableName = "libMoltenVK.a"
|
||||
BlueprintName = "MoltenVK-xrOS"
|
||||
ReferencedContainer = "container:MoltenVK.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</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 = "DCFD7EDF2A45BC6E007BBBF7"
|
||||
BuildableName = "libMoltenVK.a"
|
||||
BlueprintName = "MoltenVK-xrOS"
|
||||
ReferencedContainer = "container:MoltenVK.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -156,7 +156,7 @@ void MVKPhysicalDevice::getFeatures(VkPhysicalDeviceFeatures2* features) {
|
||||
.separateDepthStencilLayouts = true,
|
||||
.hostQueryReset = true,
|
||||
.timelineSemaphore = true,
|
||||
.bufferDeviceAddress = mvkOSVersionIsAtLeast(12.05, 16.0),
|
||||
.bufferDeviceAddress = mvkOSVersionIsAtLeast(12.05, 16.0, 1.0),
|
||||
.bufferDeviceAddressCaptureReplay = false,
|
||||
.bufferDeviceAddressMultiDevice = false,
|
||||
.vulkanMemoryModel = false,
|
||||
@ -420,7 +420,7 @@ void MVKPhysicalDevice::getFeatures(VkPhysicalDeviceFeatures2* features) {
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
|
||||
auto* demoteFeatures = (VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT*)next;
|
||||
demoteFeatures->shaderDemoteToHelperInvocation = mvkOSVersionIsAtLeast(11.0, 14.0);
|
||||
demoteFeatures->shaderDemoteToHelperInvocation = mvkOSVersionIsAtLeast(11.0, 14.0, 1.0);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
|
||||
@ -806,7 +806,7 @@ void MVKPhysicalDevice::populateSubgroupProperties(VkPhysicalDeviceVulkan11Prope
|
||||
if (_features.tessellationShader) {
|
||||
pVk11Props->subgroupSupportedStages |= VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
|
||||
}
|
||||
if (mvkOSVersionIsAtLeast(10.15, 13.0)) {
|
||||
if (mvkOSVersionIsAtLeast(10.15, 13.0, 1.0)) {
|
||||
pVk11Props->subgroupSupportedStages |= VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
}
|
||||
pVk11Props->subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT;
|
||||
@ -1693,7 +1693,7 @@ void MVKPhysicalDevice::initMetalFeatures() {
|
||||
break;
|
||||
case kAppleVendorId:
|
||||
// TODO: Other GPUs?
|
||||
if (!mvkOSVersionIsAtLeast(14.0, 17.0)) {
|
||||
if (!mvkOSVersionIsAtLeast(14.0, 17.0, 1.0)) {
|
||||
_metalFeatures.needsSampleDrefLodArrayWorkaround = true;
|
||||
}
|
||||
// fallthrough
|
||||
|
@ -1993,7 +1993,7 @@ MVKComputePipeline::MVKComputePipeline(MVKDevice* device,
|
||||
// We'll set the VALID bit on the stage feedback when we compile it.
|
||||
VkPipelineCreationFeedback* pPipelineFB = nullptr;
|
||||
VkPipelineCreationFeedback* pStageFB = nullptr;
|
||||
uint64_t pipelineStart;
|
||||
uint64_t pipelineStart = 0;
|
||||
if (pFeedbackInfo) {
|
||||
pPipelineFB = pFeedbackInfo->pPipelineCreationFeedback;
|
||||
// n.b. Do *NOT* use mvkClear().
|
||||
|
@ -505,14 +505,16 @@ void MVKSwapchain::initSurfaceImages(const VkSwapchainCreateInfoKHR* pCreateInfo
|
||||
VkResult MVKSwapchain::getRefreshCycleDuration(VkRefreshCycleDurationGOOGLE *pRefreshCycleDuration) {
|
||||
if (_device->getConfigurationResult() != VK_SUCCESS) { return _device->getConfigurationResult(); }
|
||||
|
||||
#if MVK_IOS_OR_TVOS || MVK_MACCAT
|
||||
#if MVK_VISIONOS
|
||||
// TODO: See if this can be obtained from OS instead
|
||||
NSInteger framesPerSecond = 90;
|
||||
#elif MVK_IOS_OR_TVOS || MVK_MACCAT
|
||||
NSInteger framesPerSecond = 60;
|
||||
UIScreen* screen = _mtlLayer.screenMVK;
|
||||
if ([screen respondsToSelector: @selector(maximumFramesPerSecond)]) {
|
||||
framesPerSecond = screen.maximumFramesPerSecond;
|
||||
}
|
||||
#endif
|
||||
#if MVK_MACOS && !MVK_MACCAT
|
||||
#elif MVK_MACOS && !MVK_MACCAT
|
||||
NSScreen* screen = _mtlLayer.screenMVK;
|
||||
CGDirectDisplayID displayId = [[[screen deviceDescription] objectForKey:@"NSScreenNumber"] unsignedIntValue];
|
||||
CGDisplayModeRef mode = CGDisplayCopyDisplayMode(displayId);
|
||||
|
@ -16,7 +16,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// To use this file, define the macro MVK_EXTENSION(var, EXT, type, macos, ios), then #include this file.
|
||||
// To use this file, define the macro MVK_EXTENSION(var, EXT, type, macos, ios, xros), then #include this file.
|
||||
// To add a new extension, simply add an MVK_EXTENSION line below. The macro takes the
|
||||
// portion of the extension name without the leading "VK_", both in lowercase and uppercase,
|
||||
// plus a value representing the extension type (instance/device/...).
|
||||
@ -38,114 +38,114 @@
|
||||
#endif
|
||||
|
||||
#ifndef MVK_EXTENSION_LAST
|
||||
#define MVK_EXTENSION_LAST(var, EXT, type, macos, ios) MVK_EXTENSION(var, EXT, type, macos, ios)
|
||||
#define MVK_EXTENSION_LAST(var, EXT, type, macos, ios, xros) MVK_EXTENSION(var, EXT, type, macos, ios, xros)
|
||||
#endif
|
||||
|
||||
MVK_EXTENSION(KHR_16bit_storage, KHR_16BIT_STORAGE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_8bit_storage, KHR_8BIT_STORAGE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_bind_memory2, KHR_BIND_MEMORY_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_buffer_device_address, KHR_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.0)
|
||||
MVK_EXTENSION(KHR_copy_commands2, KHR_COPY_COMMANDS_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_create_renderpass2, KHR_CREATE_RENDERPASS_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_dedicated_allocation, KHR_DEDICATED_ALLOCATION, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_deferred_host_operations, KHR_DEFERRED_HOST_OPERATIONS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_depth_stencil_resolve, KHR_DEPTH_STENCIL_RESOLVE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_descriptor_update_template, KHR_DESCRIPTOR_UPDATE_TEMPLATE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_device_group, KHR_DEVICE_GROUP, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_device_group_creation, KHR_DEVICE_GROUP_CREATION, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_draw_indirect_count, KHR_DRAW_INDIRECT_COUNT, DEVICE, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(KHR_driver_properties, KHR_DRIVER_PROPERTIES, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_dynamic_rendering, KHR_DYNAMIC_RENDERING, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_fence, KHR_EXTERNAL_FENCE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_fence_capabilities, KHR_EXTERNAL_FENCE_CAPABILITIES, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_memory, KHR_EXTERNAL_MEMORY, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_memory_capabilities, KHR_EXTERNAL_MEMORY_CAPABILITIES, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_semaphore, KHR_EXTERNAL_SEMAPHORE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_external_semaphore_capabilities, KHR_EXTERNAL_SEMAPHORE_CAPABILITIES, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_fragment_shader_barycentric, KHR_FRAGMENT_SHADER_BARYCENTRIC, DEVICE, 10.15, 14.0)
|
||||
MVK_EXTENSION(KHR_get_memory_requirements2, KHR_GET_MEMORY_REQUIREMENTS_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_get_physical_device_properties2, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_get_surface_capabilities2, KHR_GET_SURFACE_CAPABILITIES_2, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_imageless_framebuffer, KHR_IMAGELESS_FRAMEBUFFER, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_image_format_list, KHR_IMAGE_FORMAT_LIST, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_incremental_present, KHR_INCREMENTAL_PRESENT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_maintenance1, KHR_MAINTENANCE1, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_maintenance2, KHR_MAINTENANCE2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_maintenance3, KHR_MAINTENANCE3, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_map_memory2, KHR_MAP_MEMORY_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_multiview, KHR_MULTIVIEW, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_portability_subset, KHR_PORTABILITY_SUBSET, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_push_descriptor, KHR_PUSH_DESCRIPTOR, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_relaxed_block_layout, KHR_RELAXED_BLOCK_LAYOUT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_sampler_mirror_clamp_to_edge, KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE, DEVICE, 10.11, 14.0)
|
||||
MVK_EXTENSION(KHR_sampler_ycbcr_conversion, KHR_SAMPLER_YCBCR_CONVERSION, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_separate_depth_stencil_layouts, KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_shader_atomic_int64, KHR_SHADER_ATOMIC_INT64, DEVICE, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(KHR_shader_draw_parameters, KHR_SHADER_DRAW_PARAMETERS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_shader_float_controls, KHR_SHADER_FLOAT_CONTROLS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_shader_float16_int8, KHR_SHADER_FLOAT16_INT8, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_shader_non_semantic_info, KHR_SHADER_NON_SEMANTIC_INFO, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_shader_subgroup_extended_types, KHR_SHADER_SUBGROUP_EXTENDED_TYPES, DEVICE, 10.14, 13.0)
|
||||
MVK_EXTENSION(KHR_spirv_1_4, KHR_SPIRV_1_4, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_storage_buffer_storage_class, KHR_STORAGE_BUFFER_STORAGE_CLASS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_surface, KHR_SURFACE, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_swapchain, KHR_SWAPCHAIN, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_swapchain_mutable_format, KHR_SWAPCHAIN_MUTABLE_FORMAT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_timeline_semaphore, KHR_TIMELINE_SEMAPHORE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_uniform_buffer_standard_layout, KHR_UNIFORM_BUFFER_STANDARD_LAYOUT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_variable_pointers, KHR_VARIABLE_POINTERS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_vulkan_memory_model, KHR_VULKAN_MEMORY_MODEL, DEVICE, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(EXT_4444_formats, EXT_4444_FORMATS, DEVICE, 11.0, 13.0)
|
||||
MVK_EXTENSION(EXT_buffer_device_address, EXT_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.0)
|
||||
MVK_EXTENSION(EXT_calibrated_timestamps, EXT_CALIBRATED_TIMESTAMPS, DEVICE, 10.15, 14.0)
|
||||
MVK_EXTENSION(EXT_debug_marker, EXT_DEBUG_MARKER, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_debug_report, EXT_DEBUG_REPORT, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_debug_utils, EXT_DEBUG_UTILS, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_descriptor_indexing, EXT_DESCRIPTOR_INDEXING, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_external_memory_host, EXT_EXTERNAL_MEMORY_HOST, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_fragment_shader_interlock, EXT_FRAGMENT_SHADER_INTERLOCK, DEVICE, 10.13, 11.0)
|
||||
MVK_EXTENSION(EXT_hdr_metadata, EXT_HDR_METADATA, DEVICE, 10.15, MVK_NA)
|
||||
MVK_EXTENSION(EXT_host_query_reset, EXT_HOST_QUERY_RESET, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_image_robustness, EXT_IMAGE_ROBUSTNESS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_inline_uniform_block, EXT_INLINE_UNIFORM_BLOCK, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_memory_budget, EXT_MEMORY_BUDGET, DEVICE, 10.13, 11.0)
|
||||
MVK_EXTENSION(EXT_metal_objects, EXT_METAL_OBJECTS, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_metal_surface, EXT_METAL_SURFACE, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_pipeline_creation_cache_control, EXT_PIPELINE_CREATION_CACHE_CONTROL, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_pipeline_creation_feedback, EXT_PIPELINE_CREATION_FEEDBACK, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_post_depth_coverage, EXT_POST_DEPTH_COVERAGE, DEVICE, 11.0, 11.0)
|
||||
MVK_EXTENSION(EXT_private_data, EXT_PRIVATE_DATA, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_robustness2, EXT_ROBUSTNESS_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_sample_locations, EXT_SAMPLE_LOCATIONS, DEVICE, 10.13, 11.0)
|
||||
MVK_EXTENSION(EXT_sampler_filter_minmax, EXT_SAMPLER_FILTER_MINMAX, DEVICE, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(EXT_scalar_block_layout, EXT_SCALAR_BLOCK_LAYOUT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_separate_stencil_usage, EXT_SEPARATE_STENCIL_USAGE, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_shader_atomic_float, EXT_SHADER_ATOMIC_FLOAT, DEVICE, 13.0, 16.0)
|
||||
MVK_EXTENSION(EXT_shader_demote_to_helper_invocation, EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION, DEVICE, 11.0, 14.0)
|
||||
MVK_EXTENSION(EXT_shader_stencil_export, EXT_SHADER_STENCIL_EXPORT, DEVICE, 10.14, 12.0)
|
||||
MVK_EXTENSION(EXT_shader_subgroup_ballot, EXT_SHADER_SUBGROUP_BALLOT, DEVICE, 10.14, 13.0)
|
||||
MVK_EXTENSION(EXT_shader_subgroup_vote, EXT_SHADER_SUBGROUP_VOTE, DEVICE, 10.14, 13.0)
|
||||
MVK_EXTENSION(EXT_shader_viewport_index_layer, EXT_SHADER_VIEWPORT_INDEX_LAYER, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_subgroup_size_control, EXT_SUBGROUP_SIZE_CONTROL, DEVICE, 10.14, 13.0)
|
||||
MVK_EXTENSION(EXT_surface_maintenance1, EXT_SURFACE_MAINTENANCE_1, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_swapchain_colorspace, EXT_SWAPCHAIN_COLOR_SPACE, INSTANCE, 10.11, 9.0)
|
||||
MVK_EXTENSION(EXT_swapchain_maintenance1, EXT_SWAPCHAIN_MAINTENANCE_1, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(EXT_texel_buffer_alignment, EXT_TEXEL_BUFFER_ALIGNMENT, DEVICE, 10.13, 11.0)
|
||||
MVK_EXTENSION(EXT_texture_compression_astc_hdr, EXT_TEXTURE_COMPRESSION_ASTC_HDR, DEVICE, 11.0, 13.0)
|
||||
MVK_EXTENSION(EXT_vertex_attribute_divisor, EXT_VERTEX_ATTRIBUTE_DIVISOR, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(AMD_draw_indirect_count, AMD_DRAW_INDIRECT_COUNT, DEVICE, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(AMD_gpu_shader_half_float, AMD_GPU_SHADER_HALF_FLOAT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(AMD_negative_viewport_height, AMD_NEGATIVE_VIEWPORT_HEIGHT, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(AMD_shader_image_load_store_lod, AMD_SHADER_IMAGE_LOAD_STORE_LOD, DEVICE, 11.0, 8.0)
|
||||
MVK_EXTENSION(AMD_shader_trinary_minmax, AMD_SHADER_TRINARY_MINMAX, DEVICE, 10.14, 12.0)
|
||||
MVK_EXTENSION(IMG_format_pvrtc, IMG_FORMAT_PVRTC, DEVICE, 11.0, 8.0)
|
||||
MVK_EXTENSION(INTEL_shader_integer_functions2, INTEL_SHADER_INTEGER_FUNCTIONS_2, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(GOOGLE_display_timing, GOOGLE_DISPLAY_TIMING, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(MVK_ios_surface, MVK_IOS_SURFACE, INSTANCE, MVK_NA, 8.0)
|
||||
MVK_EXTENSION(MVK_macos_surface, MVK_MACOS_SURFACE, INSTANCE, 10.11, MVK_NA)
|
||||
MVK_EXTENSION(MVK_moltenvk, MVK_MOLTENVK, INSTANCE, 10.11, 8.0)
|
||||
MVK_EXTENSION(NV_fragment_shader_barycentric, NV_FRAGMENT_SHADER_BARYCENTRIC, DEVICE, 10.15, 14.0)
|
||||
MVK_EXTENSION_LAST(NV_glsl_shader, NV_GLSL_SHADER, DEVICE, 10.11, 8.0)
|
||||
MVK_EXTENSION(KHR_16bit_storage, KHR_16BIT_STORAGE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_8bit_storage, KHR_8BIT_STORAGE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_bind_memory2, KHR_BIND_MEMORY_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_buffer_device_address, KHR_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.0, 1.0)
|
||||
MVK_EXTENSION(KHR_copy_commands2, KHR_COPY_COMMANDS_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_create_renderpass2, KHR_CREATE_RENDERPASS_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_dedicated_allocation, KHR_DEDICATED_ALLOCATION, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_deferred_host_operations, KHR_DEFERRED_HOST_OPERATIONS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_depth_stencil_resolve, KHR_DEPTH_STENCIL_RESOLVE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_descriptor_update_template, KHR_DESCRIPTOR_UPDATE_TEMPLATE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_device_group, KHR_DEVICE_GROUP, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_device_group_creation, KHR_DEVICE_GROUP_CREATION, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_draw_indirect_count, KHR_DRAW_INDIRECT_COUNT, DEVICE, MVK_NA, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(KHR_driver_properties, KHR_DRIVER_PROPERTIES, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_dynamic_rendering, KHR_DYNAMIC_RENDERING, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_fence, KHR_EXTERNAL_FENCE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_fence_capabilities, KHR_EXTERNAL_FENCE_CAPABILITIES, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_memory, KHR_EXTERNAL_MEMORY, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_memory_capabilities, KHR_EXTERNAL_MEMORY_CAPABILITIES, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_semaphore, KHR_EXTERNAL_SEMAPHORE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_external_semaphore_capabilities, KHR_EXTERNAL_SEMAPHORE_CAPABILITIES, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_fragment_shader_barycentric, KHR_FRAGMENT_SHADER_BARYCENTRIC, DEVICE, 10.15, 14.0, 1.0)
|
||||
MVK_EXTENSION(KHR_get_memory_requirements2, KHR_GET_MEMORY_REQUIREMENTS_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_get_physical_device_properties2, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_get_surface_capabilities2, KHR_GET_SURFACE_CAPABILITIES_2, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_imageless_framebuffer, KHR_IMAGELESS_FRAMEBUFFER, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_image_format_list, KHR_IMAGE_FORMAT_LIST, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_incremental_present, KHR_INCREMENTAL_PRESENT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_maintenance1, KHR_MAINTENANCE1, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_maintenance2, KHR_MAINTENANCE2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_maintenance3, KHR_MAINTENANCE3, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_map_memory2, KHR_MAP_MEMORY_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_multiview, KHR_MULTIVIEW, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_portability_subset, KHR_PORTABILITY_SUBSET, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_push_descriptor, KHR_PUSH_DESCRIPTOR, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_relaxed_block_layout, KHR_RELAXED_BLOCK_LAYOUT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_sampler_mirror_clamp_to_edge, KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE, DEVICE, 10.11, 14.0, 1.0)
|
||||
MVK_EXTENSION(KHR_sampler_ycbcr_conversion, KHR_SAMPLER_YCBCR_CONVERSION, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_separate_depth_stencil_layouts, KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_shader_atomic_int64, KHR_SHADER_ATOMIC_INT64, DEVICE, MVK_NA, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(KHR_shader_draw_parameters, KHR_SHADER_DRAW_PARAMETERS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_shader_float_controls, KHR_SHADER_FLOAT_CONTROLS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_shader_float16_int8, KHR_SHADER_FLOAT16_INT8, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_shader_non_semantic_info, KHR_SHADER_NON_SEMANTIC_INFO, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_shader_subgroup_extended_types, KHR_SHADER_SUBGROUP_EXTENDED_TYPES, DEVICE, 10.14, 13.0, 1.0)
|
||||
MVK_EXTENSION(KHR_spirv_1_4, KHR_SPIRV_1_4, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_storage_buffer_storage_class, KHR_STORAGE_BUFFER_STORAGE_CLASS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_surface, KHR_SURFACE, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_swapchain, KHR_SWAPCHAIN, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_swapchain_mutable_format, KHR_SWAPCHAIN_MUTABLE_FORMAT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_timeline_semaphore, KHR_TIMELINE_SEMAPHORE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_uniform_buffer_standard_layout, KHR_UNIFORM_BUFFER_STANDARD_LAYOUT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_variable_pointers, KHR_VARIABLE_POINTERS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(KHR_vulkan_memory_model, KHR_VULKAN_MEMORY_MODEL, DEVICE, MVK_NA, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(EXT_4444_formats, EXT_4444_FORMATS, DEVICE, 11.0, 13.0, 1.0)
|
||||
MVK_EXTENSION(EXT_buffer_device_address, EXT_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.0, 1.0)
|
||||
MVK_EXTENSION(EXT_calibrated_timestamps, EXT_CALIBRATED_TIMESTAMPS, DEVICE, 10.15, 14.0, 1.0)
|
||||
MVK_EXTENSION(EXT_debug_marker, EXT_DEBUG_MARKER, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_debug_report, EXT_DEBUG_REPORT, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_debug_utils, EXT_DEBUG_UTILS, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_descriptor_indexing, EXT_DESCRIPTOR_INDEXING, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_external_memory_host, EXT_EXTERNAL_MEMORY_HOST, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_fragment_shader_interlock, EXT_FRAGMENT_SHADER_INTERLOCK, DEVICE, 10.13, 11.0, 1.0)
|
||||
MVK_EXTENSION(EXT_hdr_metadata, EXT_HDR_METADATA, DEVICE, 10.15, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(EXT_host_query_reset, EXT_HOST_QUERY_RESET, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_image_robustness, EXT_IMAGE_ROBUSTNESS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_inline_uniform_block, EXT_INLINE_UNIFORM_BLOCK, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_memory_budget, EXT_MEMORY_BUDGET, DEVICE, 10.13, 11.0, 1.0)
|
||||
MVK_EXTENSION(EXT_metal_objects, EXT_METAL_OBJECTS, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_metal_surface, EXT_METAL_SURFACE, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_pipeline_creation_cache_control, EXT_PIPELINE_CREATION_CACHE_CONTROL, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_pipeline_creation_feedback, EXT_PIPELINE_CREATION_FEEDBACK, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_post_depth_coverage, EXT_POST_DEPTH_COVERAGE, DEVICE, 11.0, 11.0, 1.0)
|
||||
MVK_EXTENSION(EXT_private_data, EXT_PRIVATE_DATA, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_robustness2, EXT_ROBUSTNESS_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_sample_locations, EXT_SAMPLE_LOCATIONS, DEVICE, 10.13, 11.0, 1.0)
|
||||
MVK_EXTENSION(EXT_sampler_filter_minmax, EXT_SAMPLER_FILTER_MINMAX, DEVICE, MVK_NA, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(EXT_scalar_block_layout, EXT_SCALAR_BLOCK_LAYOUT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_separate_stencil_usage, EXT_SEPARATE_STENCIL_USAGE, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_atomic_float, EXT_SHADER_ATOMIC_FLOAT, DEVICE, 13.0, 16.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_demote_to_helper_invocation, EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION, DEVICE, 11.0, 14.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_stencil_export, EXT_SHADER_STENCIL_EXPORT, DEVICE, 10.14, 12.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_subgroup_ballot, EXT_SHADER_SUBGROUP_BALLOT, DEVICE, 10.14, 13.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_subgroup_vote, EXT_SHADER_SUBGROUP_VOTE, DEVICE, 10.14, 13.0, 1.0)
|
||||
MVK_EXTENSION(EXT_shader_viewport_index_layer, EXT_SHADER_VIEWPORT_INDEX_LAYER, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_subgroup_size_control, EXT_SUBGROUP_SIZE_CONTROL, DEVICE, 10.14, 13.0, 1.0)
|
||||
MVK_EXTENSION(EXT_surface_maintenance1, EXT_SURFACE_MAINTENANCE_1, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_swapchain_colorspace, EXT_SWAPCHAIN_COLOR_SPACE, INSTANCE, 10.11, 9.0, 1.0)
|
||||
MVK_EXTENSION(EXT_swapchain_maintenance1, EXT_SWAPCHAIN_MAINTENANCE_1, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(EXT_texel_buffer_alignment, EXT_TEXEL_BUFFER_ALIGNMENT, DEVICE, 10.13, 11.0, 1.0)
|
||||
MVK_EXTENSION(EXT_texture_compression_astc_hdr, EXT_TEXTURE_COMPRESSION_ASTC_HDR, DEVICE, 11.0, 13.0, 1.0)
|
||||
MVK_EXTENSION(EXT_vertex_attribute_divisor, EXT_VERTEX_ATTRIBUTE_DIVISOR, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(AMD_draw_indirect_count, AMD_DRAW_INDIRECT_COUNT, DEVICE, MVK_NA, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(AMD_gpu_shader_half_float, AMD_GPU_SHADER_HALF_FLOAT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(AMD_negative_viewport_height, AMD_NEGATIVE_VIEWPORT_HEIGHT, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(AMD_shader_image_load_store_lod, AMD_SHADER_IMAGE_LOAD_STORE_LOD, DEVICE, 11.0, 8.0, 1.0)
|
||||
MVK_EXTENSION(AMD_shader_trinary_minmax, AMD_SHADER_TRINARY_MINMAX, DEVICE, 10.14, 12.0, 1.0)
|
||||
MVK_EXTENSION(IMG_format_pvrtc, IMG_FORMAT_PVRTC, DEVICE, 11.0, 8.0, 1.0)
|
||||
MVK_EXTENSION(INTEL_shader_integer_functions2, INTEL_SHADER_INTEGER_FUNCTIONS_2, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(GOOGLE_display_timing, GOOGLE_DISPLAY_TIMING, DEVICE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(MVK_ios_surface, MVK_IOS_SURFACE, INSTANCE, MVK_NA, 8.0, MVK_NA)
|
||||
MVK_EXTENSION(MVK_macos_surface, MVK_MACOS_SURFACE, INSTANCE, 10.11, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION(MVK_moltenvk, MVK_MOLTENVK, INSTANCE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION(NV_fragment_shader_barycentric, NV_FRAGMENT_SHADER_BARYCENTRIC, DEVICE, 10.15, 14.0, 1.0)
|
||||
MVK_EXTENSION_LAST(NV_glsl_shader, NV_GLSL_SHADER, DEVICE, 10.11, 8.0, 1.0)
|
||||
|
||||
#undef MVK_EXTENSION
|
||||
#undef MVK_EXTENSION_LAST
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
|
||||
union {
|
||||
struct {
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) MVKExtension vk_ ##var;
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) MVKExtension vk_ ##var;
|
||||
#include "MVKExtensions.def"
|
||||
};
|
||||
MVKExtension extensionArray;
|
||||
|
@ -39,14 +39,14 @@ static VkExtensionProperties mvkMakeExtProps(const char* extensionName, uint32_t
|
||||
}
|
||||
|
||||
// Extension properties
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) \
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) \
|
||||
static VkExtensionProperties kVkExtProps_ ##EXT = mvkMakeExtProps(VK_ ##EXT ##_EXTENSION_NAME, VK_ ##EXT ##_SPEC_VERSION);
|
||||
#include "MVKExtensions.def"
|
||||
|
||||
// Returns whether the specified properties are valid for this platform
|
||||
static bool mvkIsSupportedOnPlatform(VkExtensionProperties* pProperties) {
|
||||
#define MVK_EXTENSION_MIN_OS(EXT, MAC, IOS) \
|
||||
if (pProperties == &kVkExtProps_##EXT) { return mvkOSVersionIsAtLeast(MAC, IOS); }
|
||||
#define MVK_EXTENSION_MIN_OS(EXT, MAC, IOS, XROS) \
|
||||
if (pProperties == &kVkExtProps_##EXT) { return mvkOSVersionIsAtLeast(MAC, IOS, XROS); }
|
||||
|
||||
// If the config indicates that not all supported extensions should be advertised,
|
||||
// only advertise those supported extensions that have been specifically configured.
|
||||
@ -54,15 +54,15 @@ static bool mvkIsSupportedOnPlatform(VkExtensionProperties* pProperties) {
|
||||
if ( !mvkIsAnyFlagEnabled(advExtns, MVK_CONFIG_ADVERTISE_EXTENSIONS_ALL) ) {
|
||||
#define MVK_NA kMVKOSVersionUnsupported
|
||||
if (mvkIsAnyFlagEnabled(advExtns, MVK_CONFIG_ADVERTISE_EXTENSIONS_WSI)) {
|
||||
MVK_EXTENSION_MIN_OS(EXT_METAL_SURFACE, 10.11, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(MVK_IOS_SURFACE, MVK_NA, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(MVK_MACOS_SURFACE, 10.11, MVK_NA)
|
||||
MVK_EXTENSION_MIN_OS(KHR_SURFACE, 10.11, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(KHR_SWAPCHAIN, 10.11, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(EXT_METAL_SURFACE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION_MIN_OS(MVK_IOS_SURFACE, MVK_NA, 8.0, 1.0)
|
||||
MVK_EXTENSION_MIN_OS(MVK_MACOS_SURFACE, 10.11, MVK_NA, MVK_NA)
|
||||
MVK_EXTENSION_MIN_OS(KHR_SURFACE, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION_MIN_OS(KHR_SWAPCHAIN, 10.11, 8.0, 1.0)
|
||||
}
|
||||
if (mvkIsAnyFlagEnabled(advExtns, MVK_CONFIG_ADVERTISE_EXTENSIONS_PORTABILITY)) {
|
||||
MVK_EXTENSION_MIN_OS(KHR_PORTABILITY_SUBSET, 10.11, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2, 10.11, 8.0)
|
||||
MVK_EXTENSION_MIN_OS(KHR_PORTABILITY_SUBSET, 10.11, 8.0, 1.0)
|
||||
MVK_EXTENSION_MIN_OS(KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2, 10.11, 8.0, 1.0)
|
||||
}
|
||||
#undef MVK_NA
|
||||
|
||||
@ -70,7 +70,7 @@ static bool mvkIsSupportedOnPlatform(VkExtensionProperties* pProperties) {
|
||||
}
|
||||
|
||||
// Otherwise, emumerate all available extensions to match the extension being validated for OS support.
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) MVK_EXTENSION_MIN_OS(EXT, macos, ios)
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) MVK_EXTENSION_MIN_OS(EXT, macos, ios, xros)
|
||||
#include "MVKExtensions.def"
|
||||
#undef MVK_EXTENSION_MIN_OS
|
||||
|
||||
@ -88,8 +88,8 @@ MVKExtension::MVKExtension(VkExtensionProperties* pProperties, bool enableForPla
|
||||
#pragma mark MVKExtensionList
|
||||
|
||||
MVKExtensionList::MVKExtensionList(MVKVulkanAPIObject* apiObject, bool enableForPlatform) :
|
||||
#define MVK_EXTENSION_LAST(var, EXT, type, macos, ios) vk_ ##var(&kVkExtProps_ ##EXT, enableForPlatform)
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) MVK_EXTENSION_LAST(var, EXT, type, macos, ios),
|
||||
#define MVK_EXTENSION_LAST(var, EXT, type, macos, ios, xros) vk_ ##var(&kVkExtProps_ ##EXT, enableForPlatform)
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) MVK_EXTENSION_LAST(var, EXT, type, macos, ios, xros),
|
||||
#include "MVKExtensions.def"
|
||||
, _apiObject(apiObject)
|
||||
{
|
||||
@ -101,7 +101,7 @@ MVKExtensionList::MVKExtensionList(MVKVulkanAPIObject* apiObject, bool enableFor
|
||||
void MVKExtensionList::initCount() {
|
||||
_count = 0;
|
||||
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) _count++;
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) _count++;
|
||||
#include "MVKExtensions.def"
|
||||
}
|
||||
|
||||
@ -110,14 +110,14 @@ void MVKExtensionList::initCount() {
|
||||
void MVKExtensionList::disableAllButEnabledInstanceExtensions() {
|
||||
#define MVK_EXTENSION_INSTANCE true
|
||||
#define MVK_EXTENSION_DEVICE false
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) MVK_ENSURE_EXTENSION_TYPE(var, EXT, type)
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) MVK_ENSURE_EXTENSION_TYPE(var, EXT, type)
|
||||
#include "MVKExtensions.def"
|
||||
}
|
||||
|
||||
void MVKExtensionList::disableAllButEnabledDeviceExtensions() {
|
||||
#define MVK_EXTENSION_INSTANCE false
|
||||
#define MVK_EXTENSION_DEVICE true
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios) MVK_ENSURE_EXTENSION_TYPE(var, EXT, type)
|
||||
#define MVK_EXTENSION(var, EXT, type, macos, ios, xros) MVK_ENSURE_EXTENSION_TYPE(var, EXT, type)
|
||||
#include "MVKExtensions.def"
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,9 @@
|
||||
*/
|
||||
@property(nonatomic, readwrite) CFStringRef colorspaceNameMVK;
|
||||
|
||||
#if !MVK_VISIONOS
|
||||
/** Returns the screen on which this layer is rendering. */
|
||||
@property(nonatomic, readonly) PLATFORM_SCREEN_CLASS* screenMVK;
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
@ -80,7 +80,7 @@
|
||||
CGColorSpaceRelease(csRef);
|
||||
}
|
||||
|
||||
#if MVK_IOS_OR_TVOS || MVK_MACCAT
|
||||
#if (MVK_IOS_OR_TVOS || MVK_MACCAT) && !MVK_VISIONOS
|
||||
-(UIScreen*) screenMVK {
|
||||
return UIScreen.mainScreen;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ void MVKGPUCaptureScope::makeDefault() {
|
||||
|
||||
MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue) {
|
||||
_mtlQueue = [mvkQueue->getMTLCommandQueue() retain]; // retained
|
||||
if (mvkOSVersionIsAtLeast(10.13, 11.0)) {
|
||||
if (mvkOSVersionIsAtLeast(10.13, 11.0, 1.0)) {
|
||||
_mtlCaptureScope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithCommandQueue: _mtlQueue]; // retained
|
||||
_mtlCaptureScope.label = @(mvkQueue->getName().c_str());
|
||||
|
||||
@ -77,7 +77,7 @@ MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue) {
|
||||
// that depends on Apple not taking internal references to capture scopes, but without it,
|
||||
// we could get hung up waiting for a new queue, because the old queues are still outstanding.
|
||||
// This bug was fixed by Apple in macOS 12.4 and iOS 15.4.
|
||||
if ( !mvkOSVersionIsAtLeast(12.04, 15.04) ) {
|
||||
if ( !mvkOSVersionIsAtLeast(12.04, 15.04, 1.0) ) {
|
||||
while (_mtlCaptureScope.retainCount > 1) {
|
||||
[_mtlCaptureScope release];
|
||||
}
|
||||
|
@ -69,6 +69,18 @@
|
||||
name = MoltenVK;
|
||||
productName = Package;
|
||||
};
|
||||
DCFD7ED52A45BC56007BBBF7 /* MoltenVK-xrOS */ = {
|
||||
isa = PBXAggregateTarget;
|
||||
buildConfigurationList = DCFD7ED92A45BC56007BBBF7 /* Build configuration list for PBXAggregateTarget "MoltenVK-xrOS" */;
|
||||
buildPhases = (
|
||||
DCFD7ED82A45BC56007BBBF7 /* Package MoltenVK */,
|
||||
);
|
||||
dependencies = (
|
||||
DCFD7F682A45BC81007BBBF7 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "MoltenVK-xrOS";
|
||||
productName = Package;
|
||||
};
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -170,6 +182,20 @@
|
||||
remoteGlobalIDString = 2FEA0D142490381A00EEF3AD;
|
||||
remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
|
||||
};
|
||||
DCFD7F652A45BC7D007BBBF7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = DCFD7F622A45BC6E007BBBF7;
|
||||
remoteInfo = "MoltenVK-xrOS";
|
||||
};
|
||||
DCFD7F672A45BC81007BBBF7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = A92DB3EE1CE0F72500FBC835 /* MoltenVK.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = DCFD7EDF2A45BC6E007BBBF7;
|
||||
remoteInfo = "MoltenVK-xrOS";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@ -229,6 +255,7 @@
|
||||
A92DB3F51CE0F72500FBC835 /* libMoltenVK.a */,
|
||||
2FEA0ABE2490302F00EEF3AD /* libMoltenVK.a */,
|
||||
A92DB3F71CE0F72500FBC835 /* libMoltenVK.a */,
|
||||
DCFD7F662A45BC7D007BBBF7 /* libMoltenVK.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@ -317,6 +344,7 @@
|
||||
2FEA0A2F24902F5E00EEF3AD /* MoltenVK-tvOS */,
|
||||
A975D58B2140586700D4834F /* MoltenVK-macOS */,
|
||||
A9AD700D2440ED3B00B9E254 /* MVKShaderConverterTool */,
|
||||
DCFD7ED52A45BC56007BBBF7 /* MoltenVK-xrOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -371,6 +399,13 @@
|
||||
remoteRef = A9FC5F5C249D2547003CB086 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
DCFD7F662A45BC7D007BBBF7 /* libMoltenVK.a */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = archive.ar;
|
||||
path = "libMoltenVK.a";
|
||||
remoteRef = DCFD7F652A45BC7D007BBBF7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
@ -458,6 +493,22 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n. \"${SRCROOT}/Scripts/package_shader_converter_tool.sh\"\n\n";
|
||||
};
|
||||
DCFD7ED82A45BC56007BBBF7 /* Package MoltenVK */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${BUILT_PRODUCTS_DIR}/../XCFrameworkStaging",
|
||||
);
|
||||
name = "Package MoltenVK";
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/Scripts/package_all.sh\"\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
@ -496,6 +547,11 @@
|
||||
name = "MoltenVK-tvOS";
|
||||
targetProxy = A9B1008424F84BA700EADC6E /* PBXContainerItemProxy */;
|
||||
};
|
||||
DCFD7F682A45BC81007BBBF7 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "MoltenVK-xrOS";
|
||||
targetProxy = DCFD7F672A45BC81007BBBF7 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@ -583,6 +639,20 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
DCFD7EDA2A45BC56007BBBF7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DCFD7EDB2A45BC56007BBBF7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@ -640,6 +710,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
DCFD7ED92A45BC56007BBBF7 /* Build configuration list for PBXAggregateTarget "MoltenVK-xrOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DCFD7EDA2A45BC56007BBBF7 /* Debug */,
|
||||
DCFD7EDB2A45BC56007BBBF7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = A90B2B1D1A9B6170008EE819 /* Project object */;
|
||||
|
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1410"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7ED52A45BC56007BBBF7"
|
||||
BuildableName = "MoltenVK-xrOS"
|
||||
BlueprintName = "MoltenVK-xrOS"
|
||||
ReferencedContainer = "container:MoltenVKPackaging.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">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7ED52A45BC56007BBBF7"
|
||||
BuildableName = "MoltenVK-xrOS"
|
||||
BlueprintName = "MoltenVK-xrOS"
|
||||
ReferencedContainer = "container:MoltenVKPackaging.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 52;
|
||||
objectVersion = 54;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@ -65,6 +65,23 @@
|
||||
A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
|
||||
A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
|
||||
A9F042B31FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
|
||||
DCFD7F712A45BDA0007BBBF7 /* SPIRVReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F5E220CB180007203D7 /* SPIRVReflection.h */; };
|
||||
DCFD7F722A45BDA0007BBBF7 /* GLSLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A0251B75B70076851C /* GLSLConversion.h */; };
|
||||
DCFD7F732A45BDA0007BBBF7 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
|
||||
DCFD7F742A45BDA0007BBBF7 /* SPIRVSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A9546B242672A3B8004BA3E6 /* SPIRVSupport.h */; };
|
||||
DCFD7F752A45BDA0007BBBF7 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
|
||||
DCFD7F762A45BDA0007BBBF7 /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
|
||||
DCFD7F772A45BDA0007BBBF7 /* SPIRVToMSLConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A9093F5B1C58013E0094110D /* SPIRVToMSLConverter.h */; };
|
||||
DCFD7F782A45BDA0007BBBF7 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
|
||||
DCFD7F7A2A45BDA0007BBBF7 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
|
||||
DCFD7F7B2A45BDA0007BBBF7 /* GLSLConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A920A8A1251B75B70076851C /* GLSLConversion.mm */; };
|
||||
DCFD7F7C2A45BDA0007BBBF7 /* GLSLToSPIRVConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A920A89F251B75B70076851C /* GLSLToSPIRVConverter.cpp */; };
|
||||
DCFD7F7D2A45BDA0007BBBF7 /* SPIRVToMSLConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9093F5A1C58013E0094110D /* SPIRVToMSLConverter.cpp */; };
|
||||
DCFD7F7E2A45BDA0007BBBF7 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
|
||||
DCFD7F7F2A45BDA0007BBBF7 /* SPIRVSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9546B232672A3B8004BA3E6 /* SPIRVSupport.cpp */; };
|
||||
DCFD7F812A45BDA0007BBBF7 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
|
||||
DCFD7F822A45BDA0007BBBF7 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
|
||||
DCFD7F832A45BDA0007BBBF7 /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -108,6 +125,7 @@
|
||||
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>"; };
|
||||
A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = "<group>"; };
|
||||
DCFD7F882A45BDA0007BBBF7 /* libMoltenVKShaderConverter.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVKShaderConverter.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -150,6 +168,16 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DCFD7F802A45BDA0007BBBF7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DCFD7F812A45BDA0007BBBF7 /* SPIRVTools.xcframework in Frameworks */,
|
||||
DCFD7F822A45BDA0007BBBF7 /* SPIRVCross.xcframework in Frameworks */,
|
||||
DCFD7F832A45BDA0007BBBF7 /* glslang.xcframework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
@ -228,6 +256,7 @@
|
||||
A9F042A81FB4D060009FCCB8 /* Common */,
|
||||
A964B28D1C57EBC400D930D8 /* Products */,
|
||||
A972AD2921CEE6A80013AB25 /* Frameworks */,
|
||||
DCFD7F882A45BDA0007BBBF7 /* libMoltenVKShaderConverter.a */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@ -279,6 +308,21 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DCFD7F702A45BDA0007BBBF7 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DCFD7F712A45BDA0007BBBF7 /* SPIRVReflection.h in Headers */,
|
||||
DCFD7F722A45BDA0007BBBF7 /* GLSLConversion.h in Headers */,
|
||||
DCFD7F732A45BDA0007BBBF7 /* MVKStrings.h in Headers */,
|
||||
DCFD7F742A45BDA0007BBBF7 /* SPIRVSupport.h in Headers */,
|
||||
DCFD7F752A45BDA0007BBBF7 /* SPIRVConversion.h in Headers */,
|
||||
DCFD7F762A45BDA0007BBBF7 /* GLSLToSPIRVConverter.h in Headers */,
|
||||
DCFD7F772A45BDA0007BBBF7 /* SPIRVToMSLConverter.h in Headers */,
|
||||
DCFD7F782A45BDA0007BBBF7 /* MVKCommonEnvironment.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -353,6 +397,24 @@
|
||||
productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
DCFD7F6F2A45BDA0007BBBF7 /* MoltenVKShaderConverter-xrOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = DCFD7F852A45BDA0007BBBF7 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-xrOS" */;
|
||||
buildPhases = (
|
||||
DCFD7F702A45BDA0007BBBF7 /* Headers */,
|
||||
DCFD7F792A45BDA0007BBBF7 /* Sources */,
|
||||
DCFD7F802A45BDA0007BBBF7 /* Frameworks */,
|
||||
DCFD7F842A45BDA0007BBBF7 /* Copy to Staging */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MoltenVKShaderConverter-xrOS";
|
||||
productName = "MetalGLShaderConverter-macOS";
|
||||
productReference = DCFD7F882A45BDA0007BBBF7 /* libMoltenVKShaderConverter.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
@ -391,6 +453,7 @@
|
||||
A93903B81C57E9D700FE90DC /* MoltenVKShaderConverter-iOS */,
|
||||
2FEA0CFF2490381A00EEF3AD /* MoltenVKShaderConverter-tvOS */,
|
||||
A93903C01C57E9ED00FE90DC /* MoltenVKShaderConverter-macOS */,
|
||||
DCFD7F6F2A45BDA0007BBBF7 /* MoltenVKShaderConverter-xrOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@ -456,6 +519,26 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
|
||||
};
|
||||
DCFD7F842A45BDA0007BBBF7 /* Copy to Staging */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${BUILT_PRODUCTS_DIR}/lib${PRODUCT_NAME}.a",
|
||||
);
|
||||
name = "Copy to Staging";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/$(TARGET_NAME)/CopyPhaseDummyOutputFile",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = ". \"${SRCROOT}/../Scripts/copy_to_staging.sh\"\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@ -510,6 +593,19 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DCFD7F792A45BDA0007BBBF7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DCFD7F7A2A45BDA0007BBBF7 /* FileSupport.mm in Sources */,
|
||||
DCFD7F7B2A45BDA0007BBBF7 /* GLSLConversion.mm in Sources */,
|
||||
DCFD7F7C2A45BDA0007BBBF7 /* GLSLToSPIRVConverter.cpp in Sources */,
|
||||
DCFD7F7D2A45BDA0007BBBF7 /* SPIRVToMSLConverter.cpp in Sources */,
|
||||
DCFD7F7E2A45BDA0007BBBF7 /* SPIRVConversion.mm in Sources */,
|
||||
DCFD7F7F2A45BDA0007BBBF7 /* SPIRVSupport.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
@ -707,6 +803,20 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
DCFD7F862A45BDA0007BBBF7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
SDKROOT = xros;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DCFD7F872A45BDA0007BBBF7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
SDKROOT = xros;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@ -755,6 +865,15 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
DCFD7F852A45BDA0007BBBF7 /* Build configuration list for PBXNativeTarget "MoltenVKShaderConverter-xrOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
DCFD7F862A45BDA0007BBBF7 /* Debug */,
|
||||
DCFD7F872A45BDA0007BBBF7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = A9F55D25198BE6A7004EC31B /* Project object */;
|
||||
|
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1410"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DCFD7F6F2A45BDA0007BBBF7"
|
||||
BuildableName = "libMoltenVKShaderConverter.a"
|
||||
BlueprintName = "MoltenVKShaderConverter-xrOS"
|
||||
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 = "DCFD7F6F2A45BDA0007BBBF7"
|
||||
BuildableName = "libMoltenVKShaderConverter.a"
|
||||
BlueprintName = "MoltenVKShaderConverter-xrOS"
|
||||
ReferencedContainer = "container:MoltenVKShaderConverter.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
70
README.md
70
README.md
@ -19,7 +19,7 @@ Table of Contents
|
||||
-----------------
|
||||
|
||||
- [Introduction to **MoltenVK**](#intro)
|
||||
- [Developing Vulkan Applications on *macOS, iOS, and tvOS*](#developing_vulkan)
|
||||
- [Developing Vulkan Applications on *macOS, iOS, tvOS, and visionOS*](#developing_vulkan)
|
||||
- [Using the *Vulkan SDK*](#sdk)
|
||||
- [Using MoltenVK Directly](#download)
|
||||
- [Fetching **MoltenVK** Source Code](#install)
|
||||
@ -38,19 +38,20 @@ Introduction to MoltenVK
|
||||
|
||||
**MoltenVK** is a layered implementation of [*Vulkan 1.2*](https://www.khronos.org/vulkan)
|
||||
graphics and compute functionality, that is built on Apple's [*Metal*](https://developer.apple.com/metal)
|
||||
graphics and compute framework on *macOS*, *iOS*, and *tvOS*. **MoltenVK** allows you to use *Vulkan*
|
||||
graphics and compute functionality to develop modern, cross-platform, high-performance graphical
|
||||
games and applications, and to run them across many platforms, including *macOS*, *iOS*, *tvOS*,
|
||||
*Simulators*, and *Mac Catalyst* on *macOS 11.0+*, and all *Apple* architectures, including *Apple Silicon*.
|
||||
graphics and compute framework on *macOS*, *iOS*, *tvOS*, and *visionOS*. **MoltenVK** allows
|
||||
you to use *Vulkan* graphics and compute functionality to develop modern, cross-platform,
|
||||
high-performance graphical games and applications, and to run them across many platforms,
|
||||
including *macOS*, *iOS*, *tvOS*, *visionOS*, *Simulators*, and *Mac Catalyst* on *macOS 11.0+*,
|
||||
and all *Apple* architectures, including *Apple Silicon*.
|
||||
|
||||
*Metal* uses a different shading language, the *Metal Shading Language (MSL)*, than
|
||||
*Vulkan*, which uses *SPIR-V*. **MoltenVK** automatically converts your *SPIR-V* shaders
|
||||
to their *MSL* equivalents.
|
||||
|
||||
To provide *Vulkan* capability to the *macOS*, *iOS*, and *tvOS* platforms, **MoltenVK** uses *Apple's*
|
||||
publicly available API's, including *Metal*. **MoltenVK** does **_not_** use any private or
|
||||
undocumented API calls or features, so your app will be compatible with all standard distribution
|
||||
channels, including *Apple's App Store*.
|
||||
To provide *Vulkan* capability to the *macOS*, *iOS*, *tvOS*, and *visionOS* platforms,
|
||||
**MoltenVK** uses *Apple's* publicly available API's, including *Metal*. **MoltenVK**
|
||||
does **_not_** use any private or undocumented API calls or features, so your app will
|
||||
be compatible with all standard distribution channels, including *Apple's App Store*.
|
||||
|
||||
The **MoltenVK** runtime package contains two products:
|
||||
|
||||
@ -67,8 +68,8 @@ The **MoltenVK** runtime package contains two products:
|
||||
|
||||
|
||||
<a name="developing_vulkan"></a>
|
||||
Developing *Vulkan* Applications for *macOS, iOS, and tvOS*
|
||||
---------------------------------------------------------
|
||||
Developing *Vulkan* Applications for *macOS, iOS, tvOS, and visionOS*
|
||||
---------------------------------------------------------------------
|
||||
|
||||
<a name="sdk"></a>
|
||||
### Using the *Vulkan SDK*
|
||||
@ -96,10 +97,10 @@ extension in the *Vulkan* specification for more information about the use of th
|
||||
<a name="download"></a>
|
||||
### Using MoltenVK Directly
|
||||
|
||||
If you are developing a *Vulkan* application for *iOS* or *tvOS*, or are developing a
|
||||
*Vulkan* application for *macOS* and want to use a different version or build of the
|
||||
**MoltenVK** runtime library than provided in the *macOS Vulkan SDK*, you can access
|
||||
a pre-built MoltenVK binary library from the **MoltenVK** repository, by
|
||||
If you are developing a *Vulkan* application for *iOS*, *tvOS*, or *visionOS*, or are
|
||||
developing a *Vulkan* application for *macOS* and want to use a different version or
|
||||
build of the **MoltenVK** runtime library than provided in the *macOS Vulkan SDK*,
|
||||
you can access a pre-built MoltenVK binary library from the **MoltenVK** repository, by
|
||||
[selecting a repository commit from the list](https://github.com/KhronosGroup/MoltenVK/actions),
|
||||
and downloading the associated **MoltenVK** runtime library artifact.
|
||||
|
||||
@ -148,14 +149,21 @@ for which to build the external libraries. The platform choices include:
|
||||
--maccat
|
||||
--tvos
|
||||
--tvossim
|
||||
--visionos
|
||||
--visionossim
|
||||
|
||||
The `visionos` and `visionossim` selections require Xcode 15+.
|
||||
|
||||
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.
|
||||
The `--all` selection is the same as entering all of the other platform choices, except
|
||||
`--visionos` and `--visionossim`, and will result in a single `XCFramework` for each
|
||||
external dependency library, with each `XCFramework` containing binaries for all supported
|
||||
platforms and simulators. The `--visionos` and `--visionossim` selections must be invoked
|
||||
with a separate invocation of `fetchDependencies`, because those selections require
|
||||
Xcode 15+, and will cause a multi-platform build on older versions of Xcode to abort.
|
||||
|
||||
Running `fetchDependencies` repeatedly with different platforms will accumulate
|
||||
targets in the `XCFramework`.
|
||||
@ -196,11 +204,11 @@ _Xcode_ version. If you require support for earlier OS versions, modify the `MAC
|
||||
build setting of `iOS 11.0` or greater, or a minimum **tvOS Deployment Target** (aka `TVOS_DEPLOYMENT_TARGET `)
|
||||
build setting of `tvOS 11.0` or greater.
|
||||
|
||||
Once built, the **MoltenVK** libraries can be run on *macOS*, *iOS* or *tvOS* devices that support *Metal*,
|
||||
or on the *Xcode* *iOS Simulator* or *tvOS Simulator*.
|
||||
Once built, the **MoltenVK** libraries can be run on *macOS*, *iOS*, *tvOS*, or *visionOS* devices
|
||||
that support *Metal*,or on the *Xcode* *iOS Simulator*, *tvOS Simulator*, or *visionOS Simulator*.
|
||||
|
||||
- At runtime, **MoltenVK** requires at least *macOS 10.11*, *iOS 9*, or *tvOS 9*
|
||||
(or *iOS 11* or *tvOS 11* if using `IOSurfaces`).
|
||||
- At runtime, **MoltenVK** requires at least *macOS 10.11*, *iOS 9.0*, *tvOS 9.0*,
|
||||
or *visionOS 1.0* (or *iOS 11* or *tvOS 11* if using `IOSurfaces`).
|
||||
- Information on *macOS* devices that are compatible with *Metal* can be found in
|
||||
[this article](http://www.idownloadblog.com/2015/06/22/how-to-find-mac-el-capitan-metal-compatible).
|
||||
- Information on *iOS* devices that are compatible with *Metal* can be found in
|
||||
@ -220,6 +228,7 @@ platforms, or just one platform (in **_Release_** configuration):
|
||||
- **MoltenVK Package (macOS only)**
|
||||
- **MoltenVK Package (iOS only)**
|
||||
- **MoltenVK Package (tvOS only)**
|
||||
- **MoltenVK Package (visionOS only)** _(requires Xcode 15+)_
|
||||
|
||||
Each of these`MoltenVKPackaging.xcodeproj` *Xcode* project *Schemes* puts the resulting packages in the
|
||||
`Package` directory, creating it if necessary. This directory contains separate `Release` and `Debug`
|
||||
@ -254,6 +263,8 @@ from the command line. The following `make` targets are provided:
|
||||
make maccat
|
||||
make tvos
|
||||
make tvossim
|
||||
make visionos
|
||||
make visionossim
|
||||
|
||||
make all-debug
|
||||
make macos-debug
|
||||
@ -262,12 +273,15 @@ from the command line. The following `make` targets are provided:
|
||||
make maccat-debug
|
||||
make tvos-debug
|
||||
make tvossim-debug
|
||||
make visionos-debug
|
||||
make visionossim-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 executes all platform targets, except `visionos` and `visionossim`, as these require
|
||||
Xcode 15+, and will abort a multi-platform build on older versions of Xcode.
|
||||
- The `all` target is the default target. Running `make` with no arguments is the same as running `make all`.
|
||||
- The `*-debug` targets build the binaries using the **_Debug_** configuration.
|
||||
- The `install` target will copy the most recently built `MoltenVK.xcframework` into the
|
||||
@ -346,14 +360,14 @@ the contents of that directory out of this **MoltenVK** repository into your own
|
||||
------------------------------------
|
||||
|
||||
**MoltenVK** is designed to be an implementation of a *Vulkan 1.2* subset that runs on *macOS*, *iOS*,
|
||||
and *tvOS* platforms by mapping *Vulkan* capability to native *Metal* capability.
|
||||
*tvOS*, and *visionOS* platforms by mapping *Vulkan* capability to native *Metal* capability.
|
||||
|
||||
The fundamental design and development goal of **MoltenVK** is to provide this capability in a way that
|
||||
is both maximally compliant with the *Vulkan 1.2* specification, and maximally performant.
|
||||
|
||||
Such compliance and performance is inherently affected by the capability available through *Metal*, as the
|
||||
native graphics driver on *macOS*, *iOS*, and *tvOS* platforms. *Vulkan* compliance may fall into one of
|
||||
the following categories:
|
||||
Such compliance and performance is inherently affected by the capability available through *Metal*,
|
||||
as the native graphics driver on *macOS*, *iOS*, *tvOS*, and *visionOS* platforms. *Vulkan*
|
||||
compliance may fall into one of the following categories:
|
||||
|
||||
- Direct mapping between *Vulkan* capabilities and *Metal* capabilities. Within **MoltenVK**, the vast
|
||||
majority of *Vulkan* capability is the result of this type of direct mapping.
|
||||
@ -376,7 +390,7 @@ be implemented or worked around.
|
||||
[*Khronos Vulkan Portability Initiative*](https://www.khronos.org/vulkan/portability-initiative),
|
||||
whose intention is to provide specifications, resources, and tools to allow developers to understand and design
|
||||
their *Vulkan* apps for maximum cross-platform compatibility and portability, including on platforms, such as
|
||||
*macOS*, *iOS*, and *tvOS*, where a native *Vulkan* driver is not available.
|
||||
*macOS*, *iOS*, *tvOS*, and *visionOS*, where a native *Vulkan* driver is not available.
|
||||
|
||||
|
||||
|
||||
|
@ -45,7 +45,7 @@ clang++ \
|
||||
-stdlib=${CLANG_CXX_LIBRARY} \
|
||||
-dynamiclib \
|
||||
$(printf -- "-arch %s " ${ARCHS}) \
|
||||
-m${MVK_OS_CLANG}-version-min=${MVK_MIN_OS_VERSION} \
|
||||
${MVK_CLANG_OS_MIN_VERSION} \
|
||||
-compatibility_version 1.0.0 -current_version 1.0.0 \
|
||||
-install_name "@rpath/${MVK_DYLIB_NAME}" \
|
||||
-Wno-incompatible-sysroot \
|
||||
|
@ -7,7 +7,6 @@ if [ "${IS_MACCATALYST}" == "YES" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
export MVK_OS_CLANG="ios"
|
||||
export MVK_UX_FWK="UIKit"
|
||||
export MVK_MIN_OS_VERSION=${IPHONEOS_DEPLOYMENT_TARGET}
|
||||
export MVK_IOSURFACE_FWK="-framework IOSurface"
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
set -e
|
||||
|
||||
export MVK_OS_CLANG="macosx"
|
||||
export MVK_UX_FWK="AppKit"
|
||||
export MVK_MIN_OS_VERSION=${MACOSX_DEPLOYMENT_TARGET}
|
||||
export MVK_CLANG_OS_MIN_VERSION="-mmacosx-version-min=${MVK_MIN_OS_VERSION}"
|
||||
export MVK_IOSURFACE_FWK="-framework IOSurface"
|
||||
export MVK_IOKIT_FWK="-framework IOKit"
|
||||
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
set -e
|
||||
|
||||
export MVK_OS_CLANG="tvos"
|
||||
export MVK_UX_FWK="UIKit"
|
||||
export MVK_MIN_OS_VERSION=${TVOS_DEPLOYMENT_TARGET}
|
||||
export MVK_CLANG_OS_MIN_VERSION="-mtvos-version-min=${MVK_MIN_OS_VERSION}"
|
||||
export MVK_IOSURFACE_FWK="-framework IOSurface"
|
||||
export MVK_IOKIT_FWK=""
|
||||
|
||||
|
11
Scripts/create_dylib_xros.sh
Executable file
11
Scripts/create_dylib_xros.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export MVK_UX_FWK="UIKit"
|
||||
export MVK_MIN_OS_VERSION=${XROS_DEPLOYMENT_TARGET}
|
||||
export MVK_CLANG_OS_MIN_VERSION="" #"-mxros-version-min=${MVK_MIN_OS_VERSION}"
|
||||
export MVK_IOSURFACE_FWK="-framework IOSurface"
|
||||
export MVK_IOKIT_FWK="-framework IOKit"
|
||||
|
||||
. "${SRCROOT}/../Scripts/create_dylib.sh"
|
@ -38,6 +38,8 @@ copy_dylib "-iphoneos" "iOS"
|
||||
copy_dylib "-iphonesimulator" "iOS-simulator"
|
||||
copy_dylib "-appletvos" "tvOS"
|
||||
copy_dylib "-appletvsimulator" "tvOS-simulator"
|
||||
copy_dylib "-xrvos" "xrOS"
|
||||
copy_dylib "-xrsimulator" "xrOS-simulator"
|
||||
|
||||
# Remove and replace header include folder
|
||||
rm -rf "${MVK_PKG_PROD_PATH}/include"
|
||||
|
@ -4,7 +4,8 @@
|
||||
#
|
||||
# fetchDependencies - Retrieves the correct versions of all dependencies
|
||||
#
|
||||
# macOS usage: ./fetchDependencies [--macos] [--ios] [--iossim] [--tvos] [--tvossim] [--all] [--none]
|
||||
# macOS usage: ./fetchDependencies [--macos] [--ios] [--iossim] [--tvos] [--tvossim]
|
||||
# [--visionos] [--visionossim] [--all] [--none]
|
||||
# [-v] [--debug] [--build-spirv-tools]
|
||||
# [--v-headers-root path] [--spirv-cross-root path] [--glslang-root path]
|
||||
#
|
||||
@ -26,10 +27,18 @@
|
||||
# --tvossim
|
||||
# Build the external libraries for the tvOS Simulator platform.
|
||||
#
|
||||
# --visionos
|
||||
# Build the external libraries for the visionOS platform.
|
||||
#
|
||||
# --visionossim
|
||||
# Build the external libraries for the visionOS Simulator platform.
|
||||
#
|
||||
# --all
|
||||
# Equivalent to specifying [--macos --ios --iossim --maccat --tvos --tvossim].
|
||||
# Results in one XCFramework for each external library, each containing
|
||||
# binaries for all supported platforms.
|
||||
# Currently excludes --visionos and --visionossim targets because those
|
||||
# require Xcode 15+ and will abort a multi-platform build.
|
||||
#
|
||||
# --none
|
||||
# Don't build the external libraries for any platform (this is the default).
|
||||
@ -94,6 +103,8 @@ BLD_IOS_SIM=""
|
||||
BLD_MAC_CAT=""
|
||||
BLD_TVOS=""
|
||||
BLD_TVOS_SIM=""
|
||||
BLD_VISIONOS=""
|
||||
BLD_VISIONOS_SIM=""
|
||||
BLD_MACOS=""
|
||||
BLD_SPECIFIED=""
|
||||
XC_CONFIG="Release"
|
||||
@ -129,17 +140,27 @@ while (( "$#" )); do
|
||||
BLD_TVOS_SIM="Y"
|
||||
shift 1
|
||||
;;
|
||||
--visionos)
|
||||
BLD_VISIONOS="Y"
|
||||
shift 1
|
||||
;;
|
||||
--visionossim)
|
||||
BLD_VISIONOS_SIM="Y"
|
||||
shift 1
|
||||
;;
|
||||
--macos)
|
||||
BLD_MACOS="Y"
|
||||
shift 1
|
||||
;;
|
||||
--all)
|
||||
BLD_MACOS="Y"
|
||||
BLD_IOS="Y"
|
||||
BLD_IOS_SIM="Y"
|
||||
BLD_MAC_CAT="Y"
|
||||
BLD_TVOS="Y"
|
||||
BLD_TVOS_SIM="Y"
|
||||
BLD_MACOS="Y"
|
||||
# BLD_VISIONOS="Y" # Requires Xcode 15+
|
||||
# BLD_VISIONOS_SIM="Y" # Requires Xcode 15+
|
||||
shift 1
|
||||
;;
|
||||
--none)
|
||||
@ -477,6 +498,14 @@ if [ "$BLD_TVOS_SIM" != "" ]; then
|
||||
build "tvOS" "tvOS Simulator"
|
||||
fi
|
||||
|
||||
if [ "$BLD_VISIONOS" != "" ]; then
|
||||
build "xrOS" "xrOS"
|
||||
fi
|
||||
|
||||
if [ "$BLD_VISIONOS_SIM" != "" ]; then
|
||||
build "xrOS" "xrOS Simulator"
|
||||
fi
|
||||
|
||||
# Wait for any background process (if selected) to finish
|
||||
if [ "$XC_USE_BCKGND" != "" ]; then
|
||||
wait
|
||||
@ -495,7 +524,7 @@ else
|
||||
echo "WARNING: You did not specify a platform to build."
|
||||
echo "To build the external libraries, include one or"
|
||||
echo "more of the following platform options:"
|
||||
echo " --macos --ios --iossim --maccat --tvos --tvossim --all"
|
||||
echo " --macos --ios --iossim --maccat --tvos --tvossim --visionos --visionossim --all"
|
||||
echo "See the instructions in the fetchDependencies script for more info."
|
||||
fi
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user