diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md
index e1c3e0c..88816d4 100644
--- a/Docs/Whats_New.md
+++ b/Docs/Whats_New.md
@@ -13,6 +13,19 @@
 
 
 
+MoltenVK 1.0.18
+---------------
+
+Released 2018/08/15
+
+- vkCmdFullBuffer() fills buffer using compute shader.
+- Fix API for updating MVKDeviceConfiguration::synchronousQueueSubmits.
+- vkGetPhysicalDeviceFormatProperties() return VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT 
+  if supported, even if other format properties are not.
+- Support Metal GPU capture scopes.
+- Update to latest SPIRV-Cross, glslang & SPIRV-Tools.
+
+
 MoltenVK 1.0.17
 ---------------
 
diff --git a/ExternalRevisions/SPIRV-Cross_repo_revision b/ExternalRevisions/SPIRV-Cross_repo_revision
index 7ae4c70..0236f54 100644
--- a/ExternalRevisions/SPIRV-Cross_repo_revision
+++ b/ExternalRevisions/SPIRV-Cross_repo_revision
@@ -1 +1 @@
-162eee632599cd077972ee1d88b341eedbcfdf27
+973e2e6e42f0414a304c84a19353cc4719a2bf9f
diff --git a/ExternalRevisions/glslang_repo_revision b/ExternalRevisions/glslang_repo_revision
index 348bd94..a4e2ff1 100644
--- a/ExternalRevisions/glslang_repo_revision
+++ b/ExternalRevisions/glslang_repo_revision
@@ -1 +1 @@
-e99a26810f65314183163c07664a40e05647c15f
+ec5c11931bcfc1f438ae4aec46e1783a42cec7e6
diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
index 034fcd1..6664b45 100644
--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
@@ -13,6 +13,10 @@
 		A90C8DEB1F45354D009CB32C /* MVKCommandEncodingPool.h in Headers */ = {isa = PBXBuildFile; fileRef = A90C8DE81F45354D009CB32C /* MVKCommandEncodingPool.h */; };
 		A90C8DEC1F45354D009CB32C /* MVKCommandEncodingPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90C8DE91F45354D009CB32C /* MVKCommandEncodingPool.mm */; };
 		A90C8DED1F45354D009CB32C /* MVKCommandEncodingPool.mm in Sources */ = {isa = PBXBuildFile; fileRef = A90C8DE91F45354D009CB32C /* MVKCommandEncodingPool.mm */; };
+		A93E832F2121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */; };
+		A93E83302121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */; };
+		A93E83352121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; };
+		A93E83362121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */; };
 		A948BB7F1E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		A948BB801E51642700DE59F2 /* mvk_vulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		A94FB7B01C7DFB4800632CA3 /* mvk_datatypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -256,6 +260,8 @@
 		A9096E5D1F81E16300DFBEA6 /* MVKCmdDispatch.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKCmdDispatch.mm; sourceTree = "<group>"; };
 		A90C8DE81F45354D009CB32C /* MVKCommandEncodingPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKCommandEncodingPool.h; sourceTree = "<group>"; };
 		A90C8DE91F45354D009CB32C /* MVKCommandEncodingPool.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKCommandEncodingPool.mm; sourceTree = "<group>"; };
+		A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MVKGPUCapture.h; sourceTree = "<group>"; };
+		A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MVKGPUCapture.mm; sourceTree = "<group>"; };
 		A948BB7E1E51642700DE59F2 /* mvk_vulkan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mvk_vulkan.h; sourceTree = "<group>"; };
 		A94FB7671C7DFB4800632CA3 /* mvk_datatypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mvk_datatypes.h; sourceTree = "<group>"; };
 		A94FB7691C7DFB4800632CA3 /* vk_mvk_moltenvk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vk_mvk_moltenvk.h; sourceTree = "<group>"; };
@@ -541,6 +547,8 @@
 				A9E53DCD2100B197002781DD /* MTLSamplerDescriptor+MoltenVK.m */,
 				A9E53DD02100B197002781DD /* MTLTextureDescriptor+MoltenVK.h */,
 				A9E53DD52100B197002781DD /* MTLTextureDescriptor+MoltenVK.m */,
+				A93E832E2121C5D3001FEBD4 /* MVKGPUCapture.h */,
+				A93E83342121F0C8001FEBD4 /* MVKGPUCapture.mm */,
 				A9E53DCE2100B197002781DD /* MVKOSExtensions.h */,
 				A9E53DCF2100B197002781DD /* MVKOSExtensions.mm */,
 				A9E53DD22100B197002781DD /* NSString+MoltenVK.h */,
@@ -619,6 +627,7 @@
 				A9C96DD01DDC20C20053187F /* MVKMTLBufferAllocation.h in Headers */,
 				A98149571FB6A3F7005F00B4 /* MVKObjectPool.h in Headers */,
 				A94FB8141C7DFB4800632CA3 /* MVKSwapchain.h in Headers */,
+				A93E832F2121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */,
 				A94FB7DC1C7DFB4800632CA3 /* MVKBuffer.h in Headers */,
 				A9F042A41FB4CF83009FCCB8 /* MVKCommonEnvironment.h in Headers */,
 				A981495D1FB6A3F7005F00B4 /* MVKWatermark.h in Headers */,
@@ -677,6 +686,7 @@
 				A9C96DD11DDC20C20053187F /* MVKMTLBufferAllocation.h in Headers */,
 				A98149581FB6A3F7005F00B4 /* MVKObjectPool.h in Headers */,
 				A94FB8151C7DFB4800632CA3 /* MVKSwapchain.h in Headers */,
+				A93E83302121C5D4001FEBD4 /* MVKGPUCapture.h in Headers */,
 				A94FB7DD1C7DFB4800632CA3 /* MVKBuffer.h in Headers */,
 				A9F042A51FB4CF83009FCCB8 /* MVKCommonEnvironment.h in Headers */,
 				A981495E1FB6A3F7005F00B4 /* MVKWatermark.h in Headers */,
@@ -891,6 +901,7 @@
 				A94FB8301C7DFB4800632CA3 /* vk_mvk_moltenvk.mm in Sources */,
 				A94FB8161C7DFB4800632CA3 /* MVKSwapchain.mm in Sources */,
 				A95B7D6B1D3EE486003183D3 /* MVKCommandEncoderState.mm in Sources */,
+				A93E83352121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */,
 				A94FB7CE1C7DFB4800632CA3 /* MVKCommand.mm in Sources */,
 				A94FB80E1C7DFB4800632CA3 /* MVKShaderModule.mm in Sources */,
 				A94FB81A1C7DFB4800632CA3 /* MVKSync.mm in Sources */,
@@ -941,6 +952,7 @@
 				A94FB8311C7DFB4800632CA3 /* vk_mvk_moltenvk.mm in Sources */,
 				A94FB8171C7DFB4800632CA3 /* MVKSwapchain.mm in Sources */,
 				A95B7D6C1D3EE486003183D3 /* MVKCommandEncoderState.mm in Sources */,
+				A93E83362121F0C8001FEBD4 /* MVKGPUCapture.mm in Sources */,
 				A94FB7CF1C7DFB4800632CA3 /* MVKCommand.mm in Sources */,
 				A94FB80F1C7DFB4800632CA3 /* MVKShaderModule.mm in Sources */,
 				A94FB81B1C7DFB4800632CA3 /* MVKSync.mm in Sources */,
diff --git a/MoltenVK/MoltenVK/API/mvk_datatypes.h b/MoltenVK/MoltenVK/API/mvk_datatypes.h
index 0be95ce..c02676b 100644
--- a/MoltenVK/MoltenVK/API/mvk_datatypes.h
+++ b/MoltenVK/MoltenVK/API/mvk_datatypes.h
@@ -165,17 +165,18 @@
 /** 
  * Returns the default properties for the specified Vulkan format.
  *
- * Not all MTLPixelFormats returned by this function are supported by all GPU's,
- * and, as a result, MoltenVK may return a different value from the 
- * vkGetPhysicalDeviceFormatProperties() function than is returned here.
+ * Not all MTLPixelFormats returned by this function are supported by all GPU's, and, as a
+ * result, MoltenVK may return a different value from the vkGetPhysicalDeviceFormatProperties()
+ * function than is returned here. Use the vkGetPhysicalDeviceFormatProperties() function to
+ * return the properties for a particular GPU.
  *
- * Not all macOS GPU's support the MTLPixelFormatDepth24Unorm_Stencil8 
- * (VK_FORMAT_D24_UNORM_S8_UINT) pixel format. On an macOS device that has more 
- * than one GPU, one of the GPU's may support that format, while another may not.
- * Use the vkGetPhysicalDeviceFormatProperties() function to return the properties
- * for a particular GPU.
+ * Setting assumeGPUSupportsDefault to true allows the default format properties to be returned.
+ * The assumeGPUSupportsDefault flag can be set to false if it is already known that the format
+ * is not supported by a particular GPU for images, in which case all of the returned properties
+ * will be disabled, except possibly VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, which may be supported
+ * for the format even without image support.
  */
-VkFormatProperties mvkVkFormatProperties(VkFormat vkFormat);
+VkFormatProperties mvkVkFormatProperties(VkFormat vkFormat, bool assumeGPUSupportsDefault = true);
 
 /** Returns the name of the specified Vulkan format. */
 const char* mvkVkFormatName(VkFormat vkFormat);
diff --git a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
index 7bc9d7d..0cd28d0 100644
--- a/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
+++ b/MoltenVK/MoltenVK/API/vk_mvk_moltenvk.h
@@ -48,7 +48,7 @@
  */
 #define MVK_VERSION_MAJOR   1
 #define MVK_VERSION_MINOR   0
-#define MVK_VERSION_PATCH   17
+#define MVK_VERSION_PATCH   18
 
 #define MVK_MAKE_VERSION(major, minor, patch)    (((major) * 10000) + ((minor) * 100) + (patch))
 #define MVK_VERSION     MVK_MAKE_VERSION(MVK_VERSION_MAJOR, MVK_VERSION_MINOR, MVK_VERSION_PATCH)
diff --git a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
index 444cace..b28c2cd 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCmdTransfer.mm
@@ -541,6 +541,13 @@
 #pragma mark -
 #pragma mark MVKCmdCopyBuffer
 
+// Matches shader struct.
+typedef struct {
+	uint32_t srcOffset;
+	uint32_t dstOffset;
+	uint32_t size;
+} MVKCmdCopyBufferInfo;
+
 void MVKCmdCopyBuffer::setContent(VkBuffer srcBuffer,
 								  VkBuffer destBuffer,
 								  uint32_t regionCount,
@@ -570,17 +577,20 @@
 													  cpyRgn.dstOffset % buffAlign != 0 ||
 													  cpyRgn.size      % buffAlign != 0);
 		if (useComputeCopy) {
-			MVKAssert(cpyRgn.srcOffset <= UINT32_MAX || cpyRgn.dstOffset <= UINT32_MAX || cpyRgn.size <= UINT32_MAX,
-					  "Compute buffer copy region offsets and size must fit into a 32-bit unsigned integer.");
+			MVKAssert(mvkFits<uint32_t>(cpyRgn.srcOffset) && mvkFits<uint32_t>(cpyRgn.dstOffset) && mvkFits<uint32_t>(cpyRgn.size),
+					  "Byte-aligned buffer copy region offsets and size must each fit into a 32-bit unsigned integer.");
+
+			MVKCmdCopyBufferInfo copyInfo;
+			copyInfo.srcOffset = (uint32_t)cpyRgn.srcOffset;
+			copyInfo.dstOffset = (uint32_t)cpyRgn.dstOffset;
+			copyInfo.size = (uint32_t)cpyRgn.size;
 
 			id<MTLComputeCommandEncoder> mtlComputeEnc = cmdEncoder->getMTLComputeEncoder(kMVKCommandUseCopyBuffer);
 			[mtlComputeEnc pushDebugGroup: @"vkCmdCopyBuffer"];
-			id<MTLComputePipelineState> pipelineState = cmdEncoder->getCommandEncodingPool()->getCopyBufferBytesComputePipelineState();
-			[mtlComputeEnc setComputePipelineState:pipelineState];
-			[mtlComputeEnc setBuffer:srcMTLBuff offset:srcMTLBuffOffset atIndex:0];
-			[mtlComputeEnc setBuffer:dstMTLBuff offset:dstMTLBuffOffset atIndex:1];
-			uint32_t copyInfo[3] = { (uint32_t)cpyRgn.srcOffset,  (uint32_t)cpyRgn.dstOffset, (uint32_t)cpyRgn.size };
-			[mtlComputeEnc setBytes:copyInfo length:sizeof(copyInfo) atIndex:2];
+			[mtlComputeEnc setComputePipelineState: cmdEncoder->getCommandEncodingPool()->getCmdCopyBufferBytesMTLComputePipelineState()];
+			[mtlComputeEnc setBuffer:srcMTLBuff offset: srcMTLBuffOffset atIndex: 0];
+			[mtlComputeEnc setBuffer:dstMTLBuff offset: dstMTLBuffOffset atIndex: 1];
+			[mtlComputeEnc setBytes: &copyInfo length: sizeof(copyInfo) atIndex: 2];
 			[mtlComputeEnc dispatchThreads: MTLSizeMake(1, 1, 1) threadsPerThreadgroup: MTLSizeMake(1, 1, 1)];
 			[mtlComputeEnc popDebugGroup];
 		} else {
@@ -939,7 +949,7 @@
                              ? _image->getLayerCount()
                              : (layerStart + layerCnt));
 
-        // Iterate across mipmap levels and layers, and render to clear each
+        // Iterate across mipmap levels and layers, and perform and empty render to clear each
         for (uint32_t mipLvl = mipLvlStart; mipLvl < mipLvlEnd; mipLvl++) {
 			mtlRPCADesc.level = mipLvl;
 			mtlRPDADesc.level = mipLvl;
@@ -963,6 +973,13 @@
 #pragma mark -
 #pragma mark MVKCmdFillBuffer
 
+// Matches shader struct
+typedef struct {
+	uint32_t dstOffset;
+	uint32_t size;
+	uint32_t data;
+} MVKCmdFillBufferInfo;
+
 void MVKCmdFillBuffer::setContent(VkBuffer dstBuffer,
                                   VkDeviceSize dstOffset,
                                   VkDeviceSize size,
@@ -974,18 +991,26 @@
 }
 
 void MVKCmdFillBuffer::encode(MVKCommandEncoder* cmdEncoder) {
-
-    id<MTLBlitCommandEncoder> mtlBlitEnc = cmdEncoder->getMTLBlitEncoder(kMVKCommandUseFillBuffer);
-
     id<MTLBuffer> dstMTLBuff = _dstBuffer->getMTLBuffer();
-    NSUInteger dstMTLBuffOffset = _dstBuffer->getMTLBufferOffset() + _dstOffset;
-    VkDeviceSize byteCnt = (_size == VK_WHOLE_SIZE) ? (_dstBuffer->getByteCount() - _dstOffset) : _size;
+    VkDeviceSize dstMTLBuffOffset = _dstBuffer->getMTLBufferOffset();
+    VkDeviceSize byteCnt = (_size == VK_WHOLE_SIZE) ? (_dstBuffer->getByteCount() - (dstMTLBuffOffset + _dstOffset)) : _size;
+	VkDeviceSize wordCnt = byteCnt >> 2;
 
-    // Metal only supports filling with a single byte value, so each byte in the
-    // buffer will be filled with the lower 8 bits of the Vulkan 32-bit data value.
-    [mtlBlitEnc fillBuffer: dstMTLBuff
-                     range: NSMakeRange(dstMTLBuffOffset, byteCnt)
-                     value: (uint8_t)_dataValue];
+	MVKAssert(mvkFits<uint32_t>(_dstOffset) && mvkFits<uint32_t>(wordCnt),
+			  "Buffer fill offset and size must each fit into a 32-bit unsigned integer.");
+
+	MVKCmdFillBufferInfo fillInfo;
+	fillInfo.dstOffset = (uint32_t)_dstOffset;
+	fillInfo.size = (uint32_t)wordCnt;
+	fillInfo.data = _dataValue;
+
+	id<MTLComputeCommandEncoder> mtlComputeEnc = cmdEncoder->getMTLComputeEncoder(kMVKCommandUseCopyBuffer);
+	[mtlComputeEnc pushDebugGroup: @"vkCmdFillBuffer"];
+	[mtlComputeEnc setComputePipelineState: cmdEncoder->getCommandEncodingPool()->getCmdFillBufferMTLComputePipelineState()];
+	[mtlComputeEnc setBuffer: dstMTLBuff offset: dstMTLBuffOffset atIndex: 0];
+	[mtlComputeEnc setBytes: &fillInfo length: sizeof(fillInfo) atIndex: 1];
+	[mtlComputeEnc dispatchThreads: MTLSizeMake(1, 1, 1) threadsPerThreadgroup: MTLSizeMake(1, 1, 1)];
+	[mtlComputeEnc popDebugGroup];
 }
 
 
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.h b/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.h
index 705e961..be8e237 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.h
@@ -91,11 +91,11 @@
      */
     MVKImage* getTransferMVKImage(MVKImageDescriptorData& imgData);
     
-    /**
-     * Returns an MTLComputePipelineState dedicated to copying bytes between two buffers
-     * with unaligned copy regions.
-     */
-    id<MTLComputePipelineState> getCopyBufferBytesComputePipelineState();
+	/** Returns a MTLComputePipelineState for copying between two buffers with byte-aligned copy regions. */
+    id<MTLComputePipelineState> getCmdCopyBufferBytesMTLComputePipelineState();
+
+	/** Returns a MTLComputePipelineState for filling a buffer. */
+	id<MTLComputePipelineState> getCmdFillBufferMTLComputePipelineState();
 
 #pragma mark Construction
 
@@ -113,12 +113,13 @@
     std::unordered_map<MVKImageDescriptorData, MVKImage*> _transferImages;
     MVKDeviceMemory* _transferImageMemory;
     MVKMTLBufferAllocator _mtlBufferAllocator;
-    id<MTLSamplerState> _cmdBlitImageLinearMTLSamplerState;
-    id<MTLSamplerState> _cmdBlitImageNearestMTLSamplerState;
-    id<MTLDepthStencilState> _cmdClearDepthOnlyDepthStencilState;
-    id<MTLDepthStencilState> _cmdClearStencilOnlyDepthStencilState;
-    id<MTLDepthStencilState> _cmdClearDepthAndStencilDepthStencilState;
-    id<MTLDepthStencilState> _cmdClearDefaultDepthStencilState;
-    id<MTLComputePipelineState> _mtlCopyBufferBytesComputePipelineState;
+    id<MTLSamplerState> _cmdBlitImageLinearMTLSamplerState = nil;
+    id<MTLSamplerState> _cmdBlitImageNearestMTLSamplerState = nil;
+    id<MTLDepthStencilState> _cmdClearDepthOnlyDepthStencilState = nil;
+    id<MTLDepthStencilState> _cmdClearStencilOnlyDepthStencilState = nil;
+    id<MTLDepthStencilState> _cmdClearDepthAndStencilDepthStencilState = nil;
+    id<MTLDepthStencilState> _cmdClearDefaultDepthStencilState = nil;
+    id<MTLComputePipelineState> _mtlCopyBufferBytesComputePipelineState = nil;
+	id<MTLComputePipelineState> _mtlFillBufferComputePipelineState = nil;
 };
 
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.mm b/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.mm
index bfe070a..fb7a601 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandEncodingPool.mm
@@ -111,26 +111,25 @@
     return mvkImg;
 }
 
-id<MTLComputePipelineState> MVKCommandEncodingPool::getCopyBufferBytesComputePipelineState() {
+id<MTLComputePipelineState> MVKCommandEncodingPool::getCmdCopyBufferBytesMTLComputePipelineState() {
     if (_mtlCopyBufferBytesComputePipelineState == nil) {
-        _mtlCopyBufferBytesComputePipelineState = _device->getCommandResourceFactory()->newCopyBytesMTLComputePipelineState();
+        _mtlCopyBufferBytesComputePipelineState = _device->getCommandResourceFactory()->newCmdCopyBufferBytesMTLComputePipelineState();
     }
     return _mtlCopyBufferBytesComputePipelineState;
 }
 
+id<MTLComputePipelineState> MVKCommandEncodingPool::getCmdFillBufferMTLComputePipelineState() {
+	if (_mtlFillBufferComputePipelineState == nil) {
+		_mtlFillBufferComputePipelineState = _device->getCommandResourceFactory()->newCmdFillBufferMTLComputePipelineState();
+	}
+	return _mtlFillBufferComputePipelineState;
+}
+
 #pragma mark Construction
 
 MVKCommandEncodingPool::MVKCommandEncodingPool(MVKDevice* device) : MVKBaseDeviceObject(device),
     _mtlBufferAllocator(device, device->_pMetalFeatures->maxMTLBufferSize) {
 
-    _cmdBlitImageLinearMTLSamplerState = nil;
-    _cmdBlitImageNearestMTLSamplerState = nil;
-    _cmdClearDepthAndStencilDepthStencilState = nil;
-    _cmdClearDepthOnlyDepthStencilState = nil;
-    _cmdClearStencilOnlyDepthStencilState = nil;
-    _cmdClearDefaultDepthStencilState = nil;
-    _mtlCopyBufferBytesComputePipelineState = nil;
-
     initTextureDeviceMemory();
 }
 
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h b/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
index 161fb6f..bda4594 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
@@ -68,16 +68,30 @@
 typedef struct {                                                                                                \n\
     uint32_t srcOffset;                                                                                         \n\
     uint32_t dstOffset;                                                                                         \n\
-    uint32_t copySize;                                                                                          \n\
+    uint32_t size;                                                                                              \n\
 } CopyInfo;                                                                                                     \n\
                                                                                                                 \n\
-kernel void compCopyBufferBytes(device uint8_t* src [[ buffer(0) ]],                                            \n\
-                                device uint8_t* dst [[ buffer(1) ]],                                            \n\
-                                constant CopyInfo& info [[ buffer(2) ]]) {                                      \n\
-    for (size_t i = 0; i < info.copySize; i++) {                                                                \n\
+kernel void cmdCopyBufferBytes(device uint8_t* src [[ buffer(0) ]],                                             \n\
+                               device uint8_t* dst [[ buffer(1) ]],                                             \n\
+                               constant CopyInfo& info [[ buffer(2) ]]) {                                       \n\
+    for (size_t i = 0; i < info.size; i++) {                                                                    \n\
         dst[i + info.dstOffset] = src[i + info.srcOffset];                                                      \n\
     }                                                                                                           \n\
 };                                                                                                              \n\
+                                                                                                                \n\
+typedef struct {                                                                                                \n\
+    uint32_t dstOffset;                                                                                         \n\
+    uint32_t size;                                                                                              \n\
+    uint32_t data;                                                                                              \n\
+} FillInfo;                                                                                                     \n\
+                                                                                                                \n\
+kernel void cmdFillBuffer(device uint32_t* dst [[ buffer(0) ]],                                                 \n\
+                          constant FillInfo& info [[ buffer(1) ]]) {                                            \n\
+    for (uint32_t i = 0; i < info.size; i++) {                                                                  \n\
+        dst[i + info.dstOffset] = info.data;                                                                    \n\
+    }                                                                                                           \n\
+};                                                                                                              \n\
+                                                                                                                \n\
 ";
 
 /** Returns MSL shader source code containing static functions to be used for various Vulkan commands. */
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
index fc81e18..2821319 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.h
@@ -308,12 +308,11 @@
      */
     MVKImage* newMVKImage(MVKImageDescriptorData& imgData);
     
-    /**
-     * Returns a new MTLComputePipelineState dedicated to copying bytes between two buffers
-     * with unaligned copy regions.
-     */
-    id<MTLComputePipelineState> newCopyBytesMTLComputePipelineState();
+    /** Returns a new MTLComputePipelineState for copying between two buffers with byte-aligned copy regions. */
+    id<MTLComputePipelineState> newCmdCopyBufferBytesMTLComputePipelineState();
 
+	/** Returns a new MTLComputePipelineState for filling a buffer. */
+	id<MTLComputePipelineState> newCmdFillBufferMTLComputePipelineState();
 
 #pragma mark Construction
 
@@ -329,6 +328,7 @@
     id<MTLFunction> getFunctionNamed(const char* funcName);
 	id<MTLFunction> newMTLFunction(NSString* mslSrcCode, NSString* funcName);
     id<MTLRenderPipelineState> newMTLRenderPipelineState(MTLRenderPipelineDescriptor* plDesc);
+	id<MTLComputePipelineState> newMTLComputePipelineState(id<MTLFunction> mtlFunction);
 
 	id<MTLLibrary> _mtlLibrary;
 };
diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
index 5cce343..9916f29 100644
--- a/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
+++ b/MoltenVK/MoltenVK/Commands/MVKCommandResourceFactory.mm
@@ -303,6 +303,17 @@
     return _device->createImage(&createInfo, nullptr);
 }
 
+id<MTLComputePipelineState> MVKCommandResourceFactory::newCmdCopyBufferBytesMTLComputePipelineState() {
+	return newMTLComputePipelineState(getFunctionNamed("cmdCopyBufferBytes"));
+}
+
+id<MTLComputePipelineState> MVKCommandResourceFactory::newCmdFillBufferMTLComputePipelineState() {
+	return newMTLComputePipelineState(getFunctionNamed("cmdFillBuffer"));
+}
+
+
+#pragma mark Support methods
+
 id<MTLFunction> MVKCommandResourceFactory::getFunctionNamed(const char* funcName) {
     uint64_t startTime = _device->getPerformanceTimestamp();
     id<MTLFunction> mtlFunc = [[_mtlLibrary newFunctionWithName: @(funcName)] autorelease];
@@ -335,17 +346,14 @@
     return rps;
 }
 
-id<MTLComputePipelineState> MVKCommandResourceFactory::newCopyBytesMTLComputePipelineState() {
-    MTLComputePipelineDescriptor* plDesc = [[[MTLComputePipelineDescriptor alloc] init] autorelease];
-    plDesc.computeFunction = getFunctionNamed("compCopyBufferBytes");
-    plDesc.buffers[0].mutability = MTLMutabilityMutable;
-    plDesc.buffers[1].mutability = MTLMutabilityMutable;
-    NSError* err = nil;
-    id<MTLComputePipelineState> computePipelineState = [getMTLDevice() newComputePipelineStateWithDescriptor:plDesc options:MTLPipelineOptionNone reflection:nil error:&err];
-    MVKAssert( !err, "Could not create %s pipeline state: %s (code %li) %s", plDesc.label.UTF8String, err.localizedDescription.UTF8String, (long)err.code, err.localizedFailureReason.UTF8String);
-    return computePipelineState;
+id<MTLComputePipelineState> MVKCommandResourceFactory::newMTLComputePipelineState(id<MTLFunction> mtlFunction) {
+	MVKComputePipelineCompiler* plc = new MVKComputePipelineCompiler(_device);
+	id<MTLComputePipelineState> cps = plc->newMTLComputePipelineState(mtlFunction);		// retained
+	plc->destroy();
+    return cps;
 }
 
+
 #pragma mark Construction
 
 MVKCommandResourceFactory::MVKCommandResourceFactory(MVKDevice* device) : MVKBaseDeviceObject(device) {
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
index 24ac020..7f5a893 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.h
@@ -81,7 +81,7 @@
 	/** Populates the specified structure with the properties of this device. */
 	void getProperties(VkPhysicalDeviceProperties* properties);
 
-	/** Returns whether the specified format is supported. */
+	/** Returns whether the specified format is supported on this device. */
 	bool getFormatIsSupported(VkFormat format);
 
 	/** Populates the specified structure with the format properties of this device. */
@@ -266,6 +266,12 @@
 	/** Block the current thread until all queues in this device are idle. */
 	VkResult waitIdle();
 
+	/** Returns a pointer to the MoltenVK configuration info for this device. */
+	const MVKDeviceConfiguration* getMoltenVKConfiguration();
+
+	/** Sets the MoltenVK configuration info for this device. */
+	void setMoltenVKConfiguration(const MVKDeviceConfiguration* pConfiguration);
+
 
 #pragma mark Object lifecycle
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
index 94ff4d8..66da700 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm
@@ -85,11 +85,9 @@
 	return true;
 }
 
-void MVKPhysicalDevice::getFormatProperties(VkFormat format,
-                                            VkFormatProperties* pFormatProperties) {
-	static VkFormatProperties noFmtFeats = { 0, 0, 0 };
+void MVKPhysicalDevice::getFormatProperties(VkFormat format, VkFormatProperties* pFormatProperties) {
     if (pFormatProperties) {
-		*pFormatProperties = getFormatIsSupported(format) ? mvkVkFormatProperties(format) : noFmtFeats;
+		*pFormatProperties = mvkVkFormatProperties(format, getFormatIsSupported(format));
 	}
 }
 
@@ -1022,6 +1020,21 @@
 	return VK_SUCCESS;
 }
 
+const MVKDeviceConfiguration* MVKDevice::getMoltenVKConfiguration() { return &_mvkConfig; }
+
+void MVKDevice::setMoltenVKConfiguration(const MVKDeviceConfiguration* pConfiguration) {
+	if ( !pConfiguration) { return; }
+
+	*(MVKDeviceConfiguration*)&_mvkConfig = *pConfiguration;
+
+	// Reconfigure the queues from the updated info
+	for (auto& queues : _queuesByQueueFamilyIndex) {
+		for (MVKQueue* q : queues) {
+			q->updateDeviceConfiguration();
+		}
+	}
+}
+
 
 #pragma mark Object lifecycle
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
index a2a28fc..c561fae 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.h
@@ -31,6 +31,7 @@
 class MVKQueue;
 class MVKQueueSubmission;
 class MVKPhysicalDevice;
+class MVKGPUCaptureScope;
 
 
 #pragma mark -
@@ -112,6 +113,9 @@
     /** Returns the command encoding pool. */
     inline MVKCommandEncodingPool* getCommandEncodingPool() { return &_commandEncodingPool; }
 
+	/** Return the name of this queue. */
+	inline const std::string& getName() { return _name; }
+
 
 #pragma mark Metal
 
@@ -123,6 +127,13 @@
 	/** Constructs an instance for the device and queue family. */
 	MVKQueue(MVKDevice* device, MVKQueueFamily* queueFamily, uint32_t index, float priority);
 
+	/**
+	 * Called from MVKDevice when MVKDeviceConfiguration is updated.
+	 *
+	 * Updates the use of a dispatch queue based on the value of MVKDeviceConfiguration::synchronousQueueSubmits.
+	 */
+	void updateDeviceConfiguration();
+
 	~MVKQueue() override;
 
     /**
@@ -141,9 +152,12 @@
 
 protected:
 	friend class MVKQueueSubmission;
+	friend class MVKQueueCommandBufferSubmission;
+	friend class MVKQueuePresentSurfaceSubmission;
 
-	void initExecQueue();
+	void initName();
 	void initMTLCommandQueue();
+	void initGPUCaptureScopes();
 	void destroyExecQueue();
 	VkResult submit(MVKQueueSubmission* qSubmit);
 
@@ -152,11 +166,14 @@
 	float _priority;
 	dispatch_queue_t _execQueue;
 	id<MTLCommandQueue> _mtlQueue;
+	std::string _name;
 	std::vector<MVKMTLCommandBufferCountdown*> _completionCountdowns;
 	std::mutex _completionLock;
 	uint32_t _activeMTLCommandBufferCount;
 	MVKMTLCommandBufferID _nextMTLCmdBuffID;
     MVKCommandEncodingPool _commandEncodingPool;
+	MVKGPUCaptureScope* _submissionCaptureScope;
+	MVKGPUCaptureScope* _presentationCaptureScope;
 };
 
 
diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
index 82612d1..4f6d929 100644
--- a/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
+++ b/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm
@@ -21,6 +21,7 @@
 #include "MVKSync.h"
 #include "MVKFoundation.h"
 #include "MVKOSExtensions.h"
+#include "MVKGPUCapture.h"
 #include "MVKLogging.h"
 
 using namespace std;
@@ -124,7 +125,7 @@
 }
 
 // This function is guarded against conflict with the mtlCommandBufferHasCompleted()
-// function, but is not theadsafe against calls to this function itself, or to the
+// function, but is not threadsafe against calls to this function itself, or to the
 // registerMTLCommandBufferCountdown() function from multiple threads. It is assumed
 // that this function and the registerMTLCommandBufferCountdown() function are called
 // from a single thread.
@@ -190,39 +191,55 @@
 	_queueFamily = queueFamily;
 	_index = index;
 	_priority = priority;
-	initExecQueue();
-	initMTLCommandQueue();
 	_activeMTLCommandBufferCount = 0;
 	_nextMTLCmdBuffID = 1;
+	_execQueue = nullptr;	// Before updateDeviceConfiguration()
+
+	initName();
+	initMTLCommandQueue();
+	initGPUCaptureScopes();
+
+	updateDeviceConfiguration();
 }
 
-// Unless synchronous submission processing was configured,
-// creates and initializes the prioritized execution dispatch queue.
-void MVKQueue::initExecQueue() {
-	if (_device->_mvkConfig.synchronousQueueSubmits) {
-		_execQueue = nullptr;
-	} else {
-		// Create a name for the dispatch queue
-		const char* dqNameFmt = "MoltenVKDispatchQueue-%d-%d-%.1f";
-		char dqName[strlen(dqNameFmt) + 32];
-		sprintf(dqName, dqNameFmt, _queueFamily->getIndex(), _index, _priority);
+void MVKQueue::initName() {
+	const char* fmt = "MoltenVKQueue-%d-%d-%.1f";
+	char name[256];
+	sprintf(name, fmt, _queueFamily->getIndex(), _index, _priority);
+	_name = name;
+}
 
+// If synchronous submission processing is not configured in the device,
+// creates and initializes the prioritized execution dispatch queue.
+// If synchronous submission processing is configured in the device,
+// destroys the internal execution dispatch queue if it exists.
+void MVKQueue::updateDeviceConfiguration() {
+	if (_device->_mvkConfig.synchronousQueueSubmits) {
+		destroyExecQueue();
+	} else if ( !_execQueue ) {
 		// Determine the dispatch queue priority
 		dispatch_qos_class_t dqQOS = MVK_DISPATCH_QUEUE_QOS_CLASS;
 		int dqPriority = (1.0 - _priority) * QOS_MIN_RELATIVE_PRIORITY;
 		dispatch_queue_attr_t dqAttr = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, dqQOS, dqPriority);
 
 		// Create the dispatch queue
-		_execQueue = dispatch_queue_create(dqName, dqAttr);		// retained
+		_execQueue = dispatch_queue_create((getName() + "-Dispatch").c_str(), dqAttr);		// retained
 	}
 }
 
-/** Creates and initializes the Metal queue. */
+// Creates and initializes the Metal queue.
 void MVKQueue::initMTLCommandQueue() {
 	uint64_t startTime = _device->getPerformanceTimestamp();
 	_mtlQueue = _queueFamily->getMTLCommandQueue(_index);	// not retained (cached in queue family)
 	_device->addActivityPerformance(_device->_performanceStatistics.queue.mtlQueueAccess, startTime);
-    [_mtlQueue insertDebugCaptureBoundary];                 // Allow Xcode to capture the first frame if desired.
+}
+
+// Initializes Xcode GPU capture scopes
+void MVKQueue::initGPUCaptureScopes() {
+	_submissionCaptureScope = new MVKGPUCaptureScope(this, "CommandBuffer-Submission");
+	_presentationCaptureScope = new MVKGPUCaptureScope(this, "Surface-Presentation");
+	_presentationCaptureScope->makeDefault();
+	_presentationCaptureScope->beginScope();	// Allow Xcode to capture the first frame if desired.
 }
 
 MVKQueue::~MVKQueue() {
@@ -236,11 +253,16 @@
     // in the destructor of the lock created in registerMTLCommandBufferCountdown().
     lock_guard<mutex> lock(_completionLock);
 	destroyExecQueue();
+	_submissionCaptureScope->destroy();
+	_presentationCaptureScope->destroy();
 }
 
 // Destroys the execution dispatch queue.
 void MVKQueue::destroyExecQueue() {
-	if (_execQueue) { dispatch_release(_execQueue); }
+	if (_execQueue) {
+		dispatch_release(_execQueue);
+		_execQueue = nullptr;
+	}
 }
 
 
@@ -287,6 +309,9 @@
 
 //	MVKLogDebug("Executing submission %p.", this);
 
+	auto cs = _queue->_submissionCaptureScope;
+	cs->beginScope();
+
     // Execute each command buffer, or if no command buffers, but a fence or semaphores,
     // create an empty MTLCommandBuffer to trigger the semaphores and fence.
     if ( !_cmdBuffers.empty() ) {
@@ -303,6 +328,8 @@
 
 	commitActiveMTLCommandBuffer();
 
+	cs->endScope();
+
     // Register for callback when MTLCommandBuffers have completed
     _queue->registerMTLCommandBufferCountdown(&_cmdBuffCountdown);
 }
@@ -412,8 +439,10 @@
 		for (auto& si : _surfaceImages) { si->presentCAMetalDrawable(nil); }
 	}
 
-    // Let Xcode know the frame is done, in case command buffer is not used
-    if (_device->_mvkConfig.debugMode) { [mtlQ insertDebugCaptureBoundary]; }
+    // Let Xcode know the current frame is done, then start a new frame
+	auto cs = _queue->_presentationCaptureScope;
+	cs->endScope();
+	cs->beginScope();
 
     this->destroy();
 }
diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.h b/MoltenVK/MoltenVK/OS/MVKGPUCapture.h
new file mode 100644
index 0000000..b20887c
--- /dev/null
+++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.h
@@ -0,0 +1,70 @@
+/*
+ * MVKGPUCapture.h
+ *
+ * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include "MVKDevice.h"
+
+#import <Metal/Metal.h>
+
+class MVKQueue;
+
+
+#pragma mark -
+#pragma mark MVKGPUCaptureScope
+
+/**
+ * Represents a capture scope for capturing GPU activity within Xcode.
+ *
+ * If the OS supports the MTLCaptureScope protocol, this class creates and wraps an MTLCaptureScope
+ * instance for a MTLQueue, otherwise it interacts directly with the MTLQueue to define capture boundaries.
+ */
+class MVKGPUCaptureScope : public MVKBaseDeviceObject {
+
+public:
+
+	/** Marks the beginning boundary of a capture scope. */
+	void beginScope();
+
+	/** Marks the end boundary of a capture scope. */
+	void endScope();
+
+	/** Makes this instance the default capture scope within Xcode. */
+	void makeDefault();
+
+	/**
+	 * Constructs an instance for the specified queue and purpose.
+	 *
+	 * The purpose is combined with the name of the queue to create a unique identification name
+	 * for this instance, which will be displayed in Xcode when selecting a capture scope to use.
+	 */
+	MVKGPUCaptureScope(MVKQueue* mvkQueue, const char* purpose);
+
+	~MVKGPUCaptureScope() override;
+
+protected:
+	id<MTLCaptureScope> _mtlCaptureScope = nil;
+	id<MTLCommandQueue> _mtlQueue = nil;
+	bool _isFirstBoundary = true;
+	bool _isDefault = false;
+};
+
+
+
+
+
diff --git a/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
new file mode 100644
index 0000000..c2b9631
--- /dev/null
+++ b/MoltenVK/MoltenVK/OS/MVKGPUCapture.mm
@@ -0,0 +1,69 @@
+/*
+ * MVKGPUCapture.mm
+ *
+ * Copyright (c) 2014-2018 The Brenwill Workshop Ltd. (http://www.brenwill.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "MVKGPUCapture.h"
+#include "MVKQueue.h"
+#include "MVKOSExtensions.h"
+
+
+#pragma mark -
+#pragma mark MVKGPUCaptureScope
+
+#if MVK_MACOS
+static MVKOSVersion kMinOSVersionMTLCaptureScope = 10.13;
+#endif
+#if MVK_IOS
+static MVKOSVersion kMinOSVersionMTLCaptureScope = 11.0;
+#endif
+
+void MVKGPUCaptureScope::beginScope() {
+	if (_mtlCaptureScope) {
+		[_mtlCaptureScope beginScope];
+	} else if (_isDefault && _isFirstBoundary) {
+		[_mtlQueue insertDebugCaptureBoundary];
+	}
+	_isFirstBoundary  = false;
+}
+
+void MVKGPUCaptureScope::endScope() {
+	if (_mtlCaptureScope) {
+		[_mtlCaptureScope endScope];
+	} else if (_isDefault) {
+		[_mtlQueue insertDebugCaptureBoundary];
+	}
+}
+
+void MVKGPUCaptureScope::makeDefault() {
+	_isDefault = true;
+	if (_mtlCaptureScope) {
+		[MTLCaptureManager sharedCaptureManager].defaultCaptureScope = _mtlCaptureScope;
+	}
+}
+
+MVKGPUCaptureScope::MVKGPUCaptureScope(MVKQueue* mvkQueue, const char* purpose) : MVKBaseDeviceObject(mvkQueue->getDevice()) {
+	_mtlQueue = [mvkQueue->getMTLCommandQueue() retain];	// retained
+	if (mvkOSVersion() >= kMinOSVersionMTLCaptureScope) {
+		_mtlCaptureScope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithCommandQueue: _mtlQueue];	// retained
+		_mtlCaptureScope.label = @((mvkQueue->getName() + "-" + purpose).c_str());
+	}
+}
+
+MVKGPUCaptureScope::~MVKGPUCaptureScope() {
+	[_mtlCaptureScope release];
+	[_mtlQueue release];
+}
diff --git a/MoltenVK/MoltenVK/Utility/MVKFoundation.h b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
index 090377f..2e1ae3e 100644
--- a/MoltenVK/MoltenVK/Utility/MVKFoundation.h
+++ b/MoltenVK/MoltenVK/Utility/MVKFoundation.h
@@ -164,35 +164,44 @@
 }
 
 /**
- * Aligns the specified bytes reference to the specified alignment, and returns the
- * aligned value, which will be equal to or greater than the specified reference.
+ * Aligns the byte reference to the specified alignment, and returns the aligned value,
+ * which will be greater than or equal to the reference if alignDown is false, or less
+ * than or equal to the reference if alignDown is true.
  *
- * This is a low level utility method. Usually you will use the convenience methods
- * mvkAlignAddress and mvkAlignByteOffset to align addresses and offsets respectively.
+ * This is a low level utility method. Usually you will use the convenience functions
+ * mvkAlignAddress() and mvkAlignByteOffset() to align addresses and offsets respectively.
  */
-static inline uintptr_t mvkAlignByteRef(uintptr_t byteRef, uintptr_t byteAlignment) {
+static inline uintptr_t mvkAlignByteRef(uintptr_t byteRef, uintptr_t byteAlignment, bool alignDown = false) {
 	if (byteAlignment == 0) { return byteRef; }
 
 	MVKAssert(mvkIsPowerOfTwo(byteAlignment), "Byte alignment %lu is not a power-of-two value.", byteAlignment);
 
 	uintptr_t mask = byteAlignment - 1;
-	return (byteRef + mask) & ~mask;
+	uintptr_t alignedRef = (byteRef + mask) & ~mask;
+
+	if (alignDown && (alignedRef > byteRef)) {
+		alignedRef -= byteAlignment;
+	}
+
+	return alignedRef;
 }
 
 /**
- * Aligns the specified memory address to the specified byte alignment. The memory address
- * returned by this function will be equal to or greater than the specified address.
+ * Aligns the memory address to the specified byte alignment, and returns the aligned address,
+ * which will be greater than or equal to the original address if alignDown is false, or less
+ * than or equal to the original address if alignDown is true.
  */
-static inline void* mvkAlignAddress(void* address, uintptr_t byteAlignment) {
-	return (void*)mvkAlignByteRef((uintptr_t)address, byteAlignment);
+static inline void* mvkAlignAddress(void* address, uintptr_t byteAlignment, bool alignDown = false) {
+	return (void*)mvkAlignByteRef((uintptr_t)address, byteAlignment, alignDown);
 }
 
 /**
- * Aligns the specified byte offset to the specified byte alignment. The byte offset
- * returned by this function will be equal to or greater than the specified byte offset.
+ * Aligns the byte offset to the specified byte alignment, and returns the aligned offset,
+ * which will be greater than or equal to the original offset if alignDown is false, or less
+ * than or equal to the original offset if alignDown is true.
  */
-static inline uintptr_t mvkAlignByteOffset(uintptr_t byteOffset, uintptr_t byteAlignment) {
-	return mvkAlignByteRef(byteOffset, byteAlignment);
+static inline uintptr_t mvkAlignByteOffset(uintptr_t byteOffset, uintptr_t byteAlignment, bool alignDown = false) {
+	return mvkAlignByteRef(byteOffset, byteAlignment, alignDown);
 }
 
 /**
@@ -255,6 +264,12 @@
 #pragma mark -
 #pragma mark Template functions
 
+/** Returns whether the value will fit inside the numeric type. */
+template<typename T, typename Tval>
+const bool mvkFits(const Tval& val) {
+	return val <= std::numeric_limits<T>::max();
+}
+
 /** Clamps the value between the lower and upper bounds, inclusive. */
 template<typename T>
 const T& mvkClamp(const T& val, const T& lower, const T& upper) {
diff --git a/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm b/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
index 7e4e878..3e67654 100644
--- a/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
+++ b/MoltenVK/MoltenVK/Vulkan/mvk_datatypes.mm
@@ -594,9 +594,9 @@
     return mvkCeilingDivide(texelRowsPerLayer, formatDescForMTLPixelFormat(mtlFormat).blockTexelSize.height) * bytesPerRow;
 }
 
-MVK_PUBLIC_SYMBOL VkFormatProperties mvkVkFormatProperties(VkFormat vkFormat) {
+MVK_PUBLIC_SYMBOL VkFormatProperties mvkVkFormatProperties(VkFormat vkFormat, bool assumeGPUSupportsDefault) {
 	const MVKFormatDesc& fmtDesc = formatDescForVkFormat(vkFormat);
-	if (fmtDesc.isSupported()) {
+	if (assumeGPUSupportsDefault && fmtDesc.isSupported()) {
 		return fmtDesc.properties;
 	} else {
 		// If texture format is unsupported, vertex buffer format may still be.
diff --git a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
index 611a280..02e2be7 100644
--- a/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
+++ b/MoltenVK/MoltenVK/Vulkan/vk_mvk_moltenvk.mm
@@ -31,7 +31,7 @@
     MVKDeviceConfiguration*                     pConfiguration) {
 
     MVKDevice* mvkDev = MVKDevice::getMVKDevice(device);
-    if (pConfiguration) { *pConfiguration = mvkDev->_mvkConfig; }
+    if (pConfiguration) { *pConfiguration = *mvkDev->getMoltenVKConfiguration(); }
 }
 
 MVK_PUBLIC_SYMBOL VkResult vkSetMoltenVKDeviceConfigurationMVK(
@@ -39,7 +39,7 @@
     MVKDeviceConfiguration*                     pConfiguration) {
 
     MVKDevice* mvkDev = MVKDevice::getMVKDevice(device);
-    if (pConfiguration) { *(MVKDeviceConfiguration*)&mvkDev->_mvkConfig = *pConfiguration; }
+    if (pConfiguration) { mvkDev->setMoltenVKConfiguration(pConfiguration); }
     return VK_SUCCESS;
 }
 
diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
index f382a24..8b9529e 100644
--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
@@ -25,6 +25,180 @@
 		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		A928C91B1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
 		A928C91C1D0488DC00071B88 /* SPIRVConversion.mm in Sources */ = {isa = PBXBuildFile; fileRef = A928C9181D0488DC00071B88 /* SPIRVConversion.mm */; };
+		A93E826E211F76F6001FEBD4 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8203211F76F5001FEBD4 /* SPVRemapper.h */; };
+		A93E826F211F76F6001FEBD4 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8203211F76F5001FEBD4 /* SPVRemapper.h */; };
+		A93E8270211F76F6001FEBD4 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8204211F76F5001FEBD4 /* SpvBuilder.h */; };
+		A93E8271211F76F6001FEBD4 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8204211F76F5001FEBD4 /* SpvBuilder.h */; };
+		A93E8272211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */; };
+		A93E8273211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */; };
+		A93E8274211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */; };
+		A93E8275211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */; };
+		A93E8276211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */; };
+		A93E8277211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */; };
+		A93E8278211F76F6001FEBD4 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8209211F76F5001FEBD4 /* doc.h */; };
+		A93E8279211F76F6001FEBD4 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8209211F76F5001FEBD4 /* doc.h */; };
+		A93E827A211F76F6001FEBD4 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A93E820A211F76F5001FEBD4 /* spirv.hpp */; };
+		A93E827B211F76F6001FEBD4 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A93E820A211F76F5001FEBD4 /* spirv.hpp */; };
+		A93E827C211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */; };
+		A93E827D211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */; };
+		A93E827E211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */; };
+		A93E827F211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */; };
+		A93E8280211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */; };
+		A93E8281211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */; };
+		A93E8282211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */; };
+		A93E8283211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */; };
+		A93E8284211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */; };
+		A93E8285211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */; };
+		A93E8286211F76F6001FEBD4 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8210211F76F6001FEBD4 /* spvIR.h */; };
+		A93E8287211F76F6001FEBD4 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8210211F76F6001FEBD4 /* spvIR.h */; };
+		A93E8288211F76F6001FEBD4 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8211211F76F6001FEBD4 /* bitutils.h */; };
+		A93E8289211F76F6001FEBD4 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8211211F76F6001FEBD4 /* bitutils.h */; };
+		A93E828A211F76F6001FEBD4 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8212211F76F6001FEBD4 /* disassemble.h */; };
+		A93E828B211F76F6001FEBD4 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8212211F76F6001FEBD4 /* disassemble.h */; };
+		A93E828C211F76F6001FEBD4 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */; };
+		A93E828D211F76F6001FEBD4 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */; };
+		A93E828E211F76F6001FEBD4 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */; };
+		A93E828F211F76F6001FEBD4 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */; };
+		A93E8290211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */; };
+		A93E8291211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */; };
+		A93E8292211F76F6001FEBD4 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8216211F76F6001FEBD4 /* Logger.cpp */; };
+		A93E8293211F76F6001FEBD4 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8216211F76F6001FEBD4 /* Logger.cpp */; };
+		A93E8294211F76F6001FEBD4 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8217211F76F6001FEBD4 /* hex_float.h */; };
+		A93E8295211F76F6001FEBD4 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8217211F76F6001FEBD4 /* hex_float.h */; };
+		A93E8296211F76F6001FEBD4 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8218211F76F6001FEBD4 /* Logger.h */; };
+		A93E8297211F76F6001FEBD4 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8218211F76F6001FEBD4 /* Logger.h */; };
+		A93E8298211F76F6001FEBD4 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8219211F76F6001FEBD4 /* doc.cpp */; };
+		A93E8299211F76F6001FEBD4 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8219211F76F6001FEBD4 /* doc.cpp */; };
+		A93E829A211F76F6001FEBD4 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821A211F76F6001FEBD4 /* disassemble.cpp */; };
+		A93E829B211F76F6001FEBD4 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821A211F76F6001FEBD4 /* disassemble.cpp */; };
+		A93E829C211F76F6001FEBD4 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821F211F76F6001FEBD4 /* ossource.cpp */; };
+		A93E829D211F76F6001FEBD4 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E821F211F76F6001FEBD4 /* ossource.cpp */; };
+		A93E829E211F76F6001FEBD4 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8221211F76F6001FEBD4 /* osinclude.h */; };
+		A93E829F211F76F6001FEBD4 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8221211F76F6001FEBD4 /* osinclude.h */; };
+		A93E82A4211F76F6001FEBD4 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8227211F76F6001FEBD4 /* ResourceLimits.h */; };
+		A93E82A5211F76F6001FEBD4 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8227211F76F6001FEBD4 /* ResourceLimits.h */; };
+		A93E82A6211F76F6001FEBD4 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8228211F76F6001FEBD4 /* Types.h */; };
+		A93E82A7211F76F6001FEBD4 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8228211F76F6001FEBD4 /* Types.h */; };
+		A93E82A8211F76F6001FEBD4 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8229211F76F6001FEBD4 /* intermediate.h */; };
+		A93E82A9211F76F6001FEBD4 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8229211F76F6001FEBD4 /* intermediate.h */; };
+		A93E82AA211F76F6001FEBD4 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822A211F76F6001FEBD4 /* BaseTypes.h */; };
+		A93E82AB211F76F6001FEBD4 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822A211F76F6001FEBD4 /* BaseTypes.h */; };
+		A93E82AC211F76F6001FEBD4 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822B211F76F6001FEBD4 /* revision.h */; };
+		A93E82AD211F76F6001FEBD4 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822B211F76F6001FEBD4 /* revision.h */; };
+		A93E82AE211F76F6001FEBD4 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */; };
+		A93E82AF211F76F6001FEBD4 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */; };
+		A93E82B0211F76F6001FEBD4 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822D211F76F6001FEBD4 /* ShHandle.h */; };
+		A93E82B1211F76F6001FEBD4 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822D211F76F6001FEBD4 /* ShHandle.h */; };
+		A93E82B2211F76F6001FEBD4 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822E211F76F6001FEBD4 /* arrays.h */; };
+		A93E82B3211F76F6001FEBD4 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822E211F76F6001FEBD4 /* arrays.h */; };
+		A93E82B4211F76F6001FEBD4 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822F211F76F6001FEBD4 /* Common.h */; };
+		A93E82B5211F76F6001FEBD4 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E822F211F76F6001FEBD4 /* Common.h */; };
+		A93E82B6211F76F6001FEBD4 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8231211F76F6001FEBD4 /* ConstantUnion.h */; };
+		A93E82B7211F76F6001FEBD4 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8231211F76F6001FEBD4 /* ConstantUnion.h */; };
+		A93E82B8211F76F6001FEBD4 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8232211F76F6001FEBD4 /* InfoSink.h */; };
+		A93E82B9211F76F6001FEBD4 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8232211F76F6001FEBD4 /* InfoSink.h */; };
+		A93E82BA211F76F6001FEBD4 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8233211F76F6001FEBD4 /* PoolAlloc.h */; };
+		A93E82BB211F76F6001FEBD4 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8233211F76F6001FEBD4 /* PoolAlloc.h */; };
+		A93E82BC211F76F6001FEBD4 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */; };
+		A93E82BD211F76F6001FEBD4 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */; };
+		A93E82BE211F76F6001FEBD4 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8237211F76F6001FEBD4 /* parseVersions.h */; };
+		A93E82BF211F76F6001FEBD4 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8237211F76F6001FEBD4 /* parseVersions.h */; };
+		A93E82C0211F76F6001FEBD4 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8238211F76F6001FEBD4 /* gl_types.h */; };
+		A93E82C1211F76F6001FEBD4 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8238211F76F6001FEBD4 /* gl_types.h */; };
+		A93E82C2211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */; };
+		A93E82C3211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */; };
+		A93E82C4211F76F6001FEBD4 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823A211F76F6001FEBD4 /* ScanContext.h */; };
+		A93E82C5211F76F6001FEBD4 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823A211F76F6001FEBD4 /* ScanContext.h */; };
+		A93E82C6211F76F6001FEBD4 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823B211F76F6001FEBD4 /* iomapper.h */; };
+		A93E82C7211F76F6001FEBD4 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823B211F76F6001FEBD4 /* iomapper.h */; };
+		A93E82C8211F76F6001FEBD4 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823C211F76F6001FEBD4 /* localintermediate.h */; };
+		A93E82C9211F76F6001FEBD4 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823C211F76F6001FEBD4 /* localintermediate.h */; };
+		A93E82CA211F76F6001FEBD4 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E823D211F76F6001FEBD4 /* Scan.cpp */; };
+		A93E82CB211F76F6001FEBD4 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E823D211F76F6001FEBD4 /* Scan.cpp */; };
+		A93E82CE211F76F6001FEBD4 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823F211F76F6001FEBD4 /* RemoveTree.h */; };
+		A93E82CF211F76F6001FEBD4 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E823F211F76F6001FEBD4 /* RemoveTree.h */; };
+		A93E82D0211F76F6001FEBD4 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8240211F76F6001FEBD4 /* Initialize.cpp */; };
+		A93E82D1211F76F6001FEBD4 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8240211F76F6001FEBD4 /* Initialize.cpp */; };
+		A93E82D2211F76F6001FEBD4 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */; };
+		A93E82D3211F76F6001FEBD4 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */; };
+		A93E82D4211F76F6001FEBD4 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8242211F76F6001FEBD4 /* limits.cpp */; };
+		A93E82D5211F76F6001FEBD4 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8242211F76F6001FEBD4 /* limits.cpp */; };
+		A93E82D6211F76F6001FEBD4 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8243211F76F6001FEBD4 /* parseConst.cpp */; };
+		A93E82D7211F76F6001FEBD4 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8243211F76F6001FEBD4 /* parseConst.cpp */; };
+		A93E82D8211F76F6001FEBD4 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */; };
+		A93E82D9211F76F6001FEBD4 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */; };
+		A93E82DA211F76F6001FEBD4 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8245211F76F6001FEBD4 /* Versions.h */; };
+		A93E82DB211F76F6001FEBD4 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8245211F76F6001FEBD4 /* Versions.h */; };
+		A93E82DC211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */; };
+		A93E82DD211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */; };
+		A93E82DE211F76F6001FEBD4 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8247211F76F6001FEBD4 /* intermOut.cpp */; };
+		A93E82DF211F76F6001FEBD4 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8247211F76F6001FEBD4 /* intermOut.cpp */; };
+		A93E82E0211F76F6001FEBD4 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8248211F76F6001FEBD4 /* iomapper.cpp */; };
+		A93E82E1211F76F6001FEBD4 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8248211F76F6001FEBD4 /* iomapper.cpp */; };
+		A93E82E2211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */; };
+		A93E82E3211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */; };
+		A93E82E4211F76F6001FEBD4 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */; };
+		A93E82E5211F76F6001FEBD4 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */; };
+		A93E82E6211F76F6001FEBD4 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824B211F76F6001FEBD4 /* SymbolTable.h */; };
+		A93E82E7211F76F6001FEBD4 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824B211F76F6001FEBD4 /* SymbolTable.h */; };
+		A93E82E8211F76F6001FEBD4 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824C211F76F6001FEBD4 /* InfoSink.cpp */; };
+		A93E82E9211F76F6001FEBD4 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824C211F76F6001FEBD4 /* InfoSink.cpp */; };
+		A93E82EA211F76F6001FEBD4 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824D211F76F6001FEBD4 /* Intermediate.cpp */; };
+		A93E82EB211F76F6001FEBD4 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824D211F76F6001FEBD4 /* Intermediate.cpp */; };
+		A93E82EC211F76F6001FEBD4 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */; };
+		A93E82ED211F76F6001FEBD4 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */; };
+		A93E82EE211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */; };
+		A93E82EF211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */; };
+		A93E82F0211F76F6001FEBD4 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8250211F76F6001FEBD4 /* LiveTraverser.h */; };
+		A93E82F1211F76F6001FEBD4 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8250211F76F6001FEBD4 /* LiveTraverser.h */; };
+		A93E82F2211F76F6001FEBD4 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8251211F76F6001FEBD4 /* Initialize.h */; };
+		A93E82F3211F76F6001FEBD4 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8251211F76F6001FEBD4 /* Initialize.h */; };
+		A93E82F4211F76F6001FEBD4 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8252211F76F6001FEBD4 /* attribute.cpp */; };
+		A93E82F5211F76F6001FEBD4 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8252211F76F6001FEBD4 /* attribute.cpp */; };
+		A93E82F6211F76F6001FEBD4 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8253211F76F6001FEBD4 /* reflection.cpp */; };
+		A93E82F7211F76F6001FEBD4 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8253211F76F6001FEBD4 /* reflection.cpp */; };
+		A93E82F8211F76F6001FEBD4 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */; };
+		A93E82F9211F76F6001FEBD4 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */; };
+		A93E82FA211F76F6001FEBD4 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8255211F76F6001FEBD4 /* attribute.h */; };
+		A93E82FB211F76F6001FEBD4 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8255211F76F6001FEBD4 /* attribute.h */; };
+		A93E82FC211F76F6001FEBD4 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8256211F76F6001FEBD4 /* Versions.cpp */; };
+		A93E82FD211F76F6001FEBD4 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8256211F76F6001FEBD4 /* Versions.cpp */; };
+		A93E82FE211F76F6001FEBD4 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8257211F76F6001FEBD4 /* Constant.cpp */; };
+		A93E82FF211F76F6001FEBD4 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8257211F76F6001FEBD4 /* Constant.cpp */; };
+		A93E8300211F76F6001FEBD4 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8258211F76F6001FEBD4 /* linkValidate.cpp */; };
+		A93E8301211F76F6001FEBD4 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8258211F76F6001FEBD4 /* linkValidate.cpp */; };
+		A93E8302211F76F6001FEBD4 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8259211F76F6001FEBD4 /* ParseHelper.h */; };
+		A93E8303211F76F6001FEBD4 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8259211F76F6001FEBD4 /* ParseHelper.h */; };
+		A93E8304211F76F6001FEBD4 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825B211F76F6001FEBD4 /* PpAtom.cpp */; };
+		A93E8305211F76F6001FEBD4 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825B211F76F6001FEBD4 /* PpAtom.cpp */; };
+		A93E8306211F76F6001FEBD4 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825C211F76F6001FEBD4 /* PpTokens.h */; };
+		A93E8307211F76F6001FEBD4 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825C211F76F6001FEBD4 /* PpTokens.h */; };
+		A93E8308211F76F6001FEBD4 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825D211F76F6001FEBD4 /* Pp.cpp */; };
+		A93E8309211F76F6001FEBD4 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825D211F76F6001FEBD4 /* Pp.cpp */; };
+		A93E830A211F76F6001FEBD4 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825E211F76F6001FEBD4 /* PpContext.h */; };
+		A93E830B211F76F6001FEBD4 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E825E211F76F6001FEBD4 /* PpContext.h */; };
+		A93E830C211F76F6001FEBD4 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825F211F76F6001FEBD4 /* PpTokens.cpp */; };
+		A93E830D211F76F6001FEBD4 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E825F211F76F6001FEBD4 /* PpTokens.cpp */; };
+		A93E830E211F76F6001FEBD4 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8260211F76F6001FEBD4 /* PpContext.cpp */; };
+		A93E830F211F76F6001FEBD4 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8260211F76F6001FEBD4 /* PpContext.cpp */; };
+		A93E8310211F76F6001FEBD4 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8261211F76F6001FEBD4 /* PpScanner.cpp */; };
+		A93E8311211F76F6001FEBD4 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8261211F76F6001FEBD4 /* PpScanner.cpp */; };
+		A93E8312211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */; };
+		A93E8313211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */; };
+		A93E8314211F76F6001FEBD4 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8263211F76F6001FEBD4 /* reflection.h */; };
+		A93E8315211F76F6001FEBD4 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8263211F76F6001FEBD4 /* reflection.h */; };
+		A93E8316211F76F6001FEBD4 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8264211F76F6001FEBD4 /* Scan.h */; };
+		A93E8317211F76F6001FEBD4 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8264211F76F6001FEBD4 /* Scan.h */; };
+		A93E8318211F76F6001FEBD4 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8266211F76F6001FEBD4 /* ShaderLang.h */; };
+		A93E8319211F76F6001FEBD4 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E8266211F76F6001FEBD4 /* ShaderLang.h */; };
+		A93E831A211F76F6001FEBD4 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8268211F76F6001FEBD4 /* CodeGen.cpp */; };
+		A93E831B211F76F6001FEBD4 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8268211F76F6001FEBD4 /* CodeGen.cpp */; };
+		A93E831C211F76F6001FEBD4 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8269211F76F6001FEBD4 /* Link.cpp */; };
+		A93E831D211F76F6001FEBD4 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E8269211F76F6001FEBD4 /* Link.cpp */; };
+		A93E831E211F76F6001FEBD4 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E826C211F76F6001FEBD4 /* InitializeDll.h */; };
+		A93E831F211F76F6001FEBD4 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A93E826C211F76F6001FEBD4 /* InitializeDll.h */; };
+		A93E8320211F76F6001FEBD4 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */; };
+		A93E8321211F76F6001FEBD4 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */; };
 		A95096BB2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BC2003D00300F10950 /* FileSupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A925B70A1C7754B2006E7ECD /* FileSupport.mm */; };
 		A95096BF2003D32400F10950 /* DirectorySupport.mm in Sources */ = {isa = PBXBuildFile; fileRef = A95096BD2003D32400F10950 /* DirectorySupport.mm */; };
@@ -596,178 +770,6 @@
 		A99E10F8210E5F0B00D9968F /* validation_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A99E0ECB210E5F0A00D9968F /* validation_state.cpp */; };
 		A99E10F9210E5F0B00D9968F /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A99E0ECC210E5F0A00D9968F /* decoration.h */; };
 		A99E10FA210E5F0B00D9968F /* decoration.h in Headers */ = {isa = PBXBuildFile; fileRef = A99E0ECC210E5F0A00D9968F /* decoration.h */; };
-		A9A5782B2054A0E20072F392 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C12054A0E20072F392 /* SPVRemapper.h */; };
-		A9A5782C2054A0E20072F392 /* SPVRemapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C12054A0E20072F392 /* SPVRemapper.h */; };
-		A9A5782D2054A0E20072F392 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C22054A0E20072F392 /* SpvBuilder.h */; };
-		A9A5782E2054A0E20072F392 /* SpvBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C22054A0E20072F392 /* SpvBuilder.h */; };
-		A9A5782F2054A0E20072F392 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577C42054A0E20072F392 /* InReadableOrder.cpp */; };
-		A9A578302054A0E20072F392 /* InReadableOrder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577C42054A0E20072F392 /* InReadableOrder.cpp */; };
-		A9A578312054A0E20072F392 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C52054A0E20072F392 /* GLSL.ext.AMD.h */; };
-		A9A578322054A0E20072F392 /* GLSL.ext.AMD.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C52054A0E20072F392 /* GLSL.ext.AMD.h */; };
-		A9A578332054A0E20072F392 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C62054A0E20072F392 /* doc.h */; };
-		A9A578342054A0E20072F392 /* doc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C62054A0E20072F392 /* doc.h */; };
-		A9A578352054A0E20072F392 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C72054A0E20072F392 /* spirv.hpp */; };
-		A9A578362054A0E20072F392 /* spirv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C72054A0E20072F392 /* spirv.hpp */; };
-		A9A578372054A0E20072F392 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577C82054A0E20072F392 /* SpvBuilder.cpp */; };
-		A9A578382054A0E20072F392 /* SpvBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577C82054A0E20072F392 /* SpvBuilder.cpp */; };
-		A9A578392054A0E20072F392 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C92054A0E20072F392 /* GLSL.ext.EXT.h */; };
-		A9A5783A2054A0E20072F392 /* GLSL.ext.EXT.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577C92054A0E20072F392 /* GLSL.ext.EXT.h */; };
-		A9A5783B2054A0E20072F392 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CA2054A0E20072F392 /* GLSL.ext.KHR.h */; };
-		A9A5783C2054A0E20072F392 /* GLSL.ext.KHR.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CA2054A0E20072F392 /* GLSL.ext.KHR.h */; };
-		A9A5783D2054A0E20072F392 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CB2054A0E20072F392 /* GLSL.ext.NV.h */; };
-		A9A5783E2054A0E20072F392 /* GLSL.ext.NV.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CB2054A0E20072F392 /* GLSL.ext.NV.h */; };
-		A9A5783F2054A0E20072F392 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577CC2054A0E20072F392 /* GlslangToSpv.cpp */; };
-		A9A578402054A0E20072F392 /* GlslangToSpv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577CC2054A0E20072F392 /* GlslangToSpv.cpp */; };
-		A9A578412054A0E20072F392 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CD2054A0E20072F392 /* spvIR.h */; };
-		A9A578422054A0E20072F392 /* spvIR.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CD2054A0E20072F392 /* spvIR.h */; };
-		A9A578432054A0E20072F392 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CE2054A0E20072F392 /* bitutils.h */; };
-		A9A578442054A0E20072F392 /* bitutils.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CE2054A0E20072F392 /* bitutils.h */; };
-		A9A578452054A0E20072F392 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CF2054A0E20072F392 /* disassemble.h */; };
-		A9A578462054A0E20072F392 /* disassemble.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577CF2054A0E20072F392 /* disassemble.h */; };
-		A9A578472054A0E20072F392 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D02054A0E20072F392 /* GlslangToSpv.h */; };
-		A9A578482054A0E20072F392 /* GlslangToSpv.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D02054A0E20072F392 /* GlslangToSpv.h */; };
-		A9A578492054A0E20072F392 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D12054A0E20072F392 /* GLSL.std.450.h */; };
-		A9A5784A2054A0E20072F392 /* GLSL.std.450.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D12054A0E20072F392 /* GLSL.std.450.h */; };
-		A9A5784B2054A0E20072F392 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D22054A0E20072F392 /* SPVRemapper.cpp */; };
-		A9A5784C2054A0E20072F392 /* SPVRemapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D22054A0E20072F392 /* SPVRemapper.cpp */; };
-		A9A5784D2054A0E20072F392 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D32054A0E20072F392 /* Logger.cpp */; };
-		A9A5784E2054A0E20072F392 /* Logger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D32054A0E20072F392 /* Logger.cpp */; };
-		A9A5784F2054A0E20072F392 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D42054A0E20072F392 /* hex_float.h */; };
-		A9A578502054A0E20072F392 /* hex_float.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D42054A0E20072F392 /* hex_float.h */; };
-		A9A578512054A0E20072F392 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D52054A0E20072F392 /* Logger.h */; };
-		A9A578522054A0E20072F392 /* Logger.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577D52054A0E20072F392 /* Logger.h */; };
-		A9A578532054A0E20072F392 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D62054A0E20072F392 /* doc.cpp */; };
-		A9A578542054A0E20072F392 /* doc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D62054A0E20072F392 /* doc.cpp */; };
-		A9A578552054A0E20072F392 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D72054A0E20072F392 /* disassemble.cpp */; };
-		A9A578562054A0E20072F392 /* disassemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577D72054A0E20072F392 /* disassemble.cpp */; };
-		A9A578572054A0E20072F392 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577DC2054A0E20072F392 /* ossource.cpp */; };
-		A9A578582054A0E20072F392 /* ossource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577DC2054A0E20072F392 /* ossource.cpp */; };
-		A9A578592054A0E20072F392 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577DE2054A0E20072F392 /* osinclude.h */; };
-		A9A5785A2054A0E20072F392 /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577DE2054A0E20072F392 /* osinclude.h */; };
-		A9A5785F2054A0E20072F392 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E42054A0E20072F392 /* ResourceLimits.h */; };
-		A9A578602054A0E20072F392 /* ResourceLimits.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E42054A0E20072F392 /* ResourceLimits.h */; };
-		A9A578612054A0E20072F392 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E52054A0E20072F392 /* Types.h */; };
-		A9A578622054A0E20072F392 /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E52054A0E20072F392 /* Types.h */; };
-		A9A578632054A0E20072F392 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E62054A0E20072F392 /* intermediate.h */; };
-		A9A578642054A0E20072F392 /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E62054A0E20072F392 /* intermediate.h */; };
-		A9A578652054A0E20072F392 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E72054A0E20072F392 /* BaseTypes.h */; };
-		A9A578662054A0E20072F392 /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E72054A0E20072F392 /* BaseTypes.h */; };
-		A9A578672054A0E20072F392 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E82054A0E20072F392 /* revision.h */; };
-		A9A578682054A0E20072F392 /* revision.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E82054A0E20072F392 /* revision.h */; };
-		A9A578692054A0E20072F392 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E92054A0E20072F392 /* InitializeGlobals.h */; };
-		A9A5786A2054A0E20072F392 /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577E92054A0E20072F392 /* InitializeGlobals.h */; };
-		A9A5786B2054A0E20072F392 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EA2054A0E20072F392 /* ShHandle.h */; };
-		A9A5786C2054A0E20072F392 /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EA2054A0E20072F392 /* ShHandle.h */; };
-		A9A5786D2054A0E20072F392 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EB2054A0E20072F392 /* arrays.h */; };
-		A9A5786E2054A0E20072F392 /* arrays.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EB2054A0E20072F392 /* arrays.h */; };
-		A9A5786F2054A0E20072F392 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EC2054A0E20072F392 /* Common.h */; };
-		A9A578702054A0E20072F392 /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EC2054A0E20072F392 /* Common.h */; };
-		A9A578712054A0E20072F392 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EE2054A0E20072F392 /* ConstantUnion.h */; };
-		A9A578722054A0E20072F392 /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EE2054A0E20072F392 /* ConstantUnion.h */; };
-		A9A578732054A0E20072F392 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EF2054A0E20072F392 /* InfoSink.h */; };
-		A9A578742054A0E20072F392 /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577EF2054A0E20072F392 /* InfoSink.h */; };
-		A9A578752054A0E20072F392 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F02054A0E20072F392 /* PoolAlloc.h */; };
-		A9A578762054A0E20072F392 /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F02054A0E20072F392 /* PoolAlloc.h */; };
-		A9A578772054A0E20072F392 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577F32054A0E20072F392 /* ParseHelper.cpp */; };
-		A9A578782054A0E20072F392 /* ParseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577F32054A0E20072F392 /* ParseHelper.cpp */; };
-		A9A578792054A0E20072F392 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F42054A0E20072F392 /* parseVersions.h */; };
-		A9A5787A2054A0E20072F392 /* parseVersions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F42054A0E20072F392 /* parseVersions.h */; };
-		A9A5787B2054A0E20072F392 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F52054A0E20072F392 /* gl_types.h */; };
-		A9A5787C2054A0E20072F392 /* gl_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F52054A0E20072F392 /* gl_types.h */; };
-		A9A5787D2054A0E20072F392 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577F62054A0E20072F392 /* propagateNoContraction.cpp */; };
-		A9A5787E2054A0E20072F392 /* propagateNoContraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577F62054A0E20072F392 /* propagateNoContraction.cpp */; };
-		A9A5787F2054A0E20072F392 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F72054A0E20072F392 /* ScanContext.h */; };
-		A9A578802054A0E20072F392 /* ScanContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F72054A0E20072F392 /* ScanContext.h */; };
-		A9A578812054A0E20072F392 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F82054A0E20072F392 /* iomapper.h */; };
-		A9A578822054A0E20072F392 /* iomapper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F82054A0E20072F392 /* iomapper.h */; };
-		A9A578832054A0E20072F392 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F92054A0E20072F392 /* localintermediate.h */; };
-		A9A578842054A0E20072F392 /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577F92054A0E20072F392 /* localintermediate.h */; };
-		A9A578852054A0E20072F392 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FA2054A0E20072F392 /* Scan.cpp */; };
-		A9A578862054A0E20072F392 /* Scan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FA2054A0E20072F392 /* Scan.cpp */; };
-		A9A578892054A0E20072F392 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577FC2054A0E20072F392 /* RemoveTree.h */; };
-		A9A5788A2054A0E20072F392 /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A577FC2054A0E20072F392 /* RemoveTree.h */; };
-		A9A5788B2054A0E20072F392 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FD2054A0E20072F392 /* Initialize.cpp */; };
-		A9A5788C2054A0E20072F392 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FD2054A0E20072F392 /* Initialize.cpp */; };
-		A9A5788D2054A0E20072F392 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FE2054A0E20072F392 /* glslang_tab.cpp */; };
-		A9A5788E2054A0E20072F392 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FE2054A0E20072F392 /* glslang_tab.cpp */; };
-		A9A5788F2054A0E20072F392 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FF2054A0E20072F392 /* limits.cpp */; };
-		A9A578902054A0E20072F392 /* limits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A577FF2054A0E20072F392 /* limits.cpp */; };
-		A9A578912054A0E20072F392 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578002054A0E20072F392 /* parseConst.cpp */; };
-		A9A578922054A0E20072F392 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578002054A0E20072F392 /* parseConst.cpp */; };
-		A9A578932054A0E20072F392 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578012054A0E20072F392 /* propagateNoContraction.h */; };
-		A9A578942054A0E20072F392 /* propagateNoContraction.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578012054A0E20072F392 /* propagateNoContraction.h */; };
-		A9A578952054A0E20072F392 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578022054A0E20072F392 /* Versions.h */; };
-		A9A578962054A0E20072F392 /* Versions.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578022054A0E20072F392 /* Versions.h */; };
-		A9A578972054A0E20072F392 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578032054A0E20072F392 /* IntermTraverse.cpp */; };
-		A9A578982054A0E20072F392 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578032054A0E20072F392 /* IntermTraverse.cpp */; };
-		A9A578992054A0E20072F392 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578042054A0E20072F392 /* intermOut.cpp */; };
-		A9A5789A2054A0E20072F392 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578042054A0E20072F392 /* intermOut.cpp */; };
-		A9A5789B2054A0E20072F392 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578052054A0E20072F392 /* iomapper.cpp */; };
-		A9A5789C2054A0E20072F392 /* iomapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578052054A0E20072F392 /* iomapper.cpp */; };
-		A9A5789D2054A0E20072F392 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578062054A0E20072F392 /* PoolAlloc.cpp */; };
-		A9A5789E2054A0E20072F392 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578062054A0E20072F392 /* PoolAlloc.cpp */; };
-		A9A5789F2054A0E20072F392 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578072054A0E20072F392 /* ShaderLang.cpp */; };
-		A9A578A02054A0E20072F392 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578072054A0E20072F392 /* ShaderLang.cpp */; };
-		A9A578A12054A0E20072F392 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578082054A0E20072F392 /* SymbolTable.h */; };
-		A9A578A22054A0E20072F392 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578082054A0E20072F392 /* SymbolTable.h */; };
-		A9A578A32054A0E20072F392 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578092054A0E20072F392 /* InfoSink.cpp */; };
-		A9A578A42054A0E20072F392 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578092054A0E20072F392 /* InfoSink.cpp */; };
-		A9A578A52054A0E20072F392 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780A2054A0E20072F392 /* Intermediate.cpp */; };
-		A9A578A62054A0E20072F392 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780A2054A0E20072F392 /* Intermediate.cpp */; };
-		A9A578A72054A0E20072F392 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780B2054A0E20072F392 /* SymbolTable.cpp */; };
-		A9A578A82054A0E20072F392 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780B2054A0E20072F392 /* SymbolTable.cpp */; };
-		A9A578A92054A0E20072F392 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780C2054A0E20072F392 /* glslang_tab.cpp.h */; };
-		A9A578AA2054A0E20072F392 /* glslang_tab.cpp.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780C2054A0E20072F392 /* glslang_tab.cpp.h */; };
-		A9A578AB2054A0E20072F392 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780D2054A0E20072F392 /* LiveTraverser.h */; };
-		A9A578AC2054A0E20072F392 /* LiveTraverser.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780D2054A0E20072F392 /* LiveTraverser.h */; };
-		A9A578AD2054A0E20072F392 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780E2054A0E20072F392 /* Initialize.h */; };
-		A9A578AE2054A0E20072F392 /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5780E2054A0E20072F392 /* Initialize.h */; };
-		A9A578AF2054A0E20072F392 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780F2054A0E20072F392 /* attribute.cpp */; };
-		A9A578B02054A0E20072F392 /* attribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5780F2054A0E20072F392 /* attribute.cpp */; };
-		A9A578B12054A0E20072F392 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578102054A0E20072F392 /* reflection.cpp */; };
-		A9A578B22054A0E20072F392 /* reflection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578102054A0E20072F392 /* reflection.cpp */; };
-		A9A578B32054A0E20072F392 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578112054A0E20072F392 /* RemoveTree.cpp */; };
-		A9A578B42054A0E20072F392 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578112054A0E20072F392 /* RemoveTree.cpp */; };
-		A9A578B52054A0E20072F392 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578122054A0E20072F392 /* attribute.h */; };
-		A9A578B62054A0E20072F392 /* attribute.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578122054A0E20072F392 /* attribute.h */; };
-		A9A578B72054A0E20072F392 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578132054A0E20072F392 /* Versions.cpp */; };
-		A9A578B82054A0E20072F392 /* Versions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578132054A0E20072F392 /* Versions.cpp */; };
-		A9A578B92054A0E20072F392 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578142054A0E20072F392 /* Constant.cpp */; };
-		A9A578BA2054A0E20072F392 /* Constant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578142054A0E20072F392 /* Constant.cpp */; };
-		A9A578BB2054A0E20072F392 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578152054A0E20072F392 /* linkValidate.cpp */; };
-		A9A578BC2054A0E20072F392 /* linkValidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578152054A0E20072F392 /* linkValidate.cpp */; };
-		A9A578BD2054A0E20072F392 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578162054A0E20072F392 /* ParseHelper.h */; };
-		A9A578BE2054A0E20072F392 /* ParseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578162054A0E20072F392 /* ParseHelper.h */; };
-		A9A578BF2054A0E20072F392 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578182054A0E20072F392 /* PpAtom.cpp */; };
-		A9A578C02054A0E20072F392 /* PpAtom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578182054A0E20072F392 /* PpAtom.cpp */; };
-		A9A578C12054A0E20072F392 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578192054A0E20072F392 /* PpTokens.h */; };
-		A9A578C22054A0E20072F392 /* PpTokens.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578192054A0E20072F392 /* PpTokens.h */; };
-		A9A578C32054A0E20072F392 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781A2054A0E20072F392 /* Pp.cpp */; };
-		A9A578C42054A0E20072F392 /* Pp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781A2054A0E20072F392 /* Pp.cpp */; };
-		A9A578C52054A0E20072F392 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5781B2054A0E20072F392 /* PpContext.h */; };
-		A9A578C62054A0E20072F392 /* PpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A5781B2054A0E20072F392 /* PpContext.h */; };
-		A9A578C72054A0E20072F392 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781C2054A0E20072F392 /* PpTokens.cpp */; };
-		A9A578C82054A0E20072F392 /* PpTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781C2054A0E20072F392 /* PpTokens.cpp */; };
-		A9A578C92054A0E20072F392 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781D2054A0E20072F392 /* PpContext.cpp */; };
-		A9A578CA2054A0E20072F392 /* PpContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781D2054A0E20072F392 /* PpContext.cpp */; };
-		A9A578CB2054A0E20072F392 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781E2054A0E20072F392 /* PpScanner.cpp */; };
-		A9A578CC2054A0E20072F392 /* PpScanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781E2054A0E20072F392 /* PpScanner.cpp */; };
-		A9A578CD2054A0E20072F392 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781F2054A0E20072F392 /* ParseContextBase.cpp */; };
-		A9A578CE2054A0E20072F392 /* ParseContextBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5781F2054A0E20072F392 /* ParseContextBase.cpp */; };
-		A9A578CF2054A0E20072F392 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578202054A0E20072F392 /* reflection.h */; };
-		A9A578D02054A0E20072F392 /* reflection.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578202054A0E20072F392 /* reflection.h */; };
-		A9A578D12054A0E20072F392 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578212054A0E20072F392 /* Scan.h */; };
-		A9A578D22054A0E20072F392 /* Scan.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578212054A0E20072F392 /* Scan.h */; };
-		A9A578D32054A0E20072F392 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578232054A0E20072F392 /* ShaderLang.h */; };
-		A9A578D42054A0E20072F392 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578232054A0E20072F392 /* ShaderLang.h */; };
-		A9A578D52054A0E20072F392 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578252054A0E20072F392 /* CodeGen.cpp */; };
-		A9A578D62054A0E20072F392 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578252054A0E20072F392 /* CodeGen.cpp */; };
-		A9A578D72054A0E20072F392 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578262054A0E20072F392 /* Link.cpp */; };
-		A9A578D82054A0E20072F392 /* Link.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A578262054A0E20072F392 /* Link.cpp */; };
-		A9A578D92054A0E20072F392 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578292054A0E20072F392 /* InitializeDll.h */; };
-		A9A578DA2054A0E20072F392 /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = A9A578292054A0E20072F392 /* InitializeDll.h */; };
-		A9A578DB2054A0E20072F392 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5782A2054A0E20072F392 /* InitializeDll.cpp */; };
-		A9A578DC2054A0E20072F392 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A5782A2054A0E20072F392 /* InitializeDll.cpp */; };
 		A9AB19971CB5B5A80001E7F9 /* spirv_common.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */; };
 		A9AB19981CB5B5A80001E7F9 /* spirv_common.hpp in Headers */ = {isa = PBXBuildFile; fileRef = A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */; };
 		A9AB19991CB5B5A80001E7F9 /* spirv_cross.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */; };
@@ -824,6 +826,99 @@
 		A928C9181D0488DC00071B88 /* SPIRVConversion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SPIRVConversion.mm; sourceTree = "<group>"; };
 		A93903BF1C57E9D700FE90DC /* MoltenVKSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKSPIRVToMSLConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		A93903C71C57E9ED00FE90DC /* MoltenVKSPIRVToMSLConverter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MoltenVKSPIRVToMSLConverter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A93E8203211F76F5001FEBD4 /* SPVRemapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPVRemapper.h; sourceTree = "<group>"; };
+		A93E8204211F76F5001FEBD4 /* SpvBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpvBuilder.h; sourceTree = "<group>"; };
+		A93E8205211F76F5001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpvPostProcess.cpp; sourceTree = "<group>"; };
+		A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InReadableOrder.cpp; sourceTree = "<group>"; };
+		A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.AMD.h; sourceTree = "<group>"; };
+		A93E8209211F76F5001FEBD4 /* doc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = doc.h; sourceTree = "<group>"; };
+		A93E820A211F76F5001FEBD4 /* spirv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv.hpp; sourceTree = "<group>"; };
+		A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpvBuilder.cpp; sourceTree = "<group>"; };
+		A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.EXT.h; sourceTree = "<group>"; };
+		A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.KHR.h; sourceTree = "<group>"; };
+		A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.NV.h; sourceTree = "<group>"; };
+		A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlslangToSpv.cpp; sourceTree = "<group>"; };
+		A93E8210211F76F6001FEBD4 /* spvIR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spvIR.h; sourceTree = "<group>"; };
+		A93E8211211F76F6001FEBD4 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
+		A93E8212211F76F6001FEBD4 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
+		A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlslangToSpv.h; sourceTree = "<group>"; };
+		A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.std.450.h; sourceTree = "<group>"; };
+		A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPVRemapper.cpp; sourceTree = "<group>"; };
+		A93E8216211F76F6001FEBD4 /* Logger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Logger.cpp; sourceTree = "<group>"; };
+		A93E8217211F76F6001FEBD4 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
+		A93E8218211F76F6001FEBD4 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
+		A93E8219211F76F6001FEBD4 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
+		A93E821A211F76F6001FEBD4 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
+		A93E821C211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A93E821F211F76F6001FEBD4 /* ossource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource.cpp; sourceTree = "<group>"; };
+		A93E8220211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A93E8221211F76F6001FEBD4 /* osinclude.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osinclude.h; sourceTree = "<group>"; };
+		A93E8227211F76F6001FEBD4 /* ResourceLimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLimits.h; sourceTree = "<group>"; };
+		A93E8228211F76F6001FEBD4 /* Types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = "<group>"; };
+		A93E8229211F76F6001FEBD4 /* intermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intermediate.h; sourceTree = "<group>"; };
+		A93E822A211F76F6001FEBD4 /* BaseTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTypes.h; sourceTree = "<group>"; };
+		A93E822B211F76F6001FEBD4 /* revision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = revision.h; sourceTree = "<group>"; };
+		A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeGlobals.h; sourceTree = "<group>"; };
+		A93E822D211F76F6001FEBD4 /* ShHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShHandle.h; sourceTree = "<group>"; };
+		A93E822E211F76F6001FEBD4 /* arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arrays.h; sourceTree = "<group>"; };
+		A93E822F211F76F6001FEBD4 /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
+		A93E8230211F76F6001FEBD4 /* revision.template */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = revision.template; sourceTree = "<group>"; };
+		A93E8231211F76F6001FEBD4 /* ConstantUnion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConstantUnion.h; sourceTree = "<group>"; };
+		A93E8232211F76F6001FEBD4 /* InfoSink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoSink.h; sourceTree = "<group>"; };
+		A93E8233211F76F6001FEBD4 /* PoolAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoolAlloc.h; sourceTree = "<group>"; };
+		A93E8234211F76F6001FEBD4 /* updateGrammar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = updateGrammar; sourceTree = "<group>"; };
+		A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseHelper.cpp; sourceTree = "<group>"; };
+		A93E8237211F76F6001FEBD4 /* parseVersions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parseVersions.h; sourceTree = "<group>"; };
+		A93E8238211F76F6001FEBD4 /* gl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gl_types.h; sourceTree = "<group>"; };
+		A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagateNoContraction.cpp; sourceTree = "<group>"; };
+		A93E823A211F76F6001FEBD4 /* ScanContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScanContext.h; sourceTree = "<group>"; };
+		A93E823B211F76F6001FEBD4 /* iomapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iomapper.h; sourceTree = "<group>"; };
+		A93E823C211F76F6001FEBD4 /* localintermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localintermediate.h; sourceTree = "<group>"; };
+		A93E823D211F76F6001FEBD4 /* Scan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scan.cpp; sourceTree = "<group>"; };
+		A93E823F211F76F6001FEBD4 /* RemoveTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoveTree.h; sourceTree = "<group>"; };
+		A93E8240211F76F6001FEBD4 /* Initialize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initialize.cpp; sourceTree = "<group>"; };
+		A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
+		A93E8242211F76F6001FEBD4 /* limits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limits.cpp; sourceTree = "<group>"; };
+		A93E8243211F76F6001FEBD4 /* parseConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parseConst.cpp; sourceTree = "<group>"; };
+		A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagateNoContraction.h; sourceTree = "<group>"; };
+		A93E8245211F76F6001FEBD4 /* Versions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Versions.h; sourceTree = "<group>"; };
+		A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IntermTraverse.cpp; sourceTree = "<group>"; };
+		A93E8247211F76F6001FEBD4 /* intermOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intermOut.cpp; sourceTree = "<group>"; };
+		A93E8248211F76F6001FEBD4 /* iomapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iomapper.cpp; sourceTree = "<group>"; };
+		A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolAlloc.cpp; sourceTree = "<group>"; };
+		A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLang.cpp; sourceTree = "<group>"; };
+		A93E824B211F76F6001FEBD4 /* SymbolTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolTable.h; sourceTree = "<group>"; };
+		A93E824C211F76F6001FEBD4 /* InfoSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InfoSink.cpp; sourceTree = "<group>"; };
+		A93E824D211F76F6001FEBD4 /* Intermediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Intermediate.cpp; sourceTree = "<group>"; };
+		A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolTable.cpp; sourceTree = "<group>"; };
+		A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.cpp.h; sourceTree = "<group>"; };
+		A93E8250211F76F6001FEBD4 /* LiveTraverser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveTraverser.h; sourceTree = "<group>"; };
+		A93E8251211F76F6001FEBD4 /* Initialize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Initialize.h; sourceTree = "<group>"; };
+		A93E8252211F76F6001FEBD4 /* attribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = attribute.cpp; sourceTree = "<group>"; };
+		A93E8253211F76F6001FEBD4 /* reflection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reflection.cpp; sourceTree = "<group>"; };
+		A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoveTree.cpp; sourceTree = "<group>"; };
+		A93E8255211F76F6001FEBD4 /* attribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attribute.h; sourceTree = "<group>"; };
+		A93E8256211F76F6001FEBD4 /* Versions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Versions.cpp; sourceTree = "<group>"; };
+		A93E8257211F76F6001FEBD4 /* Constant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Constant.cpp; sourceTree = "<group>"; };
+		A93E8258211F76F6001FEBD4 /* linkValidate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linkValidate.cpp; sourceTree = "<group>"; };
+		A93E8259211F76F6001FEBD4 /* ParseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParseHelper.h; sourceTree = "<group>"; };
+		A93E825B211F76F6001FEBD4 /* PpAtom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpAtom.cpp; sourceTree = "<group>"; };
+		A93E825C211F76F6001FEBD4 /* PpTokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpTokens.h; sourceTree = "<group>"; };
+		A93E825D211F76F6001FEBD4 /* Pp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pp.cpp; sourceTree = "<group>"; };
+		A93E825E211F76F6001FEBD4 /* PpContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpContext.h; sourceTree = "<group>"; };
+		A93E825F211F76F6001FEBD4 /* PpTokens.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpTokens.cpp; sourceTree = "<group>"; };
+		A93E8260211F76F6001FEBD4 /* PpContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpContext.cpp; sourceTree = "<group>"; };
+		A93E8261211F76F6001FEBD4 /* PpScanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpScanner.cpp; sourceTree = "<group>"; };
+		A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseContextBase.cpp; sourceTree = "<group>"; };
+		A93E8263211F76F6001FEBD4 /* reflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflection.h; sourceTree = "<group>"; };
+		A93E8264211F76F6001FEBD4 /* Scan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scan.h; sourceTree = "<group>"; };
+		A93E8266211F76F6001FEBD4 /* ShaderLang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLang.h; sourceTree = "<group>"; };
+		A93E8268211F76F6001FEBD4 /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
+		A93E8269211F76F6001FEBD4 /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = "<group>"; };
+		A93E826B211F76F6001FEBD4 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
+		A93E826C211F76F6001FEBD4 /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
+		A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = "<group>"; };
 		A95096BD2003D32400F10950 /* DirectorySupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DirectorySupport.mm; sourceTree = "<group>"; };
 		A95096BE2003D32400F10950 /* DirectorySupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectorySupport.h; sourceTree = "<group>"; };
 		A95C5F3D1DEA9070000D17B6 /* spirv_cfg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cfg.cpp; sourceTree = "<group>"; };
@@ -1123,98 +1218,6 @@
 		A99E0ECA210E5F0A00D9968F /* function.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function.h; sourceTree = "<group>"; };
 		A99E0ECB210E5F0A00D9968F /* validation_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = validation_state.cpp; sourceTree = "<group>"; };
 		A99E0ECC210E5F0A00D9968F /* decoration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoration.h; sourceTree = "<group>"; };
-		A9A577C12054A0E20072F392 /* SPVRemapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPVRemapper.h; sourceTree = "<group>"; };
-		A9A577C22054A0E20072F392 /* SpvBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpvBuilder.h; sourceTree = "<group>"; };
-		A9A577C32054A0E20072F392 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9A577C42054A0E20072F392 /* InReadableOrder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InReadableOrder.cpp; sourceTree = "<group>"; };
-		A9A577C52054A0E20072F392 /* GLSL.ext.AMD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.AMD.h; sourceTree = "<group>"; };
-		A9A577C62054A0E20072F392 /* doc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = doc.h; sourceTree = "<group>"; };
-		A9A577C72054A0E20072F392 /* spirv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv.hpp; sourceTree = "<group>"; };
-		A9A577C82054A0E20072F392 /* SpvBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpvBuilder.cpp; sourceTree = "<group>"; };
-		A9A577C92054A0E20072F392 /* GLSL.ext.EXT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.EXT.h; sourceTree = "<group>"; };
-		A9A577CA2054A0E20072F392 /* GLSL.ext.KHR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.KHR.h; sourceTree = "<group>"; };
-		A9A577CB2054A0E20072F392 /* GLSL.ext.NV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.ext.NV.h; sourceTree = "<group>"; };
-		A9A577CC2054A0E20072F392 /* GlslangToSpv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlslangToSpv.cpp; sourceTree = "<group>"; };
-		A9A577CD2054A0E20072F392 /* spvIR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spvIR.h; sourceTree = "<group>"; };
-		A9A577CE2054A0E20072F392 /* bitutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitutils.h; sourceTree = "<group>"; };
-		A9A577CF2054A0E20072F392 /* disassemble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disassemble.h; sourceTree = "<group>"; };
-		A9A577D02054A0E20072F392 /* GlslangToSpv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlslangToSpv.h; sourceTree = "<group>"; };
-		A9A577D12054A0E20072F392 /* GLSL.std.450.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLSL.std.450.h; sourceTree = "<group>"; };
-		A9A577D22054A0E20072F392 /* SPVRemapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SPVRemapper.cpp; sourceTree = "<group>"; };
-		A9A577D32054A0E20072F392 /* Logger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Logger.cpp; sourceTree = "<group>"; };
-		A9A577D42054A0E20072F392 /* hex_float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hex_float.h; sourceTree = "<group>"; };
-		A9A577D52054A0E20072F392 /* Logger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logger.h; sourceTree = "<group>"; };
-		A9A577D62054A0E20072F392 /* doc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = doc.cpp; sourceTree = "<group>"; };
-		A9A577D72054A0E20072F392 /* disassemble.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = disassemble.cpp; sourceTree = "<group>"; };
-		A9A577D92054A0E20072F392 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9A577DC2054A0E20072F392 /* ossource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource.cpp; sourceTree = "<group>"; };
-		A9A577DD2054A0E20072F392 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9A577DE2054A0E20072F392 /* osinclude.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osinclude.h; sourceTree = "<group>"; };
-		A9A577E42054A0E20072F392 /* ResourceLimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLimits.h; sourceTree = "<group>"; };
-		A9A577E52054A0E20072F392 /* Types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = "<group>"; };
-		A9A577E62054A0E20072F392 /* intermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intermediate.h; sourceTree = "<group>"; };
-		A9A577E72054A0E20072F392 /* BaseTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTypes.h; sourceTree = "<group>"; };
-		A9A577E82054A0E20072F392 /* revision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = revision.h; sourceTree = "<group>"; };
-		A9A577E92054A0E20072F392 /* InitializeGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeGlobals.h; sourceTree = "<group>"; };
-		A9A577EA2054A0E20072F392 /* ShHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShHandle.h; sourceTree = "<group>"; };
-		A9A577EB2054A0E20072F392 /* arrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arrays.h; sourceTree = "<group>"; };
-		A9A577EC2054A0E20072F392 /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
-		A9A577ED2054A0E20072F392 /* revision.template */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = revision.template; sourceTree = "<group>"; };
-		A9A577EE2054A0E20072F392 /* ConstantUnion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConstantUnion.h; sourceTree = "<group>"; };
-		A9A577EF2054A0E20072F392 /* InfoSink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoSink.h; sourceTree = "<group>"; };
-		A9A577F02054A0E20072F392 /* PoolAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoolAlloc.h; sourceTree = "<group>"; };
-		A9A577F12054A0E20072F392 /* updateGrammar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = updateGrammar; sourceTree = "<group>"; };
-		A9A577F32054A0E20072F392 /* ParseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseHelper.cpp; sourceTree = "<group>"; };
-		A9A577F42054A0E20072F392 /* parseVersions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parseVersions.h; sourceTree = "<group>"; };
-		A9A577F52054A0E20072F392 /* gl_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gl_types.h; sourceTree = "<group>"; };
-		A9A577F62054A0E20072F392 /* propagateNoContraction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = propagateNoContraction.cpp; sourceTree = "<group>"; };
-		A9A577F72054A0E20072F392 /* ScanContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScanContext.h; sourceTree = "<group>"; };
-		A9A577F82054A0E20072F392 /* iomapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iomapper.h; sourceTree = "<group>"; };
-		A9A577F92054A0E20072F392 /* localintermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localintermediate.h; sourceTree = "<group>"; };
-		A9A577FA2054A0E20072F392 /* Scan.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Scan.cpp; sourceTree = "<group>"; };
-		A9A577FC2054A0E20072F392 /* RemoveTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoveTree.h; sourceTree = "<group>"; };
-		A9A577FD2054A0E20072F392 /* Initialize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initialize.cpp; sourceTree = "<group>"; };
-		A9A577FE2054A0E20072F392 /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
-		A9A577FF2054A0E20072F392 /* limits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limits.cpp; sourceTree = "<group>"; };
-		A9A578002054A0E20072F392 /* parseConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parseConst.cpp; sourceTree = "<group>"; };
-		A9A578012054A0E20072F392 /* propagateNoContraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = propagateNoContraction.h; sourceTree = "<group>"; };
-		A9A578022054A0E20072F392 /* Versions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Versions.h; sourceTree = "<group>"; };
-		A9A578032054A0E20072F392 /* IntermTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IntermTraverse.cpp; sourceTree = "<group>"; };
-		A9A578042054A0E20072F392 /* intermOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intermOut.cpp; sourceTree = "<group>"; };
-		A9A578052054A0E20072F392 /* iomapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iomapper.cpp; sourceTree = "<group>"; };
-		A9A578062054A0E20072F392 /* PoolAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolAlloc.cpp; sourceTree = "<group>"; };
-		A9A578072054A0E20072F392 /* ShaderLang.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLang.cpp; sourceTree = "<group>"; };
-		A9A578082054A0E20072F392 /* SymbolTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolTable.h; sourceTree = "<group>"; };
-		A9A578092054A0E20072F392 /* InfoSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InfoSink.cpp; sourceTree = "<group>"; };
-		A9A5780A2054A0E20072F392 /* Intermediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Intermediate.cpp; sourceTree = "<group>"; };
-		A9A5780B2054A0E20072F392 /* SymbolTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolTable.cpp; sourceTree = "<group>"; };
-		A9A5780C2054A0E20072F392 /* glslang_tab.cpp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.cpp.h; sourceTree = "<group>"; };
-		A9A5780D2054A0E20072F392 /* LiveTraverser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveTraverser.h; sourceTree = "<group>"; };
-		A9A5780E2054A0E20072F392 /* Initialize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Initialize.h; sourceTree = "<group>"; };
-		A9A5780F2054A0E20072F392 /* attribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = attribute.cpp; sourceTree = "<group>"; };
-		A9A578102054A0E20072F392 /* reflection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reflection.cpp; sourceTree = "<group>"; };
-		A9A578112054A0E20072F392 /* RemoveTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoveTree.cpp; sourceTree = "<group>"; };
-		A9A578122054A0E20072F392 /* attribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attribute.h; sourceTree = "<group>"; };
-		A9A578132054A0E20072F392 /* Versions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Versions.cpp; sourceTree = "<group>"; };
-		A9A578142054A0E20072F392 /* Constant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Constant.cpp; sourceTree = "<group>"; };
-		A9A578152054A0E20072F392 /* linkValidate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = linkValidate.cpp; sourceTree = "<group>"; };
-		A9A578162054A0E20072F392 /* ParseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParseHelper.h; sourceTree = "<group>"; };
-		A9A578182054A0E20072F392 /* PpAtom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpAtom.cpp; sourceTree = "<group>"; };
-		A9A578192054A0E20072F392 /* PpTokens.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpTokens.h; sourceTree = "<group>"; };
-		A9A5781A2054A0E20072F392 /* Pp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Pp.cpp; sourceTree = "<group>"; };
-		A9A5781B2054A0E20072F392 /* PpContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PpContext.h; sourceTree = "<group>"; };
-		A9A5781C2054A0E20072F392 /* PpTokens.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpTokens.cpp; sourceTree = "<group>"; };
-		A9A5781D2054A0E20072F392 /* PpContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpContext.cpp; sourceTree = "<group>"; };
-		A9A5781E2054A0E20072F392 /* PpScanner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PpScanner.cpp; sourceTree = "<group>"; };
-		A9A5781F2054A0E20072F392 /* ParseContextBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseContextBase.cpp; sourceTree = "<group>"; };
-		A9A578202054A0E20072F392 /* reflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reflection.h; sourceTree = "<group>"; };
-		A9A578212054A0E20072F392 /* Scan.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scan.h; sourceTree = "<group>"; };
-		A9A578232054A0E20072F392 /* ShaderLang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderLang.h; sourceTree = "<group>"; };
-		A9A578252054A0E20072F392 /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
-		A9A578262054A0E20072F392 /* Link.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Link.cpp; sourceTree = "<group>"; };
-		A9A578282054A0E20072F392 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
-		A9A578292054A0E20072F392 /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
-		A9A5782A2054A0E20072F392 /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = "<group>"; };
 		A9AB19901CB5B5A80001E7F9 /* spirv_common.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_common.hpp; sourceTree = "<group>"; };
 		A9AB19911CB5B5A80001E7F9 /* spirv_cross.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spirv_cross.cpp; sourceTree = "<group>"; };
 		A9AB19921CB5B5A80001E7F9 /* spirv_cross.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = spirv_cross.hpp; sourceTree = "<group>"; };
@@ -1285,6 +1288,179 @@
 			path = "../SPIRV-Cross";
 			sourceTree = "<group>";
 		};
+		A93E8202211F76F5001FEBD4 /* SPIRV */ = {
+			isa = PBXGroup;
+			children = (
+				A93E8203211F76F5001FEBD4 /* SPVRemapper.h */,
+				A93E8204211F76F5001FEBD4 /* SpvBuilder.h */,
+				A93E8205211F76F5001FEBD4 /* CMakeLists.txt */,
+				A93E8206211F76F5001FEBD4 /* SpvPostProcess.cpp */,
+				A93E8207211F76F5001FEBD4 /* InReadableOrder.cpp */,
+				A93E8208211F76F5001FEBD4 /* GLSL.ext.AMD.h */,
+				A93E8209211F76F5001FEBD4 /* doc.h */,
+				A93E820A211F76F5001FEBD4 /* spirv.hpp */,
+				A93E820B211F76F5001FEBD4 /* SpvBuilder.cpp */,
+				A93E820C211F76F6001FEBD4 /* GLSL.ext.EXT.h */,
+				A93E820D211F76F6001FEBD4 /* GLSL.ext.KHR.h */,
+				A93E820E211F76F6001FEBD4 /* GLSL.ext.NV.h */,
+				A93E820F211F76F6001FEBD4 /* GlslangToSpv.cpp */,
+				A93E8210211F76F6001FEBD4 /* spvIR.h */,
+				A93E8211211F76F6001FEBD4 /* bitutils.h */,
+				A93E8212211F76F6001FEBD4 /* disassemble.h */,
+				A93E8213211F76F6001FEBD4 /* GlslangToSpv.h */,
+				A93E8214211F76F6001FEBD4 /* GLSL.std.450.h */,
+				A93E8215211F76F6001FEBD4 /* SPVRemapper.cpp */,
+				A93E8216211F76F6001FEBD4 /* Logger.cpp */,
+				A93E8217211F76F6001FEBD4 /* hex_float.h */,
+				A93E8218211F76F6001FEBD4 /* Logger.h */,
+				A93E8219211F76F6001FEBD4 /* doc.cpp */,
+				A93E821A211F76F6001FEBD4 /* disassemble.cpp */,
+			);
+			name = SPIRV;
+			path = SPIRV;
+			sourceTree = "<group>";
+		};
+		A93E821B211F76F6001FEBD4 /* glslang */ = {
+			isa = PBXGroup;
+			children = (
+				A93E821C211F76F6001FEBD4 /* CMakeLists.txt */,
+				A93E821D211F76F6001FEBD4 /* OSDependent */,
+				A93E8226211F76F6001FEBD4 /* Include */,
+				A93E8234211F76F6001FEBD4 /* updateGrammar */,
+				A93E8235211F76F6001FEBD4 /* MachineIndependent */,
+				A93E8265211F76F6001FEBD4 /* Public */,
+				A93E8267211F76F6001FEBD4 /* GenericCodeGen */,
+			);
+			name = glslang;
+			path = glslang;
+			sourceTree = "<group>";
+		};
+		A93E821D211F76F6001FEBD4 /* OSDependent */ = {
+			isa = PBXGroup;
+			children = (
+				A93E821E211F76F6001FEBD4 /* Unix */,
+				A93E8221211F76F6001FEBD4 /* osinclude.h */,
+			);
+			path = OSDependent;
+			sourceTree = "<group>";
+		};
+		A93E821E211F76F6001FEBD4 /* Unix */ = {
+			isa = PBXGroup;
+			children = (
+				A93E821F211F76F6001FEBD4 /* ossource.cpp */,
+				A93E8220211F76F6001FEBD4 /* CMakeLists.txt */,
+			);
+			path = Unix;
+			sourceTree = "<group>";
+		};
+		A93E8226211F76F6001FEBD4 /* Include */ = {
+			isa = PBXGroup;
+			children = (
+				A93E8227211F76F6001FEBD4 /* ResourceLimits.h */,
+				A93E8228211F76F6001FEBD4 /* Types.h */,
+				A93E8229211F76F6001FEBD4 /* intermediate.h */,
+				A93E822A211F76F6001FEBD4 /* BaseTypes.h */,
+				A93E822B211F76F6001FEBD4 /* revision.h */,
+				A93E822C211F76F6001FEBD4 /* InitializeGlobals.h */,
+				A93E822D211F76F6001FEBD4 /* ShHandle.h */,
+				A93E822E211F76F6001FEBD4 /* arrays.h */,
+				A93E822F211F76F6001FEBD4 /* Common.h */,
+				A93E8230211F76F6001FEBD4 /* revision.template */,
+				A93E8231211F76F6001FEBD4 /* ConstantUnion.h */,
+				A93E8232211F76F6001FEBD4 /* InfoSink.h */,
+				A93E8233211F76F6001FEBD4 /* PoolAlloc.h */,
+			);
+			path = Include;
+			sourceTree = "<group>";
+		};
+		A93E8235211F76F6001FEBD4 /* MachineIndependent */ = {
+			isa = PBXGroup;
+			children = (
+				A93E8236211F76F6001FEBD4 /* ParseHelper.cpp */,
+				A93E8237211F76F6001FEBD4 /* parseVersions.h */,
+				A93E8238211F76F6001FEBD4 /* gl_types.h */,
+				A93E8239211F76F6001FEBD4 /* propagateNoContraction.cpp */,
+				A93E823A211F76F6001FEBD4 /* ScanContext.h */,
+				A93E823B211F76F6001FEBD4 /* iomapper.h */,
+				A93E823C211F76F6001FEBD4 /* localintermediate.h */,
+				A93E823D211F76F6001FEBD4 /* Scan.cpp */,
+				A93E823F211F76F6001FEBD4 /* RemoveTree.h */,
+				A93E8240211F76F6001FEBD4 /* Initialize.cpp */,
+				A93E8241211F76F6001FEBD4 /* glslang_tab.cpp */,
+				A93E8242211F76F6001FEBD4 /* limits.cpp */,
+				A93E8243211F76F6001FEBD4 /* parseConst.cpp */,
+				A93E8244211F76F6001FEBD4 /* propagateNoContraction.h */,
+				A93E8245211F76F6001FEBD4 /* Versions.h */,
+				A93E8246211F76F6001FEBD4 /* IntermTraverse.cpp */,
+				A93E8247211F76F6001FEBD4 /* intermOut.cpp */,
+				A93E8248211F76F6001FEBD4 /* iomapper.cpp */,
+				A93E8249211F76F6001FEBD4 /* PoolAlloc.cpp */,
+				A93E824A211F76F6001FEBD4 /* ShaderLang.cpp */,
+				A93E824B211F76F6001FEBD4 /* SymbolTable.h */,
+				A93E824C211F76F6001FEBD4 /* InfoSink.cpp */,
+				A93E824D211F76F6001FEBD4 /* Intermediate.cpp */,
+				A93E824E211F76F6001FEBD4 /* SymbolTable.cpp */,
+				A93E824F211F76F6001FEBD4 /* glslang_tab.cpp.h */,
+				A93E8250211F76F6001FEBD4 /* LiveTraverser.h */,
+				A93E8251211F76F6001FEBD4 /* Initialize.h */,
+				A93E8252211F76F6001FEBD4 /* attribute.cpp */,
+				A93E8253211F76F6001FEBD4 /* reflection.cpp */,
+				A93E8254211F76F6001FEBD4 /* RemoveTree.cpp */,
+				A93E8255211F76F6001FEBD4 /* attribute.h */,
+				A93E8256211F76F6001FEBD4 /* Versions.cpp */,
+				A93E8257211F76F6001FEBD4 /* Constant.cpp */,
+				A93E8258211F76F6001FEBD4 /* linkValidate.cpp */,
+				A93E8259211F76F6001FEBD4 /* ParseHelper.h */,
+				A93E825A211F76F6001FEBD4 /* preprocessor */,
+				A93E8262211F76F6001FEBD4 /* ParseContextBase.cpp */,
+				A93E8263211F76F6001FEBD4 /* reflection.h */,
+				A93E8264211F76F6001FEBD4 /* Scan.h */,
+			);
+			path = MachineIndependent;
+			sourceTree = "<group>";
+		};
+		A93E825A211F76F6001FEBD4 /* preprocessor */ = {
+			isa = PBXGroup;
+			children = (
+				A93E825B211F76F6001FEBD4 /* PpAtom.cpp */,
+				A93E825C211F76F6001FEBD4 /* PpTokens.h */,
+				A93E825D211F76F6001FEBD4 /* Pp.cpp */,
+				A93E825E211F76F6001FEBD4 /* PpContext.h */,
+				A93E825F211F76F6001FEBD4 /* PpTokens.cpp */,
+				A93E8260211F76F6001FEBD4 /* PpContext.cpp */,
+				A93E8261211F76F6001FEBD4 /* PpScanner.cpp */,
+			);
+			path = preprocessor;
+			sourceTree = "<group>";
+		};
+		A93E8265211F76F6001FEBD4 /* Public */ = {
+			isa = PBXGroup;
+			children = (
+				A93E8266211F76F6001FEBD4 /* ShaderLang.h */,
+			);
+			path = Public;
+			sourceTree = "<group>";
+		};
+		A93E8267211F76F6001FEBD4 /* GenericCodeGen */ = {
+			isa = PBXGroup;
+			children = (
+				A93E8268211F76F6001FEBD4 /* CodeGen.cpp */,
+				A93E8269211F76F6001FEBD4 /* Link.cpp */,
+			);
+			path = GenericCodeGen;
+			sourceTree = "<group>";
+		};
+		A93E826A211F76F6001FEBD4 /* OGLCompilersDLL */ = {
+			isa = PBXGroup;
+			children = (
+				A93E826B211F76F6001FEBD4 /* CMakeLists.txt */,
+				A93E826C211F76F6001FEBD4 /* InitializeDll.h */,
+				A93E826D211F76F6001FEBD4 /* InitializeDll.cpp */,
+			);
+			name = OGLCompilersDLL;
+			path = OGLCompilersDLL;
+			sourceTree = "<group>";
+		};
 		A964B28D1C57EBC400D930D8 /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -1300,9 +1476,9 @@
 		A97B21311C80B38D003F0FB4 /* glslang */ = {
 			isa = PBXGroup;
 			children = (
-				A9A577D82054A0E20072F392 /* glslang */,
-				A9A578272054A0E20072F392 /* OGLCompilersDLL */,
-				A9A577C02054A0E20072F392 /* SPIRV */,
+				A93E821B211F76F6001FEBD4 /* glslang */,
+				A93E826A211F76F6001FEBD4 /* OGLCompilersDLL */,
+				A93E8202211F76F5001FEBD4 /* SPIRV */,
 			);
 			name = glslang;
 			path = ../glslang;
@@ -1655,175 +1831,6 @@
 			path = val;
 			sourceTree = "<group>";
 		};
-		A9A577C02054A0E20072F392 /* SPIRV */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577C12054A0E20072F392 /* SPVRemapper.h */,
-				A9A577C22054A0E20072F392 /* SpvBuilder.h */,
-				A9A577C32054A0E20072F392 /* CMakeLists.txt */,
-				A9A577C42054A0E20072F392 /* InReadableOrder.cpp */,
-				A9A577C52054A0E20072F392 /* GLSL.ext.AMD.h */,
-				A9A577C62054A0E20072F392 /* doc.h */,
-				A9A577C72054A0E20072F392 /* spirv.hpp */,
-				A9A577C82054A0E20072F392 /* SpvBuilder.cpp */,
-				A9A577C92054A0E20072F392 /* GLSL.ext.EXT.h */,
-				A9A577CA2054A0E20072F392 /* GLSL.ext.KHR.h */,
-				A9A577CB2054A0E20072F392 /* GLSL.ext.NV.h */,
-				A9A577CC2054A0E20072F392 /* GlslangToSpv.cpp */,
-				A9A577CD2054A0E20072F392 /* spvIR.h */,
-				A9A577CE2054A0E20072F392 /* bitutils.h */,
-				A9A577CF2054A0E20072F392 /* disassemble.h */,
-				A9A577D02054A0E20072F392 /* GlslangToSpv.h */,
-				A9A577D12054A0E20072F392 /* GLSL.std.450.h */,
-				A9A577D22054A0E20072F392 /* SPVRemapper.cpp */,
-				A9A577D32054A0E20072F392 /* Logger.cpp */,
-				A9A577D42054A0E20072F392 /* hex_float.h */,
-				A9A577D52054A0E20072F392 /* Logger.h */,
-				A9A577D62054A0E20072F392 /* doc.cpp */,
-				A9A577D72054A0E20072F392 /* disassemble.cpp */,
-			);
-			path = SPIRV;
-			sourceTree = "<group>";
-		};
-		A9A577D82054A0E20072F392 /* glslang */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577D92054A0E20072F392 /* CMakeLists.txt */,
-				A9A577DA2054A0E20072F392 /* OSDependent */,
-				A9A577E32054A0E20072F392 /* Include */,
-				A9A577F12054A0E20072F392 /* updateGrammar */,
-				A9A577F22054A0E20072F392 /* MachineIndependent */,
-				A9A578222054A0E20072F392 /* Public */,
-				A9A578242054A0E20072F392 /* GenericCodeGen */,
-			);
-			path = glslang;
-			sourceTree = "<group>";
-		};
-		A9A577DA2054A0E20072F392 /* OSDependent */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577DB2054A0E20072F392 /* Unix */,
-				A9A577DE2054A0E20072F392 /* osinclude.h */,
-			);
-			path = OSDependent;
-			sourceTree = "<group>";
-		};
-		A9A577DB2054A0E20072F392 /* Unix */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577DC2054A0E20072F392 /* ossource.cpp */,
-				A9A577DD2054A0E20072F392 /* CMakeLists.txt */,
-			);
-			path = Unix;
-			sourceTree = "<group>";
-		};
-		A9A577E32054A0E20072F392 /* Include */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577E42054A0E20072F392 /* ResourceLimits.h */,
-				A9A577E52054A0E20072F392 /* Types.h */,
-				A9A577E62054A0E20072F392 /* intermediate.h */,
-				A9A577E72054A0E20072F392 /* BaseTypes.h */,
-				A9A577E82054A0E20072F392 /* revision.h */,
-				A9A577E92054A0E20072F392 /* InitializeGlobals.h */,
-				A9A577EA2054A0E20072F392 /* ShHandle.h */,
-				A9A577EB2054A0E20072F392 /* arrays.h */,
-				A9A577EC2054A0E20072F392 /* Common.h */,
-				A9A577ED2054A0E20072F392 /* revision.template */,
-				A9A577EE2054A0E20072F392 /* ConstantUnion.h */,
-				A9A577EF2054A0E20072F392 /* InfoSink.h */,
-				A9A577F02054A0E20072F392 /* PoolAlloc.h */,
-			);
-			path = Include;
-			sourceTree = "<group>";
-		};
-		A9A577F22054A0E20072F392 /* MachineIndependent */ = {
-			isa = PBXGroup;
-			children = (
-				A9A577F32054A0E20072F392 /* ParseHelper.cpp */,
-				A9A577F42054A0E20072F392 /* parseVersions.h */,
-				A9A577F52054A0E20072F392 /* gl_types.h */,
-				A9A577F62054A0E20072F392 /* propagateNoContraction.cpp */,
-				A9A577F72054A0E20072F392 /* ScanContext.h */,
-				A9A577F82054A0E20072F392 /* iomapper.h */,
-				A9A577F92054A0E20072F392 /* localintermediate.h */,
-				A9A577FA2054A0E20072F392 /* Scan.cpp */,
-				A9A577FC2054A0E20072F392 /* RemoveTree.h */,
-				A9A577FD2054A0E20072F392 /* Initialize.cpp */,
-				A9A577FE2054A0E20072F392 /* glslang_tab.cpp */,
-				A9A577FF2054A0E20072F392 /* limits.cpp */,
-				A9A578002054A0E20072F392 /* parseConst.cpp */,
-				A9A578012054A0E20072F392 /* propagateNoContraction.h */,
-				A9A578022054A0E20072F392 /* Versions.h */,
-				A9A578032054A0E20072F392 /* IntermTraverse.cpp */,
-				A9A578042054A0E20072F392 /* intermOut.cpp */,
-				A9A578052054A0E20072F392 /* iomapper.cpp */,
-				A9A578062054A0E20072F392 /* PoolAlloc.cpp */,
-				A9A578072054A0E20072F392 /* ShaderLang.cpp */,
-				A9A578082054A0E20072F392 /* SymbolTable.h */,
-				A9A578092054A0E20072F392 /* InfoSink.cpp */,
-				A9A5780A2054A0E20072F392 /* Intermediate.cpp */,
-				A9A5780B2054A0E20072F392 /* SymbolTable.cpp */,
-				A9A5780C2054A0E20072F392 /* glslang_tab.cpp.h */,
-				A9A5780D2054A0E20072F392 /* LiveTraverser.h */,
-				A9A5780E2054A0E20072F392 /* Initialize.h */,
-				A9A5780F2054A0E20072F392 /* attribute.cpp */,
-				A9A578102054A0E20072F392 /* reflection.cpp */,
-				A9A578112054A0E20072F392 /* RemoveTree.cpp */,
-				A9A578122054A0E20072F392 /* attribute.h */,
-				A9A578132054A0E20072F392 /* Versions.cpp */,
-				A9A578142054A0E20072F392 /* Constant.cpp */,
-				A9A578152054A0E20072F392 /* linkValidate.cpp */,
-				A9A578162054A0E20072F392 /* ParseHelper.h */,
-				A9A578172054A0E20072F392 /* preprocessor */,
-				A9A5781F2054A0E20072F392 /* ParseContextBase.cpp */,
-				A9A578202054A0E20072F392 /* reflection.h */,
-				A9A578212054A0E20072F392 /* Scan.h */,
-			);
-			path = MachineIndependent;
-			sourceTree = "<group>";
-		};
-		A9A578172054A0E20072F392 /* preprocessor */ = {
-			isa = PBXGroup;
-			children = (
-				A9A578182054A0E20072F392 /* PpAtom.cpp */,
-				A9A578192054A0E20072F392 /* PpTokens.h */,
-				A9A5781A2054A0E20072F392 /* Pp.cpp */,
-				A9A5781B2054A0E20072F392 /* PpContext.h */,
-				A9A5781C2054A0E20072F392 /* PpTokens.cpp */,
-				A9A5781D2054A0E20072F392 /* PpContext.cpp */,
-				A9A5781E2054A0E20072F392 /* PpScanner.cpp */,
-			);
-			path = preprocessor;
-			sourceTree = "<group>";
-		};
-		A9A578222054A0E20072F392 /* Public */ = {
-			isa = PBXGroup;
-			children = (
-				A9A578232054A0E20072F392 /* ShaderLang.h */,
-			);
-			path = Public;
-			sourceTree = "<group>";
-		};
-		A9A578242054A0E20072F392 /* GenericCodeGen */ = {
-			isa = PBXGroup;
-			children = (
-				A9A578252054A0E20072F392 /* CodeGen.cpp */,
-				A9A578262054A0E20072F392 /* Link.cpp */,
-			);
-			path = GenericCodeGen;
-			sourceTree = "<group>";
-		};
-		A9A578272054A0E20072F392 /* OGLCompilersDLL */ = {
-			isa = PBXGroup;
-			children = (
-				A9A578282054A0E20072F392 /* CMakeLists.txt */,
-				A9A578292054A0E20072F392 /* InitializeDll.h */,
-				A9A5782A2054A0E20072F392 /* InitializeDll.cpp */,
-			);
-			path = OGLCompilersDLL;
-			sourceTree = "<group>";
-		};
 		A9F042A81FB4D060009FCCB8 /* Common */ = {
 			isa = PBXGroup;
 			children = (
@@ -1863,58 +1870,58 @@
 			buildActionMask = 2147483647;
 			files = (
 				A90941A51C581F840094110D /* GLSLConversion.h in Headers */,
-				A9A5787F2054A0E20072F392 /* ScanContext.h in Headers */,
-				A9A578932054A0E20072F392 /* propagateNoContraction.h in Headers */,
-				A9A578D92054A0E20072F392 /* InitializeDll.h in Headers */,
-				A9A578AB2054A0E20072F392 /* LiveTraverser.h in Headers */,
-				A9A578C12054A0E20072F392 /* PpTokens.h in Headers */,
-				A9A578732054A0E20072F392 /* InfoSink.h in Headers */,
-				A9A578B52054A0E20072F392 /* attribute.h in Headers */,
-				A9A578352054A0E20072F392 /* spirv.hpp in Headers */,
+				A93E82C4211F76F6001FEBD4 /* ScanContext.h in Headers */,
+				A93E82D8211F76F6001FEBD4 /* propagateNoContraction.h in Headers */,
+				A93E831E211F76F6001FEBD4 /* InitializeDll.h in Headers */,
+				A93E82F0211F76F6001FEBD4 /* LiveTraverser.h in Headers */,
+				A93E8306211F76F6001FEBD4 /* PpTokens.h in Headers */,
+				A93E82B8211F76F6001FEBD4 /* InfoSink.h in Headers */,
+				A93E82FA211F76F6001FEBD4 /* attribute.h in Headers */,
+				A93E827A211F76F6001FEBD4 /* spirv.hpp in Headers */,
 				A9F042B41FB4D060009FCCB8 /* MVKLogging.h in Headers */,
 				A90940A91C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
-				A9A5785F2054A0E20072F392 /* ResourceLimits.h in Headers */,
-				A9A578812054A0E20072F392 /* iomapper.h in Headers */,
-				A9A578592054A0E20072F392 /* osinclude.h in Headers */,
-				A9A578BD2054A0E20072F392 /* ParseHelper.h in Headers */,
-				A9A578892054A0E20072F392 /* RemoveTree.h in Headers */,
-				A9A578832054A0E20072F392 /* localintermediate.h in Headers */,
-				A9A578C52054A0E20072F392 /* PpContext.h in Headers */,
-				A9A578612054A0E20072F392 /* Types.h in Headers */,
-				A9A578D12054A0E20072F392 /* Scan.h in Headers */,
-				A9A578332054A0E20072F392 /* doc.h in Headers */,
-				A9A578752054A0E20072F392 /* PoolAlloc.h in Headers */,
-				A9A578692054A0E20072F392 /* InitializeGlobals.h in Headers */,
-				A9A578792054A0E20072F392 /* parseVersions.h in Headers */,
+				A93E82A4211F76F6001FEBD4 /* ResourceLimits.h in Headers */,
+				A93E82C6211F76F6001FEBD4 /* iomapper.h in Headers */,
+				A93E829E211F76F6001FEBD4 /* osinclude.h in Headers */,
+				A93E8302211F76F6001FEBD4 /* ParseHelper.h in Headers */,
+				A93E82CE211F76F6001FEBD4 /* RemoveTree.h in Headers */,
+				A93E82C8211F76F6001FEBD4 /* localintermediate.h in Headers */,
+				A93E830A211F76F6001FEBD4 /* PpContext.h in Headers */,
+				A93E82A6211F76F6001FEBD4 /* Types.h in Headers */,
+				A93E8316211F76F6001FEBD4 /* Scan.h in Headers */,
+				A93E8278211F76F6001FEBD4 /* doc.h in Headers */,
+				A93E82BA211F76F6001FEBD4 /* PoolAlloc.h in Headers */,
+				A93E82AE211F76F6001FEBD4 /* InitializeGlobals.h in Headers */,
+				A93E82BE211F76F6001FEBD4 /* parseVersions.h in Headers */,
 				A9F042B01FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A9A578CF2054A0E20072F392 /* reflection.h in Headers */,
-				A9A578952054A0E20072F392 /* Versions.h in Headers */,
-				A9A5787B2054A0E20072F392 /* gl_types.h in Headers */,
-				A9A578A92054A0E20072F392 /* glslang_tab.cpp.h in Headers */,
-				A9A578672054A0E20072F392 /* revision.h in Headers */,
-				A9A5786B2054A0E20072F392 /* ShHandle.h in Headers */,
-				A9A578492054A0E20072F392 /* GLSL.std.450.h in Headers */,
-				A9A578652054A0E20072F392 /* BaseTypes.h in Headers */,
-				A9A578712054A0E20072F392 /* ConstantUnion.h in Headers */,
-				A9A5784F2054A0E20072F392 /* hex_float.h in Headers */,
-				A9A5783D2054A0E20072F392 /* GLSL.ext.NV.h in Headers */,
-				A9A578D32054A0E20072F392 /* ShaderLang.h in Headers */,
-				A9A5782B2054A0E20072F392 /* SPVRemapper.h in Headers */,
-				A9A5786F2054A0E20072F392 /* Common.h in Headers */,
-				A9A578AD2054A0E20072F392 /* Initialize.h in Headers */,
-				A9A578392054A0E20072F392 /* GLSL.ext.EXT.h in Headers */,
-				A9A5783B2054A0E20072F392 /* GLSL.ext.KHR.h in Headers */,
-				A9A578632054A0E20072F392 /* intermediate.h in Headers */,
-				A9A578312054A0E20072F392 /* GLSL.ext.AMD.h in Headers */,
-				A9A578A12054A0E20072F392 /* SymbolTable.h in Headers */,
-				A9A578472054A0E20072F392 /* GlslangToSpv.h in Headers */,
-				A9A5786D2054A0E20072F392 /* arrays.h in Headers */,
-				A9A578512054A0E20072F392 /* Logger.h in Headers */,
-				A9A5782D2054A0E20072F392 /* SpvBuilder.h in Headers */,
-				A9A578432054A0E20072F392 /* bitutils.h in Headers */,
+				A93E8314211F76F6001FEBD4 /* reflection.h in Headers */,
+				A93E82DA211F76F6001FEBD4 /* Versions.h in Headers */,
+				A93E82C0211F76F6001FEBD4 /* gl_types.h in Headers */,
+				A93E82EE211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */,
+				A93E82AC211F76F6001FEBD4 /* revision.h in Headers */,
+				A93E82B0211F76F6001FEBD4 /* ShHandle.h in Headers */,
+				A93E828E211F76F6001FEBD4 /* GLSL.std.450.h in Headers */,
+				A93E82AA211F76F6001FEBD4 /* BaseTypes.h in Headers */,
+				A93E82B6211F76F6001FEBD4 /* ConstantUnion.h in Headers */,
+				A93E8294211F76F6001FEBD4 /* hex_float.h in Headers */,
+				A93E8282211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */,
+				A93E8318211F76F6001FEBD4 /* ShaderLang.h in Headers */,
+				A93E826E211F76F6001FEBD4 /* SPVRemapper.h in Headers */,
+				A93E82B4211F76F6001FEBD4 /* Common.h in Headers */,
+				A93E82F2211F76F6001FEBD4 /* Initialize.h in Headers */,
+				A93E827E211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */,
+				A93E8280211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */,
+				A93E82A8211F76F6001FEBD4 /* intermediate.h in Headers */,
+				A93E8276211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */,
+				A93E82E6211F76F6001FEBD4 /* SymbolTable.h in Headers */,
+				A93E828C211F76F6001FEBD4 /* GlslangToSpv.h in Headers */,
+				A93E82B2211F76F6001FEBD4 /* arrays.h in Headers */,
+				A93E8296211F76F6001FEBD4 /* Logger.h in Headers */,
+				A93E8270211F76F6001FEBD4 /* SpvBuilder.h in Headers */,
+				A93E8288211F76F6001FEBD4 /* bitutils.h in Headers */,
 				A98149661FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A9A578412054A0E20072F392 /* spvIR.h in Headers */,
-				A9A578452054A0E20072F392 /* disassemble.h in Headers */,
+				A93E8286211F76F6001FEBD4 /* spvIR.h in Headers */,
+				A93E828A211F76F6001FEBD4 /* disassemble.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1923,58 +1930,58 @@
 			buildActionMask = 2147483647;
 			files = (
 				A90941A61C581F840094110D /* GLSLConversion.h in Headers */,
-				A9A578802054A0E20072F392 /* ScanContext.h in Headers */,
-				A9A578942054A0E20072F392 /* propagateNoContraction.h in Headers */,
-				A9A578DA2054A0E20072F392 /* InitializeDll.h in Headers */,
-				A9A578AC2054A0E20072F392 /* LiveTraverser.h in Headers */,
-				A9A578C22054A0E20072F392 /* PpTokens.h in Headers */,
-				A9A578742054A0E20072F392 /* InfoSink.h in Headers */,
-				A9A578B62054A0E20072F392 /* attribute.h in Headers */,
-				A9A578362054A0E20072F392 /* spirv.hpp in Headers */,
+				A93E82C5211F76F6001FEBD4 /* ScanContext.h in Headers */,
+				A93E82D9211F76F6001FEBD4 /* propagateNoContraction.h in Headers */,
+				A93E831F211F76F6001FEBD4 /* InitializeDll.h in Headers */,
+				A93E82F1211F76F6001FEBD4 /* LiveTraverser.h in Headers */,
+				A93E8307211F76F6001FEBD4 /* PpTokens.h in Headers */,
+				A93E82B9211F76F6001FEBD4 /* InfoSink.h in Headers */,
+				A93E82FB211F76F6001FEBD4 /* attribute.h in Headers */,
+				A93E827B211F76F6001FEBD4 /* spirv.hpp in Headers */,
 				A9F042B51FB4D060009FCCB8 /* MVKLogging.h in Headers */,
 				A90940AA1C5808BB0094110D /* GLSLToSPIRVConverter.h in Headers */,
-				A9A578602054A0E20072F392 /* ResourceLimits.h in Headers */,
-				A9A578822054A0E20072F392 /* iomapper.h in Headers */,
-				A9A5785A2054A0E20072F392 /* osinclude.h in Headers */,
-				A9A578BE2054A0E20072F392 /* ParseHelper.h in Headers */,
-				A9A5788A2054A0E20072F392 /* RemoveTree.h in Headers */,
-				A9A578842054A0E20072F392 /* localintermediate.h in Headers */,
-				A9A578C62054A0E20072F392 /* PpContext.h in Headers */,
-				A9A578622054A0E20072F392 /* Types.h in Headers */,
-				A9A578D22054A0E20072F392 /* Scan.h in Headers */,
-				A9A578342054A0E20072F392 /* doc.h in Headers */,
-				A9A578762054A0E20072F392 /* PoolAlloc.h in Headers */,
-				A9A5786A2054A0E20072F392 /* InitializeGlobals.h in Headers */,
-				A9A5787A2054A0E20072F392 /* parseVersions.h in Headers */,
+				A93E82A5211F76F6001FEBD4 /* ResourceLimits.h in Headers */,
+				A93E82C7211F76F6001FEBD4 /* iomapper.h in Headers */,
+				A93E829F211F76F6001FEBD4 /* osinclude.h in Headers */,
+				A93E8303211F76F6001FEBD4 /* ParseHelper.h in Headers */,
+				A93E82CF211F76F6001FEBD4 /* RemoveTree.h in Headers */,
+				A93E82C9211F76F6001FEBD4 /* localintermediate.h in Headers */,
+				A93E830B211F76F6001FEBD4 /* PpContext.h in Headers */,
+				A93E82A7211F76F6001FEBD4 /* Types.h in Headers */,
+				A93E8317211F76F6001FEBD4 /* Scan.h in Headers */,
+				A93E8279211F76F6001FEBD4 /* doc.h in Headers */,
+				A93E82BB211F76F6001FEBD4 /* PoolAlloc.h in Headers */,
+				A93E82AF211F76F6001FEBD4 /* InitializeGlobals.h in Headers */,
+				A93E82BF211F76F6001FEBD4 /* parseVersions.h in Headers */,
 				A9F042B11FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */,
-				A9A578D02054A0E20072F392 /* reflection.h in Headers */,
-				A9A578962054A0E20072F392 /* Versions.h in Headers */,
-				A9A5787C2054A0E20072F392 /* gl_types.h in Headers */,
-				A9A578AA2054A0E20072F392 /* glslang_tab.cpp.h in Headers */,
-				A9A578682054A0E20072F392 /* revision.h in Headers */,
-				A9A5786C2054A0E20072F392 /* ShHandle.h in Headers */,
-				A9A5784A2054A0E20072F392 /* GLSL.std.450.h in Headers */,
-				A9A578662054A0E20072F392 /* BaseTypes.h in Headers */,
-				A9A578722054A0E20072F392 /* ConstantUnion.h in Headers */,
-				A9A578502054A0E20072F392 /* hex_float.h in Headers */,
-				A9A5783E2054A0E20072F392 /* GLSL.ext.NV.h in Headers */,
-				A9A578D42054A0E20072F392 /* ShaderLang.h in Headers */,
-				A9A5782C2054A0E20072F392 /* SPVRemapper.h in Headers */,
-				A9A578702054A0E20072F392 /* Common.h in Headers */,
-				A9A578AE2054A0E20072F392 /* Initialize.h in Headers */,
-				A9A5783A2054A0E20072F392 /* GLSL.ext.EXT.h in Headers */,
-				A9A5783C2054A0E20072F392 /* GLSL.ext.KHR.h in Headers */,
-				A9A578642054A0E20072F392 /* intermediate.h in Headers */,
-				A9A578322054A0E20072F392 /* GLSL.ext.AMD.h in Headers */,
-				A9A578A22054A0E20072F392 /* SymbolTable.h in Headers */,
-				A9A578482054A0E20072F392 /* GlslangToSpv.h in Headers */,
-				A9A5786E2054A0E20072F392 /* arrays.h in Headers */,
-				A9A578522054A0E20072F392 /* Logger.h in Headers */,
-				A9A5782E2054A0E20072F392 /* SpvBuilder.h in Headers */,
-				A9A578442054A0E20072F392 /* bitutils.h in Headers */,
+				A93E8315211F76F6001FEBD4 /* reflection.h in Headers */,
+				A93E82DB211F76F6001FEBD4 /* Versions.h in Headers */,
+				A93E82C1211F76F6001FEBD4 /* gl_types.h in Headers */,
+				A93E82EF211F76F6001FEBD4 /* glslang_tab.cpp.h in Headers */,
+				A93E82AD211F76F6001FEBD4 /* revision.h in Headers */,
+				A93E82B1211F76F6001FEBD4 /* ShHandle.h in Headers */,
+				A93E828F211F76F6001FEBD4 /* GLSL.std.450.h in Headers */,
+				A93E82AB211F76F6001FEBD4 /* BaseTypes.h in Headers */,
+				A93E82B7211F76F6001FEBD4 /* ConstantUnion.h in Headers */,
+				A93E8295211F76F6001FEBD4 /* hex_float.h in Headers */,
+				A93E8283211F76F6001FEBD4 /* GLSL.ext.NV.h in Headers */,
+				A93E8319211F76F6001FEBD4 /* ShaderLang.h in Headers */,
+				A93E826F211F76F6001FEBD4 /* SPVRemapper.h in Headers */,
+				A93E82B5211F76F6001FEBD4 /* Common.h in Headers */,
+				A93E82F3211F76F6001FEBD4 /* Initialize.h in Headers */,
+				A93E827F211F76F6001FEBD4 /* GLSL.ext.EXT.h in Headers */,
+				A93E8281211F76F6001FEBD4 /* GLSL.ext.KHR.h in Headers */,
+				A93E82A9211F76F6001FEBD4 /* intermediate.h in Headers */,
+				A93E8277211F76F6001FEBD4 /* GLSL.ext.AMD.h in Headers */,
+				A93E82E7211F76F6001FEBD4 /* SymbolTable.h in Headers */,
+				A93E828D211F76F6001FEBD4 /* GlslangToSpv.h in Headers */,
+				A93E82B3211F76F6001FEBD4 /* arrays.h in Headers */,
+				A93E8297211F76F6001FEBD4 /* Logger.h in Headers */,
+				A93E8271211F76F6001FEBD4 /* SpvBuilder.h in Headers */,
+				A93E8289211F76F6001FEBD4 /* bitutils.h in Headers */,
 				A98149671FB6A98A005F00B4 /* MVKStrings.h in Headers */,
-				A9A578422054A0E20072F392 /* spvIR.h in Headers */,
-				A9A578462054A0E20072F392 /* disassemble.h in Headers */,
+				A93E8287211F76F6001FEBD4 /* spvIR.h in Headers */,
+				A93E828B211F76F6001FEBD4 /* disassemble.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2440,46 +2447,47 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9A578CD2054A0E20072F392 /* ParseContextBase.cpp in Sources */,
-				A9A578572054A0E20072F392 /* ossource.cpp in Sources */,
-				A9A578C92054A0E20072F392 /* PpContext.cpp in Sources */,
+				A93E8298211F76F6001FEBD4 /* doc.cpp in Sources */,
+				A93E831C211F76F6001FEBD4 /* Link.cpp in Sources */,
+				A93E8272211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */,
+				A93E82E4211F76F6001FEBD4 /* ShaderLang.cpp in Sources */,
+				A93E831A211F76F6001FEBD4 /* CodeGen.cpp in Sources */,
+				A93E830C211F76F6001FEBD4 /* PpTokens.cpp in Sources */,
+				A93E8290211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */,
+				A93E82C2211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */,
+				A93E82FE211F76F6001FEBD4 /* Constant.cpp in Sources */,
 				A90941A31C581F840094110D /* GLSLConversion.mm in Sources */,
-				A9A5784D2054A0E20072F392 /* Logger.cpp in Sources */,
-				A9A5782F2054A0E20072F392 /* InReadableOrder.cpp in Sources */,
-				A9A578912054A0E20072F392 /* parseConst.cpp in Sources */,
-				A9A5789F2054A0E20072F392 /* ShaderLang.cpp in Sources */,
-				A9A578AF2054A0E20072F392 /* attribute.cpp in Sources */,
-				A9A578D52054A0E20072F392 /* CodeGen.cpp in Sources */,
-				A9A578CB2054A0E20072F392 /* PpScanner.cpp in Sources */,
-				A9A578B32054A0E20072F392 /* RemoveTree.cpp in Sources */,
-				A9A5787D2054A0E20072F392 /* propagateNoContraction.cpp in Sources */,
-				A9A578772054A0E20072F392 /* ParseHelper.cpp in Sources */,
-				A9A578C32054A0E20072F392 /* Pp.cpp in Sources */,
-				A9A578BF2054A0E20072F392 /* PpAtom.cpp in Sources */,
-				A9A578A52054A0E20072F392 /* Intermediate.cpp in Sources */,
-				A9A578972054A0E20072F392 /* IntermTraverse.cpp in Sources */,
-				A9A578C72054A0E20072F392 /* PpTokens.cpp in Sources */,
+				A93E82D4211F76F6001FEBD4 /* limits.cpp in Sources */,
+				A93E8300211F76F6001FEBD4 /* linkValidate.cpp in Sources */,
+				A93E8292211F76F6001FEBD4 /* Logger.cpp in Sources */,
+				A93E829C211F76F6001FEBD4 /* ossource.cpp in Sources */,
 				A90940A71C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
-				A9A5789D2054A0E20072F392 /* PoolAlloc.cpp in Sources */,
-				A9A5788F2054A0E20072F392 /* limits.cpp in Sources */,
-				A9A5788D2054A0E20072F392 /* glslang_tab.cpp in Sources */,
-				A9A578852054A0E20072F392 /* Scan.cpp in Sources */,
-				A9A578DB2054A0E20072F392 /* InitializeDll.cpp in Sources */,
-				A9A578A72054A0E20072F392 /* SymbolTable.cpp in Sources */,
-				A9A5789B2054A0E20072F392 /* iomapper.cpp in Sources */,
-				A9A578B72054A0E20072F392 /* Versions.cpp in Sources */,
-				A9A578992054A0E20072F392 /* intermOut.cpp in Sources */,
-				A9A5788B2054A0E20072F392 /* Initialize.cpp in Sources */,
-				A9A578372054A0E20072F392 /* SpvBuilder.cpp in Sources */,
-				A9A578B12054A0E20072F392 /* reflection.cpp in Sources */,
-				A9A5783F2054A0E20072F392 /* GlslangToSpv.cpp in Sources */,
-				A9A578A32054A0E20072F392 /* InfoSink.cpp in Sources */,
-				A9A578532054A0E20072F392 /* doc.cpp in Sources */,
-				A9A5784B2054A0E20072F392 /* SPVRemapper.cpp in Sources */,
-				A9A578BB2054A0E20072F392 /* linkValidate.cpp in Sources */,
-				A9A578D72054A0E20072F392 /* Link.cpp in Sources */,
-				A9A578552054A0E20072F392 /* disassemble.cpp in Sources */,
-				A9A578B92054A0E20072F392 /* Constant.cpp in Sources */,
+				A93E82E0211F76F6001FEBD4 /* iomapper.cpp in Sources */,
+				A93E82DC211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */,
+				A93E829A211F76F6001FEBD4 /* disassemble.cpp in Sources */,
+				A93E82E8211F76F6001FEBD4 /* InfoSink.cpp in Sources */,
+				A93E8312211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */,
+				A93E8284211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */,
+				A93E82EC211F76F6001FEBD4 /* SymbolTable.cpp in Sources */,
+				A93E8304211F76F6001FEBD4 /* PpAtom.cpp in Sources */,
+				A93E8274211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */,
+				A93E82D2211F76F6001FEBD4 /* glslang_tab.cpp in Sources */,
+				A93E8310211F76F6001FEBD4 /* PpScanner.cpp in Sources */,
+				A93E82E2211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */,
+				A93E82F6211F76F6001FEBD4 /* reflection.cpp in Sources */,
+				A93E82EA211F76F6001FEBD4 /* Intermediate.cpp in Sources */,
+				A93E8308211F76F6001FEBD4 /* Pp.cpp in Sources */,
+				A93E82F4211F76F6001FEBD4 /* attribute.cpp in Sources */,
+				A93E82D6211F76F6001FEBD4 /* parseConst.cpp in Sources */,
+				A93E827C211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */,
+				A93E82CA211F76F6001FEBD4 /* Scan.cpp in Sources */,
+				A93E82BC211F76F6001FEBD4 /* ParseHelper.cpp in Sources */,
+				A93E82F8211F76F6001FEBD4 /* RemoveTree.cpp in Sources */,
+				A93E82FC211F76F6001FEBD4 /* Versions.cpp in Sources */,
+				A93E8320211F76F6001FEBD4 /* InitializeDll.cpp in Sources */,
+				A93E82D0211F76F6001FEBD4 /* Initialize.cpp in Sources */,
+				A93E830E211F76F6001FEBD4 /* PpContext.cpp in Sources */,
+				A93E82DE211F76F6001FEBD4 /* intermOut.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2487,46 +2495,47 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				A9A578CE2054A0E20072F392 /* ParseContextBase.cpp in Sources */,
-				A9A578582054A0E20072F392 /* ossource.cpp in Sources */,
-				A9A578CA2054A0E20072F392 /* PpContext.cpp in Sources */,
+				A93E8299211F76F6001FEBD4 /* doc.cpp in Sources */,
+				A93E831D211F76F6001FEBD4 /* Link.cpp in Sources */,
+				A93E8273211F76F6001FEBD4 /* SpvPostProcess.cpp in Sources */,
+				A93E82E5211F76F6001FEBD4 /* ShaderLang.cpp in Sources */,
+				A93E831B211F76F6001FEBD4 /* CodeGen.cpp in Sources */,
+				A93E830D211F76F6001FEBD4 /* PpTokens.cpp in Sources */,
+				A93E8291211F76F6001FEBD4 /* SPVRemapper.cpp in Sources */,
+				A93E82C3211F76F6001FEBD4 /* propagateNoContraction.cpp in Sources */,
+				A93E82FF211F76F6001FEBD4 /* Constant.cpp in Sources */,
 				A90941A41C581F840094110D /* GLSLConversion.mm in Sources */,
-				A9A5784E2054A0E20072F392 /* Logger.cpp in Sources */,
-				A9A578302054A0E20072F392 /* InReadableOrder.cpp in Sources */,
-				A9A578922054A0E20072F392 /* parseConst.cpp in Sources */,
-				A9A578A02054A0E20072F392 /* ShaderLang.cpp in Sources */,
-				A9A578B02054A0E20072F392 /* attribute.cpp in Sources */,
-				A9A578D62054A0E20072F392 /* CodeGen.cpp in Sources */,
-				A9A578CC2054A0E20072F392 /* PpScanner.cpp in Sources */,
-				A9A578B42054A0E20072F392 /* RemoveTree.cpp in Sources */,
-				A9A5787E2054A0E20072F392 /* propagateNoContraction.cpp in Sources */,
-				A9A578782054A0E20072F392 /* ParseHelper.cpp in Sources */,
-				A9A578C42054A0E20072F392 /* Pp.cpp in Sources */,
-				A9A578C02054A0E20072F392 /* PpAtom.cpp in Sources */,
-				A9A578A62054A0E20072F392 /* Intermediate.cpp in Sources */,
-				A9A578982054A0E20072F392 /* IntermTraverse.cpp in Sources */,
-				A9A578C82054A0E20072F392 /* PpTokens.cpp in Sources */,
+				A93E82D5211F76F6001FEBD4 /* limits.cpp in Sources */,
+				A93E8301211F76F6001FEBD4 /* linkValidate.cpp in Sources */,
+				A93E8293211F76F6001FEBD4 /* Logger.cpp in Sources */,
+				A93E829D211F76F6001FEBD4 /* ossource.cpp in Sources */,
 				A90940A81C5808BB0094110D /* GLSLToSPIRVConverter.cpp in Sources */,
-				A9A5789E2054A0E20072F392 /* PoolAlloc.cpp in Sources */,
-				A9A578902054A0E20072F392 /* limits.cpp in Sources */,
-				A9A5788E2054A0E20072F392 /* glslang_tab.cpp in Sources */,
-				A9A578862054A0E20072F392 /* Scan.cpp in Sources */,
-				A9A578DC2054A0E20072F392 /* InitializeDll.cpp in Sources */,
-				A9A578A82054A0E20072F392 /* SymbolTable.cpp in Sources */,
-				A9A5789C2054A0E20072F392 /* iomapper.cpp in Sources */,
-				A9A578B82054A0E20072F392 /* Versions.cpp in Sources */,
-				A9A5789A2054A0E20072F392 /* intermOut.cpp in Sources */,
-				A9A5788C2054A0E20072F392 /* Initialize.cpp in Sources */,
-				A9A578382054A0E20072F392 /* SpvBuilder.cpp in Sources */,
-				A9A578B22054A0E20072F392 /* reflection.cpp in Sources */,
-				A9A578402054A0E20072F392 /* GlslangToSpv.cpp in Sources */,
-				A9A578A42054A0E20072F392 /* InfoSink.cpp in Sources */,
-				A9A578542054A0E20072F392 /* doc.cpp in Sources */,
-				A9A5784C2054A0E20072F392 /* SPVRemapper.cpp in Sources */,
-				A9A578BC2054A0E20072F392 /* linkValidate.cpp in Sources */,
-				A9A578D82054A0E20072F392 /* Link.cpp in Sources */,
-				A9A578562054A0E20072F392 /* disassemble.cpp in Sources */,
-				A9A578BA2054A0E20072F392 /* Constant.cpp in Sources */,
+				A93E82E1211F76F6001FEBD4 /* iomapper.cpp in Sources */,
+				A93E82DD211F76F6001FEBD4 /* IntermTraverse.cpp in Sources */,
+				A93E829B211F76F6001FEBD4 /* disassemble.cpp in Sources */,
+				A93E82E9211F76F6001FEBD4 /* InfoSink.cpp in Sources */,
+				A93E8313211F76F6001FEBD4 /* ParseContextBase.cpp in Sources */,
+				A93E8285211F76F6001FEBD4 /* GlslangToSpv.cpp in Sources */,
+				A93E82ED211F76F6001FEBD4 /* SymbolTable.cpp in Sources */,
+				A93E8305211F76F6001FEBD4 /* PpAtom.cpp in Sources */,
+				A93E8275211F76F6001FEBD4 /* InReadableOrder.cpp in Sources */,
+				A93E82D3211F76F6001FEBD4 /* glslang_tab.cpp in Sources */,
+				A93E8311211F76F6001FEBD4 /* PpScanner.cpp in Sources */,
+				A93E82E3211F76F6001FEBD4 /* PoolAlloc.cpp in Sources */,
+				A93E82F7211F76F6001FEBD4 /* reflection.cpp in Sources */,
+				A93E82EB211F76F6001FEBD4 /* Intermediate.cpp in Sources */,
+				A93E8309211F76F6001FEBD4 /* Pp.cpp in Sources */,
+				A93E82F5211F76F6001FEBD4 /* attribute.cpp in Sources */,
+				A93E82D7211F76F6001FEBD4 /* parseConst.cpp in Sources */,
+				A93E827D211F76F6001FEBD4 /* SpvBuilder.cpp in Sources */,
+				A93E82CB211F76F6001FEBD4 /* Scan.cpp in Sources */,
+				A93E82BD211F76F6001FEBD4 /* ParseHelper.cpp in Sources */,
+				A93E82F9211F76F6001FEBD4 /* RemoveTree.cpp in Sources */,
+				A93E82FD211F76F6001FEBD4 /* Versions.cpp in Sources */,
+				A93E8321211F76F6001FEBD4 /* InitializeDll.cpp in Sources */,
+				A93E82D1211F76F6001FEBD4 /* Initialize.cpp in Sources */,
+				A93E830F211F76F6001FEBD4 /* PpContext.cpp in Sources */,
+				A93E82DF211F76F6001FEBD4 /* intermOut.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
