diff --git a/Common/MVKCommonEnvironment.h b/Common/MVKCommonEnvironment.h index ca6fe523..84b71aac 100644 --- a/Common/MVKCommonEnvironment.h +++ b/Common/MVKCommonEnvironment.h @@ -62,6 +62,11 @@ extern "C" { # define MVK_TVOS TARGET_OS_TV #endif +/** Building for visionOS. */ +#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 +77,11 @@ extern "C" { # define MVK_MACOS_OR_IOS (MVK_MACOS || MVK_IOS) #endif +/** Building for macOS, iOS or visionOS. */ +#ifndef MVK_MACOS_OR_IOS_ORVISIONOS +# 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 diff --git a/Common/MVKOSExtensions.h b/Common/MVKOSExtensions.h index fde73c5c..65e3c8a8 100644 --- a/Common/MVKOSExtensions.h +++ b/Common/MVKOSExtensions.h @@ -52,13 +52,16 @@ 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 return mvkOSVersionIsAtLeast(iOSMinVer); #endif +#if MVK_VISIONOS + return mvkOSVersionIsAtLeast(visionOSMinVer); +#endif } /** diff --git a/Common/MVKOSExtensions.mm b/Common/MVKOSExtensions.mm index 6c023086..2d9f9907 100644 --- a/Common/MVKOSExtensions.mm +++ b/Common/MVKOSExtensions.mm @@ -97,7 +97,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) { diff --git a/ExternalDependencies.xcodeproj/project.pbxproj b/ExternalDependencies.xcodeproj/project.pbxproj index b450046e..8cdb8e76 100644 --- a/ExternalDependencies.xcodeproj/project.pbxproj +++ b/ExternalDependencies.xcodeproj/project.pbxproj @@ -63,6 +63,20 @@ name = ExternalDependencies; productName = "ExternalLibraries-macOS"; }; + DCFD7EC12A45BAAA007BBBF7 /* ExternalDependencies-xrOS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = DCFD7EC92A45BAAA007BBBF7 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-xrOS" */; + buildPhases = ( + DCFD7EC82A45BAAA007BBBF7 /* Package Libraries */, + ); + dependencies = ( + DCFD7ECD2A45BC08007BBBF7 /* PBXTargetDependency */, + DCFD7ECF2A45BC0C007BBBF7 /* PBXTargetDependency */, + DCFD7ED12A45BC10007BBBF7 /* PBXTargetDependency */, + ); + name = "ExternalDependencies-xrOS"; + productName = "ExternalLibraries-macOS"; + }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ @@ -1698,6 +1712,550 @@ A9F7BCF529425A1B00B30DA7 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B35829425A1800B30DA7 /* decoration.h */; }; A9F7BCF629425A1B00B30DA7 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B35829425A1800B30DA7 /* decoration.h */; }; A9F7BCF729425A1B00B30DA7 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B35829425A1800B30DA7 /* decoration.h */; }; + DCFD7C8B2A45BA7D007BBBF7 /* spirv_cfg.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290921CC60BC00B52A68 /* spirv_cfg.hpp */; }; + DCFD7C8C2A45BA7D007BBBF7 /* spirv_cross_parsed_ir.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290821CC60BC00B52A68 /* spirv_cross_parsed_ir.hpp */; }; + DCFD7C8D2A45BA7D007BBBF7 /* spirv_common.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290721CC60BC00B52A68 /* spirv_common.hpp */; }; + DCFD7C8E2A45BA7D007BBBF7 /* spirv_glsl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290A21CC60BC00B52A68 /* spirv_glsl.hpp */; }; + DCFD7C8F2A45BA7D007BBBF7 /* spirv_parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290C21CC60BC00B52A68 /* spirv_parser.hpp */; }; + DCFD7C902A45BA7D007BBBF7 /* spirv_cross_util.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9717C0B26EE8C730041AE82 /* spirv_cross_util.hpp */; }; + DCFD7C912A45BA7D007BBBF7 /* spirv_cross_containers.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9717C0326EE8C570041AE82 /* spirv_cross_containers.hpp */; }; + DCFD7C922A45BA7D007BBBF7 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9717C0F26EE8C9D0041AE82 /* spirv.hpp */; }; + DCFD7C932A45BA7D007BBBF7 /* spirv_cross_error_handling.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9717C0426EE8C570041AE82 /* spirv_cross_error_handling.hpp */; }; + DCFD7C942A45BA7D007BBBF7 /* spirv_cross.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290321CC60BC00B52A68 /* spirv_cross.hpp */; }; + DCFD7C952A45BA7D007BBBF7 /* spirv_msl.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A976290221CC60BC00B52A68 /* spirv_msl.hpp */; }; + DCFD7C962A45BA7D007BBBF7 /* spirv_reflect.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 450A4F63221C5A95007203D7 /* spirv_reflect.hpp */; }; + DCFD7C982A45BA7D007BBBF7 /* spirv_msl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290D21CC60BC00B52A68 /* spirv_msl.cpp */; }; + DCFD7C992A45BA7D007BBBF7 /* spirv_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290421CC60BC00B52A68 /* spirv_parser.cpp */; }; + DCFD7C9A2A45BA7D007BBBF7 /* spirv_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290B21CC60BC00B52A68 /* spirv_cfg.cpp */; }; + DCFD7C9B2A45BA7D007BBBF7 /* spirv_cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290521CC60BC00B52A68 /* spirv_cross.cpp */; }; + DCFD7C9C2A45BA7D007BBBF7 /* spirv_reflect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450A4F64221C5A95007203D7 /* spirv_reflect.cpp */; }; + DCFD7C9D2A45BA7D007BBBF7 /* spirv_glsl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290621CC60BC00B52A68 /* spirv_glsl.cpp */; }; + DCFD7C9E2A45BA7D007BBBF7 /* spirv_cross_parsed_ir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A976290E21CC60BC00B52A68 /* spirv_cross_parsed_ir.cpp */; }; + DCFD7CA62A45BA92007BBBF7 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F99626865A550006F71B /* propagateNoContraction.h */; }; + DCFD7CA72A45BA92007BBBF7 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95626865A550006F71B /* disassemble.h */; }; + DCFD7CA82A45BA92007BBBF7 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9B126865A550006F71B /* PpContext.h */; }; + DCFD7CA92A45BA92007BBBF7 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98226865A550006F71B /* InfoSink.h */; }; + DCFD7CAA2A45BA92007BBBF7 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95526865A550006F71B /* bitutils.h */; }; + DCFD7CAB2A45BA92007BBBF7 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94426865A550006F71B /* SpvBuilder.h */; }; + DCFD7CAC2A45BA92007BBBF7 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95826865A550006F71B /* GLSL.std.450.h */; }; + DCFD7CAD2A45BA92007BBBF7 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95C26865A550006F71B /* Logger.h */; }; + DCFD7CAE2A45BA92007BBBF7 /* pch.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98A26865A550006F71B /* pch.h */; }; + DCFD7CAF2A45BA92007BBBF7 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9A226865A550006F71B /* LiveTraverser.h */; }; + DCFD7CB02A45BA92007BBBF7 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95426865A550006F71B /* spvIR.h */; }; + DCFD7CB12A45BA92007BBBF7 /* glslang_c_shader_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97B26865A550006F71B /* glslang_c_shader_types.h */; }; + DCFD7CB22A45BA92007BBBF7 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9A726865A550006F71B /* attribute.h */; }; + DCFD7CB32A45BA92007BBBF7 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9B726865A550006F71B /* Scan.h */; }; + DCFD7CB42A45BA92007BBBF7 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97926865A550006F71B /* Types.h */; }; + DCFD7CB52A45BA92007BBBF7 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98326865A550006F71B /* PoolAlloc.h */; }; + DCFD7CB62A45BA92007BBBF7 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97D26865A550006F71B /* InitializeGlobals.h */; }; + DCFD7CB72A45BA92007BBBF7 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98726865A550006F71B /* parseVersions.h */; }; + DCFD7CB82A45BA92007BBBF7 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96E26865A550006F71B /* osinclude.h */; }; + DCFD7CB92A45BA92007BBBF7 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98826865A550006F71B /* gl_types.h */; }; + DCFD7CBA2A45BA92007BBBF7 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98D26865A550006F71B /* localintermediate.h */; }; + DCFD7CBB2A45BA92007BBBF7 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94C26865A550006F71B /* GLSL.ext.AMD.h */; }; + DCFD7CBC2A45BA92007BBBF7 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9B626865A550006F71B /* reflection.h */; }; + DCFD7CBD2A45BA92007BBBF7 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97E26865A550006F71B /* ShHandle.h */; }; + DCFD7CBE2A45BA92007BBBF7 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98C26865A550006F71B /* iomapper.h */; }; + DCFD7CBF2A45BA92007BBBF7 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95226865A550006F71B /* GLSL.ext.NV.h */; }; + DCFD7CC02A45BA92007BBBF7 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F99726865A550006F71B /* Versions.h */; }; + DCFD7CC12A45BA92007BBBF7 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94326865A550006F71B /* SPVRemapper.h */; }; + DCFD7CC22A45BA92007BBBF7 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98126865A550006F71B /* ConstantUnion.h */; }; + DCFD7CC32A45BA92007BBBF7 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94D26865A550006F71B /* doc.h */; }; + DCFD7CC42A45BA92007BBBF7 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9A326865A550006F71B /* Initialize.h */; }; + DCFD7CC52A45BA92007BBBF7 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95026865A550006F71B /* GLSL.ext.EXT.h */; }; + DCFD7CC62A45BA92007BBBF7 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97626865A550006F71B /* ResourceLimits.h */; }; + DCFD7CC72A45BA92007BBBF7 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98026865A550006F71B /* Common.h */; }; + DCFD7CC82A45BA92007BBBF7 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95126865A550006F71B /* GLSL.ext.KHR.h */; }; + DCFD7CC92A45BA92007BBBF7 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97A26865A550006F71B /* intermediate.h */; }; + DCFD7CCA2A45BA92007BBBF7 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9B926865A550006F71B /* ShaderLang.h */; }; + DCFD7CCB2A45BA92007BBBF7 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F98B26865A550006F71B /* ScanContext.h */; }; + DCFD7CCC2A45BA92007BBBF7 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9AF26865A550006F71B /* PpTokens.h */; }; + DCFD7CCD2A45BA92007BBBF7 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97C26865A550006F71B /* BaseTypes.h */; }; + DCFD7CCE2A45BA92007BBBF7 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95B26865A550006F71B /* hex_float.h */; }; + DCFD7CCF2A45BA92007BBBF7 /* SpvTools.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94926865A550006F71B /* SpvTools.h */; }; + DCFD7CD02A45BA92007BBBF7 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F99026865A550006F71B /* RemoveTree.h */; }; + DCFD7CD12A45BA92007BBBF7 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F99D26865A550006F71B /* SymbolTable.h */; }; + DCFD7CD22A45BA92007BBBF7 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97F26865A550006F71B /* arrays.h */; }; + DCFD7CD32A45BA92007BBBF7 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A997F94E26865A550006F71B /* spirv.hpp */; }; + DCFD7CD42A45BA92007BBBF7 /* glslang_c_interface.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97726865A550006F71B /* glslang_c_interface.h */; }; + DCFD7CD52A45BA92007BBBF7 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F95726865A550006F71B /* GlslangToSpv.h */; }; + DCFD7CD62A45BA92007BBBF7 /* SpirvIntrinsics.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F97826865A550006F71B /* SpirvIntrinsics.h */; }; + DCFD7CD72A45BA92007BBBF7 /* NonSemanticDebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F94226865A550006F71B /* NonSemanticDebugPrintf.h */; }; + DCFD7CD82A45BA92007BBBF7 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9A126865A550006F71B /* glslang_tab.cpp.h */; }; + DCFD7CD92A45BA92007BBBF7 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F9AC26865A550006F71B /* ParseHelper.h */; }; + DCFD7CDA2A45BA92007BBBF7 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A997F96126865A550006F71B /* InitializeDll.h */; }; + DCFD7CDC2A45BA92007BBBF7 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F98626865A550006F71B /* ParseHelper.cpp */; }; + DCFD7CDD2A45BA92007BBBF7 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95D26865A550006F71B /* doc.cpp */; }; + DCFD7CDE2A45BA92007BBBF7 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A426865A550006F71B /* attribute.cpp */; }; + DCFD7CDF2A45BA92007BBBF7 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99826865A550006F71B /* IntermTraverse.cpp */; }; + DCFD7CE02A45BA92007BBBF7 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A826865A550006F71B /* Versions.cpp */; }; + DCFD7CE12A45BA92007BBBF7 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A526865A550006F71B /* reflection.cpp */; }; + DCFD7CE22A45BA92007BBBF7 /* spirv_c_interface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F94826865A550006F71B /* spirv_c_interface.cpp */; }; + DCFD7CE32A45BA92007BBBF7 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F98926865A550006F71B /* propagateNoContraction.cpp */; }; + DCFD7CE42A45BA92007BBBF7 /* glslang_c_interface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F97426865A550006F71B /* glslang_c_interface.cpp */; }; + DCFD7CE52A45BA92007BBBF7 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95926865A550006F71B /* SPVRemapper.cpp */; }; + DCFD7CE62A45BA92007BBBF7 /* SpvTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F94A26865A550006F71B /* SpvTools.cpp */; }; + DCFD7CE72A45BA92007BBBF7 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95A26865A550006F71B /* Logger.cpp */; }; + DCFD7CE82A45BA92007BBBF7 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96C26865A550006F71B /* ossource.cpp */; }; + DCFD7CE92A45BA92007BBBF7 /* SpvPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F94626865A550006F71B /* SpvPostProcess.cpp */; }; + DCFD7CEA2A45BA92007BBBF7 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F98E26865A550006F71B /* Scan.cpp */; }; + DCFD7CEB2A45BA92007BBBF7 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B426865A550006F71B /* PpScanner.cpp */; }; + DCFD7CEC2A45BA92007BBBF7 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B326865A550006F71B /* PpContext.cpp */; }; + DCFD7CED2A45BA92007BBBF7 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95E26865A550006F71B /* disassemble.cpp */; }; + DCFD7CEE2A45BA92007BBBF7 /* SpirvIntrinsics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99426865A550006F71B /* SpirvIntrinsics.cpp */; }; + DCFD7CEF2A45BA92007BBBF7 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9AA26865A550006F71B /* linkValidate.cpp */; }; + DCFD7CF02A45BA92007BBBF7 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99526865A550006F71B /* parseConst.cpp */; }; + DCFD7CF12A45BA92007BBBF7 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F96226865A550006F71B /* InitializeDll.cpp */; }; + DCFD7CF22A45BA92007BBBF7 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9CD26865A550006F71B /* Link.cpp */; }; + DCFD7CF32A45BA92007BBBF7 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99A26865A550006F71B /* iomapper.cpp */; }; + DCFD7CF42A45BA92007BBBF7 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B526865A550006F71B /* ParseContextBase.cpp */; }; + DCFD7CF52A45BA92007BBBF7 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B226865A550006F71B /* PpTokens.cpp */; }; + DCFD7CF62A45BA92007BBBF7 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F95326865A550006F71B /* GlslangToSpv.cpp */; }; + DCFD7CF72A45BA92007BBBF7 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99326865A550006F71B /* limits.cpp */; }; + DCFD7CF82A45BA92007BBBF7 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99226865A550006F71B /* glslang_tab.cpp */; }; + DCFD7CF92A45BA92007BBBF7 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A926865A550006F71B /* Constant.cpp */; }; + DCFD7CFA2A45BA92007BBBF7 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99E26865A550006F71B /* InfoSink.cpp */; }; + DCFD7CFB2A45BA92007BBBF7 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A626865A550006F71B /* RemoveTree.cpp */; }; + DCFD7CFC2A45BA92007BBBF7 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99926865A550006F71B /* intermOut.cpp */; }; + DCFD7CFD2A45BA92007BBBF7 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99B26865A550006F71B /* PoolAlloc.cpp */; }; + DCFD7CFE2A45BA92007BBBF7 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99126865A550006F71B /* Initialize.cpp */; }; + DCFD7CFF2A45BA92007BBBF7 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99C26865A550006F71B /* ShaderLang.cpp */; }; + DCFD7D002A45BA92007BBBF7 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F99F26865A550006F71B /* Intermediate.cpp */; }; + DCFD7D012A45BA92007BBBF7 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F94B26865A550006F71B /* InReadableOrder.cpp */; }; + DCFD7D022A45BA92007BBBF7 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9AE26865A550006F71B /* PpAtom.cpp */; }; + DCFD7D032A45BA92007BBBF7 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F94F26865A550006F71B /* SpvBuilder.cpp */; }; + DCFD7D042A45BA92007BBBF7 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9CC26865A550006F71B /* CodeGen.cpp */; }; + DCFD7D052A45BA92007BBBF7 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9A026865A550006F71B /* SymbolTable.cpp */; }; + DCFD7D062A45BA92007BBBF7 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A997F9B026865A550006F71B /* Pp.cpp */; }; + DCFD7D0E2A45BA9C007BBBF7 /* replace_invalid_opc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0BC29425A1700B30DA7 /* replace_invalid_opc.h */; }; + DCFD7D0F2A45BA9C007BBBF7 /* convert_to_sampled_image_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0EE29425A1700B30DA7 /* convert_to_sampled_image_pass.h */; }; + DCFD7D102A45BA9C007BBBF7 /* text_handler.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08C29425A1700B30DA7 /* text_handler.h */; }; + DCFD7D112A45BA9C007BBBF7 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0DA29425A1700B30DA7 /* types.h */; }; + DCFD7D122A45BA9C007BBBF7 /* dead_insert_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10E29425A1800B30DA7 /* dead_insert_elim_pass.h */; }; + DCFD7D132A45BA9C007BBBF7 /* parse_number.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B01F29425A1700B30DA7 /* parse_number.h */; }; + DCFD7D142A45BA9C007BBBF7 /* make_unique.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02129425A1700B30DA7 /* make_unique.h */; }; + DCFD7D152A45BA9C007BBBF7 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17A29425A1800B30DA7 /* function.h */; }; + DCFD7D162A45BA9C007BBBF7 /* inst_debug_printf_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10A29425A1800B30DA7 /* inst_debug_printf_pass.h */; }; + DCFD7D172A45BA9C007BBBF7 /* block_merge_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0E029425A1700B30DA7 /* block_merge_pass.h */; }; + DCFD7D182A45BA9C007BBBF7 /* scalar_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B529425A1700B30DA7 /* scalar_analysis.h */; }; + DCFD7D192A45BA9C007BBBF7 /* composite.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0AA29425A1700B30DA7 /* composite.h */; }; + DCFD7D1A2A45BA9C007BBBF7 /* enum_set.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B01729425A1700B30DA7 /* enum_set.h */; }; + DCFD7D1B2A45BA9C007BBBF7 /* lints.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B01529425A1700B30DA7 /* lints.h */; }; + DCFD7D1C2A45BA9C007BBBF7 /* freeze_spec_constant_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11029425A1800B30DA7 /* freeze_spec_constant_value_pass.h */; }; + DCFD7D1D2A45BA9C007BBBF7 /* reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05F29425A1700B30DA7 /* reduction_opportunity.h */; }; + DCFD7D1E2A45BA9C007BBBF7 /* ir_context.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0CB29425A1700B30DA7 /* ir_context.h */; }; + DCFD7D1F2A45BA9C007BBBF7 /* loop_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16029425A1800B30DA7 /* loop_utils.h */; }; + DCFD7D202A45BA9C007BBBF7 /* relax_float_ops_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0EA29425A1700B30DA7 /* relax_float_ops_pass.h */; }; + DCFD7D212A45BA9C007BBBF7 /* pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13B29425A1800B30DA7 /* pass.h */; }; + DCFD7D222A45BA9C007BBBF7 /* inline_opaque_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0A529425A1700B30DA7 /* inline_opaque_pass.h */; }; + DCFD7D232A45BA9C007BBBF7 /* strength_reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10729425A1800B30DA7 /* strength_reduction_pass.h */; }; + DCFD7D242A45BA9C007BBBF7 /* pch_source.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07329425A1700B30DA7 /* pch_source.h */; }; + DCFD7D252A45BA9C007BBBF7 /* graphics_robust_access_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B029425A1700B30DA7 /* graphics_robust_access_pass.h */; }; + DCFD7D262A45BA9C007BBBF7 /* scalar_analysis_nodes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14329425A1800B30DA7 /* scalar_analysis_nodes.h */; }; + DCFD7D272A45BA9C007BBBF7 /* operand_to_const_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03829425A1700B30DA7 /* operand_to_const_reduction_opportunity_finder.h */; }; + DCFD7D282A45BA9C007BBBF7 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0DD29425A1700B30DA7 /* basic_block.h */; }; + DCFD7D292A45BA9C007BBBF7 /* strip_nonsemantic_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0A229425A1700B30DA7 /* strip_nonsemantic_info_pass.h */; }; + DCFD7D2A2A45BA9C007BBBF7 /* fold.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13F29425A1800B30DA7 /* fold.h */; }; + DCFD7D2B2A45BA9C007BBBF7 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B34E29425A1800B30DA7 /* instruction.h */; }; + DCFD7D2C2A45BA9C007BBBF7 /* unify_const_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0D729425A1700B30DA7 /* unify_const_pass.h */; }; + DCFD7D2D2A45BA9C007BBBF7 /* vector_dce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16E29425A1800B30DA7 /* vector_dce.h */; }; + DCFD7D2E2A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03629425A1700B30DA7 /* structured_construct_to_block_reduction_opportunity.h */; }; + DCFD7D2F2A45BA9C007BBBF7 /* spirv_target_env.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02E29425A1700B30DA7 /* spirv_target_env.h */; }; + DCFD7D302A45BA9C007BBBF7 /* loop_fusion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0A629425A1700B30DA7 /* loop_fusion.h */; }; + DCFD7D312A45BA9C007BBBF7 /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09A29425A1700B30DA7 /* print.h */; }; + DCFD7D322A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04A29425A1700B30DA7 /* structured_loop_to_selection_reduction_opportunity.h */; }; + DCFD7D332A45BA9C007BBBF7 /* dominator_tree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18429425A1800B30DA7 /* dominator_tree.h */; }; + DCFD7D342A45BA9C007BBBF7 /* dead_branch_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14129425A1800B30DA7 /* dead_branch_elim_pass.h */; }; + DCFD7D352A45BA9C007BBBF7 /* ccp_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17829425A1800B30DA7 /* ccp_pass.h */; }; + DCFD7D362A45BA9C007BBBF7 /* validate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B33D29425A1800B30DA7 /* validate.h */; }; + DCFD7D372A45BA9C007BBBF7 /* construct.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B32829425A1800B30DA7 /* construct.h */; }; + DCFD7D382A45BA9C007BBBF7 /* null_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15329425A1800B30DA7 /* null_pass.h */; }; + DCFD7D392A45BA9C007BBBF7 /* constants.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12429425A1800B30DA7 /* constants.h */; }; + DCFD7D3A2A45BA9C007BBBF7 /* validation_state.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B33729425A1800B30DA7 /* validation_state.h */; }; + DCFD7D3B2A45BA9C007BBBF7 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16A29425A1800B30DA7 /* instruction.h */; }; + DCFD7D3C2A45BA9C007BBBF7 /* loop_unswitch_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16529425A1800B30DA7 /* loop_unswitch_pass.h */; }; + DCFD7D3D2A45BA9C007BBBF7 /* tree_iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0AE29425A1700B30DA7 /* tree_iterator.h */; }; + DCFD7D3E2A45BA9C007BBBF7 /* remove_struct_member_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04629425A1700B30DA7 /* remove_struct_member_reduction_opportunity.h */; }; + DCFD7D3F2A45BA9C007BBBF7 /* validate_scopes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B34129425A1800B30DA7 /* validate_scopes.h */; }; + DCFD7D402A45BA9C007BBBF7 /* passes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14829425A1800B30DA7 /* passes.h */; }; + DCFD7D412A45BA9C007BBBF7 /* interp_fixup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10329425A1800B30DA7 /* interp_fixup_pass.h */; }; + DCFD7D422A45BA9C007BBBF7 /* validate_memory_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B34329425A1800B30DA7 /* validate_memory_semantics.h */; }; + DCFD7D432A45BA9C007BBBF7 /* hash_combine.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02429425A1700B30DA7 /* hash_combine.h */; }; + DCFD7D442A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06029425A1700B30DA7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h */; }; + DCFD7D452A45BA9C007BBBF7 /* strip_debug_info_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B629425A1700B30DA7 /* strip_debug_info_pass.h */; }; + DCFD7D462A45BA9C007BBBF7 /* pch_source_opt.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15829425A1800B30DA7 /* pch_source_opt.h */; }; + DCFD7D472A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05229425A1700B30DA7 /* merge_blocks_reduction_opportunity_finder.h */; }; + DCFD7D482A45BA9C007BBBF7 /* reduction_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06F29425A1700B30DA7 /* reduction_pass.h */; }; + DCFD7D492A45BA9C007BBBF7 /* local_single_store_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B129425A1700B30DA7 /* local_single_store_elim_pass.h */; }; + DCFD7D4A2A45BA9C007BBBF7 /* latest_version_opencl_std_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07029425A1700B30DA7 /* latest_version_opencl_std_header.h */; }; + DCFD7D4B2A45BA9C007BBBF7 /* remove_block_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03329425A1700B30DA7 /* remove_block_reduction_opportunity.h */; }; + DCFD7D4C2A45BA9C007BBBF7 /* remove_function_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05929425A1700B30DA7 /* remove_function_reduction_opportunity_finder.h */; }; + DCFD7D4D2A45BA9C007BBBF7 /* instruction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31A29425A1800B30DA7 /* instruction.h */; }; + DCFD7D4E2A45BA9C007BBBF7 /* eliminate_dead_functions_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13D29425A1800B30DA7 /* eliminate_dead_functions_pass.h */; }; + DCFD7D4F2A45BA9C007BBBF7 /* bit_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02829425A1700B30DA7 /* bit_vector.h */; }; + DCFD7D502A45BA9C007BBBF7 /* assembly_grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B00F29425A1700B30DA7 /* assembly_grammar.h */; }; + DCFD7D512A45BA9C007BBBF7 /* loop_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11C29425A1800B30DA7 /* loop_dependence.h */; }; + DCFD7D522A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03D29425A1700B30DA7 /* simple_conditional_branch_to_branch_reduction_opportunity.h */; }; + DCFD7D532A45BA9C007BBBF7 /* folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13C29425A1800B30DA7 /* folding_rules.h */; }; + DCFD7D542A45BA9C007BBBF7 /* eliminate_dead_members_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11529425A1800B30DA7 /* eliminate_dead_members_pass.h */; }; + DCFD7D552A45BA9C007BBBF7 /* reduction_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06629425A1700B30DA7 /* reduction_util.h */; }; + DCFD7D562A45BA9C007BBBF7 /* table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18929425A1800B30DA7 /* table.h */; }; + DCFD7D572A45BA9C007BBBF7 /* basic_block.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B32F29425A1800B30DA7 /* basic_block.h */; }; + DCFD7D582A45BA9C007BBBF7 /* remove_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06429425A1700B30DA7 /* remove_block_reduction_opportunity_finder.h */; }; + DCFD7D592A45BA9C007BBBF7 /* remove_dontinline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0E929425A1700B30DA7 /* remove_dontinline_pass.h */; }; + DCFD7D5A2A45BA9C007BBBF7 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03429425A1700B30DA7 /* operand_to_dominating_id_reduction_opportunity_finder.h */; }; + DCFD7D5B2A45BA9C007BBBF7 /* operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08029425A1700B30DA7 /* operand.h */; }; + DCFD7D5C2A45BA9C007BBBF7 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09C29425A1700B30DA7 /* disassemble.h */; }; + DCFD7D5D2A45BA9C007BBBF7 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04C29425A1700B30DA7 /* remove_unused_instruction_reduction_opportunity_finder.h */; }; + DCFD7D5E2A45BA9C007BBBF7 /* value_number_table.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11D29425A1800B30DA7 /* value_number_table.h */; }; + DCFD7D5F2A45BA9C007BBBF7 /* small_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02329425A1700B30DA7 /* small_vector.h */; }; + DCFD7D602A45BA9C007BBBF7 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13129425A1800B30DA7 /* log.h */; }; + DCFD7D612A45BA9C007BBBF7 /* ilist_node.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02029425A1700B30DA7 /* ilist_node.h */; }; + DCFD7D622A45BA9C007BBBF7 /* feature_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17F29425A1800B30DA7 /* feature_manager.h */; }; + DCFD7D632A45BA9C007BBBF7 /* loop_fission.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12E29425A1800B30DA7 /* loop_fission.h */; }; + DCFD7D642A45BA9C007BBBF7 /* interface_var_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0AF29425A1700B30DA7 /* interface_var_sroa.h */; }; + DCFD7D652A45BA9C007BBBF7 /* licm_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17629425A1800B30DA7 /* licm_pass.h */; }; + DCFD7D662A45BA9C007BBBF7 /* convert_to_half_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0E829425A1700B30DA7 /* convert_to_half_pass.h */; }; + DCFD7D672A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03B29425A1700B30DA7 /* structured_construct_to_block_reduction_opportunity_finder.h */; }; + DCFD7D682A45BA9C007BBBF7 /* fold_spec_constant_op_and_composite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0DB29425A1700B30DA7 /* fold_spec_constant_op_and_composite_pass.h */; }; + DCFD7D692A45BA9C007BBBF7 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16629425A1800B30DA7 /* cfg.h */; }; + DCFD7D6A2A45BA9C007BBBF7 /* remove_selection_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04F29425A1700B30DA7 /* remove_selection_reduction_opportunity.h */; }; + DCFD7D6B2A45BA9C007BBBF7 /* opcode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31C29425A1800B30DA7 /* opcode.h */; }; + DCFD7D6C2A45BA9C007BBBF7 /* flatten_decoration_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11F29425A1800B30DA7 /* flatten_decoration_pass.h */; }; + DCFD7D6D2A45BA9C007BBBF7 /* private_to_local_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0E729425A1700B30DA7 /* private_to_local_pass.h */; }; + DCFD7D6E2A45BA9C007BBBF7 /* wrap_opkill.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0FE29425A1700B30DA7 /* wrap_opkill.h */; }; + DCFD7D6F2A45BA9C007BBBF7 /* text.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B01B29425A1700B30DA7 /* text.h */; }; + DCFD7D702A45BA9C007BBBF7 /* string_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02229425A1700B30DA7 /* string_utils.h */; }; + DCFD7D712A45BA9C007BBBF7 /* debug_info_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0E229425A1700B30DA7 /* debug_info_manager.h */; }; + DCFD7D722A45BA9C007BBBF7 /* fix_storage_class.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14529425A1800B30DA7 /* fix_storage_class.h */; }; + DCFD7D732A45BA9C007BBBF7 /* copy_prop_arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13229425A1800B30DA7 /* copy_prop_arrays.h */; }; + DCFD7D742A45BA9C007BBBF7 /* change_operand_to_undef_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04D29425A1700B30DA7 /* change_operand_to_undef_reduction_opportunity.h */; }; + DCFD7D752A45BA9C007BBBF7 /* lcs.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08829425A1700B30DA7 /* lcs.h */; }; + DCFD7D762A45BA9C007BBBF7 /* ilist.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02D29425A1700B30DA7 /* ilist.h */; }; + DCFD7D772A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04E29425A1700B30DA7 /* structured_loop_to_selection_reduction_opportunity_finder.h */; }; + DCFD7D782A45BA9C007BBBF7 /* function.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B35429425A1800B30DA7 /* function.h */; }; + DCFD7D792A45BA9C007BBBF7 /* eliminate_dead_constant_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13329425A1800B30DA7 /* eliminate_dead_constant_pass.h */; }; + DCFD7D7A2A45BA9C007BBBF7 /* reduce_load_size.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B229425A1700B30DA7 /* reduce_load_size.h */; }; + DCFD7D7B2A45BA9C007BBBF7 /* set_spec_constant_default_value_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18329425A1800B30DA7 /* set_spec_constant_default_value_pass.h */; }; + DCFD7D7C2A45BA9C007BBBF7 /* diagnostic.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09129425A1700B30DA7 /* diagnostic.h */; }; + DCFD7D7D2A45BA9C007BBBF7 /* dataflow.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18029425A1800B30DA7 /* dataflow.h */; }; + DCFD7D7E2A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06729425A1700B30DA7 /* merge_blocks_reduction_opportunity.h */; }; + DCFD7D7F2A45BA9C007BBBF7 /* module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16129425A1800B30DA7 /* module.h */; }; + DCFD7D802A45BA9C007BBBF7 /* spirv_optimizer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31B29425A1800B30DA7 /* spirv_optimizer_options.h */; }; + DCFD7D812A45BA9C007BBBF7 /* ext_inst.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31629425A1800B30DA7 /* ext_inst.h */; }; + DCFD7D822A45BA9C007BBBF7 /* spirv_reducer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07629425A1700B30DA7 /* spirv_reducer_options.h */; }; + DCFD7D832A45BA9C007BBBF7 /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B35829425A1800B30DA7 /* decoration.h */; }; + DCFD7D842A45BA9C007BBBF7 /* inst_buff_addr_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10629425A1800B30DA7 /* inst_buff_addr_check_pass.h */; }; + DCFD7D852A45BA9C007BBBF7 /* iterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17529425A1800B30DA7 /* iterator.h */; }; + DCFD7D862A45BA9C007BBBF7 /* latest_version_glsl_std_450_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31E29425A1800B30DA7 /* latest_version_glsl_std_450_header.h */; }; + DCFD7D872A45BA9C007BBBF7 /* pch_source_reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05A29425A1700B30DA7 /* pch_source_reduce.h */; }; + DCFD7D882A45BA9C007BBBF7 /* name_mapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08E29425A1700B30DA7 /* name_mapper.h */; }; + DCFD7D892A45BA9C007BBBF7 /* liveness.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0D229425A1700B30DA7 /* liveness.h */; }; + DCFD7D8A2A45BA9C007BBBF7 /* local_redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0F229425A1700B30DA7 /* local_redundancy_elimination.h */; }; + DCFD7D8B2A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04729425A1700B30DA7 /* simple_conditional_branch_to_branch_opportunity_finder.h */; }; + DCFD7D8C2A45BA9C007BBBF7 /* instruction_list.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0C429425A1700B30DA7 /* instruction_list.h */; }; + DCFD7D8D2A45BA9C007BBBF7 /* diff.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08729425A1700B30DA7 /* diff.h */; }; + DCFD7D8E2A45BA9C007BBBF7 /* instrument_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11229425A1800B30DA7 /* instrument_pass.h */; }; + DCFD7D8F2A45BA9C007BBBF7 /* binary.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B32129425A1800B30DA7 /* binary.h */; }; + DCFD7D902A45BA9C007BBBF7 /* inline_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11B29425A1800B30DA7 /* inline_pass.h */; }; + DCFD7D912A45BA9C007BBBF7 /* loop_fusion_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0F929425A1700B30DA7 /* loop_fusion_pass.h */; }; + DCFD7D922A45BA9C007BBBF7 /* dead_variable_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13729425A1800B30DA7 /* dead_variable_elimination.h */; }; + DCFD7D932A45BA9C007BBBF7 /* remove_unused_interface_variables_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18529425A1800B30DA7 /* remove_unused_interface_variables_pass.h */; }; + DCFD7D942A45BA9C007BBBF7 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05529425A1700B30DA7 /* remove_unused_struct_member_reduction_opportunity_finder.h */; }; + DCFD7D952A45BA9C007BBBF7 /* simplification_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14C29425A1800B30DA7 /* simplification_pass.h */; }; + DCFD7D962A45BA9C007BBBF7 /* remove_duplicates_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14E29425A1800B30DA7 /* remove_duplicates_pass.h */; }; + DCFD7D972A45BA9C007BBBF7 /* eliminate_dead_io_components_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10429425A1800B30DA7 /* eliminate_dead_io_components_pass.h */; }; + DCFD7D982A45BA9C007BBBF7 /* enum_string_mapping.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07429425A1700B30DA7 /* enum_string_mapping.h */; }; + DCFD7D992A45BA9C007BBBF7 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02A29425A1700B30DA7 /* hex_float.h */; }; + DCFD7D9A2A45BA9C007BBBF7 /* spirv_validator_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08A29425A1700B30DA7 /* spirv_validator_options.h */; }; + DCFD7D9B2A45BA9C007BBBF7 /* desc_sroa_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B14F29425A1800B30DA7 /* desc_sroa_util.h */; }; + DCFD7D9C2A45BA9C007BBBF7 /* remove_selection_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05129425A1700B30DA7 /* remove_selection_reduction_opportunity_finder.h */; }; + DCFD7D9D2A45BA9C007BBBF7 /* pass_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17029425A1800B30DA7 /* pass_manager.h */; }; + DCFD7D9E2A45BA9C007BBBF7 /* dominator_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13929425A1800B30DA7 /* dominator_analysis.h */; }; + DCFD7D9F2A45BA9C007BBBF7 /* spirv_definition.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07F29425A1700B30DA7 /* spirv_definition.h */; }; + DCFD7DA02A45BA9C007BBBF7 /* block_merge_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0F529425A1700B30DA7 /* block_merge_util.h */; }; + DCFD7DA12A45BA9C007BBBF7 /* remove_function_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04B29425A1700B30DA7 /* remove_function_reduction_opportunity.h */; }; + DCFD7DA22A45BA9C007BBBF7 /* reducer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B05D29425A1700B30DA7 /* reducer.h */; }; + DCFD7DA32A45BA9C007BBBF7 /* def_use_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0EC29425A1700B30DA7 /* def_use_manager.h */; }; + DCFD7DA42A45BA9C007BBBF7 /* type_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18629425A1800B30DA7 /* type_manager.h */; }; + DCFD7DA52A45BA9C007BBBF7 /* common_debug_info.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09729425A1700B30DA7 /* common_debug_info.h */; }; + DCFD7DA62A45BA9C007BBBF7 /* cfg_cleanup_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0EF29425A1700B30DA7 /* cfg_cleanup_pass.h */; }; + DCFD7DA72A45BA9C007BBBF7 /* desc_sroa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0F729425A1700B30DA7 /* desc_sroa.h */; }; + DCFD7DA82A45BA9C007BBBF7 /* local_single_block_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10229425A1800B30DA7 /* local_single_block_elim_pass.h */; }; + DCFD7DA92A45BA9C007BBBF7 /* spirv_endian.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09229425A1700B30DA7 /* spirv_endian.h */; }; + DCFD7DAA2A45BA9C007BBBF7 /* redundancy_elimination.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15A29425A1800B30DA7 /* redundancy_elimination.h */; }; + DCFD7DAB2A45BA9C007BBBF7 /* combine_access_chains.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16F29425A1800B30DA7 /* combine_access_chains.h */; }; + DCFD7DAC2A45BA9C007BBBF7 /* latest_version_spirv_header.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31829425A1800B30DA7 /* latest_version_spirv_header.h */; }; + DCFD7DAD2A45BA9C007BBBF7 /* eliminate_dead_output_stores_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0BD29425A1700B30DA7 /* eliminate_dead_output_stores_pass.h */; }; + DCFD7DAE2A45BA9C007BBBF7 /* spread_volatile_semantics.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17129425A1800B30DA7 /* spread_volatile_semantics.h */; }; + DCFD7DAF2A45BA9C007BBBF7 /* ir_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16329425A1800B30DA7 /* ir_builder.h */; }; + DCFD7DB02A45BA9C007BBBF7 /* build_module.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17729425A1800B30DA7 /* build_module.h */; }; + DCFD7DB12A45BA9C007BBBF7 /* inline_exhaustive_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12329425A1800B30DA7 /* inline_exhaustive_pass.h */; }; + DCFD7DB22A45BA9C007BBBF7 /* reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06229425A1700B30DA7 /* reduction_opportunity_finder.h */; }; + DCFD7DB32A45BA9C007BBBF7 /* divergence_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B01629425A1700B30DA7 /* divergence_analysis.h */; }; + DCFD7DB42A45BA9C007BBBF7 /* upgrade_memory_model.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12929425A1800B30DA7 /* upgrade_memory_model.h */; }; + DCFD7DB52A45BA9C007BBBF7 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02929425A1700B30DA7 /* bitutils.h */; }; + DCFD7DB62A45BA9C007BBBF7 /* parsed_operand.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08D29425A1700B30DA7 /* parsed_operand.h */; }; + DCFD7DB72A45BA9C007BBBF7 /* spirv_constant.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08329425A1700B30DA7 /* spirv_constant.h */; }; + DCFD7DB82A45BA9C007BBBF7 /* fix_func_call_arguments.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B17B29425A1800B30DA7 /* fix_func_call_arguments.h */; }; + DCFD7DB92A45BA9C007BBBF7 /* eliminate_dead_functions_util.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13E29425A1800B30DA7 /* eliminate_dead_functions_util.h */; }; + DCFD7DBA2A45BA9C007BBBF7 /* loop_unroller.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0D329425A1700B30DA7 /* loop_unroller.h */; }; + DCFD7DBB2A45BA9C007BBBF7 /* ssa_rewrite_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B13529425A1800B30DA7 /* ssa_rewrite_pass.h */; }; + DCFD7DBC2A45BA9C007BBBF7 /* propagator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0C329425A1700B30DA7 /* propagator.h */; }; + DCFD7DBD2A45BA9C007BBBF7 /* loop_descriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16929425A1800B30DA7 /* loop_descriptor.h */; }; + DCFD7DBE2A45BA9C007BBBF7 /* merge_return_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0A429425A1700B30DA7 /* merge_return_pass.h */; }; + DCFD7DBF2A45BA9C007BBBF7 /* empty_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0FF29425A1800B30DA7 /* empty_pass.h */; }; + DCFD7DC02A45BA9C007BBBF7 /* scalar_replacement_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15629425A1800B30DA7 /* scalar_replacement_pass.h */; }; + DCFD7DC12A45BA9C007BBBF7 /* code_sink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16729425A1800B30DA7 /* code_sink.h */; }; + DCFD7DC22A45BA9C007BBBF7 /* change_operand_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B06329425A1700B30DA7 /* change_operand_reduction_opportunity.h */; }; + DCFD7DC32A45BA9C007BBBF7 /* analyze_live_input_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12B29425A1800B30DA7 /* analyze_live_input_pass.h */; }; + DCFD7DC42A45BA9C007BBBF7 /* cfa.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B07229425A1700B30DA7 /* cfa.h */; }; + DCFD7DC52A45BA9C007BBBF7 /* amd_ext_to_khr.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0C929425A1700B30DA7 /* amd_ext_to_khr.h */; }; + DCFD7DC62A45BA9C007BBBF7 /* decoration_manager.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B10029425A1800B30DA7 /* decoration_manager.h */; }; + DCFD7DC72A45BA9C007BBBF7 /* loop_peeling.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0F329425A1700B30DA7 /* loop_peeling.h */; }; + DCFD7DC82A45BA9C007BBBF7 /* replace_desc_array_access_using_var_index.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0B729425A1700B30DA7 /* replace_desc_array_access_using_var_index.h */; }; + DCFD7DC92A45BA9C007BBBF7 /* reflect.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15129425A1800B30DA7 /* reflect.h */; }; + DCFD7DCA2A45BA9C007BBBF7 /* compact_ids_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0AC29425A1700B30DA7 /* compact_ids_pass.h */; }; + DCFD7DCB2A45BA9C007BBBF7 /* macro.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B08229425A1700B30DA7 /* macro.h */; }; + DCFD7DCC2A45BA9C007BBBF7 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B02629425A1700B30DA7 /* timer.h */; }; + DCFD7DCD2A45BA9C007BBBF7 /* extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B31F29425A1800B30DA7 /* extensions.h */; }; + DCFD7DCE2A45BA9C007BBBF7 /* mem_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B11329425A1800B30DA7 /* mem_pass.h */; }; + DCFD7DCF2A45BA9C007BBBF7 /* local_access_chain_convert_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0BE29425A1700B30DA7 /* local_access_chain_convert_pass.h */; }; + DCFD7DD02A45BA9C007BBBF7 /* remove_instruction_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03F29425A1700B30DA7 /* remove_instruction_reduction_opportunity.h */; }; + DCFD7DD12A45BA9C007BBBF7 /* control_dependence.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0CD29425A1700B30DA7 /* control_dependence.h */; }; + DCFD7DD22A45BA9C007BBBF7 /* ir_loader.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0D829425A1700B30DA7 /* ir_loader.h */; }; + DCFD7DD32A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B04029425A1700B30DA7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h */; }; + DCFD7DD42A45BA9C007BBBF7 /* workaround1209.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B12F29425A1800B30DA7 /* workaround1209.h */; }; + DCFD7DD52A45BA9C007BBBF7 /* register_pressure.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0AD29425A1700B30DA7 /* register_pressure.h */; }; + DCFD7DD62A45BA9C007BBBF7 /* operand_to_undef_reduction_opportunity_finder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B03129425A1700B30DA7 /* operand_to_undef_reduction_opportunity_finder.h */; }; + DCFD7DD72A45BA9C007BBBF7 /* struct_cfg_analysis.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B0FA29425A1700B30DA7 /* struct_cfg_analysis.h */; }; + DCFD7DD82A45BA9C007BBBF7 /* spirv_fuzzer_options.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B00E29425A1700B30DA7 /* spirv_fuzzer_options.h */; }; + DCFD7DD92A45BA9C007BBBF7 /* const_folding_rules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B15529425A1800B30DA7 /* const_folding_rules.h */; }; + DCFD7DDA2A45BA9C007BBBF7 /* inst_bindless_check_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B18129425A1800B30DA7 /* inst_bindless_check_pass.h */; }; + DCFD7DDB2A45BA9C007BBBF7 /* aggressive_dead_code_elim_pass.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B16B29425A1800B30DA7 /* aggressive_dead_code_elim_pass.h */; }; + DCFD7DDC2A45BA9C007BBBF7 /* if_conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F7B09F29425A1700B30DA7 /* if_conversion.h */; }; + DCFD7DDE2A45BA9C007BBBF7 /* spirv_reducer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B08F29425A1700B30DA7 /* spirv_reducer_options.cpp */; }; + DCFD7DDF2A45BA9C007BBBF7 /* register_pressure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A029425A1700B30DA7 /* register_pressure.cpp */; }; + DCFD7DE02A45BA9C007BBBF7 /* loop_peeling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B18829425A1800B30DA7 /* loop_peeling.cpp */; }; + DCFD7DE12A45BA9C007BBBF7 /* block_merge_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B13829425A1800B30DA7 /* block_merge_pass.cpp */; }; + DCFD7DE22A45BA9C007BBBF7 /* opcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09929425A1700B30DA7 /* opcode.cpp */; }; + DCFD7DE32A45BA9C007BBBF7 /* validate_builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33429425A1800B30DA7 /* validate_builtins.cpp */; }; + DCFD7DE42A45BA9C007BBBF7 /* validate_non_uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32A29425A1800B30DA7 /* validate_non_uniform.cpp */; }; + DCFD7DE52A45BA9C007BBBF7 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B02F29425A1700B30DA7 /* table.cpp */; }; + DCFD7DE62A45BA9C007BBBF7 /* validate_logicals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34729425A1800B30DA7 /* validate_logicals.cpp */; }; + DCFD7DE72A45BA9C007BBBF7 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05E29425A1700B30DA7 /* change_operand_to_undef_reduction_opportunity.cpp */; }; + DCFD7DE82A45BA9C007BBBF7 /* bit_vector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B02C29425A1700B30DA7 /* bit_vector.cpp */; }; + DCFD7DE92A45BA9C007BBBF7 /* ir_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11129425A1800B30DA7 /* ir_context.cpp */; }; + DCFD7DEA2A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03C29425A1700B30DA7 /* structured_loop_to_selection_reduction_opportunity_finder.cpp */; }; + DCFD7DEB2A45BA9C007BBBF7 /* if_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12029425A1800B30DA7 /* if_conversion.cpp */; }; + DCFD7DEC2A45BA9C007BBBF7 /* remove_dontinline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B16D29425A1800B30DA7 /* remove_dontinline_pass.cpp */; }; + DCFD7DED2A45BA9C007BBBF7 /* convert_to_sampled_image_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B13A29425A1800B30DA7 /* convert_to_sampled_image_pass.cpp */; }; + DCFD7DEE2A45BA9C007BBBF7 /* merge_return_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0CA29425A1700B30DA7 /* merge_return_pass.cpp */; }; + DCFD7DEF2A45BA9C007BBBF7 /* reducer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05729425A1700B30DA7 /* reducer.cpp */; }; + DCFD7DF02A45BA9C007BBBF7 /* remove_function_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04229425A1700B30DA7 /* remove_function_reduction_opportunity.cpp */; }; + DCFD7DF12A45BA9C007BBBF7 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32029425A1800B30DA7 /* disassemble.cpp */; }; + DCFD7DF22A45BA9C007BBBF7 /* composite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11929425A1800B30DA7 /* composite.cpp */; }; + DCFD7DF32A45BA9C007BBBF7 /* validate_conversion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33F29425A1800B30DA7 /* validate_conversion.cpp */; }; + DCFD7DF42A45BA9C007BBBF7 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34C29425A1800B30DA7 /* instruction.cpp */; }; + DCFD7DF52A45BA9C007BBBF7 /* validate_ray_query.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32B29425A1800B30DA7 /* validate_ray_query.cpp */; }; + DCFD7DF62A45BA9C007BBBF7 /* operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B31D29425A1800B30DA7 /* operand.cpp */; }; + DCFD7DF72A45BA9C007BBBF7 /* unify_const_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0E529425A1700B30DA7 /* unify_const_pass.cpp */; }; + DCFD7DF82A45BA9C007BBBF7 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03729425A1700B30DA7 /* operand_to_const_reduction_opportunity_finder.cpp */; }; + DCFD7DF92A45BA9C007BBBF7 /* enum_string_mapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B08B29425A1700B30DA7 /* enum_string_mapping.cpp */; }; + DCFD7DFA2A45BA9C007BBBF7 /* validate_mode_setting.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34529425A1800B30DA7 /* validate_mode_setting.cpp */; }; + DCFD7DFB2A45BA9C007BBBF7 /* binary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B08429425A1700B30DA7 /* binary.cpp */; }; + DCFD7DFC2A45BA9C007BBBF7 /* struct_cfg_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B16C29425A1800B30DA7 /* struct_cfg_analysis.cpp */; }; + DCFD7DFD2A45BA9C007BBBF7 /* validate_capability.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32729425A1800B30DA7 /* validate_capability.cpp */; }; + DCFD7DFE2A45BA9C007BBBF7 /* diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B31729425A1800B30DA7 /* diagnostic.cpp */; }; + DCFD7DFF2A45BA9C007BBBF7 /* libspirv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B31929425A1800B30DA7 /* libspirv.cpp */; }; + DCFD7E002A45BA9C007BBBF7 /* validate_mesh_shading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34F29425A1800B30DA7 /* validate_mesh_shading.cpp */; }; + DCFD7E012A45BA9C007BBBF7 /* build_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A829425A1700B30DA7 /* build_module.cpp */; }; + DCFD7E022A45BA9C007BBBF7 /* cfg_cleanup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0CE29425A1700B30DA7 /* cfg_cleanup_pass.cpp */; }; + DCFD7E032A45BA9C007BBBF7 /* spirv_fuzzer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B07529425A1700B30DA7 /* spirv_fuzzer_options.cpp */; }; + DCFD7E042A45BA9C007BBBF7 /* validate_adjacency.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33E29425A1800B30DA7 /* validate_adjacency.cpp */; }; + DCFD7E052A45BA9C007BBBF7 /* validate_id.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34229425A1800B30DA7 /* validate_id.cpp */; }; + DCFD7E062A45BA9C007BBBF7 /* parse_number.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B02B29425A1700B30DA7 /* parse_number.cpp */; }; + DCFD7E072A45BA9C007BBBF7 /* scalar_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B13629425A1800B30DA7 /* scalar_analysis.cpp */; }; + DCFD7E082A45BA9C007BBBF7 /* lint_divergent_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01229425A1700B30DA7 /* lint_divergent_derivatives.cpp */; }; + DCFD7E092A45BA9C007BBBF7 /* remove_struct_member_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05429425A1700B30DA7 /* remove_struct_member_reduction_opportunity.cpp */; }; + DCFD7E0A2A45BA9C007BBBF7 /* validate_scopes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32D29425A1800B30DA7 /* validate_scopes.cpp */; }; + DCFD7E0B2A45BA9C007BBBF7 /* strip_debug_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D429425A1700B30DA7 /* strip_debug_info_pass.cpp */; }; + DCFD7E0C2A45BA9C007BBBF7 /* eliminate_dead_functions_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10929425A1800B30DA7 /* eliminate_dead_functions_util.cpp */; }; + DCFD7E0D2A45BA9C007BBBF7 /* remove_function_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03E29425A1700B30DA7 /* remove_function_reduction_opportunity_finder.cpp */; }; + DCFD7E0E2A45BA9C007BBBF7 /* ssa_rewrite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D529425A1700B30DA7 /* ssa_rewrite_pass.cpp */; }; + DCFD7E0F2A45BA9C007BBBF7 /* validate_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34A29425A1800B30DA7 /* validate_image.cpp */; }; + DCFD7E102A45BA9C007BBBF7 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0E129425A1700B30DA7 /* module.cpp */; }; + DCFD7E112A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04829425A1700B30DA7 /* merge_blocks_reduction_opportunity.cpp */; }; + DCFD7E122A45BA9C007BBBF7 /* constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0F829425A1700B30DA7 /* constants.cpp */; }; + DCFD7E132A45BA9C007BBBF7 /* remove_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06B29425A1700B30DA7 /* remove_block_reduction_opportunity.cpp */; }; + DCFD7E142A45BA9C007BBBF7 /* spirv_target_env.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B00D29425A1700B30DA7 /* spirv_target_env.cpp */; }; + DCFD7E152A45BA9C007BBBF7 /* loop_fission.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C729425A1700B30DA7 /* loop_fission.cpp */; }; + DCFD7E162A45BA9C007BBBF7 /* remove_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06529425A1700B30DA7 /* remove_block_reduction_opportunity_finder.cpp */; }; + DCFD7E172A45BA9C007BBBF7 /* remove_selection_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04429425A1700B30DA7 /* remove_selection_reduction_opportunity_finder.cpp */; }; + DCFD7E182A45BA9C007BBBF7 /* fold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14929425A1800B30DA7 /* fold.cpp */; }; + DCFD7E192A45BA9C007BBBF7 /* def_use_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0FD29425A1700B30DA7 /* def_use_manager.cpp */; }; + DCFD7E1A2A45BA9C007BBBF7 /* parsed_operand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09029425A1700B30DA7 /* parsed_operand.cpp */; }; + DCFD7E1B2A45BA9C007BBBF7 /* eliminate_dead_members_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12529425A1800B30DA7 /* eliminate_dead_members_pass.cpp */; }; + DCFD7E1C2A45BA9C007BBBF7 /* instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15729425A1800B30DA7 /* instruction.cpp */; }; + DCFD7E1D2A45BA9C007BBBF7 /* name_mapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09329425A1700B30DA7 /* name_mapper.cpp */; }; + DCFD7E1E2A45BA9C007BBBF7 /* analyze_live_input_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17D29425A1800B30DA7 /* analyze_live_input_pass.cpp */; }; + DCFD7E1F2A45BA9C007BBBF7 /* validate_cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32629425A1800B30DA7 /* validate_cfg.cpp */; }; + DCFD7E202A45BA9C007BBBF7 /* change_operand_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04929425A1700B30DA7 /* change_operand_reduction_opportunity.cpp */; }; + DCFD7E212A45BA9C007BBBF7 /* validate_instruction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33029425A1800B30DA7 /* validate_instruction.cpp */; }; + DCFD7E222A45BA9C007BBBF7 /* instrument_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C229425A1700B30DA7 /* instrument_pass.cpp */; }; + DCFD7E232A45BA9C007BBBF7 /* validate_ray_tracing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32C29425A1800B30DA7 /* validate_ray_tracing.cpp */; }; + DCFD7E242A45BA9C007BBBF7 /* pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C629425A1700B30DA7 /* pass.cpp */; }; + DCFD7E252A45BA9C007BBBF7 /* ccp_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10129425A1800B30DA7 /* ccp_pass.cpp */; }; + DCFD7E262A45BA9C007BBBF7 /* desc_sroa_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0FB29425A1700B30DA7 /* desc_sroa_util.cpp */; }; + DCFD7E272A45BA9C007BBBF7 /* validate_bitwise.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33929425A1800B30DA7 /* validate_bitwise.cpp */; }; + DCFD7E282A45BA9C007BBBF7 /* block_merge_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12829425A1800B30DA7 /* block_merge_util.cpp */; }; + DCFD7E292A45BA9C007BBBF7 /* validate_debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33329425A1800B30DA7 /* validate_debug.cpp */; }; + DCFD7E2A2A45BA9C007BBBF7 /* loop_descriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11429425A1800B30DA7 /* loop_descriptor.cpp */; }; + DCFD7E2B2A45BA9C007BBBF7 /* linker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09629425A1700B30DA7 /* linker.cpp */; }; + DCFD7E2C2A45BA9C007BBBF7 /* freeze_spec_constant_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0BB29425A1700B30DA7 /* freeze_spec_constant_value_pass.cpp */; }; + DCFD7E2D2A45BA9C007BBBF7 /* string_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B02729425A1700B30DA7 /* string_utils.cpp */; }; + DCFD7E2E2A45BA9C007BBBF7 /* validate_memory_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34629425A1800B30DA7 /* validate_memory_semantics.cpp */; }; + DCFD7E2F2A45BA9C007BBBF7 /* types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0B429425A1700B30DA7 /* types.cpp */; }; + DCFD7E302A45BA9C007BBBF7 /* pch_source.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01D29425A1700B30DA7 /* pch_source.cpp */; }; + DCFD7E312A45BA9C007BBBF7 /* print.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B07E29425A1700B30DA7 /* print.cpp */; }; + DCFD7E322A45BA9C007BBBF7 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33C29425A1800B30DA7 /* function.cpp */; }; + DCFD7E332A45BA9C007BBBF7 /* inline_exhaustive_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12D29425A1800B30DA7 /* inline_exhaustive_pass.cpp */; }; + DCFD7E342A45BA9C007BBBF7 /* eliminate_dead_constant_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0CC29425A1700B30DA7 /* eliminate_dead_constant_pass.cpp */; }; + DCFD7E352A45BA9C007BBBF7 /* inline_opaque_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15E29425A1800B30DA7 /* inline_opaque_pass.cpp */; }; + DCFD7E362A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06829425A1700B30DA7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp */; }; + DCFD7E372A45BA9C007BBBF7 /* linter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01329425A1700B30DA7 /* linter.cpp */; }; + DCFD7E382A45BA9C007BBBF7 /* eliminate_dead_output_stores_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A929425A1700B30DA7 /* eliminate_dead_output_stores_pass.cpp */; }; + DCFD7E392A45BA9C007BBBF7 /* compact_ids_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B18729425A1800B30DA7 /* compact_ids_pass.cpp */; }; + DCFD7E3A2A45BA9C007BBBF7 /* folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10F29425A1800B30DA7 /* folding_rules.cpp */; }; + DCFD7E3B2A45BA9C007BBBF7 /* strip_nonsemantic_info_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11E29425A1800B30DA7 /* strip_nonsemantic_info_pass.cpp */; }; + DCFD7E3C2A45BA9C007BBBF7 /* private_to_local_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14229425A1800B30DA7 /* private_to_local_pass.cpp */; }; + DCFD7E3D2A45BA9C007BBBF7 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0E329425A1700B30DA7 /* fold_spec_constant_op_and_composite_pass.cpp */; }; + DCFD7E3E2A45BA9C007BBBF7 /* validate_ray_tracing_reorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33129425A1800B30DA7 /* validate_ray_tracing_reorder.cpp */; }; + DCFD7E3F2A45BA9C007BBBF7 /* validate_derivatives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34829425A1800B30DA7 /* validate_derivatives.cpp */; }; + DCFD7E402A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04129425A1700B30DA7 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp */; }; + DCFD7E412A45BA9C007BBBF7 /* control_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11829425A1800B30DA7 /* control_dependence.cpp */; }; + DCFD7E422A45BA9C007BBBF7 /* spirv_optimizer_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B07129425A1700B30DA7 /* spirv_optimizer_options.cpp */; }; + DCFD7E432A45BA9C007BBBF7 /* pch_source_reduce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05329425A1700B30DA7 /* pch_source_reduce.cpp */; }; + DCFD7E442A45BA9C007BBBF7 /* dead_variable_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0DF29425A1700B30DA7 /* dead_variable_elimination.cpp */; }; + DCFD7E452A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04529425A1700B30DA7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp */; }; + DCFD7E462A45BA9C007BBBF7 /* strength_reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12629425A1800B30DA7 /* strength_reduction_pass.cpp */; }; + DCFD7E472A45BA9C007BBBF7 /* scalar_analysis_simplification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B18229425A1800B30DA7 /* scalar_analysis_simplification.cpp */; }; + DCFD7E482A45BA9C007BBBF7 /* validate_interfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33529425A1800B30DA7 /* validate_interfaces.cpp */; }; + DCFD7E492A45BA9C007BBBF7 /* validate_atomics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32E29425A1800B30DA7 /* validate_atomics.cpp */; }; + DCFD7E4A2A45BA9C007BBBF7 /* ext_inst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09B29425A1700B30DA7 /* ext_inst.cpp */; }; + DCFD7E4B2A45BA9C007BBBF7 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06129425A1700B30DA7 /* operand_to_dominating_id_reduction_opportunity_finder.cpp */; }; + DCFD7E4C2A45BA9C007BBBF7 /* decoration_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0B929425A1700B30DA7 /* decoration_manager.cpp */; }; + DCFD7E4D2A45BA9C007BBBF7 /* workaround1209.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15229425A1800B30DA7 /* workaround1209.cpp */; }; + DCFD7E4E2A45BA9C007BBBF7 /* interp_fixup_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17329425A1800B30DA7 /* interp_fixup_pass.cpp */; }; + DCFD7E4F2A45BA9C007BBBF7 /* validate_literals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34B29425A1800B30DA7 /* validate_literals.cpp */; }; + DCFD7E502A45BA9C007BBBF7 /* diff.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B08929425A1700B30DA7 /* diff.cpp */; }; + DCFD7E512A45BA9C007BBBF7 /* dominator_tree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C829425A1700B30DA7 /* dominator_tree.cpp */; }; + DCFD7E522A45BA9C007BBBF7 /* interface_var_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14D29425A1800B30DA7 /* interface_var_sroa.cpp */; }; + DCFD7E532A45BA9C007BBBF7 /* upgrade_memory_model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17E29425A1800B30DA7 /* upgrade_memory_model.cpp */; }; + DCFD7E542A45BA9C007BBBF7 /* combine_access_chains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A729425A1700B30DA7 /* combine_access_chains.cpp */; }; + DCFD7E552A45BA9C007BBBF7 /* instruction_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11729425A1800B30DA7 /* instruction_list.cpp */; }; + DCFD7E562A45BA9C007BBBF7 /* aggressive_dead_code_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10829425A1800B30DA7 /* aggressive_dead_code_elim_pass.cpp */; }; + DCFD7E572A45BA9C007BBBF7 /* reduction_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03A29425A1700B30DA7 /* reduction_util.cpp */; }; + DCFD7E582A45BA9C007BBBF7 /* eliminate_dead_functions_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0F129425A1700B30DA7 /* eliminate_dead_functions_pass.cpp */; }; + DCFD7E592A45BA9C007BBBF7 /* validate_small_type_uses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34029425A1800B30DA7 /* validate_small_type_uses.cpp */; }; + DCFD7E5A2A45BA9C007BBBF7 /* validate_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32529425A1800B30DA7 /* validate_misc.cpp */; }; + DCFD7E5B2A45BA9C007BBBF7 /* code_sink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0B329425A1700B30DA7 /* code_sink.cpp */; }; + DCFD7E5C2A45BA9C007BBBF7 /* pass_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12C29425A1800B30DA7 /* pass_manager.cpp */; }; + DCFD7E5D2A45BA9C007BBBF7 /* feature_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C529425A1700B30DA7 /* feature_manager.cpp */; }; + DCFD7E5E2A45BA9C007BBBF7 /* wrap_opkill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0CF29425A1700B30DA7 /* wrap_opkill.cpp */; }; + DCFD7E5F2A45BA9C007BBBF7 /* dataflow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B16829425A1800B30DA7 /* dataflow.cpp */; }; + DCFD7E602A45BA9C007BBBF7 /* validate_type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34D29425A1800B30DA7 /* validate_type.cpp */; }; + DCFD7E612A45BA9C007BBBF7 /* set_spec_constant_default_value_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14729425A1800B30DA7 /* set_spec_constant_default_value_pass.cpp */; }; + DCFD7E622A45BA9C007BBBF7 /* remove_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03229425A1700B30DA7 /* remove_selection_reduction_opportunity.cpp */; }; + DCFD7E632A45BA9C007BBBF7 /* validate_constants.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33829425A1800B30DA7 /* validate_constants.cpp */; }; + DCFD7E642A45BA9C007BBBF7 /* validate_layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35129425A1800B30DA7 /* validate_layout.cpp */; }; + DCFD7E652A45BA9C007BBBF7 /* const_folding_rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D129425A1700B30DA7 /* const_folding_rules.cpp */; }; + DCFD7E662A45BA9C007BBBF7 /* replace_invalid_opc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15F29425A1800B30DA7 /* replace_invalid_opc.cpp */; }; + DCFD7E672A45BA9C007BBBF7 /* eliminate_dead_io_components_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D029425A1700B30DA7 /* eliminate_dead_io_components_pass.cpp */; }; + DCFD7E682A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06E29425A1700B30DA7 /* structured_construct_to_block_reduction_opportunity_finder.cpp */; }; + DCFD7E692A45BA9C007BBBF7 /* reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06D29425A1700B30DA7 /* reduction_opportunity_finder.cpp */; }; + DCFD7E6A2A45BA9C007BBBF7 /* liveness.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0AB29425A1700B30DA7 /* liveness.cpp */; }; + DCFD7E6B2A45BA9C007BBBF7 /* debug_info_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12229425A1800B30DA7 /* debug_info_manager.cpp */; }; + DCFD7E6C2A45BA9C007BBBF7 /* relax_float_ops_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15429425A1800B30DA7 /* relax_float_ops_pass.cpp */; }; + DCFD7E6D2A45BA9C007BBBF7 /* value_number_table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15C29425A1800B30DA7 /* value_number_table.cpp */; }; + DCFD7E6E2A45BA9C007BBBF7 /* text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01929425A1700B30DA7 /* text.cpp */; }; + DCFD7E6F2A45BA9C007BBBF7 /* local_single_store_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14029425A1800B30DA7 /* local_single_store_elim_pass.cpp */; }; + DCFD7E702A45BA9C007BBBF7 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05629425A1700B30DA7 /* remove_unused_instruction_reduction_opportunity_finder.cpp */; }; + DCFD7E712A45BA9C007BBBF7 /* reduction_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B03529425A1700B30DA7 /* reduction_pass.cpp */; }; + DCFD7E722A45BA9C007BBBF7 /* convert_to_half_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11A29425A1800B30DA7 /* convert_to_half_pass.cpp */; }; + DCFD7E732A45BA9C007BBBF7 /* reduce_load_size.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15929425A1800B30DA7 /* reduce_load_size.cpp */; }; + DCFD7E742A45BA9C007BBBF7 /* local_access_chain_convert_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17229425A1800B30DA7 /* local_access_chain_convert_pass.cpp */; }; + DCFD7E752A45BA9C007BBBF7 /* inst_bindless_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0BF29425A1700B30DA7 /* inst_bindless_check_pass.cpp */; }; + DCFD7E762A45BA9C007BBBF7 /* local_single_block_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0BA29425A1700B30DA7 /* local_single_block_elim_pass.cpp */; }; + DCFD7E772A45BA9C007BBBF7 /* validate_execution_limitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35029425A1800B30DA7 /* validate_execution_limitations.cpp */; }; + DCFD7E782A45BA9C007BBBF7 /* function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B11629425A1800B30DA7 /* function.cpp */; }; + DCFD7E792A45BA9C007BBBF7 /* fix_func_call_arguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12129425A1800B30DA7 /* fix_func_call_arguments.cpp */; }; + DCFD7E7A2A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06929425A1700B30DA7 /* structured_loop_to_selection_reduction_opportunity.cpp */; }; + DCFD7E7B2A45BA9C007BBBF7 /* graphics_robust_access_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17929425A1800B30DA7 /* graphics_robust_access_pass.cpp */; }; + DCFD7E7C2A45BA9C007BBBF7 /* construct.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33B29425A1800B30DA7 /* construct.cpp */; }; + DCFD7E7D2A45BA9C007BBBF7 /* loop_unroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0F629425A1700B30DA7 /* loop_unroller.cpp */; }; + DCFD7E7E2A45BA9C007BBBF7 /* spirv_validator_options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B07729425A1700B30DA7 /* spirv_validator_options.cpp */; }; + DCFD7E7F2A45BA9C007BBBF7 /* divergence_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01429425A1700B30DA7 /* divergence_analysis.cpp */; }; + DCFD7E802A45BA9C007BBBF7 /* loop_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A129425A1700B30DA7 /* loop_utils.cpp */; }; + DCFD7E812A45BA9C007BBBF7 /* spread_volatile_semantics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0A329425A1700B30DA7 /* spread_volatile_semantics.cpp */; }; + DCFD7E822A45BA9C007BBBF7 /* desc_sroa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12729425A1800B30DA7 /* desc_sroa.cpp */; }; + DCFD7E832A45BA9C007BBBF7 /* dead_insert_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B13429425A1800B30DA7 /* dead_insert_elim_pass.cpp */; }; + DCFD7E842A45BA9C007BBBF7 /* validate_decorations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33229425A1800B30DA7 /* validate_decorations.cpp */; }; + DCFD7E852A45BA9C007BBBF7 /* loop_fusion_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B13029425A1800B30DA7 /* loop_fusion_pass.cpp */; }; + DCFD7E862A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05B29425A1700B30DA7 /* merge_blocks_reduction_opportunity_finder.cpp */; }; + DCFD7E872A45BA9C007BBBF7 /* flatten_decoration_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10D29425A1800B30DA7 /* flatten_decoration_pass.cpp */; }; + DCFD7E882A45BA9C007BBBF7 /* fix_storage_class.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15B29425A1800B30DA7 /* fix_storage_class.cpp */; }; + DCFD7E892A45BA9C007BBBF7 /* software_version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09829425A1700B30DA7 /* software_version.cpp */; }; + DCFD7E8A2A45BA9C007BBBF7 /* assembly_grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01A29425A1700B30DA7 /* assembly_grammar.cpp */; }; + DCFD7E8B2A45BA9C007BBBF7 /* amd_ext_to_khr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14A29425A1800B30DA7 /* amd_ext_to_khr.cpp */; }; + DCFD7E8C2A45BA9C007BBBF7 /* text_handler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32229425A1800B30DA7 /* text_handler.cpp */; }; + DCFD7E8D2A45BA9C007BBBF7 /* optimizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B09E29425A1700B30DA7 /* optimizer.cpp */; }; + DCFD7E8E2A45BA9C007BBBF7 /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35629425A1800B30DA7 /* validation_state.cpp */; }; + DCFD7E8F2A45BA9C007BBBF7 /* mem_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0DC29425A1700B30DA7 /* mem_pass.cpp */; }; + DCFD7E902A45BA9C007BBBF7 /* replace_desc_array_access_using_var_index.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B16429425A1800B30DA7 /* replace_desc_array_access_using_var_index.cpp */; }; + DCFD7E912A45BA9C007BBBF7 /* ir_loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0ED29425A1700B30DA7 /* ir_loader.cpp */; }; + DCFD7E922A45BA9C007BBBF7 /* extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B01C29425A1700B30DA7 /* extensions.cpp */; }; + DCFD7E932A45BA9C007BBBF7 /* type_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0E629425A1700B30DA7 /* type_manager.cpp */; }; + DCFD7E942A45BA9C007BBBF7 /* scalar_replacement_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14B29425A1800B30DA7 /* scalar_replacement_pass.cpp */; }; + DCFD7E952A45BA9C007BBBF7 /* loop_unswitch_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0E429425A1700B30DA7 /* loop_unswitch_pass.cpp */; }; + DCFD7E962A45BA9C007BBBF7 /* reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05C29425A1700B30DA7 /* reduction_opportunity.cpp */; }; + DCFD7E972A45BA9C007BBBF7 /* validate_extensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33A29425A1800B30DA7 /* validate_extensions.cpp */; }; + DCFD7E982A45BA9C007BBBF7 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06C29425A1700B30DA7 /* remove_unused_struct_member_reduction_opportunity_finder.cpp */; }; + DCFD7E992A45BA9C007BBBF7 /* timer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B02529425A1700B30DA7 /* timer.cpp */; }; + DCFD7E9A2A45BA9C007BBBF7 /* pch_source_opt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10529425A1800B30DA7 /* pch_source_opt.cpp */; }; + DCFD7E9B2A45BA9C007BBBF7 /* inline_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0EB29425A1700B30DA7 /* inline_pass.cpp */; }; + DCFD7E9C2A45BA9C007BBBF7 /* inst_buff_addr_check_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0FC29425A1700B30DA7 /* inst_buff_addr_check_pass.cpp */; }; + DCFD7E9D2A45BA9C007BBBF7 /* validate_barriers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32929425A1800B30DA7 /* validate_barriers.cpp */; }; + DCFD7E9E2A45BA9C007BBBF7 /* redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15029425A1800B30DA7 /* redundancy_elimination.cpp */; }; + DCFD7E9F2A45BA9C007BBBF7 /* spirv_endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B08129425A1700B30DA7 /* spirv_endian.cpp */; }; + DCFD7EA02A45BA9C007BBBF7 /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0B829425A1700B30DA7 /* cfg.cpp */; }; + DCFD7EA12A45BA9C007BBBF7 /* remove_duplicates_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0DE29425A1700B30DA7 /* remove_duplicates_pass.cpp */; }; + DCFD7EA22A45BA9C007BBBF7 /* validate_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B32429425A1800B30DA7 /* validate_annotation.cpp */; }; + DCFD7EA32A45BA9C007BBBF7 /* loop_dependence_helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14629425A1800B30DA7 /* loop_dependence_helpers.cpp */; }; + DCFD7EA42A45BA9C007BBBF7 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17429425A1800B30DA7 /* basic_block.cpp */; }; + DCFD7EA52A45BA9C007BBBF7 /* loop_dependence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D629425A1700B30DA7 /* loop_dependence.cpp */; }; + DCFD7EA62A45BA9C007BBBF7 /* licm_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0F029425A1700B30DA7 /* licm_pass.cpp */; }; + DCFD7EA72A45BA9C007BBBF7 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05829425A1700B30DA7 /* operand_to_undef_reduction_opportunity_finder.cpp */; }; + DCFD7EA82A45BA9C007BBBF7 /* dead_branch_elim_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10C29425A1800B30DA7 /* dead_branch_elim_pass.cpp */; }; + DCFD7EA92A45BA9C007BBBF7 /* inst_debug_printf_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0D929425A1700B30DA7 /* inst_debug_printf_pass.cpp */; }; + DCFD7EAA2A45BA9C007BBBF7 /* local_redundancy_elimination.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0C029425A1700B30DA7 /* local_redundancy_elimination.cpp */; }; + DCFD7EAB2A45BA9C007BBBF7 /* validate_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34929425A1800B30DA7 /* validate_memory.cpp */; }; + DCFD7EAC2A45BA9C007BBBF7 /* dominator_analysis.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B16229425A1800B30DA7 /* dominator_analysis.cpp */; }; + DCFD7EAD2A45BA9C007BBBF7 /* validate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B33629425A1800B30DA7 /* validate.cpp */; }; + DCFD7EAE2A45BA9C007BBBF7 /* copy_prop_arrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B12A29425A1800B30DA7 /* copy_prop_arrays.cpp */; }; + DCFD7EAF2A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B06A29425A1700B30DA7 /* structured_construct_to_block_reduction_opportunity.cpp */; }; + DCFD7EB02A45BA9C007BBBF7 /* validate_composites.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35529425A1800B30DA7 /* validate_composites.cpp */; }; + DCFD7EB12A45BA9C007BBBF7 /* loop_fusion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B17C29425A1800B30DA7 /* loop_fusion.cpp */; }; + DCFD7EB22A45BA9C007BBBF7 /* basic_block.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35229425A1800B30DA7 /* basic_block.cpp */; }; + DCFD7EB32A45BA9C007BBBF7 /* remove_unused_interface_variables_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B15D29425A1800B30DA7 /* remove_unused_interface_variables_pass.cpp */; }; + DCFD7EB42A45BA9C007BBBF7 /* validate_function.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35329425A1800B30DA7 /* validate_function.cpp */; }; + DCFD7EB52A45BA9C007BBBF7 /* vector_dce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B0F429425A1700B30DA7 /* vector_dce.cpp */; }; + DCFD7EB62A45BA9C007BBBF7 /* validate_primitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B35729425A1800B30DA7 /* validate_primitives.cpp */; }; + DCFD7EB72A45BA9C007BBBF7 /* simplification_pass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B10B29425A1800B30DA7 /* simplification_pass.cpp */; }; + DCFD7EB82A45BA9C007BBBF7 /* propagator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B14429425A1800B30DA7 /* propagator.cpp */; }; + DCFD7EB92A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B04329425A1700B30DA7 /* simple_conditional_branch_to_branch_opportunity_finder.cpp */; }; + DCFD7EBA2A45BA9C007BBBF7 /* remove_instruction_reduction_opportunity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B05029425A1700B30DA7 /* remove_instruction_reduction_opportunity.cpp */; }; + DCFD7EBB2A45BA9C007BBBF7 /* validate_arithmetics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9F7B34429425A1800B30DA7 /* validate_arithmetics.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -1785,6 +2343,27 @@ remoteGlobalIDString = A972ABDD21CED7CB0013AB25; remoteInfo = "glslang-macOS"; }; + DCFD7ECC2A45BC08007BBBF7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A9F55D25198BE6A7004EC31B /* Project object */; + proxyType = 1; + remoteGlobalIDString = DCFD7C892A45BA7D007BBBF7; + remoteInfo = "SPIRV-Cross-xrOS"; + }; + DCFD7ECE2A45BC0C007BBBF7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A9F55D25198BE6A7004EC31B /* Project object */; + proxyType = 1; + remoteGlobalIDString = DCFD7D0C2A45BA9C007BBBF7; + remoteInfo = "SPIRV-Tools-xrOS"; + }; + DCFD7ED02A45BC10007BBBF7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A9F55D25198BE6A7004EC31B /* Project object */; + proxyType = 1; + remoteGlobalIDString = DCFD7CA42A45BA92007BBBF7; + remoteInfo = "glslang-xrOS"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -2361,6 +2940,9 @@ A9F7B35729425A1800B30DA7 /* validate_primitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validate_primitives.cpp; sourceTree = ""; }; A9F7B35829425A1800B30DA7 /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = ""; }; A9FC5F7F249DA96D003CB086 /* package_ext_libs_finish.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = package_ext_libs_finish.sh; sourceTree = ""; }; + DCFD7CA32A45BA7D007BBBF7 /* libSPIRVCross.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVCross.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DCFD7D0B2A45BA92007BBBF7 /* libglslang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libglslang.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DCFD7EC02A45BA9C007BBBF7 /* libSPIRVTools.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSPIRVTools.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -2651,6 +3233,9 @@ A90FD9E921CC519E00B92BB2 /* External */, A9679AAB21D2699800856BF7 /* Scripts */, A972AD2421CEE30F0013AB25 /* Products */, + DCFD7CA32A45BA7D007BBBF7 /* libSPIRVCross.a */, + DCFD7D0B2A45BA92007BBBF7 /* libglslang.a */, + DCFD7EC02A45BA9C007BBBF7 /* libSPIRVTools.a */, ); sourceTree = ""; }; @@ -4034,6 +4619,299 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DCFD7C8A2A45BA7D007BBBF7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7C8B2A45BA7D007BBBF7 /* spirv_cfg.hpp in Headers */, + DCFD7C8C2A45BA7D007BBBF7 /* spirv_cross_parsed_ir.hpp in Headers */, + DCFD7C8D2A45BA7D007BBBF7 /* spirv_common.hpp in Headers */, + DCFD7C8E2A45BA7D007BBBF7 /* spirv_glsl.hpp in Headers */, + DCFD7C8F2A45BA7D007BBBF7 /* spirv_parser.hpp in Headers */, + DCFD7C902A45BA7D007BBBF7 /* spirv_cross_util.hpp in Headers */, + DCFD7C912A45BA7D007BBBF7 /* spirv_cross_containers.hpp in Headers */, + DCFD7C922A45BA7D007BBBF7 /* spirv.hpp in Headers */, + DCFD7C932A45BA7D007BBBF7 /* spirv_cross_error_handling.hpp in Headers */, + DCFD7C942A45BA7D007BBBF7 /* spirv_cross.hpp in Headers */, + DCFD7C952A45BA7D007BBBF7 /* spirv_msl.hpp in Headers */, + DCFD7C962A45BA7D007BBBF7 /* spirv_reflect.hpp in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DCFD7CA52A45BA92007BBBF7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7CA62A45BA92007BBBF7 /* propagateNoContraction.h in Headers */, + DCFD7CA72A45BA92007BBBF7 /* disassemble.h in Headers */, + DCFD7CA82A45BA92007BBBF7 /* PpContext.h in Headers */, + DCFD7CA92A45BA92007BBBF7 /* InfoSink.h in Headers */, + DCFD7CAA2A45BA92007BBBF7 /* bitutils.h in Headers */, + DCFD7CAB2A45BA92007BBBF7 /* SpvBuilder.h in Headers */, + DCFD7CAC2A45BA92007BBBF7 /* GLSL.std.450.h in Headers */, + DCFD7CAD2A45BA92007BBBF7 /* Logger.h in Headers */, + DCFD7CAE2A45BA92007BBBF7 /* pch.h in Headers */, + DCFD7CAF2A45BA92007BBBF7 /* LiveTraverser.h in Headers */, + DCFD7CB02A45BA92007BBBF7 /* spvIR.h in Headers */, + DCFD7CB12A45BA92007BBBF7 /* glslang_c_shader_types.h in Headers */, + DCFD7CB22A45BA92007BBBF7 /* attribute.h in Headers */, + DCFD7CB32A45BA92007BBBF7 /* Scan.h in Headers */, + DCFD7CB42A45BA92007BBBF7 /* Types.h in Headers */, + DCFD7CB52A45BA92007BBBF7 /* PoolAlloc.h in Headers */, + DCFD7CB62A45BA92007BBBF7 /* InitializeGlobals.h in Headers */, + DCFD7CB72A45BA92007BBBF7 /* parseVersions.h in Headers */, + DCFD7CB82A45BA92007BBBF7 /* osinclude.h in Headers */, + DCFD7CB92A45BA92007BBBF7 /* gl_types.h in Headers */, + DCFD7CBA2A45BA92007BBBF7 /* localintermediate.h in Headers */, + DCFD7CBB2A45BA92007BBBF7 /* GLSL.ext.AMD.h in Headers */, + DCFD7CBC2A45BA92007BBBF7 /* reflection.h in Headers */, + DCFD7CBD2A45BA92007BBBF7 /* ShHandle.h in Headers */, + DCFD7CBE2A45BA92007BBBF7 /* iomapper.h in Headers */, + DCFD7CBF2A45BA92007BBBF7 /* GLSL.ext.NV.h in Headers */, + DCFD7CC02A45BA92007BBBF7 /* Versions.h in Headers */, + DCFD7CC12A45BA92007BBBF7 /* SPVRemapper.h in Headers */, + DCFD7CC22A45BA92007BBBF7 /* ConstantUnion.h in Headers */, + DCFD7CC32A45BA92007BBBF7 /* doc.h in Headers */, + DCFD7CC42A45BA92007BBBF7 /* Initialize.h in Headers */, + DCFD7CC52A45BA92007BBBF7 /* GLSL.ext.EXT.h in Headers */, + DCFD7CC62A45BA92007BBBF7 /* ResourceLimits.h in Headers */, + DCFD7CC72A45BA92007BBBF7 /* Common.h in Headers */, + DCFD7CC82A45BA92007BBBF7 /* GLSL.ext.KHR.h in Headers */, + DCFD7CC92A45BA92007BBBF7 /* intermediate.h in Headers */, + DCFD7CCA2A45BA92007BBBF7 /* ShaderLang.h in Headers */, + DCFD7CCB2A45BA92007BBBF7 /* ScanContext.h in Headers */, + DCFD7CCC2A45BA92007BBBF7 /* PpTokens.h in Headers */, + DCFD7CCD2A45BA92007BBBF7 /* BaseTypes.h in Headers */, + DCFD7CCE2A45BA92007BBBF7 /* hex_float.h in Headers */, + DCFD7CCF2A45BA92007BBBF7 /* SpvTools.h in Headers */, + DCFD7CD02A45BA92007BBBF7 /* RemoveTree.h in Headers */, + DCFD7CD12A45BA92007BBBF7 /* SymbolTable.h in Headers */, + DCFD7CD22A45BA92007BBBF7 /* arrays.h in Headers */, + DCFD7CD32A45BA92007BBBF7 /* spirv.hpp in Headers */, + DCFD7CD42A45BA92007BBBF7 /* glslang_c_interface.h in Headers */, + DCFD7CD52A45BA92007BBBF7 /* GlslangToSpv.h in Headers */, + DCFD7CD62A45BA92007BBBF7 /* SpirvIntrinsics.h in Headers */, + DCFD7CD72A45BA92007BBBF7 /* NonSemanticDebugPrintf.h in Headers */, + DCFD7CD82A45BA92007BBBF7 /* glslang_tab.cpp.h in Headers */, + DCFD7CD92A45BA92007BBBF7 /* ParseHelper.h in Headers */, + DCFD7CDA2A45BA92007BBBF7 /* InitializeDll.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DCFD7D0D2A45BA9C007BBBF7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7D0E2A45BA9C007BBBF7 /* replace_invalid_opc.h in Headers */, + DCFD7D0F2A45BA9C007BBBF7 /* convert_to_sampled_image_pass.h in Headers */, + DCFD7D102A45BA9C007BBBF7 /* text_handler.h in Headers */, + DCFD7D112A45BA9C007BBBF7 /* types.h in Headers */, + DCFD7D122A45BA9C007BBBF7 /* dead_insert_elim_pass.h in Headers */, + DCFD7D132A45BA9C007BBBF7 /* parse_number.h in Headers */, + DCFD7D142A45BA9C007BBBF7 /* make_unique.h in Headers */, + DCFD7D152A45BA9C007BBBF7 /* function.h in Headers */, + DCFD7D162A45BA9C007BBBF7 /* inst_debug_printf_pass.h in Headers */, + DCFD7D172A45BA9C007BBBF7 /* block_merge_pass.h in Headers */, + DCFD7D182A45BA9C007BBBF7 /* scalar_analysis.h in Headers */, + DCFD7D192A45BA9C007BBBF7 /* composite.h in Headers */, + DCFD7D1A2A45BA9C007BBBF7 /* enum_set.h in Headers */, + DCFD7D1B2A45BA9C007BBBF7 /* lints.h in Headers */, + DCFD7D1C2A45BA9C007BBBF7 /* freeze_spec_constant_value_pass.h in Headers */, + DCFD7D1D2A45BA9C007BBBF7 /* reduction_opportunity.h in Headers */, + DCFD7D1E2A45BA9C007BBBF7 /* ir_context.h in Headers */, + DCFD7D1F2A45BA9C007BBBF7 /* loop_utils.h in Headers */, + DCFD7D202A45BA9C007BBBF7 /* relax_float_ops_pass.h in Headers */, + DCFD7D212A45BA9C007BBBF7 /* pass.h in Headers */, + DCFD7D222A45BA9C007BBBF7 /* inline_opaque_pass.h in Headers */, + DCFD7D232A45BA9C007BBBF7 /* strength_reduction_pass.h in Headers */, + DCFD7D242A45BA9C007BBBF7 /* pch_source.h in Headers */, + DCFD7D252A45BA9C007BBBF7 /* graphics_robust_access_pass.h in Headers */, + DCFD7D262A45BA9C007BBBF7 /* scalar_analysis_nodes.h in Headers */, + DCFD7D272A45BA9C007BBBF7 /* operand_to_const_reduction_opportunity_finder.h in Headers */, + DCFD7D282A45BA9C007BBBF7 /* basic_block.h in Headers */, + DCFD7D292A45BA9C007BBBF7 /* strip_nonsemantic_info_pass.h in Headers */, + DCFD7D2A2A45BA9C007BBBF7 /* fold.h in Headers */, + DCFD7D2B2A45BA9C007BBBF7 /* instruction.h in Headers */, + DCFD7D2C2A45BA9C007BBBF7 /* unify_const_pass.h in Headers */, + DCFD7D2D2A45BA9C007BBBF7 /* vector_dce.h in Headers */, + DCFD7D2E2A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity.h in Headers */, + DCFD7D2F2A45BA9C007BBBF7 /* spirv_target_env.h in Headers */, + DCFD7D302A45BA9C007BBBF7 /* loop_fusion.h in Headers */, + DCFD7D312A45BA9C007BBBF7 /* print.h in Headers */, + DCFD7D322A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity.h in Headers */, + DCFD7D332A45BA9C007BBBF7 /* dominator_tree.h in Headers */, + DCFD7D342A45BA9C007BBBF7 /* dead_branch_elim_pass.h in Headers */, + DCFD7D352A45BA9C007BBBF7 /* ccp_pass.h in Headers */, + DCFD7D362A45BA9C007BBBF7 /* validate.h in Headers */, + DCFD7D372A45BA9C007BBBF7 /* construct.h in Headers */, + DCFD7D382A45BA9C007BBBF7 /* null_pass.h in Headers */, + DCFD7D392A45BA9C007BBBF7 /* constants.h in Headers */, + DCFD7D3A2A45BA9C007BBBF7 /* validation_state.h in Headers */, + DCFD7D3B2A45BA9C007BBBF7 /* instruction.h in Headers */, + DCFD7D3C2A45BA9C007BBBF7 /* loop_unswitch_pass.h in Headers */, + DCFD7D3D2A45BA9C007BBBF7 /* tree_iterator.h in Headers */, + DCFD7D3E2A45BA9C007BBBF7 /* remove_struct_member_reduction_opportunity.h in Headers */, + DCFD7D3F2A45BA9C007BBBF7 /* validate_scopes.h in Headers */, + DCFD7D402A45BA9C007BBBF7 /* passes.h in Headers */, + DCFD7D412A45BA9C007BBBF7 /* interp_fixup_pass.h in Headers */, + DCFD7D422A45BA9C007BBBF7 /* validate_memory_semantics.h in Headers */, + DCFD7D432A45BA9C007BBBF7 /* hash_combine.h in Headers */, + DCFD7D442A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.h in Headers */, + DCFD7D452A45BA9C007BBBF7 /* strip_debug_info_pass.h in Headers */, + DCFD7D462A45BA9C007BBBF7 /* pch_source_opt.h in Headers */, + DCFD7D472A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity_finder.h in Headers */, + DCFD7D482A45BA9C007BBBF7 /* reduction_pass.h in Headers */, + DCFD7D492A45BA9C007BBBF7 /* local_single_store_elim_pass.h in Headers */, + DCFD7D4A2A45BA9C007BBBF7 /* latest_version_opencl_std_header.h in Headers */, + DCFD7D4B2A45BA9C007BBBF7 /* remove_block_reduction_opportunity.h in Headers */, + DCFD7D4C2A45BA9C007BBBF7 /* remove_function_reduction_opportunity_finder.h in Headers */, + DCFD7D4D2A45BA9C007BBBF7 /* instruction.h in Headers */, + DCFD7D4E2A45BA9C007BBBF7 /* eliminate_dead_functions_pass.h in Headers */, + DCFD7D4F2A45BA9C007BBBF7 /* bit_vector.h in Headers */, + DCFD7D502A45BA9C007BBBF7 /* assembly_grammar.h in Headers */, + DCFD7D512A45BA9C007BBBF7 /* loop_dependence.h in Headers */, + DCFD7D522A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_reduction_opportunity.h in Headers */, + DCFD7D532A45BA9C007BBBF7 /* folding_rules.h in Headers */, + DCFD7D542A45BA9C007BBBF7 /* eliminate_dead_members_pass.h in Headers */, + DCFD7D552A45BA9C007BBBF7 /* reduction_util.h in Headers */, + DCFD7D562A45BA9C007BBBF7 /* table.h in Headers */, + DCFD7D572A45BA9C007BBBF7 /* basic_block.h in Headers */, + DCFD7D582A45BA9C007BBBF7 /* remove_block_reduction_opportunity_finder.h in Headers */, + DCFD7D592A45BA9C007BBBF7 /* remove_dontinline_pass.h in Headers */, + DCFD7D5A2A45BA9C007BBBF7 /* operand_to_dominating_id_reduction_opportunity_finder.h in Headers */, + DCFD7D5B2A45BA9C007BBBF7 /* operand.h in Headers */, + DCFD7D5C2A45BA9C007BBBF7 /* disassemble.h in Headers */, + DCFD7D5D2A45BA9C007BBBF7 /* remove_unused_instruction_reduction_opportunity_finder.h in Headers */, + DCFD7D5E2A45BA9C007BBBF7 /* value_number_table.h in Headers */, + DCFD7D5F2A45BA9C007BBBF7 /* small_vector.h in Headers */, + DCFD7D602A45BA9C007BBBF7 /* log.h in Headers */, + DCFD7D612A45BA9C007BBBF7 /* ilist_node.h in Headers */, + DCFD7D622A45BA9C007BBBF7 /* feature_manager.h in Headers */, + DCFD7D632A45BA9C007BBBF7 /* loop_fission.h in Headers */, + DCFD7D642A45BA9C007BBBF7 /* interface_var_sroa.h in Headers */, + DCFD7D652A45BA9C007BBBF7 /* licm_pass.h in Headers */, + DCFD7D662A45BA9C007BBBF7 /* convert_to_half_pass.h in Headers */, + DCFD7D672A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity_finder.h in Headers */, + DCFD7D682A45BA9C007BBBF7 /* fold_spec_constant_op_and_composite_pass.h in Headers */, + DCFD7D692A45BA9C007BBBF7 /* cfg.h in Headers */, + DCFD7D6A2A45BA9C007BBBF7 /* remove_selection_reduction_opportunity.h in Headers */, + DCFD7D6B2A45BA9C007BBBF7 /* opcode.h in Headers */, + DCFD7D6C2A45BA9C007BBBF7 /* flatten_decoration_pass.h in Headers */, + DCFD7D6D2A45BA9C007BBBF7 /* private_to_local_pass.h in Headers */, + DCFD7D6E2A45BA9C007BBBF7 /* wrap_opkill.h in Headers */, + DCFD7D6F2A45BA9C007BBBF7 /* text.h in Headers */, + DCFD7D702A45BA9C007BBBF7 /* string_utils.h in Headers */, + DCFD7D712A45BA9C007BBBF7 /* debug_info_manager.h in Headers */, + DCFD7D722A45BA9C007BBBF7 /* fix_storage_class.h in Headers */, + DCFD7D732A45BA9C007BBBF7 /* copy_prop_arrays.h in Headers */, + DCFD7D742A45BA9C007BBBF7 /* change_operand_to_undef_reduction_opportunity.h in Headers */, + DCFD7D752A45BA9C007BBBF7 /* lcs.h in Headers */, + DCFD7D762A45BA9C007BBBF7 /* ilist.h in Headers */, + DCFD7D772A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity_finder.h in Headers */, + DCFD7D782A45BA9C007BBBF7 /* function.h in Headers */, + DCFD7D792A45BA9C007BBBF7 /* eliminate_dead_constant_pass.h in Headers */, + DCFD7D7A2A45BA9C007BBBF7 /* reduce_load_size.h in Headers */, + DCFD7D7B2A45BA9C007BBBF7 /* set_spec_constant_default_value_pass.h in Headers */, + DCFD7D7C2A45BA9C007BBBF7 /* diagnostic.h in Headers */, + DCFD7D7D2A45BA9C007BBBF7 /* dataflow.h in Headers */, + DCFD7D7E2A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity.h in Headers */, + DCFD7D7F2A45BA9C007BBBF7 /* module.h in Headers */, + DCFD7D802A45BA9C007BBBF7 /* spirv_optimizer_options.h in Headers */, + DCFD7D812A45BA9C007BBBF7 /* ext_inst.h in Headers */, + DCFD7D822A45BA9C007BBBF7 /* spirv_reducer_options.h in Headers */, + DCFD7D832A45BA9C007BBBF7 /* decoration.h in Headers */, + DCFD7D842A45BA9C007BBBF7 /* inst_buff_addr_check_pass.h in Headers */, + DCFD7D852A45BA9C007BBBF7 /* iterator.h in Headers */, + DCFD7D862A45BA9C007BBBF7 /* latest_version_glsl_std_450_header.h in Headers */, + DCFD7D872A45BA9C007BBBF7 /* pch_source_reduce.h in Headers */, + DCFD7D882A45BA9C007BBBF7 /* name_mapper.h in Headers */, + DCFD7D892A45BA9C007BBBF7 /* liveness.h in Headers */, + DCFD7D8A2A45BA9C007BBBF7 /* local_redundancy_elimination.h in Headers */, + DCFD7D8B2A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_opportunity_finder.h in Headers */, + DCFD7D8C2A45BA9C007BBBF7 /* instruction_list.h in Headers */, + DCFD7D8D2A45BA9C007BBBF7 /* diff.h in Headers */, + DCFD7D8E2A45BA9C007BBBF7 /* instrument_pass.h in Headers */, + DCFD7D8F2A45BA9C007BBBF7 /* binary.h in Headers */, + DCFD7D902A45BA9C007BBBF7 /* inline_pass.h in Headers */, + DCFD7D912A45BA9C007BBBF7 /* loop_fusion_pass.h in Headers */, + DCFD7D922A45BA9C007BBBF7 /* dead_variable_elimination.h in Headers */, + DCFD7D932A45BA9C007BBBF7 /* remove_unused_interface_variables_pass.h in Headers */, + DCFD7D942A45BA9C007BBBF7 /* remove_unused_struct_member_reduction_opportunity_finder.h in Headers */, + DCFD7D952A45BA9C007BBBF7 /* simplification_pass.h in Headers */, + DCFD7D962A45BA9C007BBBF7 /* remove_duplicates_pass.h in Headers */, + DCFD7D972A45BA9C007BBBF7 /* eliminate_dead_io_components_pass.h in Headers */, + DCFD7D982A45BA9C007BBBF7 /* enum_string_mapping.h in Headers */, + DCFD7D992A45BA9C007BBBF7 /* hex_float.h in Headers */, + DCFD7D9A2A45BA9C007BBBF7 /* spirv_validator_options.h in Headers */, + DCFD7D9B2A45BA9C007BBBF7 /* desc_sroa_util.h in Headers */, + DCFD7D9C2A45BA9C007BBBF7 /* remove_selection_reduction_opportunity_finder.h in Headers */, + DCFD7D9D2A45BA9C007BBBF7 /* pass_manager.h in Headers */, + DCFD7D9E2A45BA9C007BBBF7 /* dominator_analysis.h in Headers */, + DCFD7D9F2A45BA9C007BBBF7 /* spirv_definition.h in Headers */, + DCFD7DA02A45BA9C007BBBF7 /* block_merge_util.h in Headers */, + DCFD7DA12A45BA9C007BBBF7 /* remove_function_reduction_opportunity.h in Headers */, + DCFD7DA22A45BA9C007BBBF7 /* reducer.h in Headers */, + DCFD7DA32A45BA9C007BBBF7 /* def_use_manager.h in Headers */, + DCFD7DA42A45BA9C007BBBF7 /* type_manager.h in Headers */, + DCFD7DA52A45BA9C007BBBF7 /* common_debug_info.h in Headers */, + DCFD7DA62A45BA9C007BBBF7 /* cfg_cleanup_pass.h in Headers */, + DCFD7DA72A45BA9C007BBBF7 /* desc_sroa.h in Headers */, + DCFD7DA82A45BA9C007BBBF7 /* local_single_block_elim_pass.h in Headers */, + DCFD7DA92A45BA9C007BBBF7 /* spirv_endian.h in Headers */, + DCFD7DAA2A45BA9C007BBBF7 /* redundancy_elimination.h in Headers */, + DCFD7DAB2A45BA9C007BBBF7 /* combine_access_chains.h in Headers */, + DCFD7DAC2A45BA9C007BBBF7 /* latest_version_spirv_header.h in Headers */, + DCFD7DAD2A45BA9C007BBBF7 /* eliminate_dead_output_stores_pass.h in Headers */, + DCFD7DAE2A45BA9C007BBBF7 /* spread_volatile_semantics.h in Headers */, + DCFD7DAF2A45BA9C007BBBF7 /* ir_builder.h in Headers */, + DCFD7DB02A45BA9C007BBBF7 /* build_module.h in Headers */, + DCFD7DB12A45BA9C007BBBF7 /* inline_exhaustive_pass.h in Headers */, + DCFD7DB22A45BA9C007BBBF7 /* reduction_opportunity_finder.h in Headers */, + DCFD7DB32A45BA9C007BBBF7 /* divergence_analysis.h in Headers */, + DCFD7DB42A45BA9C007BBBF7 /* upgrade_memory_model.h in Headers */, + DCFD7DB52A45BA9C007BBBF7 /* bitutils.h in Headers */, + DCFD7DB62A45BA9C007BBBF7 /* parsed_operand.h in Headers */, + DCFD7DB72A45BA9C007BBBF7 /* spirv_constant.h in Headers */, + DCFD7DB82A45BA9C007BBBF7 /* fix_func_call_arguments.h in Headers */, + DCFD7DB92A45BA9C007BBBF7 /* eliminate_dead_functions_util.h in Headers */, + DCFD7DBA2A45BA9C007BBBF7 /* loop_unroller.h in Headers */, + DCFD7DBB2A45BA9C007BBBF7 /* ssa_rewrite_pass.h in Headers */, + DCFD7DBC2A45BA9C007BBBF7 /* propagator.h in Headers */, + DCFD7DBD2A45BA9C007BBBF7 /* loop_descriptor.h in Headers */, + DCFD7DBE2A45BA9C007BBBF7 /* merge_return_pass.h in Headers */, + DCFD7DBF2A45BA9C007BBBF7 /* empty_pass.h in Headers */, + DCFD7DC02A45BA9C007BBBF7 /* scalar_replacement_pass.h in Headers */, + DCFD7DC12A45BA9C007BBBF7 /* code_sink.h in Headers */, + DCFD7DC22A45BA9C007BBBF7 /* change_operand_reduction_opportunity.h in Headers */, + DCFD7DC32A45BA9C007BBBF7 /* analyze_live_input_pass.h in Headers */, + DCFD7DC42A45BA9C007BBBF7 /* cfa.h in Headers */, + DCFD7DC52A45BA9C007BBBF7 /* amd_ext_to_khr.h in Headers */, + DCFD7DC62A45BA9C007BBBF7 /* decoration_manager.h in Headers */, + DCFD7DC72A45BA9C007BBBF7 /* loop_peeling.h in Headers */, + DCFD7DC82A45BA9C007BBBF7 /* replace_desc_array_access_using_var_index.h in Headers */, + DCFD7DC92A45BA9C007BBBF7 /* reflect.h in Headers */, + DCFD7DCA2A45BA9C007BBBF7 /* compact_ids_pass.h in Headers */, + DCFD7DCB2A45BA9C007BBBF7 /* macro.h in Headers */, + DCFD7DCC2A45BA9C007BBBF7 /* timer.h in Headers */, + DCFD7DCD2A45BA9C007BBBF7 /* extensions.h in Headers */, + DCFD7DCE2A45BA9C007BBBF7 /* mem_pass.h in Headers */, + DCFD7DCF2A45BA9C007BBBF7 /* local_access_chain_convert_pass.h in Headers */, + DCFD7DD02A45BA9C007BBBF7 /* remove_instruction_reduction_opportunity.h in Headers */, + DCFD7DD12A45BA9C007BBBF7 /* control_dependence.h in Headers */, + DCFD7DD22A45BA9C007BBBF7 /* ir_loader.h in Headers */, + DCFD7DD32A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.h in Headers */, + DCFD7DD42A45BA9C007BBBF7 /* workaround1209.h in Headers */, + DCFD7DD52A45BA9C007BBBF7 /* register_pressure.h in Headers */, + DCFD7DD62A45BA9C007BBBF7 /* operand_to_undef_reduction_opportunity_finder.h in Headers */, + DCFD7DD72A45BA9C007BBBF7 /* struct_cfg_analysis.h in Headers */, + DCFD7DD82A45BA9C007BBBF7 /* spirv_fuzzer_options.h in Headers */, + DCFD7DD92A45BA9C007BBBF7 /* const_folding_rules.h in Headers */, + DCFD7DDA2A45BA9C007BBBF7 /* inst_bindless_check_pass.h in Headers */, + DCFD7DDB2A45BA9C007BBBF7 /* aggressive_dead_code_elim_pass.h in Headers */, + DCFD7DDC2A45BA9C007BBBF7 /* if_conversion.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -4190,6 +5068,57 @@ productReference = A972ABF021CED7CB0013AB25 /* libglslang.a */; productType = "com.apple.product-type.library.static"; }; + DCFD7C892A45BA7D007BBBF7 /* SPIRV-Cross-xrOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DCFD7CA02A45BA7D007BBBF7 /* Build configuration list for PBXNativeTarget "SPIRV-Cross-xrOS" */; + buildPhases = ( + DCFD7C8A2A45BA7D007BBBF7 /* Headers */, + DCFD7C972A45BA7D007BBBF7 /* Sources */, + DCFD7C9F2A45BA7D007BBBF7 /* Copy to Staging */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "SPIRV-Cross-xrOS"; + productName = "SPIRV-Cross-xrOS"; + productReference = DCFD7CA32A45BA7D007BBBF7 /* libSPIRVCross.a */; + productType = "com.apple.product-type.library.static"; + }; + DCFD7CA42A45BA92007BBBF7 /* glslang-xrOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DCFD7D082A45BA92007BBBF7 /* Build configuration list for PBXNativeTarget "glslang-xrOS" */; + buildPhases = ( + DCFD7CA52A45BA92007BBBF7 /* Headers */, + DCFD7CDB2A45BA92007BBBF7 /* Sources */, + DCFD7D072A45BA92007BBBF7 /* Copy to Staging */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "glslang-xrOS"; + productName = "SPIRV-Cross-xrOS"; + productReference = DCFD7D0B2A45BA92007BBBF7 /* libglslang.a */; + productType = "com.apple.product-type.library.static"; + }; + DCFD7D0C2A45BA9C007BBBF7 /* SPIRV-Tools-xrOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = DCFD7EBD2A45BA9C007BBBF7 /* Build configuration list for PBXNativeTarget "SPIRV-Tools-xrOS" */; + buildPhases = ( + DCFD7D0D2A45BA9C007BBBF7 /* Headers */, + DCFD7DDD2A45BA9C007BBBF7 /* Sources */, + DCFD7EBC2A45BA9C007BBBF7 /* Copy to Staging */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "SPIRV-Tools-xrOS"; + productName = "SPIRV-Cross-xrOS"; + productReference = DCFD7EC02A45BA9C007BBBF7 /* libSPIRVTools.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -4212,6 +5141,9 @@ A972A7F221CEC81B0013AB25 = { ProvisioningStyle = Automatic; }; + DCFD7EC12A45BAAA007BBBF7 = { + ProvisioningStyle = Automatic; + }; }; }; buildConfigurationList = A9F55D28198BE6A7004EC31B /* Build configuration list for PBXProject "ExternalDependencies" */; @@ -4230,15 +5162,19 @@ A972A7F221CEC81B0013AB25 /* ExternalDependencies */, A972A7EA21CEC8030013AB25 /* ExternalDependencies-iOS */, 2FEA0ADD2490320500EEF3AD /* ExternalDependencies-tvOS */, + DCFD7EC12A45BAAA007BBBF7 /* ExternalDependencies-xrOS */, A972A7E421CEC72F0013AB25 /* ExternalDependencies-macOS */, A90FD75B21CC4EAB00B92BB2 /* SPIRV-Cross-iOS */, 2FEA0CD92490322B00EEF3AD /* SPIRV-Cross-tvOS */, + DCFD7C892A45BA7D007BBBF7 /* SPIRV-Cross-xrOS */, A90FD8A021CC4EB900B92BB2 /* SPIRV-Cross-macOS */, A972A7FC21CECBBF0013AB25 /* SPIRV-Tools-iOS */, 2FEA0B4B2490322100EEF3AD /* SPIRV-Tools-tvOS */, + DCFD7D0C2A45BA9C007BBBF7 /* SPIRV-Tools-xrOS */, A972A81021CECBE90013AB25 /* SPIRV-Tools-macOS */, A972ABC921CED7BC0013AB25 /* glslang-iOS */, 2FEA0AE82490321700EEF3AD /* glslang-tvOS */, + DCFD7CA42A45BA92007BBBF7 /* glslang-xrOS */, A972ABDD21CED7CB0013AB25 /* glslang-macOS */, ); }; @@ -4505,6 +5441,86 @@ shellPath = /bin/sh; shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n"; }; + DCFD7C9F2A45BA7D007BBBF7 /* 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_ext_lib_to_staging.sh\"\n"; + }; + DCFD7D072A45BA92007BBBF7 /* 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_ext_lib_to_staging.sh\"\n"; + }; + DCFD7EBC2A45BA9C007BBBF7 /* 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_ext_lib_to_staging.sh\"\n"; + }; + DCFD7EC82A45BAAA007BBBF7 /* Package Libraries */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PROJECT_DIR}/External/build/Intermediates/XCFrameworkStaging", + ); + name = "Package Libraries"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/$(TARGET_NAME)/PackagePhaseDummyOutputFile", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = ". \"${SRCROOT}/Scripts/create_ext_lib_xcframeworks.sh\"\n. \"${SRCROOT}/Scripts/package_ext_libs_finish.sh\"\n"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -5387,6 +6403,299 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DCFD7C972A45BA7D007BBBF7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7C982A45BA7D007BBBF7 /* spirv_msl.cpp in Sources */, + DCFD7C992A45BA7D007BBBF7 /* spirv_parser.cpp in Sources */, + DCFD7C9A2A45BA7D007BBBF7 /* spirv_cfg.cpp in Sources */, + DCFD7C9B2A45BA7D007BBBF7 /* spirv_cross.cpp in Sources */, + DCFD7C9C2A45BA7D007BBBF7 /* spirv_reflect.cpp in Sources */, + DCFD7C9D2A45BA7D007BBBF7 /* spirv_glsl.cpp in Sources */, + DCFD7C9E2A45BA7D007BBBF7 /* spirv_cross_parsed_ir.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DCFD7CDB2A45BA92007BBBF7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7CDC2A45BA92007BBBF7 /* ParseHelper.cpp in Sources */, + DCFD7CDD2A45BA92007BBBF7 /* doc.cpp in Sources */, + DCFD7CDE2A45BA92007BBBF7 /* attribute.cpp in Sources */, + DCFD7CDF2A45BA92007BBBF7 /* IntermTraverse.cpp in Sources */, + DCFD7CE02A45BA92007BBBF7 /* Versions.cpp in Sources */, + DCFD7CE12A45BA92007BBBF7 /* reflection.cpp in Sources */, + DCFD7CE22A45BA92007BBBF7 /* spirv_c_interface.cpp in Sources */, + DCFD7CE32A45BA92007BBBF7 /* propagateNoContraction.cpp in Sources */, + DCFD7CE42A45BA92007BBBF7 /* glslang_c_interface.cpp in Sources */, + DCFD7CE52A45BA92007BBBF7 /* SPVRemapper.cpp in Sources */, + DCFD7CE62A45BA92007BBBF7 /* SpvTools.cpp in Sources */, + DCFD7CE72A45BA92007BBBF7 /* Logger.cpp in Sources */, + DCFD7CE82A45BA92007BBBF7 /* ossource.cpp in Sources */, + DCFD7CE92A45BA92007BBBF7 /* SpvPostProcess.cpp in Sources */, + DCFD7CEA2A45BA92007BBBF7 /* Scan.cpp in Sources */, + DCFD7CEB2A45BA92007BBBF7 /* PpScanner.cpp in Sources */, + DCFD7CEC2A45BA92007BBBF7 /* PpContext.cpp in Sources */, + DCFD7CED2A45BA92007BBBF7 /* disassemble.cpp in Sources */, + DCFD7CEE2A45BA92007BBBF7 /* SpirvIntrinsics.cpp in Sources */, + DCFD7CEF2A45BA92007BBBF7 /* linkValidate.cpp in Sources */, + DCFD7CF02A45BA92007BBBF7 /* parseConst.cpp in Sources */, + DCFD7CF12A45BA92007BBBF7 /* InitializeDll.cpp in Sources */, + DCFD7CF22A45BA92007BBBF7 /* Link.cpp in Sources */, + DCFD7CF32A45BA92007BBBF7 /* iomapper.cpp in Sources */, + DCFD7CF42A45BA92007BBBF7 /* ParseContextBase.cpp in Sources */, + DCFD7CF52A45BA92007BBBF7 /* PpTokens.cpp in Sources */, + DCFD7CF62A45BA92007BBBF7 /* GlslangToSpv.cpp in Sources */, + DCFD7CF72A45BA92007BBBF7 /* limits.cpp in Sources */, + DCFD7CF82A45BA92007BBBF7 /* glslang_tab.cpp in Sources */, + DCFD7CF92A45BA92007BBBF7 /* Constant.cpp in Sources */, + DCFD7CFA2A45BA92007BBBF7 /* InfoSink.cpp in Sources */, + DCFD7CFB2A45BA92007BBBF7 /* RemoveTree.cpp in Sources */, + DCFD7CFC2A45BA92007BBBF7 /* intermOut.cpp in Sources */, + DCFD7CFD2A45BA92007BBBF7 /* PoolAlloc.cpp in Sources */, + DCFD7CFE2A45BA92007BBBF7 /* Initialize.cpp in Sources */, + DCFD7CFF2A45BA92007BBBF7 /* ShaderLang.cpp in Sources */, + DCFD7D002A45BA92007BBBF7 /* Intermediate.cpp in Sources */, + DCFD7D012A45BA92007BBBF7 /* InReadableOrder.cpp in Sources */, + DCFD7D022A45BA92007BBBF7 /* PpAtom.cpp in Sources */, + DCFD7D032A45BA92007BBBF7 /* SpvBuilder.cpp in Sources */, + DCFD7D042A45BA92007BBBF7 /* CodeGen.cpp in Sources */, + DCFD7D052A45BA92007BBBF7 /* SymbolTable.cpp in Sources */, + DCFD7D062A45BA92007BBBF7 /* Pp.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DCFD7DDD2A45BA9C007BBBF7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DCFD7DDE2A45BA9C007BBBF7 /* spirv_reducer_options.cpp in Sources */, + DCFD7DDF2A45BA9C007BBBF7 /* register_pressure.cpp in Sources */, + DCFD7DE02A45BA9C007BBBF7 /* loop_peeling.cpp in Sources */, + DCFD7DE12A45BA9C007BBBF7 /* block_merge_pass.cpp in Sources */, + DCFD7DE22A45BA9C007BBBF7 /* opcode.cpp in Sources */, + DCFD7DE32A45BA9C007BBBF7 /* validate_builtins.cpp in Sources */, + DCFD7DE42A45BA9C007BBBF7 /* validate_non_uniform.cpp in Sources */, + DCFD7DE52A45BA9C007BBBF7 /* table.cpp in Sources */, + DCFD7DE62A45BA9C007BBBF7 /* validate_logicals.cpp in Sources */, + DCFD7DE72A45BA9C007BBBF7 /* change_operand_to_undef_reduction_opportunity.cpp in Sources */, + DCFD7DE82A45BA9C007BBBF7 /* bit_vector.cpp in Sources */, + DCFD7DE92A45BA9C007BBBF7 /* ir_context.cpp in Sources */, + DCFD7DEA2A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity_finder.cpp in Sources */, + DCFD7DEB2A45BA9C007BBBF7 /* if_conversion.cpp in Sources */, + DCFD7DEC2A45BA9C007BBBF7 /* remove_dontinline_pass.cpp in Sources */, + DCFD7DED2A45BA9C007BBBF7 /* convert_to_sampled_image_pass.cpp in Sources */, + DCFD7DEE2A45BA9C007BBBF7 /* merge_return_pass.cpp in Sources */, + DCFD7DEF2A45BA9C007BBBF7 /* reducer.cpp in Sources */, + DCFD7DF02A45BA9C007BBBF7 /* remove_function_reduction_opportunity.cpp in Sources */, + DCFD7DF12A45BA9C007BBBF7 /* disassemble.cpp in Sources */, + DCFD7DF22A45BA9C007BBBF7 /* composite.cpp in Sources */, + DCFD7DF32A45BA9C007BBBF7 /* validate_conversion.cpp in Sources */, + DCFD7DF42A45BA9C007BBBF7 /* instruction.cpp in Sources */, + DCFD7DF52A45BA9C007BBBF7 /* validate_ray_query.cpp in Sources */, + DCFD7DF62A45BA9C007BBBF7 /* operand.cpp in Sources */, + DCFD7DF72A45BA9C007BBBF7 /* unify_const_pass.cpp in Sources */, + DCFD7DF82A45BA9C007BBBF7 /* operand_to_const_reduction_opportunity_finder.cpp in Sources */, + DCFD7DF92A45BA9C007BBBF7 /* enum_string_mapping.cpp in Sources */, + DCFD7DFA2A45BA9C007BBBF7 /* validate_mode_setting.cpp in Sources */, + DCFD7DFB2A45BA9C007BBBF7 /* binary.cpp in Sources */, + DCFD7DFC2A45BA9C007BBBF7 /* struct_cfg_analysis.cpp in Sources */, + DCFD7DFD2A45BA9C007BBBF7 /* validate_capability.cpp in Sources */, + DCFD7DFE2A45BA9C007BBBF7 /* diagnostic.cpp in Sources */, + DCFD7DFF2A45BA9C007BBBF7 /* libspirv.cpp in Sources */, + DCFD7E002A45BA9C007BBBF7 /* validate_mesh_shading.cpp in Sources */, + DCFD7E012A45BA9C007BBBF7 /* build_module.cpp in Sources */, + DCFD7E022A45BA9C007BBBF7 /* cfg_cleanup_pass.cpp in Sources */, + DCFD7E032A45BA9C007BBBF7 /* spirv_fuzzer_options.cpp in Sources */, + DCFD7E042A45BA9C007BBBF7 /* validate_adjacency.cpp in Sources */, + DCFD7E052A45BA9C007BBBF7 /* validate_id.cpp in Sources */, + DCFD7E062A45BA9C007BBBF7 /* parse_number.cpp in Sources */, + DCFD7E072A45BA9C007BBBF7 /* scalar_analysis.cpp in Sources */, + DCFD7E082A45BA9C007BBBF7 /* lint_divergent_derivatives.cpp in Sources */, + DCFD7E092A45BA9C007BBBF7 /* remove_struct_member_reduction_opportunity.cpp in Sources */, + DCFD7E0A2A45BA9C007BBBF7 /* validate_scopes.cpp in Sources */, + DCFD7E0B2A45BA9C007BBBF7 /* strip_debug_info_pass.cpp in Sources */, + DCFD7E0C2A45BA9C007BBBF7 /* eliminate_dead_functions_util.cpp in Sources */, + DCFD7E0D2A45BA9C007BBBF7 /* remove_function_reduction_opportunity_finder.cpp in Sources */, + DCFD7E0E2A45BA9C007BBBF7 /* ssa_rewrite_pass.cpp in Sources */, + DCFD7E0F2A45BA9C007BBBF7 /* validate_image.cpp in Sources */, + DCFD7E102A45BA9C007BBBF7 /* module.cpp in Sources */, + DCFD7E112A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity.cpp in Sources */, + DCFD7E122A45BA9C007BBBF7 /* constants.cpp in Sources */, + DCFD7E132A45BA9C007BBBF7 /* remove_block_reduction_opportunity.cpp in Sources */, + DCFD7E142A45BA9C007BBBF7 /* spirv_target_env.cpp in Sources */, + DCFD7E152A45BA9C007BBBF7 /* loop_fission.cpp in Sources */, + DCFD7E162A45BA9C007BBBF7 /* remove_block_reduction_opportunity_finder.cpp in Sources */, + DCFD7E172A45BA9C007BBBF7 /* remove_selection_reduction_opportunity_finder.cpp in Sources */, + DCFD7E182A45BA9C007BBBF7 /* fold.cpp in Sources */, + DCFD7E192A45BA9C007BBBF7 /* def_use_manager.cpp in Sources */, + DCFD7E1A2A45BA9C007BBBF7 /* parsed_operand.cpp in Sources */, + DCFD7E1B2A45BA9C007BBBF7 /* eliminate_dead_members_pass.cpp in Sources */, + DCFD7E1C2A45BA9C007BBBF7 /* instruction.cpp in Sources */, + DCFD7E1D2A45BA9C007BBBF7 /* name_mapper.cpp in Sources */, + DCFD7E1E2A45BA9C007BBBF7 /* analyze_live_input_pass.cpp in Sources */, + DCFD7E1F2A45BA9C007BBBF7 /* validate_cfg.cpp in Sources */, + DCFD7E202A45BA9C007BBBF7 /* change_operand_reduction_opportunity.cpp in Sources */, + DCFD7E212A45BA9C007BBBF7 /* validate_instruction.cpp in Sources */, + DCFD7E222A45BA9C007BBBF7 /* instrument_pass.cpp in Sources */, + DCFD7E232A45BA9C007BBBF7 /* validate_ray_tracing.cpp in Sources */, + DCFD7E242A45BA9C007BBBF7 /* pass.cpp in Sources */, + DCFD7E252A45BA9C007BBBF7 /* ccp_pass.cpp in Sources */, + DCFD7E262A45BA9C007BBBF7 /* desc_sroa_util.cpp in Sources */, + DCFD7E272A45BA9C007BBBF7 /* validate_bitwise.cpp in Sources */, + DCFD7E282A45BA9C007BBBF7 /* block_merge_util.cpp in Sources */, + DCFD7E292A45BA9C007BBBF7 /* validate_debug.cpp in Sources */, + DCFD7E2A2A45BA9C007BBBF7 /* loop_descriptor.cpp in Sources */, + DCFD7E2B2A45BA9C007BBBF7 /* linker.cpp in Sources */, + DCFD7E2C2A45BA9C007BBBF7 /* freeze_spec_constant_value_pass.cpp in Sources */, + DCFD7E2D2A45BA9C007BBBF7 /* string_utils.cpp in Sources */, + DCFD7E2E2A45BA9C007BBBF7 /* validate_memory_semantics.cpp in Sources */, + DCFD7E2F2A45BA9C007BBBF7 /* types.cpp in Sources */, + DCFD7E302A45BA9C007BBBF7 /* pch_source.cpp in Sources */, + DCFD7E312A45BA9C007BBBF7 /* print.cpp in Sources */, + DCFD7E322A45BA9C007BBBF7 /* function.cpp in Sources */, + DCFD7E332A45BA9C007BBBF7 /* inline_exhaustive_pass.cpp in Sources */, + DCFD7E342A45BA9C007BBBF7 /* eliminate_dead_constant_pass.cpp in Sources */, + DCFD7E352A45BA9C007BBBF7 /* inline_opaque_pass.cpp in Sources */, + DCFD7E362A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp in Sources */, + DCFD7E372A45BA9C007BBBF7 /* linter.cpp in Sources */, + DCFD7E382A45BA9C007BBBF7 /* eliminate_dead_output_stores_pass.cpp in Sources */, + DCFD7E392A45BA9C007BBBF7 /* compact_ids_pass.cpp in Sources */, + DCFD7E3A2A45BA9C007BBBF7 /* folding_rules.cpp in Sources */, + DCFD7E3B2A45BA9C007BBBF7 /* strip_nonsemantic_info_pass.cpp in Sources */, + DCFD7E3C2A45BA9C007BBBF7 /* private_to_local_pass.cpp in Sources */, + DCFD7E3D2A45BA9C007BBBF7 /* fold_spec_constant_op_and_composite_pass.cpp in Sources */, + DCFD7E3E2A45BA9C007BBBF7 /* validate_ray_tracing_reorder.cpp in Sources */, + DCFD7E3F2A45BA9C007BBBF7 /* validate_derivatives.cpp in Sources */, + DCFD7E402A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_reduction_opportunity.cpp in Sources */, + DCFD7E412A45BA9C007BBBF7 /* control_dependence.cpp in Sources */, + DCFD7E422A45BA9C007BBBF7 /* spirv_optimizer_options.cpp in Sources */, + DCFD7E432A45BA9C007BBBF7 /* pch_source_reduce.cpp in Sources */, + DCFD7E442A45BA9C007BBBF7 /* dead_variable_elimination.cpp in Sources */, + DCFD7E452A45BA9C007BBBF7 /* conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp in Sources */, + DCFD7E462A45BA9C007BBBF7 /* strength_reduction_pass.cpp in Sources */, + DCFD7E472A45BA9C007BBBF7 /* scalar_analysis_simplification.cpp in Sources */, + DCFD7E482A45BA9C007BBBF7 /* validate_interfaces.cpp in Sources */, + DCFD7E492A45BA9C007BBBF7 /* validate_atomics.cpp in Sources */, + DCFD7E4A2A45BA9C007BBBF7 /* ext_inst.cpp in Sources */, + DCFD7E4B2A45BA9C007BBBF7 /* operand_to_dominating_id_reduction_opportunity_finder.cpp in Sources */, + DCFD7E4C2A45BA9C007BBBF7 /* decoration_manager.cpp in Sources */, + DCFD7E4D2A45BA9C007BBBF7 /* workaround1209.cpp in Sources */, + DCFD7E4E2A45BA9C007BBBF7 /* interp_fixup_pass.cpp in Sources */, + DCFD7E4F2A45BA9C007BBBF7 /* validate_literals.cpp in Sources */, + DCFD7E502A45BA9C007BBBF7 /* diff.cpp in Sources */, + DCFD7E512A45BA9C007BBBF7 /* dominator_tree.cpp in Sources */, + DCFD7E522A45BA9C007BBBF7 /* interface_var_sroa.cpp in Sources */, + DCFD7E532A45BA9C007BBBF7 /* upgrade_memory_model.cpp in Sources */, + DCFD7E542A45BA9C007BBBF7 /* combine_access_chains.cpp in Sources */, + DCFD7E552A45BA9C007BBBF7 /* instruction_list.cpp in Sources */, + DCFD7E562A45BA9C007BBBF7 /* aggressive_dead_code_elim_pass.cpp in Sources */, + DCFD7E572A45BA9C007BBBF7 /* reduction_util.cpp in Sources */, + DCFD7E582A45BA9C007BBBF7 /* eliminate_dead_functions_pass.cpp in Sources */, + DCFD7E592A45BA9C007BBBF7 /* validate_small_type_uses.cpp in Sources */, + DCFD7E5A2A45BA9C007BBBF7 /* validate_misc.cpp in Sources */, + DCFD7E5B2A45BA9C007BBBF7 /* code_sink.cpp in Sources */, + DCFD7E5C2A45BA9C007BBBF7 /* pass_manager.cpp in Sources */, + DCFD7E5D2A45BA9C007BBBF7 /* feature_manager.cpp in Sources */, + DCFD7E5E2A45BA9C007BBBF7 /* wrap_opkill.cpp in Sources */, + DCFD7E5F2A45BA9C007BBBF7 /* dataflow.cpp in Sources */, + DCFD7E602A45BA9C007BBBF7 /* validate_type.cpp in Sources */, + DCFD7E612A45BA9C007BBBF7 /* set_spec_constant_default_value_pass.cpp in Sources */, + DCFD7E622A45BA9C007BBBF7 /* remove_selection_reduction_opportunity.cpp in Sources */, + DCFD7E632A45BA9C007BBBF7 /* validate_constants.cpp in Sources */, + DCFD7E642A45BA9C007BBBF7 /* validate_layout.cpp in Sources */, + DCFD7E652A45BA9C007BBBF7 /* const_folding_rules.cpp in Sources */, + DCFD7E662A45BA9C007BBBF7 /* replace_invalid_opc.cpp in Sources */, + DCFD7E672A45BA9C007BBBF7 /* eliminate_dead_io_components_pass.cpp in Sources */, + DCFD7E682A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity_finder.cpp in Sources */, + DCFD7E692A45BA9C007BBBF7 /* reduction_opportunity_finder.cpp in Sources */, + DCFD7E6A2A45BA9C007BBBF7 /* liveness.cpp in Sources */, + DCFD7E6B2A45BA9C007BBBF7 /* debug_info_manager.cpp in Sources */, + DCFD7E6C2A45BA9C007BBBF7 /* relax_float_ops_pass.cpp in Sources */, + DCFD7E6D2A45BA9C007BBBF7 /* value_number_table.cpp in Sources */, + DCFD7E6E2A45BA9C007BBBF7 /* text.cpp in Sources */, + DCFD7E6F2A45BA9C007BBBF7 /* local_single_store_elim_pass.cpp in Sources */, + DCFD7E702A45BA9C007BBBF7 /* remove_unused_instruction_reduction_opportunity_finder.cpp in Sources */, + DCFD7E712A45BA9C007BBBF7 /* reduction_pass.cpp in Sources */, + DCFD7E722A45BA9C007BBBF7 /* convert_to_half_pass.cpp in Sources */, + DCFD7E732A45BA9C007BBBF7 /* reduce_load_size.cpp in Sources */, + DCFD7E742A45BA9C007BBBF7 /* local_access_chain_convert_pass.cpp in Sources */, + DCFD7E752A45BA9C007BBBF7 /* inst_bindless_check_pass.cpp in Sources */, + DCFD7E762A45BA9C007BBBF7 /* local_single_block_elim_pass.cpp in Sources */, + DCFD7E772A45BA9C007BBBF7 /* validate_execution_limitations.cpp in Sources */, + DCFD7E782A45BA9C007BBBF7 /* function.cpp in Sources */, + DCFD7E792A45BA9C007BBBF7 /* fix_func_call_arguments.cpp in Sources */, + DCFD7E7A2A45BA9C007BBBF7 /* structured_loop_to_selection_reduction_opportunity.cpp in Sources */, + DCFD7E7B2A45BA9C007BBBF7 /* graphics_robust_access_pass.cpp in Sources */, + DCFD7E7C2A45BA9C007BBBF7 /* construct.cpp in Sources */, + DCFD7E7D2A45BA9C007BBBF7 /* loop_unroller.cpp in Sources */, + DCFD7E7E2A45BA9C007BBBF7 /* spirv_validator_options.cpp in Sources */, + DCFD7E7F2A45BA9C007BBBF7 /* divergence_analysis.cpp in Sources */, + DCFD7E802A45BA9C007BBBF7 /* loop_utils.cpp in Sources */, + DCFD7E812A45BA9C007BBBF7 /* spread_volatile_semantics.cpp in Sources */, + DCFD7E822A45BA9C007BBBF7 /* desc_sroa.cpp in Sources */, + DCFD7E832A45BA9C007BBBF7 /* dead_insert_elim_pass.cpp in Sources */, + DCFD7E842A45BA9C007BBBF7 /* validate_decorations.cpp in Sources */, + DCFD7E852A45BA9C007BBBF7 /* loop_fusion_pass.cpp in Sources */, + DCFD7E862A45BA9C007BBBF7 /* merge_blocks_reduction_opportunity_finder.cpp in Sources */, + DCFD7E872A45BA9C007BBBF7 /* flatten_decoration_pass.cpp in Sources */, + DCFD7E882A45BA9C007BBBF7 /* fix_storage_class.cpp in Sources */, + DCFD7E892A45BA9C007BBBF7 /* software_version.cpp in Sources */, + DCFD7E8A2A45BA9C007BBBF7 /* assembly_grammar.cpp in Sources */, + DCFD7E8B2A45BA9C007BBBF7 /* amd_ext_to_khr.cpp in Sources */, + DCFD7E8C2A45BA9C007BBBF7 /* text_handler.cpp in Sources */, + DCFD7E8D2A45BA9C007BBBF7 /* optimizer.cpp in Sources */, + DCFD7E8E2A45BA9C007BBBF7 /* validation_state.cpp in Sources */, + DCFD7E8F2A45BA9C007BBBF7 /* mem_pass.cpp in Sources */, + DCFD7E902A45BA9C007BBBF7 /* replace_desc_array_access_using_var_index.cpp in Sources */, + DCFD7E912A45BA9C007BBBF7 /* ir_loader.cpp in Sources */, + DCFD7E922A45BA9C007BBBF7 /* extensions.cpp in Sources */, + DCFD7E932A45BA9C007BBBF7 /* type_manager.cpp in Sources */, + DCFD7E942A45BA9C007BBBF7 /* scalar_replacement_pass.cpp in Sources */, + DCFD7E952A45BA9C007BBBF7 /* loop_unswitch_pass.cpp in Sources */, + DCFD7E962A45BA9C007BBBF7 /* reduction_opportunity.cpp in Sources */, + DCFD7E972A45BA9C007BBBF7 /* validate_extensions.cpp in Sources */, + DCFD7E982A45BA9C007BBBF7 /* remove_unused_struct_member_reduction_opportunity_finder.cpp in Sources */, + DCFD7E992A45BA9C007BBBF7 /* timer.cpp in Sources */, + DCFD7E9A2A45BA9C007BBBF7 /* pch_source_opt.cpp in Sources */, + DCFD7E9B2A45BA9C007BBBF7 /* inline_pass.cpp in Sources */, + DCFD7E9C2A45BA9C007BBBF7 /* inst_buff_addr_check_pass.cpp in Sources */, + DCFD7E9D2A45BA9C007BBBF7 /* validate_barriers.cpp in Sources */, + DCFD7E9E2A45BA9C007BBBF7 /* redundancy_elimination.cpp in Sources */, + DCFD7E9F2A45BA9C007BBBF7 /* spirv_endian.cpp in Sources */, + DCFD7EA02A45BA9C007BBBF7 /* cfg.cpp in Sources */, + DCFD7EA12A45BA9C007BBBF7 /* remove_duplicates_pass.cpp in Sources */, + DCFD7EA22A45BA9C007BBBF7 /* validate_annotation.cpp in Sources */, + DCFD7EA32A45BA9C007BBBF7 /* loop_dependence_helpers.cpp in Sources */, + DCFD7EA42A45BA9C007BBBF7 /* basic_block.cpp in Sources */, + DCFD7EA52A45BA9C007BBBF7 /* loop_dependence.cpp in Sources */, + DCFD7EA62A45BA9C007BBBF7 /* licm_pass.cpp in Sources */, + DCFD7EA72A45BA9C007BBBF7 /* operand_to_undef_reduction_opportunity_finder.cpp in Sources */, + DCFD7EA82A45BA9C007BBBF7 /* dead_branch_elim_pass.cpp in Sources */, + DCFD7EA92A45BA9C007BBBF7 /* inst_debug_printf_pass.cpp in Sources */, + DCFD7EAA2A45BA9C007BBBF7 /* local_redundancy_elimination.cpp in Sources */, + DCFD7EAB2A45BA9C007BBBF7 /* validate_memory.cpp in Sources */, + DCFD7EAC2A45BA9C007BBBF7 /* dominator_analysis.cpp in Sources */, + DCFD7EAD2A45BA9C007BBBF7 /* validate.cpp in Sources */, + DCFD7EAE2A45BA9C007BBBF7 /* copy_prop_arrays.cpp in Sources */, + DCFD7EAF2A45BA9C007BBBF7 /* structured_construct_to_block_reduction_opportunity.cpp in Sources */, + DCFD7EB02A45BA9C007BBBF7 /* validate_composites.cpp in Sources */, + DCFD7EB12A45BA9C007BBBF7 /* loop_fusion.cpp in Sources */, + DCFD7EB22A45BA9C007BBBF7 /* basic_block.cpp in Sources */, + DCFD7EB32A45BA9C007BBBF7 /* remove_unused_interface_variables_pass.cpp in Sources */, + DCFD7EB42A45BA9C007BBBF7 /* validate_function.cpp in Sources */, + DCFD7EB52A45BA9C007BBBF7 /* vector_dce.cpp in Sources */, + DCFD7EB62A45BA9C007BBBF7 /* validate_primitives.cpp in Sources */, + DCFD7EB72A45BA9C007BBBF7 /* simplification_pass.cpp in Sources */, + DCFD7EB82A45BA9C007BBBF7 /* propagator.cpp in Sources */, + DCFD7EB92A45BA9C007BBBF7 /* simple_conditional_branch_to_branch_opportunity_finder.cpp in Sources */, + DCFD7EBA2A45BA9C007BBBF7 /* remove_instruction_reduction_opportunity.cpp in Sources */, + DCFD7EBB2A45BA9C007BBBF7 /* validate_arithmetics.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -5450,6 +6759,21 @@ target = A972ABDD21CED7CB0013AB25 /* glslang-macOS */; targetProxy = A972ABF321CED8C20013AB25 /* PBXContainerItemProxy */; }; + DCFD7ECD2A45BC08007BBBF7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DCFD7C892A45BA7D007BBBF7 /* SPIRV-Cross-xrOS */; + targetProxy = DCFD7ECC2A45BC08007BBBF7 /* PBXContainerItemProxy */; + }; + DCFD7ECF2A45BC0C007BBBF7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DCFD7D0C2A45BA9C007BBBF7 /* SPIRV-Tools-xrOS */; + targetProxy = DCFD7ECE2A45BC0C007BBBF7 /* PBXContainerItemProxy */; + }; + DCFD7ED12A45BC10007BBBF7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DCFD7CA42A45BA92007BBBF7 /* glslang-xrOS */; + targetProxy = DCFD7ED02A45BC10007BBBF7 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -5939,6 +7263,128 @@ }; name = Release; }; + DCFD7CA12A45BA7D007BBBF7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross", + ); + PRODUCT_NAME = SPIRVCross; + SDKROOT = xros; + }; + name = Debug; + }; + DCFD7CA22A45BA7D007BBBF7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross", + ); + PRODUCT_NAME = SPIRVCross; + SDKROOT = xros; + }; + name = Release; + }; + DCFD7D092A45BA92007BBBF7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "AMD_EXTENSIONS=1", + "NV_EXTENSIONS=1", + ); + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/External/glslang\"", + "\"$(SRCROOT)/External/glslang/build/include\"", + ); + PRODUCT_NAME = glslang; + SDKROOT = xros; + }; + name = Debug; + }; + DCFD7D0A2A45BA92007BBBF7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "AMD_EXTENSIONS=1", + "NV_EXTENSIONS=1", + ); + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/External/glslang\"", + "\"$(SRCROOT)/External/glslang/build/include\"", + ); + PRODUCT_NAME = glslang; + SDKROOT = xros; + }; + name = Release; + }; + DCFD7EBE2A45BA9C007BBBF7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/include\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/external/spirv-headers/include\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/build\"", + ); + PRODUCT_NAME = SPIRVTools; + SDKROOT = xros; + }; + name = Debug; + }; + DCFD7EBF2A45BA9C007BBBF7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/include\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/external/spirv-headers/include\"", + "\"$(SRCROOT)/External/glslang/External/spirv-tools/build\"", + ); + PRODUCT_NAME = SPIRVTools; + SDKROOT = xros; + }; + name = Release; + }; + DCFD7ECA2A45BAAA007BBBF7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + DCFD7ECB2A45BAAA007BBBF7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -6068,6 +7514,42 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DCFD7CA02A45BA7D007BBBF7 /* Build configuration list for PBXNativeTarget "SPIRV-Cross-xrOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DCFD7CA12A45BA7D007BBBF7 /* Debug */, + DCFD7CA22A45BA7D007BBBF7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DCFD7D082A45BA92007BBBF7 /* Build configuration list for PBXNativeTarget "glslang-xrOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DCFD7D092A45BA92007BBBF7 /* Debug */, + DCFD7D0A2A45BA92007BBBF7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DCFD7EBD2A45BA9C007BBBF7 /* Build configuration list for PBXNativeTarget "SPIRV-Tools-xrOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DCFD7EBE2A45BA9C007BBBF7 /* Debug */, + DCFD7EBF2A45BA9C007BBBF7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DCFD7EC92A45BAAA007BBBF7 /* Build configuration list for PBXAggregateTarget "ExternalDependencies-xrOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DCFD7ECA2A45BAAA007BBBF7 /* Debug */, + DCFD7ECB2A45BAAA007BBBF7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = A9F55D25198BE6A7004EC31B /* Project object */; diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-xrOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-xrOS.xcscheme new file mode 100644 index 00000000..288332c8 --- /dev/null +++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/ExternalDependencies-xrOS.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-xrOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-xrOS.xcscheme new file mode 100644 index 00000000..e94a658a --- /dev/null +++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Cross-xrOS.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-xrOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-xrOS.xcscheme new file mode 100644 index 00000000..18e609a7 --- /dev/null +++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/SPIRV-Tools-xrOS.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-xrOS.xcscheme b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-xrOS.xcscheme new file mode 100644 index 00000000..9feb36b2 --- /dev/null +++ b/ExternalDependencies.xcodeproj/xcshareddata/xcschemes/glslang-xrOS.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Makefile b/Makefile index 62e1ab5f..b1885f0d 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,8 @@ all: @$(MAKE) maccat @$(MAKE) tvos @$(MAKE) tvossim + @$(MAKE) visionos + @$(MAKE) visionossim .PHONY: all-debug all-debug: @@ -38,6 +40,8 @@ all-debug: @$(MAKE) maccat-debug @$(MAKE) tvos-debug @$(MAKE) tvossim-debug + @$(MAKE) visionos-debug + @$(MAKE) visionossim-debug .PHONY: macos macos: @@ -87,6 +91,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) diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj index 2c4b87eb..8525d136 100644 --- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj +++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj @@ -365,6 +365,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 */ @@ -417,6 +537,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 */ @@ -549,6 +683,7 @@ A9F0429E1FB4CF82009FCCB8 /* MVKLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKLogging.h; sourceTree = ""; }; A9F3D9D924732A4C00745190 /* MVKSmallVectorAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVectorAllocator.h; sourceTree = ""; }; A9F3D9DB24732A4D00745190 /* MVKSmallVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKSmallVector.h; sourceTree = ""; }; + DCFD7F622A45BC6E007BBBF7 /* libMoltenVK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMoltenVK.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXGroup section */ @@ -716,6 +851,7 @@ A98149821FB6B566005F00B4 /* libMoltenVKShaderConverter.a */, 2FEA0D1C249040CA00EEF3AD /* libMoltenVKShaderConverter.a */, A98149841FB6B566005F00B4 /* libMoltenVKShaderConverter.a */, + DCBC41222A45DB1000F49BD1 /* libMoltenVKShaderConverter.a */, ); name = Products; sourceTree = ""; @@ -783,6 +919,7 @@ A9B8EE0A1A98D796009C5A02 /* libMoltenVK.a */, A9CBEE011B6299D800E45FDC /* libMoltenVK.a */, 2FEA0ABA24902F9F00EEF3AD /* libMoltenVK.a */, + DCFD7F622A45BC6E007BBBF7 /* libMoltenVK.a */, ); name = Products; sourceTree = ""; @@ -1011,6 +1148,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 */ @@ -1074,6 +1285,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 */ @@ -1114,6 +1345,7 @@ A9B8EE091A98D796009C5A02 /* MoltenVK-iOS */, 2FEA0A3B24902F9F00EEF3AD /* MoltenVK-tvOS */, A9CBED861B6299D800E45FDC /* MoltenVK-macOS */, + DCFD7EDF2A45BC6E007BBBF7 /* MoltenVK-xrOS */, ); }; /* End PBXProject section */ @@ -1147,6 +1379,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 */ @@ -1317,6 +1556,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 */ @@ -1499,6 +1795,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 */ @@ -1517,6 +1873,11 @@ name = MoltenVKShaderConverter; targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */; }; + DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "MoltenVKShaderConverter-xrOS"; + targetProxy = DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -1703,6 +2064,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 */ @@ -1742,6 +2117,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 */; diff --git a/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-xrOS.xcscheme b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-xrOS.xcscheme new file mode 100644 index 00000000..e80fa8c3 --- /dev/null +++ b/MoltenVK/MoltenVK.xcodeproj/xcshareddata/xcschemes/MoltenVK-xrOS.xcscheme @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm index 3494740e..14b5e0ac 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm @@ -154,7 +154,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, @@ -784,7 +784,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; diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm index 53aba660..cc25d89d 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKSwapchain.mm @@ -503,14 +503,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); diff --git a/MoltenVK/MoltenVK/Layers/MVKExtensions.def b/MoltenVK/MoltenVK/Layers/MVKExtensions.def index 515029c9..c092a99a 100644 --- a/MoltenVK/MoltenVK/Layers/MVKExtensions.def +++ b/MoltenVK/MoltenVK/Layers/MVKExtensions.def @@ -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,104 +38,104 @@ #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_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_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_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_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_buffer_device_address, EXT_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.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_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_stencil_export, EXT_SHADER_STENCIL_EXPORT, DEVICE, 10.14, 12.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_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_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_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_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_buffer_device_address, EXT_BUFFER_DEVICE_ADDRESS, DEVICE, 13.0, 16.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_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_stencil_export, EXT_SHADER_STENCIL_EXPORT, DEVICE, 10.14, 12.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 diff --git a/MoltenVK/MoltenVK/Layers/MVKExtensions.h b/MoltenVK/MoltenVK/Layers/MVKExtensions.h index 64b35e36..c368da8c 100644 --- a/MoltenVK/MoltenVK/Layers/MVKExtensions.h +++ b/MoltenVK/MoltenVK/Layers/MVKExtensions.h @@ -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; diff --git a/MoltenVK/MoltenVK/Layers/MVKExtensions.mm b/MoltenVK/MoltenVK/Layers/MVKExtensions.mm index 596f5882..97447ed5 100644 --- a/MoltenVK/MoltenVK/Layers/MVKExtensions.mm +++ b/MoltenVK/MoltenVK/Layers/MVKExtensions.mm @@ -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,18 +54,18 @@ static bool mvkIsSupportedOnPlatform(VkExtensionProperties* pProperties) { if ( !mvkIsAnyFlagEnabled(advExtns, MVK_CONFIG_ADVERTISE_EXTENSIONS_ALL) ) { #define MVK_NA kMVKOSVersionUnsupported if (mvkIsAnyFlagEnabled(advExtns, MVK_CONFIG_ADVERTISE_EXTENSIONS_MOLTENVK)) { - MVK_EXTENSION_MIN_OS(MVK_MOLTENVK, 10.11, 8.0) + MVK_EXTENSION_MIN_OS(MVK_MOLTENVK, 10.11, 8.0, 1.0) } 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 @@ -73,7 +73,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 @@ -91,8 +91,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) { @@ -104,7 +104,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" } @@ -113,14 +113,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" } diff --git a/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.h b/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.h index 7181b237..61a5c439 100644 --- a/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.h +++ b/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.h @@ -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 diff --git a/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.m b/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.m index a9e5a009..9a8b10d8 100644 --- a/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.m +++ b/MoltenVK/MoltenVK/OS/CAMetalLayer+MoltenVK.m @@ -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; } diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm index 785694cd..7beed626 100644 --- a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm +++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm @@ -69,7 +69,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()); @@ -79,7 +79,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]; } diff --git a/MoltenVKPackaging.xcodeproj/project.pbxproj b/MoltenVKPackaging.xcodeproj/project.pbxproj index 3483c136..29899ab6 100644 --- a/MoltenVKPackaging.xcodeproj/project.pbxproj +++ b/MoltenVKPackaging.xcodeproj/project.pbxproj @@ -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 = ""; @@ -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 */; diff --git a/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (visionOS only).xcscheme b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (visionOS only).xcscheme new file mode 100644 index 00000000..df10d075 --- /dev/null +++ b/MoltenVKPackaging.xcodeproj/xcshareddata/xcschemes/MoltenVK Package (visionOS only).xcscheme @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj index 56957d74..4b64e66d 100644 --- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj +++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj @@ -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 = ""; }; A9B51BDC225E98BB00AC74D2 /* MVKOSExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKOSExtensions.h; sourceTree = ""; }; A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommonEnvironment.h; sourceTree = ""; }; + 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 = ""; }; @@ -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 */; diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-xrOS.xcscheme b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-xrOS.xcscheme new file mode 100644 index 00000000..b7887705 --- /dev/null +++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/xcshareddata/xcschemes/MoltenVKShaderConverter-xrOS.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh index 5ba75f67..27acd144 100755 --- a/Scripts/create_dylib.sh +++ b/Scripts/create_dylib.sh @@ -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 \ diff --git a/Scripts/create_dylib_ios.sh b/Scripts/create_dylib_ios.sh index a3672f92..b3ae4b8d 100755 --- a/Scripts/create_dylib_ios.sh +++ b/Scripts/create_dylib_ios.sh @@ -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" diff --git a/Scripts/create_dylib_macos.sh b/Scripts/create_dylib_macos.sh index 0f3447c5..0f72594c 100755 --- a/Scripts/create_dylib_macos.sh +++ b/Scripts/create_dylib_macos.sh @@ -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" diff --git a/Scripts/create_dylib_tvos.sh b/Scripts/create_dylib_tvos.sh index 33cea2ec..27c22352 100755 --- a/Scripts/create_dylib_tvos.sh +++ b/Scripts/create_dylib_tvos.sh @@ -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="" diff --git a/Scripts/create_dylib_xros.sh b/Scripts/create_dylib_xros.sh new file mode 100755 index 00000000..23cfacae --- /dev/null +++ b/Scripts/create_dylib_xros.sh @@ -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" diff --git a/Scripts/package_moltenvk.sh b/Scripts/package_moltenvk.sh index 396dd129..cce0dfaf 100755 --- a/Scripts/package_moltenvk.sh +++ b/Scripts/package_moltenvk.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" diff --git a/fetchDependencies b/fetchDependencies index 052cf604..04e065fe 100755 --- a/fetchDependencies +++ b/fetchDependencies @@ -26,8 +26,14 @@ # --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]. +# Equivalent to specifying [--macos --ios --iossim --maccat --tvos --tvossim --visionos --visionossim]. # Results in one XCFramework for each external library, each containing # binaries for all supported platforms. # @@ -94,6 +100,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,6 +137,14 @@ 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 @@ -139,6 +155,8 @@ while (( "$#" )); do BLD_MAC_CAT="Y" BLD_TVOS="Y" BLD_TVOS_SIM="Y" + BLD_VISIONOS="Y" + BLD_VISIONOS_SIM="Y" BLD_MACOS="Y" shift 1 ;; @@ -477,6 +495,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 +521,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