Merge pull request #219 from billhollings/master
MoltenVK 1.0.18
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: ©Info 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;
};