<key>OpenSourceProject</key>
<string>ANGLE</string>
<key>OpenSourceVersion</key>
- <string>r1641</string>
+ <string>836bd2176e5607b14846cf1fbc5932dbc91318f4</string>
<key>OpenSourceWebsiteURL</key>
<string>http://code.google.com/p/angleproject/</string>
<key>OpenSourceSCM</key>
- <string>git clone https://code.google.com/p/angleproject/ && cd angleproject && git checkout a60e0805721f62c28a55faf2df74472cc5fc91fc</string>
+ <string>git clone https://code.google.com/p/angleproject/ && cd angleproject && git checkout 836bd2176e5607b14846cf1fbc5932dbc91318f4</string>
<key>OpenSourceImportDate</key>
- <string>2013-11-07</string>
+ <string>2014-02-18</string>
<key>OpenSourceLicense</key>
<string>BSD</string>
<key>OpenSourceLicenseFile</key>
<ClCompile Include="..\src\common\RefCountObject.cpp" />
<ClCompile Include="..\src\libGLESv2\Renderbuffer.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\Blit.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Fence11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Fence9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Fence11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Fence9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\BufferStorage.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\BufferStorage11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\BufferStorage9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\BufferStorage11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\Image.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Image9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Image9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\IndexBuffer.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\IndexBuffer11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\IndexBuffer9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\IndexDataManager.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\ImageSSE2.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Image11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Image11.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\InputLayoutCache.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Query11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Query9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Query11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Query9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\Renderer.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Renderer11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\renderer11_utils.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\Renderer9.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\renderer9_utils.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\RenderTarget11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Renderer11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Renderer9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\renderer9_utils.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\RenderTarget9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\RenderStateCache.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\ShaderExecutable11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\ShaderExecutable9.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\SwapChain11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\SwapChain9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\TextureStorage.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\TextureStorage11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\TextureStorage9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\TextureStorage11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\VertexBuffer.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\VertexBuffer11.cpp" />
- <ClCompile Include="..\src\libGLESv2\renderer\VertexBuffer9.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\VertexBuffer11.cpp" />
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\VertexDataManager.cpp" />
<ClCompile Include="..\src\libGLESv2\renderer\VertexDeclarationCache.cpp" />
<ClCompile Include="..\src\libGLESv2\ResourceManager.cpp" />
<ClInclude Include="..\src\common\RefCountObject.h" />
<ClInclude Include="..\src\libGLESv2\Renderbuffer.h" />
<ClInclude Include="..\src\libGLESv2\renderer\Blit.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Fence11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Fence9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Fence11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Fence9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\FenceImpl.h" />
<ClInclude Include="..\src\libGLESv2\renderer\BufferStorage.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\BufferStorage11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\BufferStorage9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\BufferStorage11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\BufferStorage9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\generatemip.h" />
<ClInclude Include="..\src\libGLESv2\renderer\Image.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Image11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Image9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Image11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Image9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\IndexBuffer.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\IndexBuffer11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\IndexBuffer9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\IndexBuffer11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\IndexBuffer9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\IndexDataManager.h" />
<ClInclude Include="..\src\libGLESv2\renderer\InputLayoutCache.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Query11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Query11.h" />
<ClInclude Include="..\src\libGLESv2\renderer\QueryImpl.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Query9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Query9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\Renderer.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Renderer11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\renderer11_utils.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\Renderer9.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\renderer9_utils.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Renderer11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\renderer11_utils.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Renderer9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\renderer9_utils.h" />
<ClInclude Include="..\src\libGLESv2\renderer\RenderTarget.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\RenderTarget11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\RenderTarget9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\RenderTarget11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\RenderTarget9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\RenderStateCache.h" />
<ClInclude Include="..\src\libGLESv2\renderer\ShaderCache.h" />
<ClInclude Include="..\src\libGLESv2\renderer\ShaderExecutable.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\ShaderExecutable11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\ShaderExecutable9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\shaders\compiled\clear11vs.h" />
<ClInclude Include="..\src\libGLESv2\renderer\shaders\compiled\clearmultiple11ps.h" />
<ClInclude Include="..\src\libGLESv2\renderer\shaders\compiled\clearsingle11ps.h" />
<ClInclude Include="..\src\libGLESv2\renderer\shaders\compiled\passthroughrgba11ps.h" />
<ClInclude Include="..\src\libGLESv2\renderer\shaders\compiled\standardvs.h" />
<ClInclude Include="..\src\libGLESv2\renderer\SwapChain.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\SwapChain11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\SwapChain9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\SwapChain11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\SwapChain9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\TextureStorage.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\TextureStorage11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\TextureStorage9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\TextureStorage11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\TextureStorage9.h" />
<ClInclude Include="..\src\libGLESv2\renderer\VertexBuffer.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\VertexBuffer11.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\VertexBuffer9.h" />
- <ClInclude Include="..\src\libGLESv2\renderer\vertexconversion.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\VertexBuffer11.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h" />
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\vertexconversion.h" />
<ClInclude Include="..\src\libGLESv2\renderer\VertexDataManager.h" />
<ClInclude Include="..\src\libGLESv2\renderer\VertexDeclarationCache.h" />
<ClInclude Include="..\src\libGLESv2\resource.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\src\libGLESv2\libGLESv2.def" />
- <None Include="..\src\libGLESv2\renderer\shaders\Blit.ps" />
- <None Include="..\src\libGLESv2\renderer\shaders\Blit.vs" />
- <None Include="..\src\libGLESv2\renderer\shaders\Clear11.hlsl" />
- <None Include="..\src\libGLESv2\renderer\shaders\generate_shaders.bat" />
- <None Include="..\src\libGLESv2\renderer\shaders\Passthrough11.hlsl" />
+ <None Include="..\src\libGLESv2\renderer\d3d9\shaders\Blit.ps" />
+ <None Include="..\src\libGLESv2\renderer\d3d9\shaders\Blit.vs" />
+ <None Include="..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl" />
+ <None Include="..\src\libGLESv2\renderer\d3d9\shaders\generate_shaders.bat" />
+ <None Include="..\src\libGLESv2\renderer\d3d11\shaders\Passthrough11.hlsl" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\src\libGLESv2\libGLESv2.rc" />
<ClCompile Include="..\src\libGLESv2\renderer\BufferStorage.cpp">
<Filter>Source Files\Renderer</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\BufferStorage11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\BufferStorage11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Fence11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Fence11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Image11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Image11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\IndexBuffer11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Query11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Query11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Renderer11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\Renderer11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\renderer11_utils.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\RenderTarget11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\ShaderExecutable11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\SwapChain11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\TextureStorage11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\TextureStorage11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\VertexBuffer11.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\VertexBuffer11.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\BufferStorage9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Fence9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Fence9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Image9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Image9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\IndexBuffer9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Query9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Query9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Renderer9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Renderer9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\renderer9_utils.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\renderer9_utils.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\RenderTarget9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\RenderTarget9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\ShaderExecutable9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\SwapChain9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\TextureStorage9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\VertexBuffer9.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\Blit.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\Blit.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\InputLayoutCache.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\InputLayoutCache.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\RenderStateCache.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d11\RenderStateCache.cpp">
<Filter>Source Files\Renderer11</Filter>
</ClCompile>
- <ClCompile Include="..\src\libGLESv2\renderer\VertexDeclarationCache.cpp">
+ <ClCompile Include="..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp">
<Filter>Source Files\Renderer9</Filter>
</ClCompile>
<ClCompile Include="..\src\libGLESv2\precompiled.cpp">
<ClInclude Include="..\src\libGLESv2\renderer\VertexDataManager.h">
<Filter>Header Files\Renderer</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\BufferStorage11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\BufferStorage11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\IndexBuffer11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\IndexBuffer11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Query11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Query11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Renderer11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Renderer11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\RenderTarget11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\RenderTarget11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\ShaderExecutable11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\SwapChain11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\SwapChain11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\TextureStorage11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\TextureStorage11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\VertexBuffer11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\VertexBuffer11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\BufferStorage9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\BufferStorage9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Fence9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Fence9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Image9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Image9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\IndexBuffer9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\IndexBuffer9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Query9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Query9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Renderer9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Renderer9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\renderer9_utils.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\renderer9_utils.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\RenderTarget9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\RenderTarget9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\ShaderExecutable9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\SwapChain9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\SwapChain9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\TextureStorage9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\TextureStorage9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\VertexBuffer9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Fence11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Fence11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Image11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Image11.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\renderer11_utils.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\renderer11_utils.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Fence9.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Fence9.h">
<Filter>Header Files\Renderer\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Query11.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\Query11.h">
<Filter>Header Files\Renderer\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\Blit.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\Blit.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\ShaderCache.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d9\ShaderCache.h">
<Filter>Header Files\Renderer9</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\InputLayoutCache.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\InputLayoutCache.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
- <ClInclude Include="..\src\libGLESv2\renderer\RenderStateCache.h">
+ <ClInclude Include="..\src\libGLESv2\renderer\d3d11\RenderStateCache.h">
<Filter>Header Files\Renderer11</Filter>
</ClInclude>
<ClInclude Include="..\src\libGLESv2\renderer\VertexDeclarationCache.h">
<None Include="..\src\libGLESv2\renderer\shaders\generate_shaders.bat">
<Filter>Shaders</Filter>
</None>
- <None Include="..\src\libGLESv2\renderer\shaders\Passthrough11.hlsl">
+ <None Include="..\src\libGLESv2\renderer\d3d11\shaders\Passthrough11.hlsl">
<Filter>Shaders</Filter>
</None>
- <None Include="..\src\libGLESv2\renderer\shaders\Clear11.hlsl">
+ <None Include="..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl">
<Filter>Shaders</Filter>
</None>
<None Include="..\src\libGLESv2\libGLESv2.def" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
- <ClCompile Include="..\src\compiler\BuiltInFunctionEmulator.cpp" />
- <ClCompile Include="..\src\compiler\CodeGen.cpp" />
- <ClCompile Include="..\src\compiler\Compiler.cpp" />
- <ClCompile Include="..\src\compiler\debug.cpp" />
- <ClCompile Include="..\src\compiler\DetectCallDepth.cpp" />
- <ClCompile Include="..\src\compiler\Diagnostics.cpp" />
- <ClCompile Include="..\src\compiler\DirectiveHandler.cpp" />
- <ClCompile Include="..\src\compiler\ForLoopUnroll.cpp" />
- <ClCompile Include="..\src\compiler\InfoSink.cpp" />
- <ClCompile Include="..\src\compiler\Initialize.cpp" />
- <ClCompile Include="..\src\compiler\InitializeDll.cpp" />
- <ClCompile Include="..\src\compiler\InitializeGLPosition.cpp" />
- <ClCompile Include="..\src\compiler\InitializeParseContext.cpp" />
- <ClCompile Include="..\src\compiler\Intermediate.cpp" />
- <ClCompile Include="..\src\compiler\intermOut.cpp" />
- <ClCompile Include="..\src\compiler\IntermTraverse.cpp" />
- <ClCompile Include="..\src\compiler\MapLongVariableNames.cpp" />
- <ClCompile Include="..\src\compiler\ossource_win.cpp" />
- <ClCompile Include="..\src\compiler\parseConst.cpp" />
- <ClCompile Include="..\src\compiler\ParseContext.cpp" />
- <ClCompile Include="..\src\compiler\PoolAlloc.cpp" />
- <ClCompile Include="..\src\compiler\QualifierAlive.cpp" />
- <ClCompile Include="..\src\compiler\RemoveTree.cpp" />
- <ClCompile Include="..\src\compiler\ShaderLang.cpp" />
- <ClCompile Include="..\src\compiler\SymbolTable.cpp" />
- <ClCompile Include="..\src\compiler\UnfoldShortCircuitAST.cpp" />
- <ClCompile Include="..\src\compiler\util.cpp" />
- <ClCompile Include="..\src\compiler\ValidateLimitations.cpp" />
- <ClCompile Include="..\src\compiler\VariableInfo.cpp" />
- <ClCompile Include="..\src\compiler\VariablePacker.cpp" />
- <ClCompile Include="..\src\compiler\glslang_lex.cpp" />
- <ClCompile Include="..\src\compiler\glslang_tab.cpp" />
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraph.cpp" />
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphBuilder.cpp" />
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphOutput.cpp" />
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphTraverse.cpp" />
- <ClCompile Include="..\src\compiler\timing\RestrictFragmentShaderTiming.cpp" />
- <ClCompile Include="..\src\compiler\timing\RestrictVertexShaderTiming.cpp" />
- <ClCompile Include="..\src\compiler\VersionGLSL.cpp" />
+ <ClCompile Include="..\src\compiler\translator\BuiltInFunctionEmulator.cpp" />
+ <ClCompile Include="..\src\compiler\translator\CodeGen.cpp" />
+ <ClCompile Include="..\src\compiler\translator\Compiler.cpp" />
+ <ClCompile Include="..\src\compiler\translator\compilerdebug.cpp" />
+ <ClCompile Include="..\src\compiler\translator\DetectCallDepth.cpp" />
+ <ClCompile Include="..\src\compiler\translator\Diagnostics.cpp" />
+ <ClCompile Include="..\src\compiler\translator\DirectiveHandler.cpp" />
+ <ClCompile Include="..\src\compiler\translator\ForLoopUnroll.cpp" />
+ <ClCompile Include="..\src\compiler\translator\InfoSink.cpp" />
+ <ClCompile Include="..\src\compiler\translator\Initialize.cpp" />
+ <ClCompile Include="..\src\compiler\translator\InitializeVariables.cpp" />
+ <ClCompile Include="..\src\compiler\translator\InitializeDll.cpp" />
+ <ClCompile Include="..\src\compiler\translator\InitializeParseContext.cpp" />
+ <ClCompile Include="..\src\compiler\translator\Intermediate.cpp" />
+ <ClCompile Include="..\src\compiler\translator\intermOut.cpp" />
+ <ClCompile Include="..\src\compiler\translator\IntermTraverse.cpp" />
+ <ClCompile Include="..\src\compiler\translator\MapLongVariableNames.cpp" />
+ <ClCompile Include="..\src\compiler\translator\ossource_win.cpp" />
+ <ClCompile Include="..\src\compiler\translator\parseConst.cpp" />
+ <ClCompile Include="..\src\compiler\translator\ParseContext.cpp" />
+ <ClCompile Include="..\src\compiler\translator\PoolAlloc.cpp" />
+ <ClCompile Include="..\src\compiler\translator\QualifierAlive.cpp" />
+ <ClCompile Include="..\src\compiler\translator\RemoveTree.cpp" />
+ <ClCompile Include="..\src\compiler\translator\RewriteElseBlocks.cpp" />
+ <ClCompile Include="..\src\compiler\translator\ShaderLang.cpp" />
+ <ClCompile Include="..\src\compiler\translator\SymbolTable.cpp" />
+ <ClCompile Include="..\src\compiler\translator\UnfoldShortCircuitAST.cpp" />
+ <ClCompile Include="..\src\compiler\translator\util.cpp" />
+ <ClCompile Include="..\src\compiler\translator\ValidateLimitations.cpp" />
+ <ClCompile Include="..\src\compiler\translator\VariableInfo.cpp" />
+ <ClCompile Include="..\src\compiler\translator\VariablePacker.cpp" />
+ <ClCompile Include="..\src\compiler\translator\glslang_lex.cpp" />
+ <ClCompile Include="..\src\compiler\translator\glslang_tab.cpp" />
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraph.cpp" />
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp" />
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp" />
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp" />
+ <ClCompile Include="..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp" />
+ <ClCompile Include="..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp" />
+ <ClCompile Include="..\src\compiler\translator\VersionGLSL.cpp" />
<ClCompile Include="..\src\third_party\compiler\ArrayBoundsClamper.cpp" />
</ItemGroup>
<ItemGroup>
- <CustomBuild Include="..\src\compiler\glslang.l">
+ <CustomBuild Include="..\src\compiler\translator\glslang.l">
</CustomBuild>
- <CustomBuild Include="..\src\compiler\glslang.y">
+ <CustomBuild Include="..\src\compiler\translator\glslang.y">
</CustomBuild>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\src\compiler\BaseTypes.h" />
- <ClInclude Include="..\src\compiler\BuiltInFunctionEmulator.h" />
- <ClInclude Include="..\src\compiler\Common.h" />
- <ClInclude Include="..\src\compiler\ConstantUnion.h" />
- <ClInclude Include="..\src\compiler\debug.h" />
- <ClInclude Include="..\src\compiler\DetectCallDepth.h" />
- <ClInclude Include="..\src\compiler\Diagnostics.h" />
- <ClInclude Include="..\src\compiler\DirectiveHandler.h" />
- <ClInclude Include="..\src\compiler\ForLoopUnroll.h" />
- <ClInclude Include="..\src\compiler\HashNames.h" />
- <ClInclude Include="..\src\compiler\InfoSink.h" />
- <ClInclude Include="..\src\compiler\Initialize.h" />
- <ClInclude Include="..\src\compiler\InitializeDll.h" />
- <ClInclude Include="..\src\compiler\InitializeGlobals.h" />
- <ClInclude Include="..\src\compiler\InitializeGLPosition.h" />
- <ClInclude Include="..\src\compiler\InitializeParseContext.h" />
- <ClInclude Include="..\src\compiler\intermediate.h" />
- <ClInclude Include="..\src\compiler\localintermediate.h" />
- <ClInclude Include="..\src\compiler\MapLongVariableNames.h" />
- <ClInclude Include="..\src\compiler\MMap.h" />
- <ClInclude Include="..\src\compiler\osinclude.h" />
- <ClInclude Include="..\src\compiler\ParseContext.h" />
- <ClInclude Include="..\src\compiler\PoolAlloc.h" />
- <ClInclude Include="..\src\compiler\QualifierAlive.h" />
- <ClInclude Include="..\src\compiler\RemoveTree.h" />
- <ClInclude Include="..\src\compiler\RenameFunction.h" />
+ <ClInclude Include="..\src\compiler\translator\BaseTypes.h" />
+ <ClInclude Include="..\src\compiler\translator\BuiltInFunctionEmulator.h" />
+ <ClInclude Include="..\src\compiler\translator\Common.h" />
+ <ClInclude Include="..\src\compiler\translator\ConstantUnion.h" />
+ <ClInclude Include="..\src\compiler\translator\debug.h" />
+ <ClInclude Include="..\src\compiler\translator\DetectCallDepth.h" />
+ <ClInclude Include="..\src\compiler\translator\Diagnostics.h" />
+ <ClInclude Include="..\src\compiler\translator\DirectiveHandler.h" />
+ <ClInclude Include="..\src\compiler\translator\ForLoopUnroll.h" />
+ <ClInclude Include="..\src\compiler\translator\HashNames.h" />
+ <ClInclude Include="..\src\compiler\translator\InfoSink.h" />
+ <ClInclude Include="..\src\compiler\translator\Initialize.h" />
+ <ClInclude Include="..\src\compiler\translator\InitializeVariables.h" />
+ <ClInclude Include="..\src\compiler\translator\InitializeDll.h" />
+ <ClInclude Include="..\src\compiler\translator\InitializeGlobals.h" />
+ <ClInclude Include="..\src\compiler\translator\InitializeParseContext.h" />
+ <ClInclude Include="..\src\compiler\translator\intermediate.h" />
+ <ClInclude Include="..\src\compiler\translator\localintermediate.h" />
+ <ClInclude Include="..\src\compiler\translator\MapLongVariableNames.h" />
+ <ClInclude Include="..\src\compiler\translator\MMap.h" />
+ <ClInclude Include="..\src\compiler\translator\osinclude.h" />
+ <ClInclude Include="..\src\compiler\translator\ParseContext.h" />
+ <ClInclude Include="..\src\compiler\translator\PoolAlloc.h" />
+ <ClInclude Include="..\src\compiler\translator\QualifierAlive.h" />
+ <ClInclude Include="..\src\compiler\translator\RemoveTree.h" />
+ <ClInclude Include="..\src\compiler\translator\RenameFunction.h" />
+ <ClInclude Include="..\src\compiler\translator\RewriteElseBlocks.h" />
<ClInclude Include="..\include\GLSLANG\ShaderLang.h" />
- <ClInclude Include="..\src\compiler\ShHandle.h" />
- <ClInclude Include="..\src\compiler\SymbolTable.h" />
- <ClInclude Include="..\src\compiler\Types.h" />
- <ClInclude Include="..\src\compiler\UnfoldShortCircuitAST.h" />
- <ClInclude Include="..\src\compiler\util.h" />
- <ClInclude Include="..\src\compiler\ValidateLimitations.h" />
- <ClInclude Include="..\src\compiler\VariableInfo.h" />
- <ClInclude Include="..\src\compiler\VariablePacker.h" />
- <ClInclude Include="..\src\compiler\glslang_tab.h" />
- <ClInclude Include="..\src\compiler\timing\RestrictFragmentShaderTiming.h" />
- <ClInclude Include="..\src\compiler\timing\RestrictVertexShaderTiming.h" />
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraph.h" />
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraphBuilder.h" />
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraphOutput.h" />
- <ClInclude Include="..\src\compiler\VersionGLSL.h" />
+ <ClInclude Include="..\src\compiler\translator\ShHandle.h" />
+ <ClInclude Include="..\src\compiler\translator\SymbolTable.h" />
+ <ClInclude Include="..\src\compiler\translator\Types.h" />
+ <ClInclude Include="..\src\compiler\translator\UnfoldShortCircuitAST.h" />
+ <ClInclude Include="..\src\compiler\translator\util.h" />
+ <ClInclude Include="..\src\compiler\translator\ValidateLimitations.h" />
+ <ClInclude Include="..\src\compiler\translator\VariableInfo.h" />
+ <ClInclude Include="..\src\compiler\translator\VariablePacker.h" />
+ <ClInclude Include="..\src\compiler\translator\glslang_tab.h" />
+ <ClInclude Include="..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h" />
+ <ClInclude Include="..\src\compiler\translator\timing\RestrictVertexShaderTiming.h" />
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraph.h" />
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraphBuilder.h" />
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraphOutput.h" />
+ <ClInclude Include="..\src\compiler\translator\VersionGLSL.h" />
<ClInclude Include="..\src\third_party\compiler\ArrayBoundsClamper.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\src\compiler\glslang_lex.cpp">
+ <ClCompile Include="..\src\compiler\translator\glslang_lex.cpp">
<Filter>Source Files\generated</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\glslang_tab.cpp">
+ <ClCompile Include="..\src\compiler\translator\glslang_tab.cpp">
<Filter>Source Files\generated</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraph.cpp">
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraph.cpp">
<Filter>Source Files\depgraph</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphBuilder.cpp">
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphBuilder.cpp">
<Filter>Source Files\depgraph</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphOutput.cpp">
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphOutput.cpp">
<Filter>Source Files\depgraph</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\depgraph\DependencyGraphTraverse.cpp">
+ <ClCompile Include="..\src\compiler\translator\depgraph\DependencyGraphTraverse.cpp">
<Filter>Source Files\depgraph</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\timing\RestrictFragmentShaderTiming.cpp">
+ <ClCompile Include="..\src\compiler\translator\timing\RestrictFragmentShaderTiming.cpp">
<Filter>Source Files\timing</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\timing\RestrictVertexShaderTiming.cpp">
+ <ClCompile Include="..\src\compiler\translator\timing\RestrictVertexShaderTiming.cpp">
<Filter>Source Files\timing</Filter>
</ClCompile>
<ClCompile Include="..\src\third_party\compiler\ArrayBoundsClamper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\VariablePacker.cpp">
+ <ClCompile Include="..\src\compiler\translator\VariablePacker.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\BuiltInFunctionEmulator.cpp">
+ <ClCompile Include="..\src\compiler\translator\BuiltInFunctionEmulator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\Compiler.cpp">
+ <ClCompile Include="..\src\compiler\translator\Compiler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\debug.cpp">
+ <ClCompile Include="..\src\compiler\translator\compilerdebug.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\DetectCallDepth.cpp">
+ <ClCompile Include="..\src\compiler\translator\DetectCallDepth.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\Diagnostics.cpp">
+ <ClCompile Include="..\src\compiler\translator\Diagnostics.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\DirectiveHandler.cpp">
+ <ClCompile Include="..\src\compiler\translator\DirectiveHandler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\ForLoopUnroll.cpp">
+ <ClCompile Include="..\src\compiler\translator\ForLoopUnroll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\InfoSink.cpp">
+ <ClCompile Include="..\src\compiler\translator\InfoSink.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\Initialize.cpp">
+ <ClCompile Include="..\src\compiler\translator\Initialize.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\InitializeDll.cpp">
+ <ClCompile Include="..\src\compiler\translator\InitializeVariables.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\InitializeParseContext.cpp">
+ <ClCompile Include="..\src\compiler\translator\InitializeDll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\Intermediate.cpp">
+ <ClCompile Include="..\src\compiler\translator\InitializeParseContext.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\intermOut.cpp">
+ <ClCompile Include="..\src\compiler\translator\Intermediate.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\IntermTraverse.cpp">
+ <ClCompile Include="..\src\compiler\translator\intermOut.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\MapLongVariableNames.cpp">
+ <ClCompile Include="..\src\compiler\translator\IntermTraverse.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\ossource_win.cpp">
+ <ClCompile Include="..\src\compiler\translator\MapLongVariableNames.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\parseConst.cpp">
+ <ClCompile Include="..\src\compiler\translator\ossource_win.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\PoolAlloc.cpp">
+ <ClCompile Include="..\src\compiler\translator\parseConst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\QualifierAlive.cpp">
+ <ClCompile Include="..\src\compiler\translator\PoolAlloc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\RemoveTree.cpp">
+ <ClCompile Include="..\src\compiler\translator\QualifierAlive.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\ShaderLang.cpp">
+ <ClCompile Include="..\src\compiler\translator\RemoveTree.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\SymbolTable.cpp">
+ <ClCompile Include="..\src\compiler\translator\ShaderLang.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\util.cpp">
+ <ClCompile Include="..\src\compiler\translator\SymbolTable.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\ValidateLimitations.cpp">
+ <ClCompile Include="..\src\compiler\translator\util.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\VariableInfo.cpp">
+ <ClCompile Include="..\src\compiler\translator\ValidateLimitations.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\InitializeGLPosition.cpp">
+ <ClCompile Include="..\src\compiler\translator\VariableInfo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\ParseContext.cpp">
+ <ClCompile Include="..\src\compiler\translator\ParseContext.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\VersionGLSL.cpp">
+ <ClCompile Include="..\src\compiler\translator\VersionGLSL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\CodeGen.cpp">
+ <ClCompile Include="..\src\compiler\translator\CodeGen.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\src\compiler\UnfoldShortCircuitAST.cpp">
+ <ClCompile Include="..\src\compiler\translator\UnfoldShortCircuitAST.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\src\compiler\glslang_tab.h">
+ <ClInclude Include="..\src\compiler\translator\glslang_tab.h">
<Filter>Header Files\generated</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\timing\RestrictFragmentShaderTiming.h">
+ <ClInclude Include="..\src\compiler\translator\timing\RestrictFragmentShaderTiming.h">
<Filter>Header Files\timing</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\timing\RestrictVertexShaderTiming.h">
+ <ClInclude Include="..\src\compiler\translator\timing\RestrictVertexShaderTiming.h">
<Filter>Header Files\timing</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraph.h">
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraph.h">
<Filter>Header Files\depgraph</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraphBuilder.h">
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraphBuilder.h">
<Filter>Header Files\depgraph</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\depgraph\DependencyGraphOutput.h">
+ <ClInclude Include="..\src\compiler\translator\depgraph\DependencyGraphOutput.h">
<Filter>Header Files\depgraph</Filter>
</ClInclude>
<ClInclude Include="..\src\third_party\compiler\ArrayBoundsClamper.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\VariablePacker.h">
+ <ClInclude Include="..\src\compiler\translator\VariablePacker.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\VariableInfo.h">
+ <ClInclude Include="..\src\compiler\translator\VariableInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\ValidateLimitations.h">
+ <ClInclude Include="..\src\compiler\translator\ValidateLimitations.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\util.h">
+ <ClInclude Include="..\src\compiler\translator\util.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\Types.h">
+ <ClInclude Include="..\src\compiler\translator\Types.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\SymbolTable.h">
+ <ClInclude Include="..\src\compiler\translator\SymbolTable.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\ShHandle.h">
+ <ClInclude Include="..\src\compiler\translator\ShHandle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\GLSLANG\ShaderLang.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\RenameFunction.h">
+ <ClInclude Include="..\src\compiler\translator\RenameFunction.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\RemoveTree.h">
+ <ClInclude Include="..\src\compiler\translator\RemoveTree.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\QualifierAlive.h">
+ <ClInclude Include="..\src\compiler\translator\QualifierAlive.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\PoolAlloc.h">
+ <ClInclude Include="..\src\compiler\translator\PoolAlloc.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\osinclude.h">
+ <ClInclude Include="..\src\compiler\translator\osinclude.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\MMap.h">
+ <ClInclude Include="..\src\compiler\translator\MMap.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\MapLongVariableNames.h">
+ <ClInclude Include="..\src\compiler\translator\MapLongVariableNames.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\localintermediate.h">
+ <ClInclude Include="..\src\compiler\translator\localintermediate.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\intermediate.h">
+ <ClInclude Include="..\src\compiler\translator\intermediate.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\InitializeParseContext.h">
+ <ClInclude Include="..\src\compiler\translator\InitializeParseContext.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\InitializeGlobals.h">
+ <ClInclude Include="..\src\compiler\translator\InitializeGlobals.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\InitializeDll.h">
+ <ClInclude Include="..\src\compiler\translator\InitializeDll.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\Initialize.h">
+ <ClInclude Include="..\src\compiler\translator\Initialize.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\InfoSink.h">
+ <ClInclude Include="..\src\compiler\translator\InitializeVariables.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\HashNames.h">
+ <ClInclude Include="..\src\compiler\translator\InfoSink.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\ForLoopUnroll.h">
+ <ClInclude Include="..\src\compiler\translator\HashNames.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\DirectiveHandler.h">
+ <ClInclude Include="..\src\compiler\translator\ForLoopUnroll.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\Diagnostics.h">
+ <ClInclude Include="..\src\compiler\translator\DirectiveHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\DetectCallDepth.h">
+ <ClInclude Include="..\src\compiler\translator\Diagnostics.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\debug.h">
+ <ClInclude Include="..\src\compiler\translator\DetectCallDepth.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\ConstantUnion.h">
+ <ClInclude Include="..\src\compiler\translator\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\Common.h">
+ <ClInclude Include="..\src\compiler\translator\ConstantUnion.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\BuiltInFunctionEmulator.h">
+ <ClInclude Include="..\src\compiler\translator\Common.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\BaseTypes.h">
+ <ClInclude Include="..\src\compiler\translator\BuiltInFunctionEmulator.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\InitializeGLPosition.h">
+ <ClInclude Include="..\src\compiler\translator\BaseTypes.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\ParseContext.h">
+ <ClInclude Include="..\src\compiler\translator\ParseContext.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\VersionGLSL.h">
+ <ClInclude Include="..\src\compiler\translator\VersionGLSL.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\src\compiler\UnfoldShortCircuitAST.h">
+ <ClInclude Include="..\src\compiler\translator\UnfoldShortCircuitAST.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
- <CustomBuild Include="..\src\compiler\glslang.l">
+ <CustomBuild Include="..\src\compiler\translator\glslang.l">
<Filter>Source Files</Filter>
</CustomBuild>
- <CustomBuild Include="..\src\compiler\glslang.y">
+ <CustomBuild Include="..\src\compiler\translator\glslang.y">
<Filter>Source Files</Filter>
</CustomBuild>
</ItemGroup>
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
+ 31012E1218B97B9B0039062F /* BaseTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DA018B97B9B0039062F /* BaseTypes.h */; };
+ 31012E1318B97B9B0039062F /* BuiltInFunctionEmulator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DA118B97B9B0039062F /* BuiltInFunctionEmulator.cpp */; };
+ 31012E1418B97B9B0039062F /* BuiltInFunctionEmulator.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DA218B97B9B0039062F /* BuiltInFunctionEmulator.h */; };
+ 31012E1518B97B9B0039062F /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DA318B97B9B0039062F /* CodeGen.cpp */; };
+ 31012E1618B97B9B0039062F /* Common.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DA418B97B9B0039062F /* Common.h */; };
+ 31012E1718B97B9B0039062F /* Compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DA518B97B9B0039062F /* Compiler.cpp */; };
+ 31012E1A18B97B9B0039062F /* ConstantUnion.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DA818B97B9B0039062F /* ConstantUnion.h */; };
+ 31012E1B18B97B9B0039062F /* DependencyGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DAA18B97B9B0039062F /* DependencyGraph.cpp */; };
+ 31012E1C18B97B9B0039062F /* DependencyGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DAB18B97B9B0039062F /* DependencyGraph.h */; };
+ 31012E1D18B97B9B0039062F /* DependencyGraphBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DAC18B97B9B0039062F /* DependencyGraphBuilder.cpp */; };
+ 31012E1E18B97B9B0039062F /* DependencyGraphBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DAD18B97B9B0039062F /* DependencyGraphBuilder.h */; };
+ 31012E1F18B97B9B0039062F /* DependencyGraphOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DAE18B97B9B0039062F /* DependencyGraphOutput.cpp */; };
+ 31012E2018B97B9B0039062F /* DependencyGraphOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DAF18B97B9B0039062F /* DependencyGraphOutput.h */; };
+ 31012E2118B97B9B0039062F /* DependencyGraphTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DB018B97B9B0039062F /* DependencyGraphTraverse.cpp */; };
+ 31012E2218B97B9B0039062F /* DetectCallDepth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DB118B97B9B0039062F /* DetectCallDepth.cpp */; };
+ 31012E2318B97B9B0039062F /* DetectCallDepth.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DB218B97B9B0039062F /* DetectCallDepth.h */; };
+ 31012E2418B97B9B0039062F /* DetectDiscontinuity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DB318B97B9B0039062F /* DetectDiscontinuity.cpp */; };
+ 31012E2518B97B9B0039062F /* DetectDiscontinuity.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DB418B97B9B0039062F /* DetectDiscontinuity.h */; };
+ 31012E2618B97B9B0039062F /* Diagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DB518B97B9B0039062F /* Diagnostics.cpp */; };
+ 31012E2718B97B9B0039062F /* Diagnostics.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DB618B97B9B0039062F /* Diagnostics.h */; };
+ 31012E2818B97B9B0039062F /* DirectiveHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DB718B97B9B0039062F /* DirectiveHandler.cpp */; };
+ 31012E2918B97B9B0039062F /* DirectiveHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DB818B97B9B0039062F /* DirectiveHandler.h */; };
+ 31012E2A18B97B9B0039062F /* ExtensionBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DB918B97B9B0039062F /* ExtensionBehavior.h */; };
+ 31012E2B18B97B9B0039062F /* ForLoopUnroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DBA18B97B9B0039062F /* ForLoopUnroll.cpp */; };
+ 31012E2C18B97B9B0039062F /* ForLoopUnroll.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DBB18B97B9B0039062F /* ForLoopUnroll.h */; };
+ 31012E2D18B97B9B0039062F /* glslang.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DBD18B97B9B0039062F /* glslang.h */; };
+ 31012E3018B97B9B0039062F /* glslang_lex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DC018B97B9B0039062F /* glslang_lex.cpp */; };
+ 31012E3118B97B9B0039062F /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DC118B97B9B0039062F /* glslang_tab.cpp */; };
+ 31012E3218B97B9B0039062F /* glslang_tab.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DC218B97B9B0039062F /* glslang_tab.h */; };
+ 31012E3318B97B9B0039062F /* HashNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DC318B97B9B0039062F /* HashNames.h */; };
+ 31012E3418B97B9B0039062F /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DC418B97B9B0039062F /* InfoSink.cpp */; };
+ 31012E3518B97B9B0039062F /* InfoSink.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DC518B97B9B0039062F /* InfoSink.h */; };
+ 31012E3618B97B9B0039062F /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DC618B97B9B0039062F /* Initialize.cpp */; };
+ 31012E3718B97B9B0039062F /* Initialize.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DC718B97B9B0039062F /* Initialize.h */; };
+ 31012E3818B97B9B0039062F /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DC818B97B9B0039062F /* InitializeDll.cpp */; };
+ 31012E3918B97B9B0039062F /* InitializeDll.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DC918B97B9B0039062F /* InitializeDll.h */; };
+ 31012E3A18B97B9B0039062F /* InitializeGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DCA18B97B9B0039062F /* InitializeGlobals.h */; };
+ 31012E3B18B97B9B0039062F /* InitializeParseContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DCB18B97B9B0039062F /* InitializeParseContext.cpp */; };
+ 31012E3C18B97B9B0039062F /* InitializeParseContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DCC18B97B9B0039062F /* InitializeParseContext.h */; };
+ 31012E3D18B97B9B0039062F /* InitializeVariables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DCD18B97B9B0039062F /* InitializeVariables.cpp */; };
+ 31012E3E18B97B9B0039062F /* InitializeVariables.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DCE18B97B9B0039062F /* InitializeVariables.h */; };
+ 31012E3F18B97B9B0039062F /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DCF18B97B9B0039062F /* Intermediate.cpp */; };
+ 31012E4018B97B9B0039062F /* intermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD018B97B9B0039062F /* intermediate.h */; };
+ 31012E4118B97B9B0039062F /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DD118B97B9B0039062F /* intermOut.cpp */; };
+ 31012E4218B97B9B0039062F /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DD218B97B9B0039062F /* IntermTraverse.cpp */; };
+ 31012E4318B97B9B0039062F /* localintermediate.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD318B97B9B0039062F /* localintermediate.h */; };
+ 31012E4418B97B9B0039062F /* MapLongVariableNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DD418B97B9B0039062F /* MapLongVariableNames.cpp */; };
+ 31012E4518B97B9B0039062F /* MapLongVariableNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD518B97B9B0039062F /* MapLongVariableNames.h */; };
+ 31012E4618B97B9B0039062F /* MMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD618B97B9B0039062F /* MMap.h */; };
+ 31012E4718B97B9B0039062F /* NodeSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD718B97B9B0039062F /* NodeSearch.h */; };
+ 31012E4818B97B9B0039062F /* osinclude.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DD818B97B9B0039062F /* osinclude.h */; };
+ 31012E4918B97B9B0039062F /* ossource_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DD918B97B9B0039062F /* ossource_posix.cpp */; };
+ 31012E4B18B97B9B0039062F /* OutputESSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DDB18B97B9B0039062F /* OutputESSL.cpp */; };
+ 31012E4C18B97B9B0039062F /* OutputESSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DDC18B97B9B0039062F /* OutputESSL.h */; };
+ 31012E4D18B97B9B0039062F /* OutputGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DDD18B97B9B0039062F /* OutputGLSL.cpp */; };
+ 31012E4E18B97B9B0039062F /* OutputGLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DDE18B97B9B0039062F /* OutputGLSL.h */; };
+ 31012E4F18B97B9B0039062F /* OutputGLSLBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DDF18B97B9B0039062F /* OutputGLSLBase.cpp */; };
+ 31012E5018B97B9B0039062F /* OutputGLSLBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DE018B97B9B0039062F /* OutputGLSLBase.h */; };
+ 31012E5118B97B9B0039062F /* OutputHLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DE118B97B9B0039062F /* OutputHLSL.cpp */; };
+ 31012E5218B97B9B0039062F /* OutputHLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DE218B97B9B0039062F /* OutputHLSL.h */; };
+ 31012E5318B97B9B0039062F /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DE318B97B9B0039062F /* parseConst.cpp */; };
+ 31012E5418B97B9B0039062F /* ParseContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DE418B97B9B0039062F /* ParseContext.cpp */; };
+ 31012E5518B97B9B0039062F /* ParseContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DE518B97B9B0039062F /* ParseContext.h */; };
+ 31012E5618B97B9B0039062F /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DE618B97B9B0039062F /* PoolAlloc.cpp */; };
+ 31012E5718B97B9B0039062F /* PoolAlloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DE718B97B9B0039062F /* PoolAlloc.h */; };
+ 31012E5818B97B9B0039062F /* Pragma.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DE818B97B9B0039062F /* Pragma.h */; };
+ 31012E5918B97B9B0039062F /* QualifierAlive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DE918B97B9B0039062F /* QualifierAlive.cpp */; };
+ 31012E5A18B97B9B0039062F /* QualifierAlive.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DEA18B97B9B0039062F /* QualifierAlive.h */; };
+ 31012E5B18B97B9B0039062F /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DEB18B97B9B0039062F /* RemoveTree.cpp */; };
+ 31012E5C18B97B9B0039062F /* RemoveTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DEC18B97B9B0039062F /* RemoveTree.h */; };
+ 31012E5D18B97B9B0039062F /* RenameFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DED18B97B9B0039062F /* RenameFunction.h */; };
+ 31012E5E18B97B9B0039062F /* RewriteElseBlocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DEE18B97B9B0039062F /* RewriteElseBlocks.cpp */; };
+ 31012E5F18B97B9B0039062F /* RewriteElseBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DEF18B97B9B0039062F /* RewriteElseBlocks.h */; };
+ 31012E6018B97B9B0039062F /* SearchSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DF018B97B9B0039062F /* SearchSymbol.cpp */; };
+ 31012E6118B97B9B0039062F /* SearchSymbol.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DF118B97B9B0039062F /* SearchSymbol.h */; };
+ 31012E6218B97B9B0039062F /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DF218B97B9B0039062F /* ShaderLang.cpp */; };
+ 31012E6318B97B9B0039062F /* ShHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DF318B97B9B0039062F /* ShHandle.h */; };
+ 31012E6418B97B9B0039062F /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DF418B97B9B0039062F /* SymbolTable.cpp */; };
+ 31012E6518B97B9B0039062F /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DF518B97B9B0039062F /* SymbolTable.h */; };
+ 31012E6618B97B9B0039062F /* RestrictFragmentShaderTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DF718B97B9B0039062F /* RestrictFragmentShaderTiming.cpp */; };
+ 31012E6718B97B9B0039062F /* RestrictFragmentShaderTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DF818B97B9B0039062F /* RestrictFragmentShaderTiming.h */; };
+ 31012E6818B97B9B0039062F /* RestrictVertexShaderTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DF918B97B9B0039062F /* RestrictVertexShaderTiming.cpp */; };
+ 31012E6918B97B9B0039062F /* RestrictVertexShaderTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DFA18B97B9B0039062F /* RestrictVertexShaderTiming.h */; };
+ 31012E6A18B97B9B0039062F /* TranslatorESSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DFB18B97B9B0039062F /* TranslatorESSL.cpp */; };
+ 31012E6B18B97B9B0039062F /* TranslatorESSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DFC18B97B9B0039062F /* TranslatorESSL.h */; };
+ 31012E6C18B97B9B0039062F /* TranslatorGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DFD18B97B9B0039062F /* TranslatorGLSL.cpp */; };
+ 31012E6D18B97B9B0039062F /* TranslatorGLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012DFE18B97B9B0039062F /* TranslatorGLSL.h */; };
+ 31012E6E18B97B9B0039062F /* TranslatorHLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012DFF18B97B9B0039062F /* TranslatorHLSL.cpp */; };
+ 31012E6F18B97B9B0039062F /* TranslatorHLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0018B97B9B0039062F /* TranslatorHLSL.h */; };
+ 31012E7018B97B9B0039062F /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0118B97B9B0039062F /* Types.h */; };
+ 31012E7118B97B9B0039062F /* UnfoldShortCircuit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0218B97B9B0039062F /* UnfoldShortCircuit.cpp */; };
+ 31012E7218B97B9B0039062F /* UnfoldShortCircuit.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0318B97B9B0039062F /* UnfoldShortCircuit.h */; };
+ 31012E7318B97B9B0039062F /* UnfoldShortCircuitAST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0418B97B9B0039062F /* UnfoldShortCircuitAST.cpp */; };
+ 31012E7418B97B9B0039062F /* UnfoldShortCircuitAST.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0518B97B9B0039062F /* UnfoldShortCircuitAST.h */; };
+ 31012E7518B97B9B0039062F /* Uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0618B97B9B0039062F /* Uniform.cpp */; };
+ 31012E7618B97B9B0039062F /* Uniform.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0718B97B9B0039062F /* Uniform.h */; };
+ 31012E7718B97B9B0039062F /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0818B97B9B0039062F /* util.cpp */; };
+ 31012E7818B97B9B0039062F /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0918B97B9B0039062F /* util.h */; };
+ 31012E7918B97B9B0039062F /* ValidateLimitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0A18B97B9B0039062F /* ValidateLimitations.cpp */; };
+ 31012E7A18B97B9B0039062F /* ValidateLimitations.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0B18B97B9B0039062F /* ValidateLimitations.h */; };
+ 31012E7B18B97B9B0039062F /* VariableInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0C18B97B9B0039062F /* VariableInfo.cpp */; };
+ 31012E7C18B97B9B0039062F /* VariableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0D18B97B9B0039062F /* VariableInfo.h */; };
+ 31012E7D18B97B9B0039062F /* VariablePacker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E0E18B97B9B0039062F /* VariablePacker.cpp */; };
+ 31012E7E18B97B9B0039062F /* VariablePacker.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E0F18B97B9B0039062F /* VariablePacker.h */; };
+ 31012E7F18B97B9B0039062F /* VersionGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E1018B97B9B0039062F /* VersionGLSL.cpp */; };
+ 31012E8018B97B9B0039062F /* VersionGLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E1118B97B9B0039062F /* VersionGLSL.h */; };
+ 31012E8318B97C860039062F /* compilerdebug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31012E8118B97C860039062F /* compilerdebug.cpp */; };
+ 31012E8418B97C860039062F /* compilerdebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 31012E8218B97C860039062F /* compilerdebug.h */; };
312BDB0C15FECAC90097EBC7 /* ANGLE.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = 312BDB0915FEC91E0097EBC7 /* ANGLE.plist */; };
312BDB0E15FECAE50097EBC7 /* ANGLE.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 312BDB0A15FECA3A0097EBC7 /* ANGLE.txt */; };
49951C0314B7AAB30060E96E /* length_limits.h in Headers */ = {isa = PBXBuildFile; fileRef = 49951C0214B7AAB30060E96E /* length_limits.h */; };
- 49951C0914B7AAD80060E96E /* BuiltInFunctionEmulator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49951C0514B7AAD70060E96E /* BuiltInFunctionEmulator.cpp */; };
- 49951C0A14B7AAD80060E96E /* BuiltInFunctionEmulator.h in Headers */ = {isa = PBXBuildFile; fileRef = 49951C0614B7AAD80060E96E /* BuiltInFunctionEmulator.h */; };
- 5CB13FD4179DB3FD001F851D /* DetectCallDepth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB13FD2179DB3FD001F851D /* DetectCallDepth.cpp */; };
- 5CB13FD5179DB3FD001F851D /* DetectCallDepth.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB13FD3179DB3FD001F851D /* DetectCallDepth.h */; };
- 72309A4D183C259300370B93 /* CodeGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72650930183AA21300D28B48 /* CodeGen.cpp */; };
- 72309A4E183C259C00370B93 /* UnfoldShortCircuitAST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72650936183AA3C600D28B48 /* UnfoldShortCircuitAST.cpp */; };
- 72309A4F183C259E00370B93 /* UnfoldShortCircuitAST.h in Headers */ = {isa = PBXBuildFile; fileRef = 72650937183AA3C600D28B48 /* UnfoldShortCircuitAST.h */; };
- 72309A50183C25A100370B93 /* ParseContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72650934183AA3B200D28B48 /* ParseContext.cpp */; };
- 72309A51183C25A500370B93 /* ParseContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 72650935183AA3B200D28B48 /* ParseContext.h */; };
- 72309A52183C25A700370B93 /* NodeSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = 72650933183AA28900D28B48 /* NodeSearch.h */; };
- 72309A53183C25AA00370B93 /* InitializeGLPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72650931183AA24600D28B48 /* InitializeGLPosition.cpp */; };
- 72309A54183C25AD00370B93 /* InitializeGLPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = 72650932183AA24600D28B48 /* InitializeGLPosition.h */; };
72309A56183C27DE00370B93 /* Tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A55183C27DB00370B93 /* Tokenizer.cpp */; };
72309A58183C27F300370B93 /* ExpressionParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A57183C27F100370B93 /* ExpressionParser.cpp */; };
- 72309A5C183C285300370B93 /* glslang_lex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A59183C284E00370B93 /* glslang_lex.cpp */; };
- 72309A5D183C285300370B93 /* glslang_tab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A5A183C284E00370B93 /* glslang_tab.cpp */; };
- 72309A5E183C285300370B93 /* glslang_tab.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A5B183C284E00370B93 /* glslang_tab.h */; };
- 72309A61183C2A7400370B93 /* TranslatorHLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A5F183C2A6400370B93 /* TranslatorHLSL.cpp */; };
- 72309A62183C2A7400370B93 /* TranslatorHLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A60183C2A6400370B93 /* TranslatorHLSL.h */; };
- 72309A65183C2AE500370B93 /* OutputHLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A63183C2AE500370B93 /* OutputHLSL.cpp */; };
- 72309A66183C2AE500370B93 /* OutputHLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A64183C2AE500370B93 /* OutputHLSL.h */; };
- 72309A6D183C2BE800370B93 /* DetectDiscontinuity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A67183C2BE800370B93 /* DetectDiscontinuity.cpp */; };
- 72309A6E183C2BE800370B93 /* DetectDiscontinuity.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A68183C2BE800370B93 /* DetectDiscontinuity.h */; };
- 72309A6F183C2BE800370B93 /* UnfoldShortCircuit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A69183C2BE800370B93 /* UnfoldShortCircuit.cpp */; };
- 72309A70183C2BE800370B93 /* UnfoldShortCircuit.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A6A183C2BE800370B93 /* UnfoldShortCircuit.h */; };
- 72309A71183C2BE800370B93 /* Uniform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72309A6B183C2BE800370B93 /* Uniform.cpp */; };
- 72309A72183C2BE800370B93 /* Uniform.h in Headers */ = {isa = PBXBuildFile; fileRef = 72309A6C183C2BE800370B93 /* Uniform.h */; };
- 90D9B10212E11DCB002D4255 /* Compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B0F912E11DCB002D4255 /* Compiler.cpp */; };
- 90D9B10312E11DCB002D4255 /* ExtensionBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B0FA12E11DCB002D4255 /* ExtensionBehavior.h */; };
- 90D9B10712E11DCB002D4255 /* glslang.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B0FE12E11DCB002D4255 /* glslang.h */; };
- 90D9B10912E11DCB002D4255 /* SearchSymbol.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B10012E11DCB002D4255 /* SearchSymbol.cpp */; };
- 90D9B10A12E11DCB002D4255 /* SearchSymbol.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B10112E11DCB002D4255 /* SearchSymbol.h */; };
- 90D9B11312E11DD6002D4255 /* util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B10B12E11DD6002D4255 /* util.cpp */; };
- 90D9B11412E11DD6002D4255 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B10C12E11DD6002D4255 /* util.h */; };
- 90D9B11512E11DD6002D4255 /* ValidateLimitations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B10D12E11DD6002D4255 /* ValidateLimitations.cpp */; };
- 90D9B11612E11DD6002D4255 /* ValidateLimitations.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B10E12E11DD6002D4255 /* ValidateLimitations.h */; };
- 90D9B11712E11DD6002D4255 /* VariableInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B10F12E11DD6002D4255 /* VariableInfo.cpp */; };
- 90D9B11812E11DD6002D4255 /* VariableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B11012E11DD6002D4255 /* VariableInfo.h */; };
- 90D9B11912E11DD6002D4255 /* VersionGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90D9B11112E11DD6002D4255 /* VersionGLSL.cpp */; };
- 90D9B11A12E11DD6002D4255 /* VersionGLSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D9B11212E11DD6002D4255 /* VersionGLSL.h */; };
A08C3CDC16D6CB61003F0B83 /* ArrayBoundsClamper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A08C3CDA16D6CB61003F0B83 /* ArrayBoundsClamper.cpp */; };
A08C3CDD16D6CB61003F0B83 /* ArrayBoundsClamper.h in Headers */ = {isa = PBXBuildFile; fileRef = A08C3CDB16D6CB61003F0B83 /* ArrayBoundsClamper.h */; };
- A0AABE2C13AFE81000F2EBD1 /* ForLoopUnroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0AABE2A13AFE81000F2EBD1 /* ForLoopUnroll.cpp */; };
- A0AABE2D13AFE81000F2EBD1 /* ForLoopUnroll.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AABE2B13AFE81000F2EBD1 /* ForLoopUnroll.h */; };
- A0AABE3013AFE83000F2EBD1 /* MapLongVariableNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0AABE2E13AFE83000F2EBD1 /* MapLongVariableNames.cpp */; };
- A0AABE3113AFE83000F2EBD1 /* MapLongVariableNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AABE2F13AFE83000F2EBD1 /* MapLongVariableNames.h */; };
- A0AABE3413AFE84700F2EBD1 /* OutputGLSLBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0AABE3213AFE84700F2EBD1 /* OutputGLSLBase.cpp */; };
- A0AABE3513AFE84700F2EBD1 /* OutputGLSLBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AABE3313AFE84700F2EBD1 /* OutputGLSLBase.h */; };
- A0AABE4413AFE94500F2EBD1 /* OutputESSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0AABE4213AFE94500F2EBD1 /* OutputESSL.cpp */; };
- A0AABE4513AFE94500F2EBD1 /* OutputESSL.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AABE4313AFE94500F2EBD1 /* OutputESSL.h */; };
- A0AABE4813AFE96100F2EBD1 /* TranslatorESSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A0AABE4613AFE96100F2EBD1 /* TranslatorESSL.cpp */; };
- A0AABE4913AFE96100F2EBD1 /* TranslatorESSL.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AABE4713AFE96100F2EBD1 /* TranslatorESSL.h */; };
A264F8AC16974DED006FAA5A /* DiagnosticsBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F89316974DED006FAA5A /* DiagnosticsBase.cpp */; };
A264F8AD16974DED006FAA5A /* DiagnosticsBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F89416974DED006FAA5A /* DiagnosticsBase.h */; };
A264F8AE16974DED006FAA5A /* DirectiveHandlerBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F89516974DED006FAA5A /* DirectiveHandlerBase.cpp */; };
A264F8C116974DED006FAA5A /* Token.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F8A816974DED006FAA5A /* Token.cpp */; };
A264F8C216974DED006FAA5A /* Token.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8A916974DED006FAA5A /* Token.h */; };
A264F8C416974DED006FAA5A /* Tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8AB16974DED006FAA5A /* Tokenizer.h */; };
- A264F8C816974E2A006FAA5A /* HashNames.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8C516974E2A006FAA5A /* HashNames.h */; };
- A264F8C916974E2A006FAA5A /* VariablePacker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A264F8C616974E2A006FAA5A /* VariablePacker.cpp */; };
- A264F8CA16974E2A006FAA5A /* VariablePacker.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8C716974E2A006FAA5A /* VariablePacker.h */; };
A264F8CD169762AA006FAA5A /* khrplatform.h in Headers */ = {isa = PBXBuildFile; fileRef = A264F8CC169762AA006FAA5A /* khrplatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
- A26567BB159C21B100398539 /* Diagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A26567B0159C21B100398539 /* Diagnostics.cpp */; };
- A26567BC159C21B100398539 /* Diagnostics.h in Headers */ = {isa = PBXBuildFile; fileRef = A26567B1159C21B100398539 /* Diagnostics.h */; };
- A26567BD159C21B100398539 /* DirectiveHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A26567B2159C21B100398539 /* DirectiveHandler.cpp */; };
- A26567BE159C21B100398539 /* DirectiveHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = A26567B3159C21B100398539 /* DirectiveHandler.h */; };
- A26567BF159C21B100398539 /* InitializeParseContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A26567B4159C21B100398539 /* InitializeParseContext.cpp */; };
- A26567C0159C21B100398539 /* Pragma.h in Headers */ = {isa = PBXBuildFile; fileRef = A26567B5159C21B100398539 /* Pragma.h */; };
- A26567C1159C21B100398539 /* RenameFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = A26567B6159C21B100398539 /* RenameFunction.h */; };
- A2656839159C23E100398539 /* DependencyGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A265682D159C23E100398539 /* DependencyGraph.cpp */; };
- A265683A159C23E100398539 /* DependencyGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = A265682E159C23E100398539 /* DependencyGraph.h */; };
- A265683B159C23E100398539 /* DependencyGraphBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A265682F159C23E100398539 /* DependencyGraphBuilder.cpp */; };
- A265683C159C23E100398539 /* DependencyGraphBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A2656830159C23E100398539 /* DependencyGraphBuilder.h */; };
- A265683D159C23E100398539 /* DependencyGraphOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2656831159C23E100398539 /* DependencyGraphOutput.cpp */; };
- A265683E159C23E100398539 /* DependencyGraphOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = A2656832159C23E100398539 /* DependencyGraphOutput.h */; };
- A265683F159C23E100398539 /* DependencyGraphTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2656833159C23E100398539 /* DependencyGraphTraverse.cpp */; };
- A2656840159C23E100398539 /* RestrictFragmentShaderTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2656835159C23E100398539 /* RestrictFragmentShaderTiming.cpp */; };
- A2656841159C23E100398539 /* RestrictFragmentShaderTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = A2656836159C23E100398539 /* RestrictFragmentShaderTiming.h */; };
- A2656842159C23E100398539 /* RestrictVertexShaderTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2656837159C23E100398539 /* RestrictVertexShaderTiming.cpp */; };
- A2656843159C23E100398539 /* RestrictVertexShaderTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = A2656838159C23E100398539 /* RestrictVertexShaderTiming.h */; };
- FB39D2751200F35A00088E69 /* debug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2261200F35A00088E69 /* debug.cpp */; };
- FB39D2791200F35A00088E69 /* InfoSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D22A1200F35A00088E69 /* InfoSink.cpp */; };
- FB39D27B1200F35A00088E69 /* Initialize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D22C1200F35A00088E69 /* Initialize.cpp */; };
- FB39D27D1200F35A00088E69 /* InitializeDll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D22E1200F35A00088E69 /* InitializeDll.cpp */; };
- FB39D2811200F35A00088E69 /* Intermediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2321200F35A00088E69 /* Intermediate.cpp */; };
- FB39D2831200F35A00088E69 /* intermOut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2341200F35A00088E69 /* intermOut.cpp */; };
- FB39D2841200F35A00088E69 /* IntermTraverse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2351200F35A00088E69 /* IntermTraverse.cpp */; };
- FB39D2881200F35A00088E69 /* ossource_posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2391200F35A00088E69 /* ossource_posix.cpp */; };
- FB39D28A1200F35A00088E69 /* OutputGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D23B1200F35A00088E69 /* OutputGLSL.cpp */; };
- FB39D28E1200F35A00088E69 /* parseConst.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D23F1200F35A00088E69 /* parseConst.cpp */; };
- FB39D2911200F35A00088E69 /* PoolAlloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2421200F35A00088E69 /* PoolAlloc.cpp */; };
- FB39D2A41200F35A00088E69 /* QualifierAlive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2561200F35A00088E69 /* QualifierAlive.cpp */; };
- FB39D2A61200F35A00088E69 /* RemoveTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2581200F35A00088E69 /* RemoveTree.cpp */; };
- FB39D2A81200F35A00088E69 /* ShaderLang.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D25A1200F35A00088E69 /* ShaderLang.cpp */; };
- FB39D2AA1200F35A00088E69 /* SymbolTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D25C1200F35A00088E69 /* SymbolTable.cpp */; };
- FB39D2AC1200F35A00088E69 /* TranslatorGLSL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FB39D2681200F35A00088E69 /* TranslatorGLSL.cpp */; };
FB39D76E120110FC00088E69 /* ShaderLang.h in Headers */ = {isa = PBXBuildFile; fileRef = FB39D2BF1200F3E600088E69 /* ShaderLang.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 31012DA018B97B9B0039062F /* BaseTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTypes.h; sourceTree = "<group>"; };
+ 31012DA118B97B9B0039062F /* BuiltInFunctionEmulator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltInFunctionEmulator.cpp; sourceTree = "<group>"; };
+ 31012DA218B97B9B0039062F /* BuiltInFunctionEmulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltInFunctionEmulator.h; sourceTree = "<group>"; };
+ 31012DA318B97B9B0039062F /* CodeGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
+ 31012DA418B97B9B0039062F /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
+ 31012DA518B97B9B0039062F /* Compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Compiler.cpp; sourceTree = "<group>"; };
+ 31012DA818B97B9B0039062F /* ConstantUnion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConstantUnion.h; sourceTree = "<group>"; };
+ 31012DAA18B97B9B0039062F /* DependencyGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraph.cpp; sourceTree = "<group>"; };
+ 31012DAB18B97B9B0039062F /* DependencyGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraph.h; sourceTree = "<group>"; };
+ 31012DAC18B97B9B0039062F /* DependencyGraphBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphBuilder.cpp; sourceTree = "<group>"; };
+ 31012DAD18B97B9B0039062F /* DependencyGraphBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraphBuilder.h; sourceTree = "<group>"; };
+ 31012DAE18B97B9B0039062F /* DependencyGraphOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphOutput.cpp; sourceTree = "<group>"; };
+ 31012DAF18B97B9B0039062F /* DependencyGraphOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraphOutput.h; sourceTree = "<group>"; };
+ 31012DB018B97B9B0039062F /* DependencyGraphTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphTraverse.cpp; sourceTree = "<group>"; };
+ 31012DB118B97B9B0039062F /* DetectCallDepth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetectCallDepth.cpp; sourceTree = "<group>"; };
+ 31012DB218B97B9B0039062F /* DetectCallDepth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetectCallDepth.h; sourceTree = "<group>"; };
+ 31012DB318B97B9B0039062F /* DetectDiscontinuity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetectDiscontinuity.cpp; sourceTree = "<group>"; };
+ 31012DB418B97B9B0039062F /* DetectDiscontinuity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetectDiscontinuity.h; sourceTree = "<group>"; };
+ 31012DB518B97B9B0039062F /* Diagnostics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Diagnostics.cpp; sourceTree = "<group>"; };
+ 31012DB618B97B9B0039062F /* Diagnostics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Diagnostics.h; sourceTree = "<group>"; };
+ 31012DB718B97B9B0039062F /* DirectiveHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectiveHandler.cpp; sourceTree = "<group>"; };
+ 31012DB818B97B9B0039062F /* DirectiveHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectiveHandler.h; sourceTree = "<group>"; };
+ 31012DB918B97B9B0039062F /* ExtensionBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtensionBehavior.h; sourceTree = "<group>"; };
+ 31012DBA18B97B9B0039062F /* ForLoopUnroll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ForLoopUnroll.cpp; sourceTree = "<group>"; };
+ 31012DBB18B97B9B0039062F /* ForLoopUnroll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ForLoopUnroll.h; sourceTree = "<group>"; };
+ 31012DBD18B97B9B0039062F /* glslang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang.h; sourceTree = "<group>"; };
+ 31012DC018B97B9B0039062F /* glslang_lex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_lex.cpp; sourceTree = "<group>"; };
+ 31012DC118B97B9B0039062F /* glslang_tab.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
+ 31012DC218B97B9B0039062F /* glslang_tab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang_tab.h; sourceTree = "<group>"; };
+ 31012DC318B97B9B0039062F /* HashNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashNames.h; sourceTree = "<group>"; };
+ 31012DC418B97B9B0039062F /* InfoSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InfoSink.cpp; sourceTree = "<group>"; };
+ 31012DC518B97B9B0039062F /* InfoSink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoSink.h; sourceTree = "<group>"; };
+ 31012DC618B97B9B0039062F /* Initialize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initialize.cpp; sourceTree = "<group>"; };
+ 31012DC718B97B9B0039062F /* Initialize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Initialize.h; sourceTree = "<group>"; };
+ 31012DC818B97B9B0039062F /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = "<group>"; };
+ 31012DC918B97B9B0039062F /* InitializeDll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeDll.h; sourceTree = "<group>"; };
+ 31012DCA18B97B9B0039062F /* InitializeGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeGlobals.h; sourceTree = "<group>"; };
+ 31012DCB18B97B9B0039062F /* InitializeParseContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeParseContext.cpp; sourceTree = "<group>"; };
+ 31012DCC18B97B9B0039062F /* InitializeParseContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeParseContext.h; sourceTree = "<group>"; };
+ 31012DCD18B97B9B0039062F /* InitializeVariables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeVariables.cpp; sourceTree = "<group>"; };
+ 31012DCE18B97B9B0039062F /* InitializeVariables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InitializeVariables.h; sourceTree = "<group>"; };
+ 31012DCF18B97B9B0039062F /* Intermediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Intermediate.cpp; sourceTree = "<group>"; };
+ 31012DD018B97B9B0039062F /* intermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intermediate.h; sourceTree = "<group>"; };
+ 31012DD118B97B9B0039062F /* intermOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intermOut.cpp; sourceTree = "<group>"; };
+ 31012DD218B97B9B0039062F /* IntermTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IntermTraverse.cpp; sourceTree = "<group>"; };
+ 31012DD318B97B9B0039062F /* localintermediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = localintermediate.h; sourceTree = "<group>"; };
+ 31012DD418B97B9B0039062F /* MapLongVariableNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MapLongVariableNames.cpp; sourceTree = "<group>"; };
+ 31012DD518B97B9B0039062F /* MapLongVariableNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapLongVariableNames.h; sourceTree = "<group>"; };
+ 31012DD618B97B9B0039062F /* MMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMap.h; sourceTree = "<group>"; };
+ 31012DD718B97B9B0039062F /* NodeSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeSearch.h; sourceTree = "<group>"; };
+ 31012DD818B97B9B0039062F /* osinclude.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osinclude.h; sourceTree = "<group>"; };
+ 31012DD918B97B9B0039062F /* ossource_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource_posix.cpp; sourceTree = "<group>"; };
+ 31012DDB18B97B9B0039062F /* OutputESSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputESSL.cpp; sourceTree = "<group>"; };
+ 31012DDC18B97B9B0039062F /* OutputESSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputESSL.h; sourceTree = "<group>"; };
+ 31012DDD18B97B9B0039062F /* OutputGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputGLSL.cpp; sourceTree = "<group>"; };
+ 31012DDE18B97B9B0039062F /* OutputGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputGLSL.h; sourceTree = "<group>"; };
+ 31012DDF18B97B9B0039062F /* OutputGLSLBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputGLSLBase.cpp; sourceTree = "<group>"; };
+ 31012DE018B97B9B0039062F /* OutputGLSLBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputGLSLBase.h; sourceTree = "<group>"; };
+ 31012DE118B97B9B0039062F /* OutputHLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputHLSL.cpp; sourceTree = "<group>"; };
+ 31012DE218B97B9B0039062F /* OutputHLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputHLSL.h; sourceTree = "<group>"; };
+ 31012DE318B97B9B0039062F /* parseConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parseConst.cpp; sourceTree = "<group>"; };
+ 31012DE418B97B9B0039062F /* ParseContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseContext.cpp; sourceTree = "<group>"; };
+ 31012DE518B97B9B0039062F /* ParseContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParseContext.h; sourceTree = "<group>"; };
+ 31012DE618B97B9B0039062F /* PoolAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolAlloc.cpp; sourceTree = "<group>"; };
+ 31012DE718B97B9B0039062F /* PoolAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoolAlloc.h; sourceTree = "<group>"; };
+ 31012DE818B97B9B0039062F /* Pragma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pragma.h; sourceTree = "<group>"; };
+ 31012DE918B97B9B0039062F /* QualifierAlive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QualifierAlive.cpp; sourceTree = "<group>"; };
+ 31012DEA18B97B9B0039062F /* QualifierAlive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QualifierAlive.h; sourceTree = "<group>"; };
+ 31012DEB18B97B9B0039062F /* RemoveTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoveTree.cpp; sourceTree = "<group>"; };
+ 31012DEC18B97B9B0039062F /* RemoveTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoveTree.h; sourceTree = "<group>"; };
+ 31012DED18B97B9B0039062F /* RenameFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenameFunction.h; sourceTree = "<group>"; };
+ 31012DEE18B97B9B0039062F /* RewriteElseBlocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RewriteElseBlocks.cpp; sourceTree = "<group>"; };
+ 31012DEF18B97B9B0039062F /* RewriteElseBlocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RewriteElseBlocks.h; sourceTree = "<group>"; };
+ 31012DF018B97B9B0039062F /* SearchSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SearchSymbol.cpp; sourceTree = "<group>"; };
+ 31012DF118B97B9B0039062F /* SearchSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchSymbol.h; sourceTree = "<group>"; };
+ 31012DF218B97B9B0039062F /* ShaderLang.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLang.cpp; sourceTree = "<group>"; };
+ 31012DF318B97B9B0039062F /* ShHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShHandle.h; sourceTree = "<group>"; };
+ 31012DF418B97B9B0039062F /* SymbolTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolTable.cpp; sourceTree = "<group>"; };
+ 31012DF518B97B9B0039062F /* SymbolTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolTable.h; sourceTree = "<group>"; };
+ 31012DF718B97B9B0039062F /* RestrictFragmentShaderTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestrictFragmentShaderTiming.cpp; sourceTree = "<group>"; };
+ 31012DF818B97B9B0039062F /* RestrictFragmentShaderTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RestrictFragmentShaderTiming.h; sourceTree = "<group>"; };
+ 31012DF918B97B9B0039062F /* RestrictVertexShaderTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestrictVertexShaderTiming.cpp; sourceTree = "<group>"; };
+ 31012DFA18B97B9B0039062F /* RestrictVertexShaderTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RestrictVertexShaderTiming.h; sourceTree = "<group>"; };
+ 31012DFB18B97B9B0039062F /* TranslatorESSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorESSL.cpp; sourceTree = "<group>"; };
+ 31012DFC18B97B9B0039062F /* TranslatorESSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslatorESSL.h; sourceTree = "<group>"; };
+ 31012DFD18B97B9B0039062F /* TranslatorGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorGLSL.cpp; sourceTree = "<group>"; };
+ 31012DFE18B97B9B0039062F /* TranslatorGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslatorGLSL.h; sourceTree = "<group>"; };
+ 31012DFF18B97B9B0039062F /* TranslatorHLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorHLSL.cpp; sourceTree = "<group>"; };
+ 31012E0018B97B9B0039062F /* TranslatorHLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslatorHLSL.h; sourceTree = "<group>"; };
+ 31012E0118B97B9B0039062F /* Types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Types.h; sourceTree = "<group>"; };
+ 31012E0218B97B9B0039062F /* UnfoldShortCircuit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnfoldShortCircuit.cpp; sourceTree = "<group>"; };
+ 31012E0318B97B9B0039062F /* UnfoldShortCircuit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnfoldShortCircuit.h; sourceTree = "<group>"; };
+ 31012E0418B97B9B0039062F /* UnfoldShortCircuitAST.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnfoldShortCircuitAST.cpp; sourceTree = "<group>"; };
+ 31012E0518B97B9B0039062F /* UnfoldShortCircuitAST.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnfoldShortCircuitAST.h; sourceTree = "<group>"; };
+ 31012E0618B97B9B0039062F /* Uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Uniform.cpp; sourceTree = "<group>"; };
+ 31012E0718B97B9B0039062F /* Uniform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Uniform.h; sourceTree = "<group>"; };
+ 31012E0818B97B9B0039062F /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util.cpp; sourceTree = "<group>"; };
+ 31012E0918B97B9B0039062F /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
+ 31012E0A18B97B9B0039062F /* ValidateLimitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ValidateLimitations.cpp; sourceTree = "<group>"; };
+ 31012E0B18B97B9B0039062F /* ValidateLimitations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValidateLimitations.h; sourceTree = "<group>"; };
+ 31012E0C18B97B9B0039062F /* VariableInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariableInfo.cpp; sourceTree = "<group>"; };
+ 31012E0D18B97B9B0039062F /* VariableInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariableInfo.h; sourceTree = "<group>"; };
+ 31012E0E18B97B9B0039062F /* VariablePacker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariablePacker.cpp; sourceTree = "<group>"; };
+ 31012E0F18B97B9B0039062F /* VariablePacker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariablePacker.h; sourceTree = "<group>"; };
+ 31012E1018B97B9B0039062F /* VersionGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VersionGLSL.cpp; sourceTree = "<group>"; };
+ 31012E1118B97B9B0039062F /* VersionGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VersionGLSL.h; sourceTree = "<group>"; };
+ 31012E8118B97C860039062F /* compilerdebug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compilerdebug.cpp; sourceTree = "<group>"; };
+ 31012E8218B97C860039062F /* compilerdebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compilerdebug.h; sourceTree = "<group>"; };
312BDB0915FEC91E0097EBC7 /* ANGLE.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ANGLE.plist; sourceTree = "<group>"; };
312BDB0A15FECA3A0097EBC7 /* ANGLE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ANGLE.txt; sourceTree = "<group>"; };
443A3E1512ECF6CC0004F9D7 /* iOS.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = iOS.xcconfig; sourceTree = "<group>"; };
49951C0214B7AAB30060E96E /* length_limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = length_limits.h; sourceTree = "<group>"; };
- 49951C0514B7AAD70060E96E /* BuiltInFunctionEmulator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BuiltInFunctionEmulator.cpp; sourceTree = "<group>"; };
- 49951C0614B7AAD80060E96E /* BuiltInFunctionEmulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuiltInFunctionEmulator.h; sourceTree = "<group>"; };
- 5CB13FD2179DB3FD001F851D /* DetectCallDepth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetectCallDepth.cpp; sourceTree = "<group>"; };
- 5CB13FD3179DB3FD001F851D /* DetectCallDepth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetectCallDepth.h; sourceTree = "<group>"; };
5D7C59C51208C68B001C873E /* ANGLE.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ANGLE.xcconfig; sourceTree = "<group>"; };
5D7C59C61208C68B001C873E /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
72309A55183C27DB00370B93 /* Tokenizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Tokenizer.cpp; sourceTree = "<group>"; };
72309A57183C27F100370B93 /* ExpressionParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ExpressionParser.cpp; sourceTree = "<group>"; };
- 72309A59183C284E00370B93 /* glslang_lex.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_lex.cpp; sourceTree = "<group>"; };
- 72309A5A183C284E00370B93 /* glslang_tab.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = glslang_tab.cpp; sourceTree = "<group>"; };
- 72309A5B183C284E00370B93 /* glslang_tab.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = glslang_tab.h; sourceTree = "<group>"; };
- 72309A5F183C2A6400370B93 /* TranslatorHLSL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorHLSL.cpp; sourceTree = "<group>"; };
- 72309A60183C2A6400370B93 /* TranslatorHLSL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TranslatorHLSL.h; sourceTree = "<group>"; };
- 72309A63183C2AE500370B93 /* OutputHLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputHLSL.cpp; sourceTree = "<group>"; };
- 72309A64183C2AE500370B93 /* OutputHLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputHLSL.h; sourceTree = "<group>"; };
- 72309A67183C2BE800370B93 /* DetectDiscontinuity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetectDiscontinuity.cpp; sourceTree = "<group>"; };
- 72309A68183C2BE800370B93 /* DetectDiscontinuity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetectDiscontinuity.h; sourceTree = "<group>"; };
- 72309A69183C2BE800370B93 /* UnfoldShortCircuit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnfoldShortCircuit.cpp; sourceTree = "<group>"; };
- 72309A6A183C2BE800370B93 /* UnfoldShortCircuit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnfoldShortCircuit.h; sourceTree = "<group>"; };
- 72309A6B183C2BE800370B93 /* Uniform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Uniform.cpp; sourceTree = "<group>"; };
- 72309A6C183C2BE800370B93 /* Uniform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Uniform.h; sourceTree = "<group>"; };
- 72650930183AA21300D28B48 /* CodeGen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CodeGen.cpp; sourceTree = "<group>"; };
- 72650931183AA24600D28B48 /* InitializeGLPosition.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeGLPosition.cpp; sourceTree = "<group>"; };
- 72650932183AA24600D28B48 /* InitializeGLPosition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InitializeGLPosition.h; sourceTree = "<group>"; };
- 72650933183AA28900D28B48 /* NodeSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NodeSearch.h; sourceTree = "<group>"; };
- 72650934183AA3B200D28B48 /* ParseContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ParseContext.cpp; sourceTree = "<group>"; };
- 72650935183AA3B200D28B48 /* ParseContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ParseContext.h; sourceTree = "<group>"; };
- 72650936183AA3C600D28B48 /* UnfoldShortCircuitAST.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UnfoldShortCircuitAST.cpp; sourceTree = "<group>"; };
- 72650937183AA3C600D28B48 /* UnfoldShortCircuitAST.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UnfoldShortCircuitAST.h; sourceTree = "<group>"; };
- 90D9B0F912E11DCB002D4255 /* Compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Compiler.cpp; sourceTree = "<group>"; usesTabs = 0; };
- 90D9B0FA12E11DCB002D4255 /* ExtensionBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtensionBehavior.h; sourceTree = "<group>"; };
- 90D9B0FE12E11DCB002D4255 /* glslang.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glslang.h; sourceTree = "<group>"; };
- 90D9B10012E11DCB002D4255 /* SearchSymbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SearchSymbol.cpp; sourceTree = "<group>"; };
- 90D9B10112E11DCB002D4255 /* SearchSymbol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchSymbol.h; sourceTree = "<group>"; };
- 90D9B10B12E11DD6002D4255 /* util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = util.cpp; sourceTree = "<group>"; };
- 90D9B10C12E11DD6002D4255 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
- 90D9B10D12E11DD6002D4255 /* ValidateLimitations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ValidateLimitations.cpp; sourceTree = "<group>"; };
- 90D9B10E12E11DD6002D4255 /* ValidateLimitations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValidateLimitations.h; sourceTree = "<group>"; };
- 90D9B10F12E11DD6002D4255 /* VariableInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariableInfo.cpp; sourceTree = "<group>"; };
- 90D9B11012E11DD6002D4255 /* VariableInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariableInfo.h; sourceTree = "<group>"; };
- 90D9B11112E11DD6002D4255 /* VersionGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VersionGLSL.cpp; sourceTree = "<group>"; };
- 90D9B11212E11DD6002D4255 /* VersionGLSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VersionGLSL.h; sourceTree = "<group>"; };
A08C3CDA16D6CB61003F0B83 /* ArrayBoundsClamper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArrayBoundsClamper.cpp; path = src/third_party/compiler/ArrayBoundsClamper.cpp; sourceTree = "<group>"; };
A08C3CDB16D6CB61003F0B83 /* ArrayBoundsClamper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArrayBoundsClamper.h; path = src/third_party/compiler/ArrayBoundsClamper.h; sourceTree = "<group>"; };
- A0AABE2A13AFE81000F2EBD1 /* ForLoopUnroll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ForLoopUnroll.cpp; sourceTree = "<group>"; };
- A0AABE2B13AFE81000F2EBD1 /* ForLoopUnroll.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ForLoopUnroll.h; sourceTree = "<group>"; };
- A0AABE2E13AFE83000F2EBD1 /* MapLongVariableNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MapLongVariableNames.cpp; sourceTree = "<group>"; };
- A0AABE2F13AFE83000F2EBD1 /* MapLongVariableNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapLongVariableNames.h; sourceTree = "<group>"; };
- A0AABE3213AFE84700F2EBD1 /* OutputGLSLBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputGLSLBase.cpp; sourceTree = "<group>"; };
- A0AABE3313AFE84700F2EBD1 /* OutputGLSLBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputGLSLBase.h; sourceTree = "<group>"; };
- A0AABE4213AFE94500F2EBD1 /* OutputESSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputESSL.cpp; sourceTree = "<group>"; };
- A0AABE4313AFE94500F2EBD1 /* OutputESSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OutputESSL.h; sourceTree = "<group>"; };
- A0AABE4613AFE96100F2EBD1 /* TranslatorESSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorESSL.cpp; sourceTree = "<group>"; };
- A0AABE4713AFE96100F2EBD1 /* TranslatorESSL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslatorESSL.h; sourceTree = "<group>"; };
A264F89316974DED006FAA5A /* DiagnosticsBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DiagnosticsBase.cpp; sourceTree = "<group>"; };
A264F89416974DED006FAA5A /* DiagnosticsBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagnosticsBase.h; sourceTree = "<group>"; };
A264F89516974DED006FAA5A /* DirectiveHandlerBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectiveHandlerBase.cpp; sourceTree = "<group>"; };
A264F8A816974DED006FAA5A /* Token.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Token.cpp; sourceTree = "<group>"; };
A264F8A916974DED006FAA5A /* Token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Token.h; sourceTree = "<group>"; };
A264F8AB16974DED006FAA5A /* Tokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tokenizer.h; sourceTree = "<group>"; };
- A264F8C516974E2A006FAA5A /* HashNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashNames.h; sourceTree = "<group>"; };
- A264F8C616974E2A006FAA5A /* VariablePacker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VariablePacker.cpp; sourceTree = "<group>"; };
- A264F8C716974E2A006FAA5A /* VariablePacker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VariablePacker.h; sourceTree = "<group>"; };
A264F8CC169762AA006FAA5A /* khrplatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = khrplatform.h; sourceTree = "<group>"; };
- A26567B0159C21B100398539 /* Diagnostics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Diagnostics.cpp; sourceTree = "<group>"; };
- A26567B1159C21B100398539 /* Diagnostics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Diagnostics.h; sourceTree = "<group>"; };
- A26567B2159C21B100398539 /* DirectiveHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectiveHandler.cpp; sourceTree = "<group>"; };
- A26567B3159C21B100398539 /* DirectiveHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectiveHandler.h; sourceTree = "<group>"; };
- A26567B4159C21B100398539 /* InitializeParseContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeParseContext.cpp; sourceTree = "<group>"; };
- A26567B5159C21B100398539 /* Pragma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pragma.h; sourceTree = "<group>"; };
- A26567B6159C21B100398539 /* RenameFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenameFunction.h; sourceTree = "<group>"; };
- A265682D159C23E100398539 /* DependencyGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraph.cpp; sourceTree = "<group>"; };
- A265682E159C23E100398539 /* DependencyGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraph.h; sourceTree = "<group>"; };
- A265682F159C23E100398539 /* DependencyGraphBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphBuilder.cpp; sourceTree = "<group>"; };
- A2656830159C23E100398539 /* DependencyGraphBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraphBuilder.h; sourceTree = "<group>"; };
- A2656831159C23E100398539 /* DependencyGraphOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphOutput.cpp; sourceTree = "<group>"; };
- A2656832159C23E100398539 /* DependencyGraphOutput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DependencyGraphOutput.h; sourceTree = "<group>"; };
- A2656833159C23E100398539 /* DependencyGraphTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DependencyGraphTraverse.cpp; sourceTree = "<group>"; };
- A2656835159C23E100398539 /* RestrictFragmentShaderTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestrictFragmentShaderTiming.cpp; sourceTree = "<group>"; };
- A2656836159C23E100398539 /* RestrictFragmentShaderTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RestrictFragmentShaderTiming.h; sourceTree = "<group>"; };
- A2656837159C23E100398539 /* RestrictVertexShaderTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RestrictVertexShaderTiming.cpp; sourceTree = "<group>"; };
- A2656838159C23E100398539 /* RestrictVertexShaderTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RestrictVertexShaderTiming.h; sourceTree = "<group>"; };
FB39D0D11200F0E300088E69 /* libANGLE.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libANGLE.a; sourceTree = BUILT_PRODUCTS_DIR; };
- FB39D2211200F35A00088E69 /* BaseTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = BaseTypes.h; sourceTree = "<group>"; };
- FB39D2241200F35A00088E69 /* Common.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Common.h; sourceTree = "<group>"; };
- FB39D2251200F35A00088E69 /* ConstantUnion.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ConstantUnion.h; sourceTree = "<group>"; };
- FB39D2261200F35A00088E69 /* debug.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = debug.cpp; sourceTree = "<group>"; };
- FB39D2271200F35A00088E69 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = "<group>"; };
- FB39D22A1200F35A00088E69 /* InfoSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InfoSink.cpp; sourceTree = "<group>"; };
- FB39D22B1200F35A00088E69 /* InfoSink.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = InfoSink.h; sourceTree = "<group>"; };
- FB39D22C1200F35A00088E69 /* Initialize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Initialize.cpp; sourceTree = "<group>"; };
- FB39D22D1200F35A00088E69 /* Initialize.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Initialize.h; sourceTree = "<group>"; };
- FB39D22E1200F35A00088E69 /* InitializeDll.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitializeDll.cpp; sourceTree = "<group>"; };
- FB39D22F1200F35A00088E69 /* InitializeDll.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = InitializeDll.h; sourceTree = "<group>"; };
- FB39D2301200F35A00088E69 /* InitializeGlobals.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = InitializeGlobals.h; sourceTree = "<group>"; };
- FB39D2311200F35A00088E69 /* InitializeParseContext.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = InitializeParseContext.h; sourceTree = "<group>"; };
- FB39D2321200F35A00088E69 /* Intermediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Intermediate.cpp; sourceTree = "<group>"; };
- FB39D2331200F35A00088E69 /* intermediate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = intermediate.h; sourceTree = "<group>"; };
- FB39D2341200F35A00088E69 /* intermOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = intermOut.cpp; sourceTree = "<group>"; };
- FB39D2351200F35A00088E69 /* IntermTraverse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IntermTraverse.cpp; sourceTree = "<group>"; };
- FB39D2361200F35A00088E69 /* localintermediate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = localintermediate.h; sourceTree = "<group>"; };
- FB39D2371200F35A00088E69 /* MMap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MMap.h; sourceTree = "<group>"; };
- FB39D2381200F35A00088E69 /* osinclude.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = osinclude.h; sourceTree = "<group>"; };
- FB39D2391200F35A00088E69 /* ossource_posix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource_posix.cpp; sourceTree = "<group>"; };
- FB39D23A1200F35A00088E69 /* ossource_win.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ossource_win.cpp; sourceTree = "<group>"; };
- FB39D23B1200F35A00088E69 /* OutputGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputGLSL.cpp; sourceTree = "<group>"; };
- FB39D23C1200F35A00088E69 /* OutputGLSL.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = OutputGLSL.h; sourceTree = "<group>"; };
- FB39D23F1200F35A00088E69 /* parseConst.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = parseConst.cpp; sourceTree = "<group>"; };
- FB39D2421200F35A00088E69 /* PoolAlloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PoolAlloc.cpp; sourceTree = "<group>"; };
- FB39D2431200F35A00088E69 /* PoolAlloc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PoolAlloc.h; sourceTree = "<group>"; };
- FB39D2561200F35A00088E69 /* QualifierAlive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QualifierAlive.cpp; sourceTree = "<group>"; };
- FB39D2571200F35A00088E69 /* QualifierAlive.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = QualifierAlive.h; sourceTree = "<group>"; };
- FB39D2581200F35A00088E69 /* RemoveTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoveTree.cpp; sourceTree = "<group>"; };
- FB39D2591200F35A00088E69 /* RemoveTree.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = RemoveTree.h; sourceTree = "<group>"; };
- FB39D25A1200F35A00088E69 /* ShaderLang.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShaderLang.cpp; sourceTree = "<group>"; };
- FB39D25B1200F35A00088E69 /* ShHandle.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ShHandle.h; sourceTree = "<group>"; };
- FB39D25C1200F35A00088E69 /* SymbolTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolTable.cpp; sourceTree = "<group>"; };
- FB39D25D1200F35A00088E69 /* SymbolTable.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = SymbolTable.h; sourceTree = "<group>"; };
- FB39D2681200F35A00088E69 /* TranslatorGLSL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslatorGLSL.cpp; sourceTree = "<group>"; };
- FB39D2691200F35A00088E69 /* TranslatorGLSL.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TranslatorGLSL.h; sourceTree = "<group>"; };
- FB39D26C1200F35A00088E69 /* Types.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Types.h; sourceTree = "<group>"; };
FB39D2BF1200F3E600088E69 /* ShaderLang.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ShaderLang.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 31012D9F18B97B9B0039062F /* translator */ = {
+ isa = PBXGroup;
+ children = (
+ 31012DA918B97B9B0039062F /* depgraph */,
+ 31012DF618B97B9B0039062F /* timing */,
+ 31012DA018B97B9B0039062F /* BaseTypes.h */,
+ 31012DA118B97B9B0039062F /* BuiltInFunctionEmulator.cpp */,
+ 31012DA218B97B9B0039062F /* BuiltInFunctionEmulator.h */,
+ 31012DA318B97B9B0039062F /* CodeGen.cpp */,
+ 31012DA418B97B9B0039062F /* Common.h */,
+ 31012E8118B97C860039062F /* compilerdebug.cpp */,
+ 31012E8218B97C860039062F /* compilerdebug.h */,
+ 31012DA518B97B9B0039062F /* Compiler.cpp */,
+ 31012DA818B97B9B0039062F /* ConstantUnion.h */,
+ 31012DB118B97B9B0039062F /* DetectCallDepth.cpp */,
+ 31012DB218B97B9B0039062F /* DetectCallDepth.h */,
+ 31012DB318B97B9B0039062F /* DetectDiscontinuity.cpp */,
+ 31012DB418B97B9B0039062F /* DetectDiscontinuity.h */,
+ 31012DB518B97B9B0039062F /* Diagnostics.cpp */,
+ 31012DB618B97B9B0039062F /* Diagnostics.h */,
+ 31012DB718B97B9B0039062F /* DirectiveHandler.cpp */,
+ 31012DB818B97B9B0039062F /* DirectiveHandler.h */,
+ 31012DB918B97B9B0039062F /* ExtensionBehavior.h */,
+ 31012DBA18B97B9B0039062F /* ForLoopUnroll.cpp */,
+ 31012DBB18B97B9B0039062F /* ForLoopUnroll.h */,
+ 31012DBD18B97B9B0039062F /* glslang.h */,
+ 31012DC018B97B9B0039062F /* glslang_lex.cpp */,
+ 31012DC118B97B9B0039062F /* glslang_tab.cpp */,
+ 31012DC218B97B9B0039062F /* glslang_tab.h */,
+ 31012DC318B97B9B0039062F /* HashNames.h */,
+ 31012DC418B97B9B0039062F /* InfoSink.cpp */,
+ 31012DC518B97B9B0039062F /* InfoSink.h */,
+ 31012DC618B97B9B0039062F /* Initialize.cpp */,
+ 31012DC718B97B9B0039062F /* Initialize.h */,
+ 31012DC818B97B9B0039062F /* InitializeDll.cpp */,
+ 31012DC918B97B9B0039062F /* InitializeDll.h */,
+ 31012DCA18B97B9B0039062F /* InitializeGlobals.h */,
+ 31012DCB18B97B9B0039062F /* InitializeParseContext.cpp */,
+ 31012DCC18B97B9B0039062F /* InitializeParseContext.h */,
+ 31012DCD18B97B9B0039062F /* InitializeVariables.cpp */,
+ 31012DCE18B97B9B0039062F /* InitializeVariables.h */,
+ 31012DCF18B97B9B0039062F /* Intermediate.cpp */,
+ 31012DD018B97B9B0039062F /* intermediate.h */,
+ 31012DD118B97B9B0039062F /* intermOut.cpp */,
+ 31012DD218B97B9B0039062F /* IntermTraverse.cpp */,
+ 31012DD318B97B9B0039062F /* localintermediate.h */,
+ 31012DD418B97B9B0039062F /* MapLongVariableNames.cpp */,
+ 31012DD518B97B9B0039062F /* MapLongVariableNames.h */,
+ 31012DD618B97B9B0039062F /* MMap.h */,
+ 31012DD718B97B9B0039062F /* NodeSearch.h */,
+ 31012DD818B97B9B0039062F /* osinclude.h */,
+ 31012DD918B97B9B0039062F /* ossource_posix.cpp */,
+ 31012DDB18B97B9B0039062F /* OutputESSL.cpp */,
+ 31012DDC18B97B9B0039062F /* OutputESSL.h */,
+ 31012DDD18B97B9B0039062F /* OutputGLSL.cpp */,
+ 31012DDE18B97B9B0039062F /* OutputGLSL.h */,
+ 31012DDF18B97B9B0039062F /* OutputGLSLBase.cpp */,
+ 31012DE018B97B9B0039062F /* OutputGLSLBase.h */,
+ 31012DE118B97B9B0039062F /* OutputHLSL.cpp */,
+ 31012DE218B97B9B0039062F /* OutputHLSL.h */,
+ 31012DE318B97B9B0039062F /* parseConst.cpp */,
+ 31012DE418B97B9B0039062F /* ParseContext.cpp */,
+ 31012DE518B97B9B0039062F /* ParseContext.h */,
+ 31012DE618B97B9B0039062F /* PoolAlloc.cpp */,
+ 31012DE718B97B9B0039062F /* PoolAlloc.h */,
+ 31012DE818B97B9B0039062F /* Pragma.h */,
+ 31012DE918B97B9B0039062F /* QualifierAlive.cpp */,
+ 31012DEA18B97B9B0039062F /* QualifierAlive.h */,
+ 31012DEB18B97B9B0039062F /* RemoveTree.cpp */,
+ 31012DEC18B97B9B0039062F /* RemoveTree.h */,
+ 31012DED18B97B9B0039062F /* RenameFunction.h */,
+ 31012DEE18B97B9B0039062F /* RewriteElseBlocks.cpp */,
+ 31012DEF18B97B9B0039062F /* RewriteElseBlocks.h */,
+ 31012DF018B97B9B0039062F /* SearchSymbol.cpp */,
+ 31012DF118B97B9B0039062F /* SearchSymbol.h */,
+ 31012DF218B97B9B0039062F /* ShaderLang.cpp */,
+ 31012DF318B97B9B0039062F /* ShHandle.h */,
+ 31012DF418B97B9B0039062F /* SymbolTable.cpp */,
+ 31012DF518B97B9B0039062F /* SymbolTable.h */,
+ 31012DFB18B97B9B0039062F /* TranslatorESSL.cpp */,
+ 31012DFC18B97B9B0039062F /* TranslatorESSL.h */,
+ 31012DFD18B97B9B0039062F /* TranslatorGLSL.cpp */,
+ 31012DFE18B97B9B0039062F /* TranslatorGLSL.h */,
+ 31012DFF18B97B9B0039062F /* TranslatorHLSL.cpp */,
+ 31012E0018B97B9B0039062F /* TranslatorHLSL.h */,
+ 31012E0118B97B9B0039062F /* Types.h */,
+ 31012E0218B97B9B0039062F /* UnfoldShortCircuit.cpp */,
+ 31012E0318B97B9B0039062F /* UnfoldShortCircuit.h */,
+ 31012E0418B97B9B0039062F /* UnfoldShortCircuitAST.cpp */,
+ 31012E0518B97B9B0039062F /* UnfoldShortCircuitAST.h */,
+ 31012E0618B97B9B0039062F /* Uniform.cpp */,
+ 31012E0718B97B9B0039062F /* Uniform.h */,
+ 31012E0818B97B9B0039062F /* util.cpp */,
+ 31012E0918B97B9B0039062F /* util.h */,
+ 31012E0A18B97B9B0039062F /* ValidateLimitations.cpp */,
+ 31012E0B18B97B9B0039062F /* ValidateLimitations.h */,
+ 31012E0C18B97B9B0039062F /* VariableInfo.cpp */,
+ 31012E0D18B97B9B0039062F /* VariableInfo.h */,
+ 31012E0E18B97B9B0039062F /* VariablePacker.cpp */,
+ 31012E0F18B97B9B0039062F /* VariablePacker.h */,
+ 31012E1018B97B9B0039062F /* VersionGLSL.cpp */,
+ 31012E1118B97B9B0039062F /* VersionGLSL.h */,
+ );
+ path = translator;
+ sourceTree = "<group>";
+ };
+ 31012DA918B97B9B0039062F /* depgraph */ = {
+ isa = PBXGroup;
+ children = (
+ 31012DAA18B97B9B0039062F /* DependencyGraph.cpp */,
+ 31012DAB18B97B9B0039062F /* DependencyGraph.h */,
+ 31012DAC18B97B9B0039062F /* DependencyGraphBuilder.cpp */,
+ 31012DAD18B97B9B0039062F /* DependencyGraphBuilder.h */,
+ 31012DAE18B97B9B0039062F /* DependencyGraphOutput.cpp */,
+ 31012DAF18B97B9B0039062F /* DependencyGraphOutput.h */,
+ 31012DB018B97B9B0039062F /* DependencyGraphTraverse.cpp */,
+ );
+ path = depgraph;
+ sourceTree = "<group>";
+ };
+ 31012DF618B97B9B0039062F /* timing */ = {
+ isa = PBXGroup;
+ children = (
+ 31012DF718B97B9B0039062F /* RestrictFragmentShaderTiming.cpp */,
+ 31012DF818B97B9B0039062F /* RestrictFragmentShaderTiming.h */,
+ 31012DF918B97B9B0039062F /* RestrictVertexShaderTiming.cpp */,
+ 31012DFA18B97B9B0039062F /* RestrictVertexShaderTiming.h */,
+ );
+ path = timing;
+ sourceTree = "<group>";
+ };
312BDB0715FEC8E60097EBC7 /* misc */ = {
isa = PBXGroup;
children = (
path = include/KHR;
sourceTree = "<group>";
};
- A265682C159C23E100398539 /* depgraph */ = {
- isa = PBXGroup;
- children = (
- A265682D159C23E100398539 /* DependencyGraph.cpp */,
- A265682E159C23E100398539 /* DependencyGraph.h */,
- A265682F159C23E100398539 /* DependencyGraphBuilder.cpp */,
- A2656830159C23E100398539 /* DependencyGraphBuilder.h */,
- A2656831159C23E100398539 /* DependencyGraphOutput.cpp */,
- A2656832159C23E100398539 /* DependencyGraphOutput.h */,
- A2656833159C23E100398539 /* DependencyGraphTraverse.cpp */,
- );
- path = depgraph;
- sourceTree = "<group>";
- };
- A2656834159C23E100398539 /* timing */ = {
- isa = PBXGroup;
- children = (
- A2656835159C23E100398539 /* RestrictFragmentShaderTiming.cpp */,
- A2656836159C23E100398539 /* RestrictFragmentShaderTiming.h */,
- A2656837159C23E100398539 /* RestrictVertexShaderTiming.cpp */,
- A2656838159C23E100398539 /* RestrictVertexShaderTiming.h */,
- );
- path = timing;
- sourceTree = "<group>";
- };
A29B15E916978B7D00111D97 /* include */ = {
isa = PBXGroup;
children = (
FB39D2201200F35A00088E69 /* compiler */ = {
isa = PBXGroup;
children = (
- A265682C159C23E100398539 /* depgraph */,
+ 31012D9F18B97B9B0039062F /* translator */,
FB39D2441200F35A00088E69 /* preprocessor */,
- A2656834159C23E100398539 /* timing */,
- FB39D2211200F35A00088E69 /* BaseTypes.h */,
- 49951C0514B7AAD70060E96E /* BuiltInFunctionEmulator.cpp */,
- 72650936183AA3C600D28B48 /* UnfoldShortCircuitAST.cpp */,
- 72650937183AA3C600D28B48 /* UnfoldShortCircuitAST.h */,
- 72650934183AA3B200D28B48 /* ParseContext.cpp */,
- 72309A67183C2BE800370B93 /* DetectDiscontinuity.cpp */,
- 72309A68183C2BE800370B93 /* DetectDiscontinuity.h */,
- 72309A69183C2BE800370B93 /* UnfoldShortCircuit.cpp */,
- 72309A6A183C2BE800370B93 /* UnfoldShortCircuit.h */,
- 72309A6B183C2BE800370B93 /* Uniform.cpp */,
- 72309A6C183C2BE800370B93 /* Uniform.h */,
- 72650935183AA3B200D28B48 /* ParseContext.h */,
- 72650933183AA28900D28B48 /* NodeSearch.h */,
- 72650931183AA24600D28B48 /* InitializeGLPosition.cpp */,
- 72650932183AA24600D28B48 /* InitializeGLPosition.h */,
- 49951C0614B7AAD80060E96E /* BuiltInFunctionEmulator.h */,
- 72650930183AA21300D28B48 /* CodeGen.cpp */,
- FB39D2241200F35A00088E69 /* Common.h */,
- 90D9B0F912E11DCB002D4255 /* Compiler.cpp */,
- FB39D2251200F35A00088E69 /* ConstantUnion.h */,
- FB39D2261200F35A00088E69 /* debug.cpp */,
- FB39D2271200F35A00088E69 /* debug.h */,
- 5CB13FD3179DB3FD001F851D /* DetectCallDepth.h */,
- 5CB13FD2179DB3FD001F851D /* DetectCallDepth.cpp */,
- A26567B0159C21B100398539 /* Diagnostics.cpp */,
- A26567B1159C21B100398539 /* Diagnostics.h */,
- A26567B2159C21B100398539 /* DirectiveHandler.cpp */,
- A26567B3159C21B100398539 /* DirectiveHandler.h */,
- 90D9B0FA12E11DCB002D4255 /* ExtensionBehavior.h */,
- A0AABE2A13AFE81000F2EBD1 /* ForLoopUnroll.cpp */,
- A0AABE2B13AFE81000F2EBD1 /* ForLoopUnroll.h */,
- 90D9B0FE12E11DCB002D4255 /* glslang.h */,
- 72309A59183C284E00370B93 /* glslang_lex.cpp */,
- 72309A5A183C284E00370B93 /* glslang_tab.cpp */,
- 72309A5B183C284E00370B93 /* glslang_tab.h */,
- A264F8C516974E2A006FAA5A /* HashNames.h */,
- FB39D22A1200F35A00088E69 /* InfoSink.cpp */,
- FB39D22B1200F35A00088E69 /* InfoSink.h */,
- FB39D22C1200F35A00088E69 /* Initialize.cpp */,
- FB39D22D1200F35A00088E69 /* Initialize.h */,
- FB39D22E1200F35A00088E69 /* InitializeDll.cpp */,
- FB39D22F1200F35A00088E69 /* InitializeDll.h */,
- FB39D2301200F35A00088E69 /* InitializeGlobals.h */,
- A26567B4159C21B100398539 /* InitializeParseContext.cpp */,
- FB39D2311200F35A00088E69 /* InitializeParseContext.h */,
- FB39D2321200F35A00088E69 /* Intermediate.cpp */,
- FB39D2331200F35A00088E69 /* intermediate.h */,
- FB39D2341200F35A00088E69 /* intermOut.cpp */,
- FB39D2351200F35A00088E69 /* IntermTraverse.cpp */,
- FB39D2361200F35A00088E69 /* localintermediate.h */,
- A0AABE2E13AFE83000F2EBD1 /* MapLongVariableNames.cpp */,
- A0AABE2F13AFE83000F2EBD1 /* MapLongVariableNames.h */,
- FB39D2371200F35A00088E69 /* MMap.h */,
- FB39D2381200F35A00088E69 /* osinclude.h */,
- FB39D2391200F35A00088E69 /* ossource_posix.cpp */,
- FB39D23A1200F35A00088E69 /* ossource_win.cpp */,
- A0AABE4213AFE94500F2EBD1 /* OutputESSL.cpp */,
- A0AABE4313AFE94500F2EBD1 /* OutputESSL.h */,
- FB39D23B1200F35A00088E69 /* OutputGLSL.cpp */,
- FB39D23C1200F35A00088E69 /* OutputGLSL.h */,
- A0AABE3213AFE84700F2EBD1 /* OutputGLSLBase.cpp */,
- A0AABE3313AFE84700F2EBD1 /* OutputGLSLBase.h */,
- 72309A63183C2AE500370B93 /* OutputHLSL.cpp */,
- 72309A64183C2AE500370B93 /* OutputHLSL.h */,
- FB39D23F1200F35A00088E69 /* parseConst.cpp */,
- FB39D2421200F35A00088E69 /* PoolAlloc.cpp */,
- FB39D2431200F35A00088E69 /* PoolAlloc.h */,
- A26567B5159C21B100398539 /* Pragma.h */,
- FB39D2561200F35A00088E69 /* QualifierAlive.cpp */,
- FB39D2571200F35A00088E69 /* QualifierAlive.h */,
- FB39D2581200F35A00088E69 /* RemoveTree.cpp */,
- FB39D2591200F35A00088E69 /* RemoveTree.h */,
- A26567B6159C21B100398539 /* RenameFunction.h */,
- 90D9B10012E11DCB002D4255 /* SearchSymbol.cpp */,
- 90D9B10112E11DCB002D4255 /* SearchSymbol.h */,
- FB39D25A1200F35A00088E69 /* ShaderLang.cpp */,
- FB39D25B1200F35A00088E69 /* ShHandle.h */,
- FB39D25C1200F35A00088E69 /* SymbolTable.cpp */,
- FB39D25D1200F35A00088E69 /* SymbolTable.h */,
- A0AABE4613AFE96100F2EBD1 /* TranslatorESSL.cpp */,
- A0AABE4713AFE96100F2EBD1 /* TranslatorESSL.h */,
- FB39D2681200F35A00088E69 /* TranslatorGLSL.cpp */,
- FB39D2691200F35A00088E69 /* TranslatorGLSL.h */,
- 72309A5F183C2A6400370B93 /* TranslatorHLSL.cpp */,
- 72309A60183C2A6400370B93 /* TranslatorHLSL.h */,
- FB39D26C1200F35A00088E69 /* Types.h */,
- 90D9B10B12E11DD6002D4255 /* util.cpp */,
- 90D9B10C12E11DD6002D4255 /* util.h */,
- 90D9B10D12E11DD6002D4255 /* ValidateLimitations.cpp */,
- 90D9B10E12E11DD6002D4255 /* ValidateLimitations.h */,
- 90D9B10F12E11DD6002D4255 /* VariableInfo.cpp */,
- 90D9B11012E11DD6002D4255 /* VariableInfo.h */,
- A264F8C616974E2A006FAA5A /* VariablePacker.cpp */,
- A264F8C716974E2A006FAA5A /* VariablePacker.h */,
- 90D9B11112E11DD6002D4255 /* VersionGLSL.cpp */,
- 90D9B11212E11DD6002D4255 /* VersionGLSL.h */,
);
name = compiler;
path = src/compiler;
FB39D2441200F35A00088E69 /* preprocessor */ = {
isa = PBXGroup;
children = (
- 72309A57183C27F100370B93 /* ExpressionParser.cpp */,
- 72309A55183C27DB00370B93 /* Tokenizer.cpp */,
A264F89316974DED006FAA5A /* DiagnosticsBase.cpp */,
A264F89416974DED006FAA5A /* DiagnosticsBase.h */,
A264F89516974DED006FAA5A /* DirectiveHandlerBase.cpp */,
A264F89616974DED006FAA5A /* DirectiveHandlerBase.h */,
A264F89716974DED006FAA5A /* DirectiveParser.cpp */,
A264F89816974DED006FAA5A /* DirectiveParser.h */,
+ 72309A57183C27F100370B93 /* ExpressionParser.cpp */,
A264F89A16974DED006FAA5A /* ExpressionParser.h */,
A264F89B16974DED006FAA5A /* Input.cpp */,
A264F89C16974DED006FAA5A /* Input.h */,
A264F8A716974DED006FAA5A /* SourceLocation.h */,
A264F8A816974DED006FAA5A /* Token.cpp */,
A264F8A916974DED006FAA5A /* Token.h */,
+ 72309A55183C27DB00370B93 /* Tokenizer.cpp */,
A264F8AB16974DED006FAA5A /* Tokenizer.h */,
);
path = preprocessor;
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ 31012E3C18B97B9B0039062F /* InitializeParseContext.h in Headers */,
A08C3CDD16D6CB61003F0B83 /* ArrayBoundsClamper.h in Headers */,
- 49951C0A14B7AAD80060E96E /* BuiltInFunctionEmulator.h in Headers */,
- A265683A159C23E100398539 /* DependencyGraph.h in Headers */,
- A265683C159C23E100398539 /* DependencyGraphBuilder.h in Headers */,
- A265683E159C23E100398539 /* DependencyGraphOutput.h in Headers */,
- A26567BC159C21B100398539 /* Diagnostics.h in Headers */,
+ 31012E3E18B97B9B0039062F /* InitializeVariables.h in Headers */,
+ 31012E1418B97B9B0039062F /* BuiltInFunctionEmulator.h in Headers */,
+ 31012E5518B97B9B0039062F /* ParseContext.h in Headers */,
+ 31012E2C18B97B9B0039062F /* ForLoopUnroll.h in Headers */,
+ 31012E6D18B97B9B0039062F /* TranslatorGLSL.h in Headers */,
+ 31012E4618B97B9B0039062F /* MMap.h in Headers */,
+ 31012E6B18B97B9B0039062F /* TranslatorESSL.h in Headers */,
+ 31012E1618B97B9B0039062F /* Common.h in Headers */,
+ 31012E2018B97B9B0039062F /* DependencyGraphOutput.h in Headers */,
+ 31012E7C18B97B9B0039062F /* VariableInfo.h in Headers */,
+ 31012E6118B97B9B0039062F /* SearchSymbol.h in Headers */,
+ 31012E4718B97B9B0039062F /* NodeSearch.h in Headers */,
A264F8AD16974DED006FAA5A /* DiagnosticsBase.h in Headers */,
- A26567BE159C21B100398539 /* DirectiveHandler.h in Headers */,
+ 31012E4C18B97B9B0039062F /* OutputESSL.h in Headers */,
+ 31012E5F18B97B9B0039062F /* RewriteElseBlocks.h in Headers */,
A264F8AF16974DED006FAA5A /* DirectiveHandlerBase.h in Headers */,
+ 31012E7E18B97B9B0039062F /* VariablePacker.h in Headers */,
+ 31012E5018B97B9B0039062F /* OutputGLSLBase.h in Headers */,
+ 31012E4018B97B9B0039062F /* intermediate.h in Headers */,
+ 31012E2518B97B9B0039062F /* DetectDiscontinuity.h in Headers */,
+ 31012E5D18B97B9B0039062F /* RenameFunction.h in Headers */,
+ 31012E3A18B97B9B0039062F /* InitializeGlobals.h in Headers */,
+ 31012E4518B97B9B0039062F /* MapLongVariableNames.h in Headers */,
+ 31012E8018B97B9B0039062F /* VersionGLSL.h in Headers */,
+ 31012E2718B97B9B0039062F /* Diagnostics.h in Headers */,
+ 31012E3218B97B9B0039062F /* glslang_tab.h in Headers */,
A264F8B116974DED006FAA5A /* DirectiveParser.h in Headers */,
+ 31012E5818B97B9B0039062F /* Pragma.h in Headers */,
+ 31012E6518B97B9B0039062F /* SymbolTable.h in Headers */,
+ 31012E7418B97B9B0039062F /* UnfoldShortCircuitAST.h in Headers */,
+ 31012E7218B97B9B0039062F /* UnfoldShortCircuit.h in Headers */,
A264F8B316974DED006FAA5A /* ExpressionParser.h in Headers */,
- 72309A4F183C259E00370B93 /* UnfoldShortCircuitAST.h in Headers */,
- 90D9B10312E11DCB002D4255 /* ExtensionBehavior.h in Headers */,
- 72309A5E183C285300370B93 /* glslang_tab.h in Headers */,
- 72309A72183C2BE800370B93 /* Uniform.h in Headers */,
- 72309A66183C2AE500370B93 /* OutputHLSL.h in Headers */,
- A0AABE2D13AFE81000F2EBD1 /* ForLoopUnroll.h in Headers */,
- 90D9B10712E11DCB002D4255 /* glslang.h in Headers */,
- A264F8C816974E2A006FAA5A /* HashNames.h in Headers */,
- 72309A62183C2A7400370B93 /* TranslatorHLSL.h in Headers */,
+ 31012E5C18B97B9B0039062F /* RemoveTree.h in Headers */,
+ 31012E4818B97B9B0039062F /* osinclude.h in Headers */,
+ 31012E3518B97B9B0039062F /* InfoSink.h in Headers */,
+ 31012E1C18B97B9B0039062F /* DependencyGraph.h in Headers */,
+ 31012E6318B97B9B0039062F /* ShHandle.h in Headers */,
+ 31012E7018B97B9B0039062F /* Types.h in Headers */,
+ 31012E6718B97B9B0039062F /* RestrictFragmentShaderTiming.h in Headers */,
+ 31012E4318B97B9B0039062F /* localintermediate.h in Headers */,
+ 31012E7818B97B9B0039062F /* util.h in Headers */,
A264F8B516974DED006FAA5A /* Input.h in Headers */,
A264F8CD169762AA006FAA5A /* khrplatform.h in Headers */,
49951C0314B7AAB30060E96E /* length_limits.h in Headers */,
+ 31012E7618B97B9B0039062F /* Uniform.h in Headers */,
+ 31012E2318B97B9B0039062F /* DetectCallDepth.h in Headers */,
+ 31012E3918B97B9B0039062F /* InitializeDll.h in Headers */,
A264F8B716974DED006FAA5A /* Lexer.h in Headers */,
+ 31012E8418B97C860039062F /* compilerdebug.h in Headers */,
A264F8B916974DED006FAA5A /* Macro.h in Headers */,
+ 31012E5A18B97B9B0039062F /* QualifierAlive.h in Headers */,
+ 31012E5718B97B9B0039062F /* PoolAlloc.h in Headers */,
+ 31012E3718B97B9B0039062F /* Initialize.h in Headers */,
+ 31012E5218B97B9B0039062F /* OutputHLSL.h in Headers */,
+ 31012E1A18B97B9B0039062F /* ConstantUnion.h in Headers */,
A264F8BB16974DED006FAA5A /* MacroExpander.h in Headers */,
- 72309A54183C25AD00370B93 /* InitializeGLPosition.h in Headers */,
- A0AABE3113AFE83000F2EBD1 /* MapLongVariableNames.h in Headers */,
+ 31012E2D18B97B9B0039062F /* glslang.h in Headers */,
A264F8BC16974DED006FAA5A /* numeric_lex.h in Headers */,
- A0AABE4513AFE94500F2EBD1 /* OutputESSL.h in Headers */,
- 72309A70183C2BE800370B93 /* UnfoldShortCircuit.h in Headers */,
- A0AABE3513AFE84700F2EBD1 /* OutputGLSLBase.h in Headers */,
+ 31012E6918B97B9B0039062F /* RestrictVertexShaderTiming.h in Headers */,
A264F8BD16974DED006FAA5A /* pp_utils.h in Headers */,
- A26567C0159C21B100398539 /* Pragma.h in Headers */,
+ 31012E2A18B97B9B0039062F /* ExtensionBehavior.h in Headers */,
+ 31012E6F18B97B9B0039062F /* TranslatorHLSL.h in Headers */,
A264F8BF16974DED006FAA5A /* Preprocessor.h in Headers */,
- A26567C1159C21B100398539 /* RenameFunction.h in Headers */,
- 72309A52183C25A700370B93 /* NodeSearch.h in Headers */,
- A2656841159C23E100398539 /* RestrictFragmentShaderTiming.h in Headers */,
- 72309A6E183C2BE800370B93 /* DetectDiscontinuity.h in Headers */,
- A2656843159C23E100398539 /* RestrictVertexShaderTiming.h in Headers */,
- 90D9B10A12E11DCB002D4255 /* SearchSymbol.h in Headers */,
FB39D76E120110FC00088E69 /* ShaderLang.h in Headers */,
A264F8C016974DED006FAA5A /* SourceLocation.h in Headers */,
+ 31012E4E18B97B9B0039062F /* OutputGLSL.h in Headers */,
+ 31012E1E18B97B9B0039062F /* DependencyGraphBuilder.h in Headers */,
+ 31012E7A18B97B9B0039062F /* ValidateLimitations.h in Headers */,
+ 31012E3318B97B9B0039062F /* HashNames.h in Headers */,
A264F8C216974DED006FAA5A /* Token.h in Headers */,
+ 31012E2918B97B9B0039062F /* DirectiveHandler.h in Headers */,
+ 31012E1218B97B9B0039062F /* BaseTypes.h in Headers */,
A264F8C416974DED006FAA5A /* Tokenizer.h in Headers */,
- A0AABE4913AFE96100F2EBD1 /* TranslatorESSL.h in Headers */,
- 90D9B11412E11DD6002D4255 /* util.h in Headers */,
- 90D9B11612E11DD6002D4255 /* ValidateLimitations.h in Headers */,
- 72309A51183C25A500370B93 /* ParseContext.h in Headers */,
- 90D9B11812E11DD6002D4255 /* VariableInfo.h in Headers */,
- A264F8CA16974E2A006FAA5A /* VariablePacker.h in Headers */,
- 90D9B11A12E11DD6002D4255 /* VersionGLSL.h in Headers */,
- 5CB13FD5179DB3FD001F851D /* DetectCallDepth.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 31012E2618B97B9B0039062F /* Diagnostics.cpp in Sources */,
+ 31012E3D18B97B9B0039062F /* InitializeVariables.cpp in Sources */,
+ 31012E7F18B97B9B0039062F /* VersionGLSL.cpp in Sources */,
A08C3CDC16D6CB61003F0B83 /* ArrayBoundsClamper.cpp in Sources */,
- 49951C0914B7AAD80060E96E /* BuiltInFunctionEmulator.cpp in Sources */,
- 72309A5D183C285300370B93 /* glslang_tab.cpp in Sources */,
- 90D9B10212E11DCB002D4255 /* Compiler.cpp in Sources */,
- FB39D2751200F35A00088E69 /* debug.cpp in Sources */,
- A2656839159C23E100398539 /* DependencyGraph.cpp in Sources */,
- A265683B159C23E100398539 /* DependencyGraphBuilder.cpp in Sources */,
- A265683D159C23E100398539 /* DependencyGraphOutput.cpp in Sources */,
- A265683F159C23E100398539 /* DependencyGraphTraverse.cpp in Sources */,
- A26567BB159C21B100398539 /* Diagnostics.cpp in Sources */,
72309A56183C27DE00370B93 /* Tokenizer.cpp in Sources */,
- 72309A50183C25A100370B93 /* ParseContext.cpp in Sources */,
- 72309A71183C2BE800370B93 /* Uniform.cpp in Sources */,
+ 31012E6C18B97B9B0039062F /* TranslatorGLSL.cpp in Sources */,
A264F8AC16974DED006FAA5A /* DiagnosticsBase.cpp in Sources */,
- A26567BD159C21B100398539 /* DirectiveHandler.cpp in Sources */,
+ 31012E1518B97B9B0039062F /* CodeGen.cpp in Sources */,
+ 31012E3F18B97B9B0039062F /* Intermediate.cpp in Sources */,
+ 31012E3B18B97B9B0039062F /* InitializeParseContext.cpp in Sources */,
+ 31012E3118B97B9B0039062F /* glslang_tab.cpp in Sources */,
+ 31012E2118B97B9B0039062F /* DependencyGraphTraverse.cpp in Sources */,
+ 31012E5E18B97B9B0039062F /* RewriteElseBlocks.cpp in Sources */,
+ 31012E5418B97B9B0039062F /* ParseContext.cpp in Sources */,
A264F8AE16974DED006FAA5A /* DirectiveHandlerBase.cpp in Sources */,
+ 31012E7518B97B9B0039062F /* Uniform.cpp in Sources */,
+ 31012E4D18B97B9B0039062F /* OutputGLSL.cpp in Sources */,
+ 31012E3018B97B9B0039062F /* glslang_lex.cpp in Sources */,
+ 31012E4118B97B9B0039062F /* intermOut.cpp in Sources */,
+ 31012E6E18B97B9B0039062F /* TranslatorHLSL.cpp in Sources */,
A264F8B016974DED006FAA5A /* DirectiveParser.cpp in Sources */,
- A0AABE2C13AFE81000F2EBD1 /* ForLoopUnroll.cpp in Sources */,
- FB39D2791200F35A00088E69 /* InfoSink.cpp in Sources */,
- 72309A61183C2A7400370B93 /* TranslatorHLSL.cpp in Sources */,
- FB39D27B1200F35A00088E69 /* Initialize.cpp in Sources */,
- FB39D27D1200F35A00088E69 /* InitializeDll.cpp in Sources */,
+ 31012E4918B97B9B0039062F /* ossource_posix.cpp in Sources */,
+ 31012E4218B97B9B0039062F /* IntermTraverse.cpp in Sources */,
+ 31012E6018B97B9B0039062F /* SearchSymbol.cpp in Sources */,
72309A58183C27F300370B93 /* ExpressionParser.cpp in Sources */,
- A26567BF159C21B100398539 /* InitializeParseContext.cpp in Sources */,
+ 31012E2818B97B9B0039062F /* DirectiveHandler.cpp in Sources */,
+ 31012E5918B97B9B0039062F /* QualifierAlive.cpp in Sources */,
+ 31012E7118B97B9B0039062F /* UnfoldShortCircuit.cpp in Sources */,
+ 31012E6418B97B9B0039062F /* SymbolTable.cpp in Sources */,
A264F8B416974DED006FAA5A /* Input.cpp in Sources */,
- FB39D2811200F35A00088E69 /* Intermediate.cpp in Sources */,
- FB39D2831200F35A00088E69 /* intermOut.cpp in Sources */,
- FB39D2841200F35A00088E69 /* IntermTraverse.cpp in Sources */,
A264F8B616974DED006FAA5A /* Lexer.cpp in Sources */,
+ 31012E6218B97B9B0039062F /* ShaderLang.cpp in Sources */,
+ 31012E3818B97B9B0039062F /* InitializeDll.cpp in Sources */,
A264F8B816974DED006FAA5A /* Macro.cpp in Sources */,
+ 31012E5B18B97B9B0039062F /* RemoveTree.cpp in Sources */,
A264F8BA16974DED006FAA5A /* MacroExpander.cpp in Sources */,
- A0AABE3013AFE83000F2EBD1 /* MapLongVariableNames.cpp in Sources */,
- FB39D2881200F35A00088E69 /* ossource_posix.cpp in Sources */,
- A0AABE4413AFE94500F2EBD1 /* OutputESSL.cpp in Sources */,
- FB39D28A1200F35A00088E69 /* OutputGLSL.cpp in Sources */,
- A0AABE3413AFE84700F2EBD1 /* OutputGLSLBase.cpp in Sources */,
- FB39D28E1200F35A00088E69 /* parseConst.cpp in Sources */,
- 72309A65183C2AE500370B93 /* OutputHLSL.cpp in Sources */,
- FB39D2911200F35A00088E69 /* PoolAlloc.cpp in Sources */,
- 72309A53183C25AA00370B93 /* InitializeGLPosition.cpp in Sources */,
- 72309A6D183C2BE800370B93 /* DetectDiscontinuity.cpp in Sources */,
- 72309A6F183C2BE800370B93 /* UnfoldShortCircuit.cpp in Sources */,
- 72309A5C183C285300370B93 /* glslang_lex.cpp in Sources */,
+ 31012E7318B97B9B0039062F /* UnfoldShortCircuitAST.cpp in Sources */,
+ 31012E2418B97B9B0039062F /* DetectDiscontinuity.cpp in Sources */,
+ 31012E6818B97B9B0039062F /* RestrictVertexShaderTiming.cpp in Sources */,
+ 31012E1318B97B9B0039062F /* BuiltInFunctionEmulator.cpp in Sources */,
+ 31012E3418B97B9B0039062F /* InfoSink.cpp in Sources */,
+ 31012E5318B97B9B0039062F /* parseConst.cpp in Sources */,
+ 31012E4418B97B9B0039062F /* MapLongVariableNames.cpp in Sources */,
+ 31012E5618B97B9B0039062F /* PoolAlloc.cpp in Sources */,
+ 31012E6618B97B9B0039062F /* RestrictFragmentShaderTiming.cpp in Sources */,
+ 31012E7918B97B9B0039062F /* ValidateLimitations.cpp in Sources */,
+ 31012E8318B97C860039062F /* compilerdebug.cpp in Sources */,
+ 31012E7718B97B9B0039062F /* util.cpp in Sources */,
+ 31012E5118B97B9B0039062F /* OutputHLSL.cpp in Sources */,
+ 31012E3618B97B9B0039062F /* Initialize.cpp in Sources */,
+ 31012E7B18B97B9B0039062F /* VariableInfo.cpp in Sources */,
+ 31012E1D18B97B9B0039062F /* DependencyGraphBuilder.cpp in Sources */,
+ 31012E7D18B97B9B0039062F /* VariablePacker.cpp in Sources */,
+ 31012E1F18B97B9B0039062F /* DependencyGraphOutput.cpp in Sources */,
+ 31012E4B18B97B9B0039062F /* OutputESSL.cpp in Sources */,
A264F8BE16974DED006FAA5A /* Preprocessor.cpp in Sources */,
- 72309A4D183C259300370B93 /* CodeGen.cpp in Sources */,
- FB39D2A41200F35A00088E69 /* QualifierAlive.cpp in Sources */,
- FB39D2A61200F35A00088E69 /* RemoveTree.cpp in Sources */,
- A2656840159C23E100398539 /* RestrictFragmentShaderTiming.cpp in Sources */,
- A2656842159C23E100398539 /* RestrictVertexShaderTiming.cpp in Sources */,
- 90D9B10912E11DCB002D4255 /* SearchSymbol.cpp in Sources */,
- FB39D2A81200F35A00088E69 /* ShaderLang.cpp in Sources */,
- FB39D2AA1200F35A00088E69 /* SymbolTable.cpp in Sources */,
+ 31012E2B18B97B9B0039062F /* ForLoopUnroll.cpp in Sources */,
+ 31012E2218B97B9B0039062F /* DetectCallDepth.cpp in Sources */,
+ 31012E1718B97B9B0039062F /* Compiler.cpp in Sources */,
+ 31012E6A18B97B9B0039062F /* TranslatorESSL.cpp in Sources */,
+ 31012E4F18B97B9B0039062F /* OutputGLSLBase.cpp in Sources */,
+ 31012E1B18B97B9B0039062F /* DependencyGraph.cpp in Sources */,
A264F8C116974DED006FAA5A /* Token.cpp in Sources */,
- A0AABE4813AFE96100F2EBD1 /* TranslatorESSL.cpp in Sources */,
- FB39D2AC1200F35A00088E69 /* TranslatorGLSL.cpp in Sources */,
- 90D9B11312E11DD6002D4255 /* util.cpp in Sources */,
- 90D9B11512E11DD6002D4255 /* ValidateLimitations.cpp in Sources */,
- 90D9B11712E11DD6002D4255 /* VariableInfo.cpp in Sources */,
- A264F8C916974E2A006FAA5A /* VariablePacker.cpp in Sources */,
- 90D9B11912E11DD6002D4255 /* VersionGLSL.cpp in Sources */,
- 5CB13FD4179DB3FD001F851D /* DetectCallDepth.cpp in Sources */,
- 72309A4E183C259C00370B93 /* UnfoldShortCircuitAST.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
+2014-02-23 Dean Jackson <dino@apple.com>
+
+ Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
+ https://bugs.webkit.org/show_bug.cgi?id=129232
+
+ Reviewed by Brent Fulgham.
+
+ I also reapplied some of our changes from previous updates, including disabling the clang deprecation
+ warnings in some files, adding the Apple note about license and defining YY_NO_INPUT.
+
+ Huge list of source changes omitted.
+
2013-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
-I$(srcdir)/Source/ThirdParty/ANGLE/include/KHR
-nodist_libANGLE_la_SOURCES = \
- DerivedSources/ANGLE/glslang.cpp \
- DerivedSources/ANGLE/glslang_tab.cpp \
- DerivedSources/ANGLE/glslang_tab.h
-
libANGLE_la_SOURCES = \
Source/ThirdParty/ANGLE/include/EGL/egl.h \
Source/ThirdParty/ANGLE/include/EGL/eglext.h \
Source/ThirdParty/ANGLE/include/GLSLANG/ShaderLang.h \
Source/ThirdParty/ANGLE/include/KHR/khrplatform.h \
Source/ThirdParty/ANGLE/src/common/angleutils.h \
- Source/ThirdParty/ANGLE/src/compiler/BaseTypes.h \
- Source/ThirdParty/ANGLE/src/compiler/BuiltInFunctionEmulator.cpp \
- Source/ThirdParty/ANGLE/src/compiler/BuiltInFunctionEmulator.h \
- Source/ThirdParty/ANGLE/src/compiler/CodeGen.cpp \
- Source/ThirdParty/ANGLE/src/compiler/Common.h \
- Source/ThirdParty/ANGLE/src/compiler/Compiler.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ConstantUnion.h \
- Source/ThirdParty/ANGLE/src/compiler/debug.cpp \
- Source/ThirdParty/ANGLE/src/compiler/debug.h \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraphBuilder.cpp \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraphBuilder.h \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraph.cpp \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraph.h \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraphOutput.cpp \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraphOutput.h \
- Source/ThirdParty/ANGLE/src/compiler/depgraph/DependencyGraphTraverse.cpp \
- Source/ThirdParty/ANGLE/src/compiler/DetectCallDepth.cpp \
- Source/ThirdParty/ANGLE/src/compiler/DetectCallDepth.h \
- Source/ThirdParty/ANGLE/src/compiler/Diagnostics.cpp \
- Source/ThirdParty/ANGLE/src/compiler/Diagnostics.h \
- Source/ThirdParty/ANGLE/src/compiler/DirectiveHandler.cpp \
- Source/ThirdParty/ANGLE/src/compiler/DirectiveHandler.h \
- Source/ThirdParty/ANGLE/src/compiler/DetectDiscontinuity.cpp \
- Source/ThirdParty/ANGLE/src/compiler/DetectDiscontinuity.h \
- Source/ThirdParty/ANGLE/src/compiler/ExtensionBehavior.h \
- Source/ThirdParty/ANGLE/src/compiler/ForLoopUnroll.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ForLoopUnroll.h \
- Source/ThirdParty/ANGLE/src/compiler/glslang.h \
- Source/ThirdParty/ANGLE/src/compiler/HashNames.h \
- Source/ThirdParty/ANGLE/src/compiler/InfoSink.cpp \
- Source/ThirdParty/ANGLE/src/compiler/InfoSink.h \
- Source/ThirdParty/ANGLE/src/compiler/Initialize.cpp \
- Source/ThirdParty/ANGLE/src/compiler/InitializeDll.cpp \
- Source/ThirdParty/ANGLE/src/compiler/InitializeDll.h \
- Source/ThirdParty/ANGLE/src/compiler/InitializeGlobals.h \
- Source/ThirdParty/ANGLE/src/compiler/InitializeGLPosition.cpp \
- Source/ThirdParty/ANGLE/src/compiler/InitializeGLPosition.h \
- Source/ThirdParty/ANGLE/src/compiler/Initialize.h \
- Source/ThirdParty/ANGLE/src/compiler/InitializeParseContext.cpp \
- Source/ThirdParty/ANGLE/src/compiler/InitializeParseContext.h \
- Source/ThirdParty/ANGLE/src/compiler/Intermediate.cpp \
- Source/ThirdParty/ANGLE/src/compiler/intermediate.h \
- Source/ThirdParty/ANGLE/src/compiler/intermOut.cpp \
- Source/ThirdParty/ANGLE/src/compiler/IntermTraverse.cpp \
- Source/ThirdParty/ANGLE/src/compiler/localintermediate.h \
- Source/ThirdParty/ANGLE/src/compiler/MapLongVariableNames.cpp \
- Source/ThirdParty/ANGLE/src/compiler/MapLongVariableNames.h \
- Source/ThirdParty/ANGLE/src/compiler/MMap.h \
- Source/ThirdParty/ANGLE/src/compiler/NodeSearch.h \
- Source/ThirdParty/ANGLE/src/compiler/osinclude.h \
- Source/ThirdParty/ANGLE/src/compiler/ossource_posix.cpp \
- Source/ThirdParty/ANGLE/src/compiler/OutputESSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/OutputESSL.h \
- Source/ThirdParty/ANGLE/src/compiler/OutputGLSLBase.cpp \
- Source/ThirdParty/ANGLE/src/compiler/OutputGLSLBase.h \
- Source/ThirdParty/ANGLE/src/compiler/OutputGLSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/OutputGLSL.h \
- Source/ThirdParty/ANGLE/src/compiler/OutputHLSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/OutputHLSL.h \
- Source/ThirdParty/ANGLE/src/compiler/parseConst.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ParseContext.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ParseContext.h \
- Source/ThirdParty/ANGLE/src/compiler/PoolAlloc.cpp \
- Source/ThirdParty/ANGLE/src/compiler/PoolAlloc.h \
- Source/ThirdParty/ANGLE/src/compiler/Pragma.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/BaseTypes.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/BuiltInFunctionEmulator.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/BuiltInFunctionEmulator.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/CodeGen.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Common.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Compiler.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ConstantUnion.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/compilerdebug.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/compilerdebug.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraphBuilder.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraphBuilder.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraph.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraph.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraphOutput.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraphOutput.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/depgraph/DependencyGraphTraverse.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DetectCallDepth.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DetectCallDepth.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Diagnostics.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Diagnostics.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DirectiveHandler.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DirectiveHandler.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DetectDiscontinuity.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/DetectDiscontinuity.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ExtensionBehavior.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ForLoopUnroll.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ForLoopUnroll.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/glslang.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/glslang_lex.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/glslang_tab.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/glslang_tab.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/HashNames.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InfoSink.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InfoSink.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Initialize.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Initialize.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeDll.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeDll.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeGlobals.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeParseContext.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeParseContext.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeVariables.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/InitializeVariables.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Intermediate.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/intermediate.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/intermOut.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/IntermTraverse.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/localintermediate.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/MapLongVariableNames.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/MapLongVariableNames.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/MMap.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/NodeSearch.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/osinclude.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ossource_posix.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputESSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputESSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputGLSLBase.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputGLSLBase.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputGLSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputGLSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputHLSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/OutputHLSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/parseConst.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/PoolAlloc.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/PoolAlloc.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Pragma.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/QualifierAlive.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/QualifierAlive.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/RemoveTree.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/RemoveTree.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/RenameFunction.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/RewriteElseBlocks.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/RewriteElseBlocks.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/SearchSymbol.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/SearchSymbol.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ShaderLang.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ShHandle.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/SymbolTable.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/SymbolTable.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/timing/RestrictFragmentShaderTiming.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/timing/RestrictVertexShaderTiming.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/timing/RestrictVertexShaderTiming.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorESSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorESSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorGLSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorGLSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorHLSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorHLSL.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Types.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/UnfoldShortCircuitAST.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/UnfoldShortCircuitAST.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/UnfoldShortCircuit.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/UnfoldShortCircuit.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Uniform.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/Uniform.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/util.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/util.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ValidateLimitations.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/ValidateLimitations.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VariableInfo.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VariableInfo.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VariablePacker.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VariablePacker.h \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VersionGLSL.cpp \
+ Source/ThirdParty/ANGLE/src/compiler/translator/VersionGLSL.h \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/DiagnosticsBase.cpp \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/DiagnosticsBase.h \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/DirectiveHandlerBase.cpp \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/Token.h \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.cpp \
Source/ThirdParty/ANGLE/src/compiler/preprocessor/Tokenizer.h \
- Source/ThirdParty/ANGLE/src/compiler/QualifierAlive.cpp \
- Source/ThirdParty/ANGLE/src/compiler/QualifierAlive.h \
- Source/ThirdParty/ANGLE/src/compiler/RemoveTree.cpp \
- Source/ThirdParty/ANGLE/src/compiler/RemoveTree.h \
- Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h \
- Source/ThirdParty/ANGLE/src/compiler/SearchSymbol.cpp \
- Source/ThirdParty/ANGLE/src/compiler/SearchSymbol.h \
- Source/ThirdParty/ANGLE/src/compiler/ShaderLang.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ShHandle.h \
- Source/ThirdParty/ANGLE/src/compiler/SymbolTable.cpp \
- Source/ThirdParty/ANGLE/src/compiler/SymbolTable.h \
- Source/ThirdParty/ANGLE/src/compiler/timing/RestrictFragmentShaderTiming.cpp \
- Source/ThirdParty/ANGLE/src/compiler/timing/RestrictFragmentShaderTiming.h \
- Source/ThirdParty/ANGLE/src/compiler/timing/RestrictVertexShaderTiming.cpp \
- Source/ThirdParty/ANGLE/src/compiler/timing/RestrictVertexShaderTiming.h \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorESSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorESSL.h \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorGLSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorGLSL.h \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorHLSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/TranslatorHLSL.h \
- Source/ThirdParty/ANGLE/src/compiler/Types.h \
- Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.cpp \
- Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h \
- Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuit.cpp \
- Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuit.h \
- Source/ThirdParty/ANGLE/src/compiler/Uniform.cpp \
- Source/ThirdParty/ANGLE/src/compiler/Uniform.h \
- Source/ThirdParty/ANGLE/src/compiler/util.cpp \
- Source/ThirdParty/ANGLE/src/compiler/util.h \
- Source/ThirdParty/ANGLE/src/compiler/ValidateLimitations.cpp \
- Source/ThirdParty/ANGLE/src/compiler/ValidateLimitations.h \
- Source/ThirdParty/ANGLE/src/compiler/VariableInfo.cpp \
- Source/ThirdParty/ANGLE/src/compiler/VariableInfo.h \
- Source/ThirdParty/ANGLE/src/compiler/VariablePacker.cpp \
- Source/ThirdParty/ANGLE/src/compiler/VariablePacker.h \
- Source/ThirdParty/ANGLE/src/compiler/VersionGLSL.cpp \
- Source/ThirdParty/ANGLE/src/compiler/VersionGLSL.h \
Source/ThirdParty/ANGLE/src/third_party/compiler/ArrayBoundsClamper.cpp \
Source/ThirdParty/ANGLE/src/third_party/compiler/ArrayBoundsClamper.h
// This flag limits the depth of the call stack.
SH_LIMIT_CALL_STACK_DEPTH = 0x4000,
- // This flag initializes gl_Position to vec4(0.0, 0.0, 0.0, 1.0) at
- // the beginning of the vertex shader, and has no effect in the
+ // This flag initializes gl_Position to vec4(0,0,0,0) at the
+ // beginning of the vertex shader's main(), and has no effect in the
// fragment shader. It is intended as a workaround for drivers which
// incorrectly fail to link programs if gl_Position is not written.
SH_INIT_GL_POSITION = 0x8000,
// This is to work around a MacOSX driver bug that |b| is executed
// independent of |a|'s value.
SH_UNFOLD_SHORT_CIRCUIT = 0x10000,
+
+ // This flag initializes varyings without static use in vertex shader
+ // at the beginning of main(), and has no effects in the fragment shader.
+ // It is intended as a workaround for drivers which incorrectly optimize
+ // out such varyings and cause a link failure.
+ SH_INIT_VARYINGS_WITHOUT_STATIC_USE = 0x20000,
} ShCompileOptions;
// Defines alternate strategies for implementing array index clamping.
-#include "precompiled.h"
//
// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
}
}
+template <typename T>
+void SafeDelete(T*& resource)
+{
+ delete resource;
+ resource = NULL;
+}
+
+template <typename T>
+void SafeDeleteArray(T*& resource)
+{
+ delete[] resource;
+ resource = NULL;
+}
+
#if defined(_MSC_VER)
#define snprintf _snprintf
#endif
// debug.cpp: Debugging utilities.
#include "common/debug.h"
-#include "common/system.h"
+#include <stdarg.h>
+
+#if defined(ANGLE_ENABLE_PERF)
#include <d3d9.h>
+#endif
namespace gl
{
-
+#if defined(ANGLE_ENABLE_PERF)
typedef void (WINAPI *PerfOutputFunction)(D3DCOLOR, LPCWSTR);
+#else
+typedef void (*PerfOutputFunction)(unsigned int, const wchar_t*);
+#endif
static void output(bool traceFileDebugOnly, PerfOutputFunction perfFunc, const char *format, va_list vararg)
{
-#if !defined(ANGLE_DISABLE_PERF)
+#if defined(ANGLE_ENABLE_PERF)
if (perfActive())
{
char message[32768];
perfFunc(0, wideMessage);
}
-#endif
+#endif // ANGLE_ENABLE_PERF
-#if !defined(ANGLE_DISABLE_TRACE)
+#if defined(ANGLE_ENABLE_TRACE)
#if defined(NDEBUG)
if (traceFileDebugOnly)
{
return;
}
-#endif
+#endif // NDEBUG
FILE* file = fopen(TRACE_OUTPUT_FILE, "a");
if (file)
vfprintf(file, format, vararg);
fclose(file);
}
-#endif
+#endif // ANGLE_ENABLE_TRACE
}
void trace(bool traceFileDebugOnly, const char *format, ...)
{
va_list vararg;
va_start(vararg, format);
-#if defined(ANGLE_DISABLE_PERF)
- output(traceFileDebugOnly, NULL, format, vararg);
-#else
+#if defined(ANGLE_ENABLE_PERF)
output(traceFileDebugOnly, D3DPERF_SetMarker, format, vararg);
+#else
+ output(traceFileDebugOnly, NULL, format, vararg);
#endif
va_end(vararg);
}
bool perfActive()
{
-#if defined(ANGLE_DISABLE_PERF)
- return false;
-#else
+#if defined(ANGLE_ENABLE_PERF)
static bool active = D3DPERF_GetStatus() != 0;
return active;
+#else
+ return false;
#endif
}
ScopedPerfEventHelper::ScopedPerfEventHelper(const char* format, ...)
{
-#if !defined(ANGLE_DISABLE_PERF)
-#if defined(ANGLE_DISABLE_TRACE)
+#if defined(ANGLE_ENABLE_PERF)
+#if !defined(ANGLE_ENABLE_TRACE)
if (!perfActive())
{
return;
}
-#endif
+#endif // !ANGLE_ENABLE_TRACE
va_list vararg;
va_start(vararg, format);
output(true, reinterpret_cast<PerfOutputFunction>(D3DPERF_BeginEvent), format, vararg);
va_end(vararg);
-#endif
+#endif // ANGLE_ENABLE_PERF
}
ScopedPerfEventHelper::~ScopedPerfEventHelper()
{
-#if !defined(ANGLE_DISABLE_PERF)
+#if defined(ANGLE_ENABLE_PERF)
if (perfActive())
{
D3DPERF_EndEvent();
}
// A macro to output a trace of a function call and its arguments to the debugging log
-#if defined(ANGLE_DISABLE_TRACE) && defined(ANGLE_DISABLE_PERF)
-#define TRACE(message, ...) (void(0))
-#else
+#if defined(ANGLE_ENABLE_TRACE) || defined(ANGLE_ENABLE_PERF)
#define TRACE(message, ...) gl::trace(true, "trace: %s(%d): " message "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
+#else
+#define TRACE(message, ...) (void(0))
#endif
// A macro to output a function call and its arguments to the debugging log, to denote an item in need of fixing.
-#if defined(ANGLE_DISABLE_TRACE) && defined(ANGLE_DISABLE_PERF)
-#define FIXME(message, ...) (void(0))
-#else
+#if defined(ANGLE_ENABLE_TRACE) || defined(ANGLE_ENABLE_PERF)
#define FIXME(message, ...) gl::trace(false, "fixme: %s(%d): " message "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
+#else
+#define FIXME(message, ...) (void(0))
#endif
// A macro to output a function call and its arguments to the debugging log, in case of error.
-#if defined(ANGLE_DISABLE_TRACE) && defined(ANGLE_DISABLE_PERF)
-#define ERR(message, ...) (void(0))
-#else
+#if defined(ANGLE_ENABLE_TRACE) || defined(ANGLE_ENABLE_PERF)
#define ERR(message, ...) gl::trace(false, "err: %s(%d): " message "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
+#else
+#define ERR(message, ...) (void(0))
#endif
// A macro to log a performance event around a scope.
-#if defined(ANGLE_DISABLE_TRACE) && defined(ANGLE_DISABLE_PERF)
-#define EVENT(message, ...) (void(0))
-#elif defined(_MSC_VER)
+#if defined(ANGLE_ENABLE_TRACE) || defined(ANGLE_ENABLE_PERF)
+#if defined(_MSC_VER)
#define EVENT(message, ...) gl::ScopedPerfEventHelper scopedPerfEventHelper ## __LINE__(__FUNCTION__ message "\n", __VA_ARGS__);
#else
#define EVENT(message, ...) gl::ScopedPerfEventHelper scopedPerfEventHelper(message "\n", ##__VA_ARGS__);
+#endif // _MSC_VER
+#else
+#define EVENT(message, ...) (void(0))
#endif
// A macro asserting a condition and outputting failures to the debug log
extern "C" {
-void __stdcall SetTraceFunctionPointers(GetCategoryEnabledFlagFunc getCategoryEnabledFlag,
+void TRACE_ENTRY SetTraceFunctionPointers(GetCategoryEnabledFlagFunc getCategoryEnabledFlag,
AddTraceEventFunc addTraceEvent)
{
gl::g_getCategoryEnabledFlag = getCategoryEnabledFlag;
#ifndef COMMON_EVENT_TRACER_H_
#define COMMON_EVENT_TRACER_H_
+#if !defined(TRACE_ENTRY)
+#if defined(_WIN32)
+#define TRACE_ENTRY __stdcall
+#else
+#define TRACE_ENTRY
+#endif // // _WIN32
+#endif //TRACE_ENTRY
+
extern "C" {
typedef const unsigned char* (*GetCategoryEnabledFlagFunc)(const char* name);
unsigned char flags);
// extern "C" so that it has a reasonable name for GetProcAddress.
-void __stdcall SetTraceFunctionPointers(GetCategoryEnabledFlagFunc get_category_enabled_flag,
- AddTraceEventFunc add_trace_event_func);
+void TRACE_ENTRY SetTraceFunctionPointers(GetCategoryEnabledFlagFunc get_category_enabled_flag,
+ AddTraceEventFunc add_trace_event_func);
}
-#define MAJOR_VERSION 1
-#define MINOR_VERSION 2
-#define BUILD_VERSION 0
-#define BUILD_REVISION 2450
+#include "commit.h"
-#define STRINGIFY(x) #x
-#define MACRO_STRINGIFY(x) STRINGIFY(x)
+#define ANGLE_MAJOR_VERSION 1
+#define ANGLE_MINOR_VERSION 3
-#define REVISION_STRING MACRO_STRINGIFY(BUILD_REVISION)
-#define VERSION_STRING MACRO_STRINGIFY(MAJOR_VERSION) "." MACRO_STRINGIFY(MINOR_VERSION) "." MACRO_STRINGIFY(BUILD_VERSION) "." MACRO_STRINGIFY(BUILD_REVISION)
+#define ANGLE_STRINGIFY(x) #x
+#define ANGLE_MACRO_STRINGIFY(x) ANGLE_STRINGIFY(x)
-#define VERSION_DWORD ((MAJOR_VERSION << 24) | (MINOR_VERSION << 16) | BUILD_REVISION)
+#define ANGLE_VERSION_STRING \
+ ANGLE_MACRO_STRINGIFY(ANGLE_MAJOR_VERSION) "." \
+ ANGLE_MACRO_STRINGIFY(ANGLE_MINOR_VERSION) "." \
+ ANGLE_COMMIT_HASH
+++ /dev/null
---- a/src/compiler/glslang_lex.cpp
-+++ b/src/compiler/glslang_lex.cpp
-@@ -68,6 +68,7 @@ typedef int16_t flex_int16_t;
- typedef uint16_t flex_uint16_t;
- typedef int32_t flex_int32_t;
- typedef uint32_t flex_uint32_t;
-+typedef uint64_t flex_uint64_t;
- #else
- typedef signed char flex_int8_t;
- typedef short int flex_int16_t;
-@@ -191,6 +192,11 @@ typedef void* yyscan_t;
- typedef struct yy_buffer_state *YY_BUFFER_STATE;
- #endif
-
-+#ifndef YY_TYPEDEF_YY_SIZE_T
-+#define YY_TYPEDEF_YY_SIZE_T
-+typedef size_t yy_size_t;
-+#endif
-+
- #define EOB_ACT_CONTINUE_SCAN 0
- #define EOB_ACT_END_OF_FILE 1
- #define EOB_ACT_LAST_MATCH 2
-@@ -204,7 +210,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
- */
- #define YY_LESS_LINENO(n) \
- do { \
-- int yyl;\
-+ yy_size_t yyl;\
- for ( yyl = n; yyl < yyleng; ++yyl )\
- if ( yytext[yyl] == '\n' )\
- --yylineno;\
-@@ -226,11 +232,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
-
- #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
-
--#ifndef YY_TYPEDEF_YY_SIZE_T
--#define YY_TYPEDEF_YY_SIZE_T
--typedef size_t yy_size_t;
--#endif
--
- #ifndef YY_STRUCT_YY_BUFFER_STATE
- #define YY_STRUCT_YY_BUFFER_STATE
- struct yy_buffer_state
-@@ -248,7 +249,7 @@ struct yy_buffer_state
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
-- int yy_n_chars;
-+ yy_size_t yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
-@@ -327,7 +328,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
-
- YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
- YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
--YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
-+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
-
- void *yyalloc (yy_size_t ,yyscan_t yyscanner );
- void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-@@ -378,7 +379,7 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
- */
- #define YY_DO_BEFORE_ACTION \
- yyg->yytext_ptr = yy_bp; \
-- yyleng = (size_t) (yy_cp - yy_bp); \
-+ yyleng = (yy_size_t) (yy_cp - yy_bp); \
- yyg->yy_hold_char = *yy_cp; \
- *yy_cp = '\0'; \
- yyg->yy_c_buf_p = yy_cp;
-@@ -1035,8 +1036,8 @@ struct yyguts_t
- size_t yy_buffer_stack_max; /**< capacity of stack. */
- YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
- char yy_hold_char;
-- int yy_n_chars;
-- int yyleng_r;
-+ yy_size_t yy_n_chars;
-+ yy_size_t yyleng_r;
- char *yy_c_buf_p;
- int yy_init;
- int yy_start;
-@@ -1089,7 +1090,7 @@ FILE *yyget_out (yyscan_t yyscanner );
-
- void yyset_out (FILE * out_str ,yyscan_t yyscanner );
-
--int yyget_leng (yyscan_t yyscanner );
-+yy_size_t yyget_leng (yyscan_t yyscanner );
-
- char *yyget_text (yyscan_t yyscanner );
-
-@@ -1158,7 +1159,7 @@ static int input (yyscan_t yyscanner );
- if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
- { \
- int c = '*'; \
-- int n; \
-+ yy_size_t n; \
- for ( n = 0; n < max_size && \
- (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
- buf[n] = (char) c; \
-@@ -1317,7 +1318,7 @@ yy_find_action:
-
- if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
- {
-- int yyl;
-+ yy_size_t yyl;
- for ( yyl = 0; yyl < yyleng; ++yyl )
- if ( yytext[yyl] == '\n' )
-
-@@ -2203,7 +2204,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- else
- {
-- int num_to_read =
-+ yy_size_t num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
-@@ -2217,7 +2218,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- if ( b->yy_is_our_buffer )
- {
-- int new_size = b->yy_buf_size * 2;
-+ yy_size_t new_size = b->yy_buf_size * 2;
-
- if ( new_size <= 0 )
- b->yy_buf_size += b->yy_buf_size / 8;
-@@ -2248,7 +2249,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- /* Read in more data. */
- YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-- yyg->yy_n_chars, (size_t) num_to_read );
-+ yyg->yy_n_chars, num_to_read );
-
- YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
- }
-@@ -2373,7 +2374,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- else
- { /* need more input */
-- int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
-+ yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
- ++yyg->yy_c_buf_p;
-
- switch ( yy_get_next_buffer( yyscanner ) )
-@@ -2660,7 +2661,7 @@ void yypop_buffer_state (yyscan_t yyscanner)
- */
- static void yyensure_buffer_stack (yyscan_t yyscanner)
- {
-- int num_to_alloc;
-+ yy_size_t num_to_alloc;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
- if (!yyg->yy_buffer_stack) {
-@@ -2758,12 +2759,11 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
- */
--YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
-+YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
- {
- YY_BUFFER_STATE b;
- char *buf;
-- yy_size_t n;
-- int i;
-+ yy_size_t n, i;
-
- /* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
-@@ -2913,7 +2913,7 @@ FILE *yyget_out (yyscan_t yyscanner)
- /** Get the length of the current token.
- * @param yyscanner The scanner object.
- */
--int yyget_leng (yyscan_t yyscanner)
-+yy_size_t yyget_leng (yyscan_t yyscanner)
- {
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- return yyleng;
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef _BASICTYPES_INCLUDED_
-#define _BASICTYPES_INCLUDED_
-
-//
-// Precision qualifiers
-//
-enum TPrecision
-{
- // These need to be kept sorted
- EbpUndefined,
- EbpLow,
- EbpMedium,
- EbpHigh
-};
-
-inline const char* getPrecisionString(TPrecision p)
-{
- switch(p)
- {
- case EbpHigh: return "highp"; break;
- case EbpMedium: return "mediump"; break;
- case EbpLow: return "lowp"; break;
- default: return "mediump"; break; // Safest fallback
- }
-}
-
-//
-// Basic type. Arrays, vectors, etc., are orthogonal to this.
-//
-enum TBasicType
-{
- EbtVoid,
- EbtFloat,
- EbtInt,
- EbtBool,
- EbtGuardSamplerBegin, // non type: see implementation of IsSampler()
- EbtSampler2D,
- EbtSamplerCube,
- EbtSamplerExternalOES, // Only valid if OES_EGL_image_external exists.
- EbtSampler2DRect, // Only valid if GL_ARB_texture_rectangle exists.
- EbtGuardSamplerEnd, // non type: see implementation of IsSampler()
- EbtStruct,
- EbtAddress, // should be deprecated??
- EbtInvariant // used as a type when qualifying a previously declared variable as being invariant
-};
-
-inline const char* getBasicString(TBasicType t)
-{
- switch (t)
- {
- case EbtVoid: return "void"; break;
- case EbtFloat: return "float"; break;
- case EbtInt: return "int"; break;
- case EbtBool: return "bool"; break;
- case EbtSampler2D: return "sampler2D"; break;
- case EbtSamplerCube: return "samplerCube"; break;
- case EbtSamplerExternalOES: return "samplerExternalOES"; break;
- case EbtSampler2DRect: return "sampler2DRect"; break;
- case EbtStruct: return "structure"; break;
- default: return "unknown type";
- }
-}
-
-inline bool IsSampler(TBasicType type)
-{
- return type > EbtGuardSamplerBegin && type < EbtGuardSamplerEnd;
-}
-
-//
-// Qualifiers and built-ins. These are mainly used to see what can be read
-// or written, and by the machine dependent translator to know which registers
-// to allocate variables in. Since built-ins tend to go to different registers
-// than varying or uniform, it makes sense they are peers, not sub-classes.
-//
-enum TQualifier
-{
- EvqTemporary, // For temporaries (within a function), read/write
- EvqGlobal, // For globals read/write
- EvqConst, // User defined constants and non-output parameters in functions
- EvqAttribute, // Readonly
- EvqVaryingIn, // readonly, fragment shaders only
- EvqVaryingOut, // vertex shaders only read/write
- EvqInvariantVaryingIn, // readonly, fragment shaders only
- EvqInvariantVaryingOut, // vertex shaders only read/write
- EvqUniform, // Readonly, vertex and fragment
-
- // parameters
- EvqIn,
- EvqOut,
- EvqInOut,
- EvqConstReadOnly,
-
- // built-ins written by vertex shader
- EvqPosition,
- EvqPointSize,
-
- // built-ins read by fragment shader
- EvqFragCoord,
- EvqFrontFacing,
- EvqPointCoord,
-
- // built-ins written by fragment shader
- EvqFragColor,
- EvqFragData,
- EvqFragDepth,
-
- // end of list
- EvqLast
-};
-
-//
-// This is just for debug print out, carried along with the definitions above.
-//
-inline const char* getQualifierString(TQualifier q)
-{
- switch(q)
- {
- case EvqTemporary: return "Temporary"; break;
- case EvqGlobal: return "Global"; break;
- case EvqConst: return "const"; break;
- case EvqConstReadOnly: return "const"; break;
- case EvqAttribute: return "attribute"; break;
- case EvqVaryingIn: return "varying"; break;
- case EvqVaryingOut: return "varying"; break;
- case EvqInvariantVaryingIn: return "invariant varying"; break;
- case EvqInvariantVaryingOut:return "invariant varying"; break;
- case EvqUniform: return "uniform"; break;
- case EvqIn: return "in"; break;
- case EvqOut: return "out"; break;
- case EvqInOut: return "inout"; break;
- case EvqPosition: return "Position"; break;
- case EvqPointSize: return "PointSize"; break;
- case EvqFragCoord: return "FragCoord"; break;
- case EvqFrontFacing: return "FrontFacing"; break;
- case EvqFragColor: return "FragColor"; break;
- case EvqFragData: return "FragData"; break;
- case EvqFragDepth: return "FragDepth"; break;
- default: return "unknown qualifier";
- }
-}
-
-#endif // _BASICTYPES_INCLUDED_
+++ /dev/null
-//
-// Copyright (c) 2002-2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/BuiltInFunctionEmulator.h"
-
-#include "compiler/SymbolTable.h"
-
-namespace {
-
-// we use macros here instead of function definitions to work around more GLSL
-// compiler bugs, in particular on NVIDIA hardware on Mac OSX. Macros are
-// problematic because if the argument has side-effects they will be repeatedly
-// evaluated. This is unlikely to show up in real shaders, but is something to
-// consider.
-const char* kFunctionEmulationVertexSource[] = {
- "#error no emulation for cos(float)",
- "#error no emulation for cos(vec2)",
- "#error no emulation for cos(vec3)",
- "#error no emulation for cos(vec4)",
-
- "#define webgl_distance_emu(x, y) ((x) >= (y) ? (x) - (y) : (y) - (x))",
- "#error no emulation for distance(vec2, vec2)",
- "#error no emulation for distance(vec3, vec3)",
- "#error no emulation for distance(vec4, vec4)",
-
- "#define webgl_dot_emu(x, y) ((x) * (y))",
- "#error no emulation for dot(vec2, vec2)",
- "#error no emulation for dot(vec3, vec3)",
- "#error no emulation for dot(vec4, vec4)",
-
- "#define webgl_length_emu(x) ((x) >= 0.0 ? (x) : -(x))",
- "#error no emulation for length(vec2)",
- "#error no emulation for length(vec3)",
- "#error no emulation for length(vec4)",
-
- "#define webgl_normalize_emu(x) ((x) == 0.0 ? 0.0 : ((x) > 0.0 ? 1.0 : -1.0))",
- "#error no emulation for normalize(vec2)",
- "#error no emulation for normalize(vec3)",
- "#error no emulation for normalize(vec4)",
-
- "#define webgl_reflect_emu(I, N) ((I) - 2.0 * (N) * (I) * (N))",
- "#error no emulation for reflect(vec2, vec2)",
- "#error no emulation for reflect(vec3, vec3)",
- "#error no emulation for reflect(vec4, vec4)"
-};
-
-const char* kFunctionEmulationFragmentSource[] = {
- "webgl_emu_precision float webgl_cos_emu(webgl_emu_precision float a) { return cos(a); }",
- "webgl_emu_precision vec2 webgl_cos_emu(webgl_emu_precision vec2 a) { return cos(a); }",
- "webgl_emu_precision vec3 webgl_cos_emu(webgl_emu_precision vec3 a) { return cos(a); }",
- "webgl_emu_precision vec4 webgl_cos_emu(webgl_emu_precision vec4 a) { return cos(a); }",
-
- "#define webgl_distance_emu(x, y) ((x) >= (y) ? (x) - (y) : (y) - (x))",
- "#error no emulation for distance(vec2, vec2)",
- "#error no emulation for distance(vec3, vec3)",
- "#error no emulation for distance(vec4, vec4)",
-
- "#define webgl_dot_emu(x, y) ((x) * (y))",
- "#error no emulation for dot(vec2, vec2)",
- "#error no emulation for dot(vec3, vec3)",
- "#error no emulation for dot(vec4, vec4)",
-
- "#define webgl_length_emu(x) ((x) >= 0.0 ? (x) : -(x))",
- "#error no emulation for length(vec2)",
- "#error no emulation for length(vec3)",
- "#error no emulation for length(vec4)",
-
- "#define webgl_normalize_emu(x) ((x) == 0.0 ? 0.0 : ((x) > 0.0 ? 1.0 : -1.0))",
- "#error no emulation for normalize(vec2)",
- "#error no emulation for normalize(vec3)",
- "#error no emulation for normalize(vec4)",
-
- "#define webgl_reflect_emu(I, N) ((I) - 2.0 * (N) * (I) * (N))",
- "#error no emulation for reflect(vec2, vec2)",
- "#error no emulation for reflect(vec3, vec3)",
- "#error no emulation for reflect(vec4, vec4)"
-};
-
-const bool kFunctionEmulationVertexMask[] = {
-#if defined(__APPLE__)
- // Work around ATI driver bugs in Mac.
- false, // TFunctionCos1
- false, // TFunctionCos2
- false, // TFunctionCos3
- false, // TFunctionCos4
- true, // TFunctionDistance1_1
- false, // TFunctionDistance2_2
- false, // TFunctionDistance3_3
- false, // TFunctionDistance4_4
- true, // TFunctionDot1_1
- false, // TFunctionDot2_2
- false, // TFunctionDot3_3
- false, // TFunctionDot4_4
- true, // TFunctionLength1
- false, // TFunctionLength2
- false, // TFunctionLength3
- false, // TFunctionLength4
- true, // TFunctionNormalize1
- false, // TFunctionNormalize2
- false, // TFunctionNormalize3
- false, // TFunctionNormalize4
- true, // TFunctionReflect1_1
- false, // TFunctionReflect2_2
- false, // TFunctionReflect3_3
- false, // TFunctionReflect4_4
-#else
- // Work around D3D driver bug in Win.
- false, // TFunctionCos1
- false, // TFunctionCos2
- false, // TFunctionCos3
- false, // TFunctionCos4
- false, // TFunctionDistance1_1
- false, // TFunctionDistance2_2
- false, // TFunctionDistance3_3
- false, // TFunctionDistance4_4
- false, // TFunctionDot1_1
- false, // TFunctionDot2_2
- false, // TFunctionDot3_3
- false, // TFunctionDot4_4
- false, // TFunctionLength1
- false, // TFunctionLength2
- false, // TFunctionLength3
- false, // TFunctionLength4
- false, // TFunctionNormalize1
- false, // TFunctionNormalize2
- false, // TFunctionNormalize3
- false, // TFunctionNormalize4
- false, // TFunctionReflect1_1
- false, // TFunctionReflect2_2
- false, // TFunctionReflect3_3
- false, // TFunctionReflect4_4
-#endif
- false // TFunctionUnknown
-};
-
-const bool kFunctionEmulationFragmentMask[] = {
-#if defined(__APPLE__)
- // Work around ATI driver bugs in Mac.
- true, // TFunctionCos1
- true, // TFunctionCos2
- true, // TFunctionCos3
- true, // TFunctionCos4
- true, // TFunctionDistance1_1
- false, // TFunctionDistance2_2
- false, // TFunctionDistance3_3
- false, // TFunctionDistance4_4
- true, // TFunctionDot1_1
- false, // TFunctionDot2_2
- false, // TFunctionDot3_3
- false, // TFunctionDot4_4
- true, // TFunctionLength1
- false, // TFunctionLength2
- false, // TFunctionLength3
- false, // TFunctionLength4
- true, // TFunctionNormalize1
- false, // TFunctionNormalize2
- false, // TFunctionNormalize3
- false, // TFunctionNormalize4
- true, // TFunctionReflect1_1
- false, // TFunctionReflect2_2
- false, // TFunctionReflect3_3
- false, // TFunctionReflect4_4
-#else
- // Work around D3D driver bug in Win.
- false, // TFunctionCos1
- false, // TFunctionCos2
- false, // TFunctionCos3
- false, // TFunctionCos4
- false, // TFunctionDistance1_1
- false, // TFunctionDistance2_2
- false, // TFunctionDistance3_3
- false, // TFunctionDistance4_4
- false, // TFunctionDot1_1
- false, // TFunctionDot2_2
- false, // TFunctionDot3_3
- false, // TFunctionDot4_4
- false, // TFunctionLength1
- false, // TFunctionLength2
- false, // TFunctionLength3
- false, // TFunctionLength4
- false, // TFunctionNormalize1
- false, // TFunctionNormalize2
- false, // TFunctionNormalize3
- false, // TFunctionNormalize4
- false, // TFunctionReflect1_1
- false, // TFunctionReflect2_2
- false, // TFunctionReflect3_3
- false, // TFunctionReflect4_4
-#endif
- false // TFunctionUnknown
-};
-
-class BuiltInFunctionEmulationMarker : public TIntermTraverser {
-public:
- BuiltInFunctionEmulationMarker(BuiltInFunctionEmulator& emulator)
- : mEmulator(emulator)
- {
- }
-
- virtual bool visitUnary(Visit visit, TIntermUnary* node)
- {
- if (visit == PreVisit) {
- bool needToEmulate = mEmulator.SetFunctionCalled(
- node->getOp(), node->getOperand()->getType());
- if (needToEmulate)
- node->setUseEmulatedFunction();
- }
- return true;
- }
-
- virtual bool visitAggregate(Visit visit, TIntermAggregate* node)
- {
- if (visit == PreVisit) {
- // Here we handle all the built-in functions instead of the ones we
- // currently identified as problematic.
- switch (node->getOp()) {
- case EOpLessThan:
- case EOpGreaterThan:
- case EOpLessThanEqual:
- case EOpGreaterThanEqual:
- case EOpVectorEqual:
- case EOpVectorNotEqual:
- case EOpMod:
- case EOpPow:
- case EOpAtan:
- case EOpMin:
- case EOpMax:
- case EOpClamp:
- case EOpMix:
- case EOpStep:
- case EOpSmoothStep:
- case EOpDistance:
- case EOpDot:
- case EOpCross:
- case EOpFaceForward:
- case EOpReflect:
- case EOpRefract:
- case EOpMul:
- break;
- default:
- return true;
- };
- const TIntermSequence& sequence = node->getSequence();
- // Right now we only handle built-in functions with two parameters.
- if (sequence.size() != 2)
- return true;
- TIntermTyped* param1 = sequence[0]->getAsTyped();
- TIntermTyped* param2 = sequence[1]->getAsTyped();
- if (!param1 || !param2)
- return true;
- bool needToEmulate = mEmulator.SetFunctionCalled(
- node->getOp(), param1->getType(), param2->getType());
- if (needToEmulate)
- node->setUseEmulatedFunction();
- }
- return true;
- }
-
-private:
- BuiltInFunctionEmulator& mEmulator;
-};
-
-} // anonymous namepsace
-
-BuiltInFunctionEmulator::BuiltInFunctionEmulator(ShShaderType shaderType)
-{
- if (shaderType == SH_FRAGMENT_SHADER) {
- mFunctionMask = kFunctionEmulationFragmentMask;
- mFunctionSource = kFunctionEmulationFragmentSource;
- } else {
- mFunctionMask = kFunctionEmulationVertexMask;
- mFunctionSource = kFunctionEmulationVertexSource;
- }
-}
-
-bool BuiltInFunctionEmulator::SetFunctionCalled(
- TOperator op, const TType& param)
-{
- TBuiltInFunction function = IdentifyFunction(op, param);
- return SetFunctionCalled(function);
-}
-
-bool BuiltInFunctionEmulator::SetFunctionCalled(
- TOperator op, const TType& param1, const TType& param2)
-{
- TBuiltInFunction function = IdentifyFunction(op, param1, param2);
- return SetFunctionCalled(function);
-}
-
-bool BuiltInFunctionEmulator::SetFunctionCalled(
- BuiltInFunctionEmulator::TBuiltInFunction function) {
- if (function == TFunctionUnknown || mFunctionMask[function] == false)
- return false;
- for (size_t i = 0; i < mFunctions.size(); ++i) {
- if (mFunctions[i] == function)
- return true;
- }
- mFunctions.push_back(function);
- return true;
-}
-
-void BuiltInFunctionEmulator::OutputEmulatedFunctionDefinition(
- TInfoSinkBase& out, bool withPrecision) const
-{
- if (mFunctions.size() == 0)
- return;
- out << "// BEGIN: Generated code for built-in function emulation\n\n";
- if (withPrecision) {
- out << "#if defined(GL_FRAGMENT_PRECISION_HIGH)\n"
- << "#define webgl_emu_precision highp\n"
- << "#else\n"
- << "#define webgl_emu_precision mediump\n"
- << "#endif\n\n";
- } else {
- out << "#define webgl_emu_precision\n\n";
- }
- for (size_t i = 0; i < mFunctions.size(); ++i) {
- out << mFunctionSource[mFunctions[i]] << "\n\n";
- }
- out << "// END: Generated code for built-in function emulation\n\n";
-}
-
-BuiltInFunctionEmulator::TBuiltInFunction
-BuiltInFunctionEmulator::IdentifyFunction(
- TOperator op, const TType& param)
-{
- if (param.getNominalSize() > 4)
- return TFunctionUnknown;
- unsigned int function = TFunctionUnknown;
- switch (op) {
- case EOpCos:
- function = TFunctionCos1;
- break;
- case EOpLength:
- function = TFunctionLength1;
- break;
- case EOpNormalize:
- function = TFunctionNormalize1;
- break;
- default:
- break;
- }
- if (function == TFunctionUnknown)
- return TFunctionUnknown;
- if (param.isVector())
- function += param.getNominalSize() - 1;
- return static_cast<TBuiltInFunction>(function);
-}
-
-BuiltInFunctionEmulator::TBuiltInFunction
-BuiltInFunctionEmulator::IdentifyFunction(
- TOperator op, const TType& param1, const TType& param2)
-{
- // Right now for all the emulated functions with two parameters, the two
- // parameters have the same type.
- if (param1.isVector() != param2.isVector() ||
- param1.getNominalSize() != param2.getNominalSize() ||
- param1.getNominalSize() > 4)
- return TFunctionUnknown;
-
- unsigned int function = TFunctionUnknown;
- switch (op) {
- case EOpDistance:
- function = TFunctionDistance1_1;
- break;
- case EOpDot:
- function = TFunctionDot1_1;
- break;
- case EOpReflect:
- function = TFunctionReflect1_1;
- break;
- default:
- break;
- }
- if (function == TFunctionUnknown)
- return TFunctionUnknown;
- if (param1.isVector())
- function += param1.getNominalSize() - 1;
- return static_cast<TBuiltInFunction>(function);
-}
-
-void BuiltInFunctionEmulator::MarkBuiltInFunctionsForEmulation(
- TIntermNode* root)
-{
- ASSERT(root);
-
- BuiltInFunctionEmulationMarker marker(*this);
- root->traverse(&marker);
-}
-
-void BuiltInFunctionEmulator::Cleanup()
-{
- mFunctions.clear();
-}
-
-//static
-TString BuiltInFunctionEmulator::GetEmulatedFunctionName(
- const TString& name)
-{
- ASSERT(name[name.length() - 1] == '(');
- return "webgl_" + name.substr(0, name.length() - 1) + "_emu(";
-}
-
+++ /dev/null
-//
-// Copyright (c) 2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILIER_BUILT_IN_FUNCTION_EMULATOR_H_
-#define COMPILIER_BUILT_IN_FUNCTION_EMULATOR_H_
-
-#include "GLSLANG/ShaderLang.h"
-
-#include "compiler/InfoSink.h"
-#include "compiler/intermediate.h"
-
-//
-// This class decides which built-in functions need to be replaced with the
-// emulated ones.
-// It's only a workaround for OpenGL driver bugs, and isn't needed in general.
-//
-class BuiltInFunctionEmulator {
-public:
- BuiltInFunctionEmulator(ShShaderType shaderType);
- // Records that a function is called by the shader and might needs to be
- // emulated. If the function's group is not in mFunctionGroupFilter, this
- // becomes an no-op.
- // Returns true if the function call needs to be replaced with an emulated
- // one.
- bool SetFunctionCalled(TOperator op, const TType& param);
- bool SetFunctionCalled(
- TOperator op, const TType& param1, const TType& param2);
-
- // Output function emulation definition. This should be before any other
- // shader source.
- void OutputEmulatedFunctionDefinition(TInfoSinkBase& out, bool withPrecision) const;
-
- void MarkBuiltInFunctionsForEmulation(TIntermNode* root);
-
- void Cleanup();
-
- // "name(" becomes "webgl_name_emu(".
- static TString GetEmulatedFunctionName(const TString& name);
-
-private:
- //
- // Built-in functions.
- //
- enum TBuiltInFunction {
- TFunctionCos1 = 0, // float cos(float);
- TFunctionCos2, // vec2 cos(vec2);
- TFunctionCos3, // vec3 cos(vec3);
- TFunctionCos4, // vec4 cos(vec4);
-
- TFunctionDistance1_1, // float distance(float, float);
- TFunctionDistance2_2, // vec2 distance(vec2, vec2);
- TFunctionDistance3_3, // vec3 distance(vec3, vec3);
- TFunctionDistance4_4, // vec4 distance(vec4, vec4);
-
- TFunctionDot1_1, // float dot(float, float);
- TFunctionDot2_2, // vec2 dot(vec2, vec2);
- TFunctionDot3_3, // vec3 dot(vec3, vec3);
- TFunctionDot4_4, // vec4 dot(vec4, vec4);
-
- TFunctionLength1, // float length(float);
- TFunctionLength2, // float length(vec2);
- TFunctionLength3, // float length(vec3);
- TFunctionLength4, // float length(vec4);
-
- TFunctionNormalize1, // float normalize(float);
- TFunctionNormalize2, // vec2 normalize(vec2);
- TFunctionNormalize3, // vec3 normalize(vec3);
- TFunctionNormalize4, // vec4 normalize(vec4);
-
- TFunctionReflect1_1, // float reflect(float, float);
- TFunctionReflect2_2, // vec2 reflect(vec2, vec2);
- TFunctionReflect3_3, // vec3 reflect(vec3, vec3);
- TFunctionReflect4_4, // vec4 reflect(vec4, vec4);
-
- TFunctionUnknown
- };
-
- TBuiltInFunction IdentifyFunction(TOperator op, const TType& param);
- TBuiltInFunction IdentifyFunction(
- TOperator op, const TType& param1, const TType& param2);
-
- bool SetFunctionCalled(TBuiltInFunction function);
-
- std::vector<TBuiltInFunction> mFunctions;
-
- const bool* mFunctionMask; // a boolean flag for each function.
- const char** mFunctionSource;
-};
-
-#endif // COMPILIER_BUILT_IN_FUNCTION_EMULATOR_H_
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/TranslatorESSL.h"
-#include "compiler/TranslatorGLSL.h"
-#include "compiler/TranslatorHLSL.h"
-
-//
-// This function must be provided to create the actual
-// compile object used by higher level code. It returns
-// a subclass of TCompiler.
-//
-TCompiler* ConstructCompiler(
- ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
-{
- switch (output) {
- case SH_ESSL_OUTPUT:
- return new TranslatorESSL(type, spec);
- case SH_GLSL_OUTPUT:
- return new TranslatorGLSL(type, spec);
- case SH_HLSL9_OUTPUT:
- case SH_HLSL11_OUTPUT:
- return new TranslatorHLSL(type, spec, output);
- default:
- return NULL;
- }
-}
-
-//
-// Delete the compiler made by ConstructCompiler
-//
-void DeleteCompiler(TCompiler* compiler)
-{
- delete compiler;
-}
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef _COMMON_INCLUDED_
-#define _COMMON_INCLUDED_
-
-#include <map>
-#include <sstream>
-#include <string>
-#include <vector>
-
-#include "compiler/PoolAlloc.h"
-
-struct TSourceLoc {
- int first_file;
- int first_line;
- int last_file;
- int last_line;
-};
-
-//
-// Put POOL_ALLOCATOR_NEW_DELETE in base classes to make them use this scheme.
-//
-#define POOL_ALLOCATOR_NEW_DELETE() \
- void* operator new(size_t s) { return GetGlobalPoolAllocator()->allocate(s); } \
- void* operator new(size_t, void *_Where) { return (_Where); } \
- void operator delete(void*) { } \
- void operator delete(void *, void *) { } \
- void* operator new[](size_t s) { return GetGlobalPoolAllocator()->allocate(s); } \
- void* operator new[](size_t, void *_Where) { return (_Where); } \
- void operator delete[](void*) { } \
- void operator delete[](void *, void *) { }
-
-//
-// Pool version of string.
-//
-typedef pool_allocator<char> TStringAllocator;
-typedef std::basic_string <char, std::char_traits<char>, TStringAllocator> TString;
-typedef std::basic_ostringstream<char, std::char_traits<char>, TStringAllocator> TStringStream;
-inline TString* NewPoolTString(const char* s)
-{
- void* memory = GetGlobalPoolAllocator()->allocate(sizeof(TString));
- return new(memory) TString(s);
-}
-
-//
-// Persistent string memory. Should only be used for strings that survive
-// across compiles.
-//
-#define TPersistString std::string
-#define TPersistStringStream std::ostringstream
-
-//
-// Pool allocator versions of vectors, lists, and maps
-//
-template <class T> class TVector : public std::vector<T, pool_allocator<T> > {
-public:
- typedef typename std::vector<T, pool_allocator<T> >::size_type size_type;
- TVector() : std::vector<T, pool_allocator<T> >() {}
- TVector(const pool_allocator<T>& a) : std::vector<T, pool_allocator<T> >(a) {}
- TVector(size_type i): std::vector<T, pool_allocator<T> >(i) {}
-};
-
-template <class K, class D, class CMP = std::less<K> >
-class TMap : public std::map<K, D, CMP, pool_allocator<std::pair<const K, D> > > {
-public:
- typedef pool_allocator<std::pair<const K, D> > tAllocator;
-
- TMap() : std::map<K, D, CMP, tAllocator>() {}
- // use correct two-stage name lookup supported in gcc 3.4 and above
- TMap(const tAllocator& a) : std::map<K, D, CMP, tAllocator>(std::map<K, D, CMP, tAllocator>::key_compare(), a) {}
-};
-
-#endif // _COMMON_INCLUDED_
+++ /dev/null
-//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/BuiltInFunctionEmulator.h"
-#include "compiler/DetectCallDepth.h"
-#include "compiler/ForLoopUnroll.h"
-#include "compiler/Initialize.h"
-#include "compiler/InitializeGLPosition.h"
-#include "compiler/InitializeParseContext.h"
-#include "compiler/MapLongVariableNames.h"
-#include "compiler/ParseContext.h"
-#include "compiler/RenameFunction.h"
-#include "compiler/ShHandle.h"
-#include "compiler/UnfoldShortCircuitAST.h"
-#include "compiler/ValidateLimitations.h"
-#include "compiler/VariablePacker.h"
-#include "compiler/depgraph/DependencyGraph.h"
-#include "compiler/depgraph/DependencyGraphOutput.h"
-#include "compiler/timing/RestrictFragmentShaderTiming.h"
-#include "compiler/timing/RestrictVertexShaderTiming.h"
-#include "third_party/compiler/ArrayBoundsClamper.h"
-
-bool isWebGLBasedSpec(ShShaderSpec spec)
-{
- return spec == SH_WEBGL_SPEC || spec == SH_CSS_SHADERS_SPEC;
-}
-
-namespace {
-class TScopedPoolAllocator {
-public:
- TScopedPoolAllocator(TPoolAllocator* allocator) : mAllocator(allocator) {
- mAllocator->push();
- SetGlobalPoolAllocator(mAllocator);
- }
- ~TScopedPoolAllocator() {
- SetGlobalPoolAllocator(NULL);
- mAllocator->pop();
- }
-
-private:
- TPoolAllocator* mAllocator;
-};
-
-class TScopedSymbolTableLevel {
-public:
- TScopedSymbolTableLevel(TSymbolTable* table) : mTable(table) {
- ASSERT(mTable->atBuiltInLevel());
- mTable->push();
- }
- ~TScopedSymbolTableLevel() {
- while (!mTable->atBuiltInLevel())
- mTable->pop();
- }
-
-private:
- TSymbolTable* mTable;
-};
-} // namespace
-
-TShHandleBase::TShHandleBase() {
- allocator.push();
- SetGlobalPoolAllocator(&allocator);
-}
-
-TShHandleBase::~TShHandleBase() {
- SetGlobalPoolAllocator(NULL);
- allocator.popAll();
-}
-
-TCompiler::TCompiler(ShShaderType type, ShShaderSpec spec)
- : shaderType(type),
- shaderSpec(spec),
- maxUniformVectors(0),
- maxVaryingVectors(0),
- maxExpressionComplexity(0),
- maxCallStackDepth(0),
- fragmentPrecisionHigh(false),
- clampingStrategy(SH_CLAMP_WITH_CLAMP_INTRINSIC),
- builtInFunctionEmulator(type)
-{
- longNameMap = LongNameMap::GetInstance();
-}
-
-TCompiler::~TCompiler()
-{
- ASSERT(longNameMap);
- longNameMap->Release();
-}
-
-bool TCompiler::Init(const ShBuiltInResources& resources)
-{
- maxUniformVectors = (shaderType == SH_VERTEX_SHADER) ?
- resources.MaxVertexUniformVectors :
- resources.MaxFragmentUniformVectors;
- maxVaryingVectors = resources.MaxVaryingVectors;
- maxExpressionComplexity = resources.MaxExpressionComplexity;
- maxCallStackDepth = resources.MaxCallStackDepth;
-
- SetGlobalPoolAllocator(&allocator);
-
- // Generate built-in symbol table.
- if (!InitBuiltInSymbolTable(resources))
- return false;
- InitExtensionBehavior(resources, extensionBehavior);
- fragmentPrecisionHigh = resources.FragmentPrecisionHigh == 1;
-
- arrayBoundsClamper.SetClampingStrategy(resources.ArrayIndexClampingStrategy);
- clampingStrategy = resources.ArrayIndexClampingStrategy;
-
- hashFunction = resources.HashFunction;
-
- return true;
-}
-
-bool TCompiler::compile(const char* const shaderStrings[],
- size_t numStrings,
- int compileOptions)
-{
- TScopedPoolAllocator scopedAlloc(&allocator);
- clearResults();
-
- if (numStrings == 0)
- return true;
-
- // If compiling for WebGL, validate loop and indexing as well.
- if (isWebGLBasedSpec(shaderSpec))
- compileOptions |= SH_VALIDATE_LOOP_INDEXING;
-
- // First string is path of source file if flag is set. The actual source follows.
- const char* sourcePath = NULL;
- size_t firstSource = 0;
- if (compileOptions & SH_SOURCE_PATH)
- {
- sourcePath = shaderStrings[0];
- ++firstSource;
- }
-
- TIntermediate intermediate(infoSink);
- TParseContext parseContext(symbolTable, extensionBehavior, intermediate,
- shaderType, shaderSpec, compileOptions, true,
- sourcePath, infoSink);
- parseContext.fragmentPrecisionHigh = fragmentPrecisionHigh;
- SetGlobalParseContext(&parseContext);
-
- // We preserve symbols at the built-in level from compile-to-compile.
- // Start pushing the user-defined symbols at global level.
- TScopedSymbolTableLevel scopedSymbolLevel(&symbolTable);
-
- // Parse shader.
- bool success =
- (PaParseStrings(numStrings - firstSource, &shaderStrings[firstSource], NULL, &parseContext) == 0) &&
- (parseContext.treeRoot != NULL);
- if (success) {
- TIntermNode* root = parseContext.treeRoot;
- success = intermediate.postProcess(root);
-
- if (success)
- success = detectCallDepth(root, infoSink, (compileOptions & SH_LIMIT_CALL_STACK_DEPTH) != 0);
-
- if (success && (compileOptions & SH_VALIDATE_LOOP_INDEXING))
- success = validateLimitations(root);
-
- if (success && (compileOptions & SH_TIMING_RESTRICTIONS))
- success = enforceTimingRestrictions(root, (compileOptions & SH_DEPENDENCY_GRAPH) != 0);
-
- if (success && shaderSpec == SH_CSS_SHADERS_SPEC)
- rewriteCSSShader(root);
-
- // Unroll for-loop markup needs to happen after validateLimitations pass.
- if (success && (compileOptions & SH_UNROLL_FOR_LOOP_WITH_INTEGER_INDEX))
- ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling(root);
-
- // Built-in function emulation needs to happen after validateLimitations pass.
- if (success && (compileOptions & SH_EMULATE_BUILT_IN_FUNCTIONS))
- builtInFunctionEmulator.MarkBuiltInFunctionsForEmulation(root);
-
- // Clamping uniform array bounds needs to happen after validateLimitations pass.
- if (success && (compileOptions & SH_CLAMP_INDIRECT_ARRAY_BOUNDS))
- arrayBoundsClamper.MarkIndirectArrayBoundsForClamping(root);
-
- // Disallow expressions deemed too complex.
- if (success && (compileOptions & SH_LIMIT_EXPRESSION_COMPLEXITY))
- success = limitExpressionComplexity(root);
-
- // Call mapLongVariableNames() before collectAttribsUniforms() so in
- // collectAttribsUniforms() we already have the mapped symbol names and
- // we could composite mapped and original variable names.
- // Also, if we hash all the names, then no need to do this for long names.
- if (success && (compileOptions & SH_MAP_LONG_VARIABLE_NAMES) && hashFunction == NULL)
- mapLongVariableNames(root);
-
- if (success && shaderType == SH_VERTEX_SHADER && (compileOptions & SH_INIT_GL_POSITION)) {
- InitializeGLPosition initGLPosition;
- root->traverse(&initGLPosition);
- }
-
- if (success && (compileOptions & SH_UNFOLD_SHORT_CIRCUIT)) {
- UnfoldShortCircuitAST unfoldShortCircuit;
- root->traverse(&unfoldShortCircuit);
- unfoldShortCircuit.updateTree();
- }
-
- if (success && (compileOptions & SH_VARIABLES)) {
- collectVariables(root);
- if (compileOptions & SH_ENFORCE_PACKING_RESTRICTIONS)
- success = enforcePackingRestrictions();
- }
-
- if (success && (compileOptions & SH_INTERMEDIATE_TREE))
- intermediate.outputTree(root);
-
- if (success && (compileOptions & SH_OBJECT_CODE))
- translate(root);
- }
-
- // Cleanup memory.
- intermediate.remove(parseContext.treeRoot);
-
- return success;
-}
-
-bool TCompiler::InitBuiltInSymbolTable(const ShBuiltInResources &resources)
-{
- compileResources = resources;
-
- assert(symbolTable.isEmpty());
- symbolTable.push();
-
- TPublicType integer;
- integer.type = EbtInt;
- integer.size = 1;
- integer.matrix = false;
- integer.array = false;
-
- TPublicType floatingPoint;
- floatingPoint.type = EbtFloat;
- floatingPoint.size = 1;
- floatingPoint.matrix = false;
- floatingPoint.array = false;
-
- TPublicType sampler;
- sampler.size = 1;
- sampler.matrix = false;
- sampler.array = false;
-
- switch(shaderType)
- {
- case SH_FRAGMENT_SHADER:
- symbolTable.setDefaultPrecision(integer, EbpMedium);
- break;
- case SH_VERTEX_SHADER:
- symbolTable.setDefaultPrecision(integer, EbpHigh);
- symbolTable.setDefaultPrecision(floatingPoint, EbpHigh);
- break;
- default: assert(false && "Language not supported");
- }
- // We set defaults for all the sampler types, even those that are
- // only available if an extension exists.
- for (int samplerType = EbtGuardSamplerBegin + 1;
- samplerType < EbtGuardSamplerEnd; ++samplerType) {
- sampler.type = static_cast<TBasicType>(samplerType);
- symbolTable.setDefaultPrecision(sampler, EbpLow);
- }
-
- InsertBuiltInFunctions(shaderType, shaderSpec, resources, symbolTable);
-
- IdentifyBuiltIns(shaderType, shaderSpec, resources, symbolTable);
-
- return true;
-}
-
-void TCompiler::clearResults()
-{
- arrayBoundsClamper.Cleanup();
- infoSink.info.erase();
- infoSink.obj.erase();
- infoSink.debug.erase();
-
- attribs.clear();
- uniforms.clear();
- varyings.clear();
-
- builtInFunctionEmulator.Cleanup();
-
- nameMap.clear();
-}
-
-bool TCompiler::detectCallDepth(TIntermNode* root, TInfoSink& infoSink, bool limitCallStackDepth)
-{
- DetectCallDepth detect(infoSink, limitCallStackDepth, maxCallStackDepth);
- root->traverse(&detect);
- switch (detect.detectCallDepth()) {
- case DetectCallDepth::kErrorNone:
- return true;
- case DetectCallDepth::kErrorMissingMain:
- infoSink.info.prefix(EPrefixError);
- infoSink.info << "Missing main()";
- return false;
- case DetectCallDepth::kErrorRecursion:
- infoSink.info.prefix(EPrefixError);
- infoSink.info << "Function recursion detected";
- return false;
- case DetectCallDepth::kErrorMaxDepthExceeded:
- infoSink.info.prefix(EPrefixError);
- infoSink.info << "Function call stack too deep";
- return false;
- default:
- UNREACHABLE();
- return false;
- }
-}
-
-void TCompiler::rewriteCSSShader(TIntermNode* root)
-{
- RenameFunction renamer("main(", "css_main(");
- root->traverse(&renamer);
-}
-
-bool TCompiler::validateLimitations(TIntermNode* root) {
- ValidateLimitations validate(shaderType, infoSink.info);
- root->traverse(&validate);
- return validate.numErrors() == 0;
-}
-
-bool TCompiler::enforceTimingRestrictions(TIntermNode* root, bool outputGraph)
-{
- if (shaderSpec != SH_WEBGL_SPEC) {
- infoSink.info << "Timing restrictions must be enforced under the WebGL spec.";
- return false;
- }
-
- if (shaderType == SH_FRAGMENT_SHADER) {
- TDependencyGraph graph(root);
-
- // Output any errors first.
- bool success = enforceFragmentShaderTimingRestrictions(graph);
-
- // Then, output the dependency graph.
- if (outputGraph) {
- TDependencyGraphOutput output(infoSink.info);
- output.outputAllSpanningTrees(graph);
- }
-
- return success;
- }
- else {
- return enforceVertexShaderTimingRestrictions(root);
- }
-}
-
-bool TCompiler::limitExpressionComplexity(TIntermNode* root)
-{
- TIntermTraverser traverser;
- root->traverse(&traverser);
- TDependencyGraph graph(root);
-
- for (TFunctionCallVector::const_iterator iter = graph.beginUserDefinedFunctionCalls();
- iter != graph.endUserDefinedFunctionCalls();
- ++iter)
- {
- TGraphFunctionCall* samplerSymbol = *iter;
- TDependencyGraphTraverser graphTraverser;
- samplerSymbol->traverse(&graphTraverser);
- }
-
- if (traverser.getMaxDepth() > maxExpressionComplexity) {
- infoSink.info << "Expression too complex.";
- return false;
- }
- return true;
-}
-
-bool TCompiler::enforceFragmentShaderTimingRestrictions(const TDependencyGraph& graph)
-{
- RestrictFragmentShaderTiming restrictor(infoSink.info);
- restrictor.enforceRestrictions(graph);
- return restrictor.numErrors() == 0;
-}
-
-bool TCompiler::enforceVertexShaderTimingRestrictions(TIntermNode* root)
-{
- RestrictVertexShaderTiming restrictor(infoSink.info);
- restrictor.enforceRestrictions(root);
- return restrictor.numErrors() == 0;
-}
-
-void TCompiler::collectVariables(TIntermNode* root)
-{
- CollectVariables collect(attribs, uniforms, varyings, hashFunction);
- root->traverse(&collect);
-}
-
-bool TCompiler::enforcePackingRestrictions()
-{
- VariablePacker packer;
- bool success = packer.CheckVariablesWithinPackingLimits(maxUniformVectors, uniforms);
- if (!success) {
- infoSink.info.prefix(EPrefixError);
- infoSink.info << "too many uniforms";
- return false;
- }
-
- success = packer.CheckVariablesWithinPackingLimits(maxVaryingVectors, varyings);
-
- if (!success) {
- infoSink.info.prefix(EPrefixError);
- infoSink.info << "too many varyings";
- return false;
- }
-
- return true;
-}
-
-void TCompiler::mapLongVariableNames(TIntermNode* root)
-{
- ASSERT(longNameMap);
- MapLongVariableNames map(longNameMap);
- root->traverse(&map);
-}
-
-int TCompiler::getMappedNameMaxLength() const
-{
- return MAX_SHORTENED_IDENTIFIER_SIZE + 1;
-}
-
-const TExtensionBehavior& TCompiler::getExtensionBehavior() const
-{
- return extensionBehavior;
-}
-
-const ShBuiltInResources& TCompiler::getResources() const
-{
- return compileResources;
-}
-
-const ArrayBoundsClamper& TCompiler::getArrayBoundsClamper() const
-{
- return arrayBoundsClamper;
-}
-
-ShArrayIndexClampingStrategy TCompiler::getArrayIndexClampingStrategy() const
-{
- return clampingStrategy;
-}
-
-const BuiltInFunctionEmulator& TCompiler::getBuiltInFunctionEmulator() const
-{
- return builtInFunctionEmulator;
-}
+++ /dev/null
-//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef _CONSTANT_UNION_INCLUDED_
-#define _CONSTANT_UNION_INCLUDED_
-
-#include <assert.h>
-
-class ConstantUnion {
-public:
- POOL_ALLOCATOR_NEW_DELETE();
- ConstantUnion()
- {
- iConst = 0;
- type = EbtVoid;
- }
-
- void setIConst(int i) {iConst = i; type = EbtInt; }
- void setFConst(float f) {fConst = f; type = EbtFloat; }
- void setBConst(bool b) {bConst = b; type = EbtBool; }
-
- int getIConst() { return iConst; }
- float getFConst() { return fConst; }
- bool getBConst() { return bConst; }
- int getIConst() const { return iConst; }
- float getFConst() const { return fConst; }
- bool getBConst() const { return bConst; }
-
- bool operator==(const int i) const
- {
- return i == iConst;
- }
-
- bool operator==(const float f) const
- {
- return f == fConst;
- }
-
- bool operator==(const bool b) const
- {
- return b == bConst;
- }
-
- bool operator==(const ConstantUnion& constant) const
- {
- if (constant.type != type)
- return false;
-
- switch (type) {
- case EbtInt:
- return constant.iConst == iConst;
- case EbtFloat:
- return constant.fConst == fConst;
- case EbtBool:
- return constant.bConst == bConst;
- default:
- return false;
- }
- }
-
- bool operator!=(const int i) const
- {
- return !operator==(i);
- }
-
- bool operator!=(const float f) const
- {
- return !operator==(f);
- }
-
- bool operator!=(const bool b) const
- {
- return !operator==(b);
- }
-
- bool operator!=(const ConstantUnion& constant) const
- {
- return !operator==(constant);
- }
-
- bool operator>(const ConstantUnion& constant) const
- {
- assert(type == constant.type);
- switch (type) {
- case EbtInt:
- return iConst > constant.iConst;
- case EbtFloat:
- return fConst > constant.fConst;
- default:
- return false; // Invalid operation, handled at semantic analysis
- }
- }
-
- bool operator<(const ConstantUnion& constant) const
- {
- assert(type == constant.type);
- switch (type) {
- case EbtInt:
- return iConst < constant.iConst;
- case EbtFloat:
- return fConst < constant.fConst;
- default:
- return false; // Invalid operation, handled at semantic analysis
- }
- }
-
- ConstantUnion operator+(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst + constant.iConst); break;
- case EbtFloat: returnValue.setFConst(fConst + constant.fConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator-(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst - constant.iConst); break;
- case EbtFloat: returnValue.setFConst(fConst - constant.fConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator*(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst * constant.iConst); break;
- case EbtFloat: returnValue.setFConst(fConst * constant.fConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator%(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst % constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator>>(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst >> constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator<<(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst << constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator&(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst & constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator|(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst | constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator^(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtInt: returnValue.setIConst(iConst ^ constant.iConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator&&(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtBool: returnValue.setBConst(bConst && constant.bConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- ConstantUnion operator||(const ConstantUnion& constant) const
- {
- ConstantUnion returnValue;
- assert(type == constant.type);
- switch (type) {
- case EbtBool: returnValue.setBConst(bConst || constant.bConst); break;
- default: assert(false && "Default missing");
- }
-
- return returnValue;
- }
-
- TBasicType getType() const { return type; }
-private:
-
- union {
- int iConst; // used for ivec, scalar ints
- bool bConst; // used for bvec, scalar bools
- float fConst; // used for vec, mat, scalar floats
- } ;
-
- TBasicType type;
-};
-
-#endif // _CONSTANT_UNION_INCLUDED_
+++ /dev/null
-//
-// Copyright (c) 2002-2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/DetectCallDepth.h"
-#include "compiler/InfoSink.h"
-
-DetectCallDepth::FunctionNode::FunctionNode(const TString& fname)
- : name(fname),
- visit(PreVisit)
-{
-}
-
-const TString& DetectCallDepth::FunctionNode::getName() const
-{
- return name;
-}
-
-void DetectCallDepth::FunctionNode::addCallee(
- DetectCallDepth::FunctionNode* callee)
-{
- for (size_t i = 0; i < callees.size(); ++i) {
- if (callees[i] == callee)
- return;
- }
- callees.push_back(callee);
-}
-
-int DetectCallDepth::FunctionNode::detectCallDepth(DetectCallDepth* detectCallDepth, int depth)
-{
- ASSERT(visit == PreVisit);
- ASSERT(detectCallDepth);
-
- int maxDepth = depth;
- visit = InVisit;
- for (size_t i = 0; i < callees.size(); ++i) {
- switch (callees[i]->visit) {
- case InVisit:
- // cycle detected, i.e., recursion detected.
- return kInfiniteCallDepth;
- case PostVisit:
- break;
- case PreVisit: {
- // Check before we recurse so we don't go too depth
- if (detectCallDepth->checkExceedsMaxDepth(depth))
- return depth;
- int callDepth = callees[i]->detectCallDepth(detectCallDepth, depth + 1);
- // Check after we recurse so we can exit immediately and provide info.
- if (detectCallDepth->checkExceedsMaxDepth(callDepth)) {
- detectCallDepth->getInfoSink().info << "<-" << callees[i]->getName();
- return callDepth;
- }
- maxDepth = std::max(callDepth, maxDepth);
- break;
- }
- default:
- UNREACHABLE();
- break;
- }
- }
- visit = PostVisit;
- return maxDepth;
-}
-
-void DetectCallDepth::FunctionNode::reset()
-{
- visit = PreVisit;
-}
-
-DetectCallDepth::DetectCallDepth(TInfoSink& infoSink, bool limitCallStackDepth, int maxCallStackDepth)
- : TIntermTraverser(true, false, true, false),
- currentFunction(NULL),
- infoSink(infoSink),
- maxDepth(limitCallStackDepth ? maxCallStackDepth : FunctionNode::kInfiniteCallDepth)
-{
-}
-
-DetectCallDepth::~DetectCallDepth()
-{
- for (size_t i = 0; i < functions.size(); ++i)
- delete functions[i];
-}
-
-bool DetectCallDepth::visitAggregate(Visit visit, TIntermAggregate* node)
-{
- switch (node->getOp())
- {
- case EOpPrototype:
- // Function declaration.
- // Don't add FunctionNode here because node->getName() is the
- // unmangled function name.
- break;
- case EOpFunction: {
- // Function definition.
- if (visit == PreVisit) {
- currentFunction = findFunctionByName(node->getName());
- if (currentFunction == NULL) {
- currentFunction = new FunctionNode(node->getName());
- functions.push_back(currentFunction);
- }
- } else if (visit == PostVisit) {
- currentFunction = NULL;
- }
- break;
- }
- case EOpFunctionCall: {
- // Function call.
- if (visit == PreVisit) {
- FunctionNode* func = findFunctionByName(node->getName());
- if (func == NULL) {
- func = new FunctionNode(node->getName());
- functions.push_back(func);
- }
- if (currentFunction)
- currentFunction->addCallee(func);
- }
- break;
- }
- default:
- break;
- }
- return true;
-}
-
-bool DetectCallDepth::checkExceedsMaxDepth(int depth)
-{
- return depth >= maxDepth;
-}
-
-void DetectCallDepth::resetFunctionNodes()
-{
- for (size_t i = 0; i < functions.size(); ++i) {
- functions[i]->reset();
- }
-}
-
-DetectCallDepth::ErrorCode DetectCallDepth::detectCallDepthForFunction(FunctionNode* func)
-{
- currentFunction = NULL;
- resetFunctionNodes();
-
- int maxCallDepth = func->detectCallDepth(this, 1);
-
- if (maxCallDepth == FunctionNode::kInfiniteCallDepth)
- return kErrorRecursion;
-
- if (maxCallDepth >= maxDepth)
- return kErrorMaxDepthExceeded;
-
- return kErrorNone;
-}
-
-DetectCallDepth::ErrorCode DetectCallDepth::detectCallDepth()
-{
- if (maxDepth != FunctionNode::kInfiniteCallDepth) {
- // Check all functions because the driver may fail on them
- // TODO: Before detectingRecursion, strip unused functions.
- for (size_t i = 0; i < functions.size(); ++i) {
- ErrorCode error = detectCallDepthForFunction(functions[i]);
- if (error != kErrorNone)
- return error;
- }
- } else {
- FunctionNode* main = findFunctionByName("main(");
- if (main == NULL)
- return kErrorMissingMain;
-
- return detectCallDepthForFunction(main);
- }
-
- return kErrorNone;
-}
-
-DetectCallDepth::FunctionNode* DetectCallDepth::findFunctionByName(
- const TString& name)
-{
- for (size_t i = 0; i < functions.size(); ++i) {
- if (functions[i]->getName() == name)
- return functions[i];
- }
- return NULL;
-}
-
+++ /dev/null
-//
-// Copyright (c) 2002-2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_DETECT_RECURSION_H_
-#define COMPILER_DETECT_RECURSION_H_
-
-#include "GLSLANG/ShaderLang.h"
-
-#include <limits.h>
-#include "compiler/intermediate.h"
-#include "compiler/VariableInfo.h"
-
-class TInfoSink;
-
-// Traverses intermediate tree to detect function recursion.
-class DetectCallDepth : public TIntermTraverser {
-public:
- enum ErrorCode {
- kErrorMissingMain,
- kErrorRecursion,
- kErrorMaxDepthExceeded,
- kErrorNone
- };
-
- DetectCallDepth(TInfoSink& infoSync, bool limitCallStackDepth, int maxCallStackDepth);
- ~DetectCallDepth();
-
- virtual bool visitAggregate(Visit, TIntermAggregate*);
-
- bool checkExceedsMaxDepth(int depth);
-
- ErrorCode detectCallDepth();
-
-private:
- class FunctionNode {
- public:
- static const int kInfiniteCallDepth = INT_MAX;
-
- FunctionNode(const TString& fname);
-
- const TString& getName() const;
-
- // If a function is already in the callee list, this becomes a no-op.
- void addCallee(FunctionNode* callee);
-
- // Returns kInifinityCallDepth if recursive function calls are detected.
- int detectCallDepth(DetectCallDepth* detectCallDepth, int depth);
-
- // Reset state.
- void reset();
-
- private:
- // mangled function name is unique.
- TString name;
-
- // functions that are directly called by this function.
- TVector<FunctionNode*> callees;
-
- Visit visit;
- };
-
- ErrorCode detectCallDepthForFunction(FunctionNode* func);
- FunctionNode* findFunctionByName(const TString& name);
- void resetFunctionNodes();
-
- TInfoSink& getInfoSink() { return infoSink; }
-
- TVector<FunctionNode*> functions;
- FunctionNode* currentFunction;
- TInfoSink& infoSink;
- int maxDepth;
-
- DetectCallDepth(const DetectCallDepth&);
- void operator=(const DetectCallDepth&);
-};
-
-#endif // COMPILER_DETECT_RECURSION_H_
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Contains analysis utilities for dealing with HLSL's lack of support for
-// the use of intrinsic functions which (implicitly or explicitly) compute
-// gradients of functions with discontinuities.
-//
-
-#include "compiler/DetectDiscontinuity.h"
-
-#include "compiler/ParseContext.h"
-
-namespace sh
-{
-bool DetectLoopDiscontinuity::traverse(TIntermNode *node)
-{
- mLoopDepth = 0;
- mLoopDiscontinuity = false;
- node->traverse(this);
- return mLoopDiscontinuity;
-}
-
-bool DetectLoopDiscontinuity::visitLoop(Visit visit, TIntermLoop *loop)
-{
- if (visit == PreVisit)
- {
- ++mLoopDepth;
- }
- else if (visit == PostVisit)
- {
- --mLoopDepth;
- }
-
- return true;
-}
-
-bool DetectLoopDiscontinuity::visitBranch(Visit visit, TIntermBranch *node)
-{
- if (mLoopDiscontinuity)
- {
- return false;
- }
-
- if (!mLoopDepth)
- {
- return true;
- }
-
- switch (node->getFlowOp())
- {
- case EOpKill:
- break;
- case EOpBreak:
- case EOpContinue:
- case EOpReturn:
- mLoopDiscontinuity = true;
- break;
- default: UNREACHABLE();
- }
-
- return !mLoopDiscontinuity;
-}
-
-bool DetectLoopDiscontinuity::visitAggregate(Visit visit, TIntermAggregate *node)
-{
- return !mLoopDiscontinuity;
-}
-
-bool containsLoopDiscontinuity(TIntermNode *node)
-{
- DetectLoopDiscontinuity detectLoopDiscontinuity;
- return detectLoopDiscontinuity.traverse(node);
-}
-
-bool DetectGradientOperation::traverse(TIntermNode *node)
-{
- mGradientOperation = false;
- node->traverse(this);
- return mGradientOperation;
-}
-
-bool DetectGradientOperation::visitUnary(Visit visit, TIntermUnary *node)
-{
- if (mGradientOperation)
- {
- return false;
- }
-
- switch (node->getOp())
- {
- case EOpDFdx:
- case EOpDFdy:
- mGradientOperation = true;
- default:
- break;
- }
-
- return !mGradientOperation;
-}
-
-bool DetectGradientOperation::visitAggregate(Visit visit, TIntermAggregate *node)
-{
- if (mGradientOperation)
- {
- return false;
- }
-
- if (node->getOp() == EOpFunctionCall)
- {
- if (!node->isUserDefined())
- {
- TString name = TFunction::unmangleName(node->getName());
-
- if (name == "texture2D" ||
- name == "texture2DProj" ||
- name == "textureCube")
- {
- mGradientOperation = true;
- }
- }
- else
- {
- // When a user defined function is called, we have to
- // conservatively assume it to contain gradient operations
- mGradientOperation = true;
- }
- }
-
- return !mGradientOperation;
-}
-
-bool containsGradientOperation(TIntermNode *node)
-{
- DetectGradientOperation detectGradientOperation;
- return detectGradientOperation.traverse(node);
-}
-}
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// Contains analysis utilities for dealing with HLSL's lack of support for
-// the use of intrinsic functions which (implicitly or explicitly) compute
-// gradients of functions with discontinuities.
-//
-
-#ifndef COMPILER_DETECTDISCONTINUITY_H_
-#define COMPILER_DETECTDISCONTINUITY_H_
-
-#include "compiler/intermediate.h"
-
-namespace sh
-{
-// Checks whether a loop can run for a variable number of iterations
-class DetectLoopDiscontinuity : public TIntermTraverser
-{
- public:
- bool traverse(TIntermNode *node);
-
- protected:
- bool visitBranch(Visit visit, TIntermBranch *node);
- bool visitLoop(Visit visit, TIntermLoop *loop);
- bool visitAggregate(Visit visit, TIntermAggregate *node);
-
- int mLoopDepth;
- bool mLoopDiscontinuity;
-};
-
-bool containsLoopDiscontinuity(TIntermNode *node);
-
-// Checks for intrinsic functions which compute gradients
-class DetectGradientOperation : public TIntermTraverser
-{
- public:
- bool traverse(TIntermNode *node);
-
- protected:
- bool visitUnary(Visit visit, TIntermUnary *node);
- bool visitAggregate(Visit visit, TIntermAggregate *node);
-
- bool mGradientOperation;
-};
-
-bool containsGradientOperation(TIntermNode *node);
-
-}
-
-#endif // COMPILER_DETECTDISCONTINUITY_H_
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/Diagnostics.h"
-
-#include "compiler/debug.h"
-#include "compiler/InfoSink.h"
-#include "compiler/preprocessor/SourceLocation.h"
-
-TDiagnostics::TDiagnostics(TInfoSink& infoSink) :
- mInfoSink(infoSink),
- mNumErrors(0),
- mNumWarnings(0)
-{
-}
-
-TDiagnostics::~TDiagnostics()
-{
-}
-
-void TDiagnostics::writeInfo(Severity severity,
- const pp::SourceLocation& loc,
- const std::string& reason,
- const std::string& token,
- const std::string& extra)
-{
- TPrefixType prefix = EPrefixNone;
- switch (severity)
- {
- case ERROR:
- ++mNumErrors;
- prefix = EPrefixError;
- break;
- case WARNING:
- ++mNumWarnings;
- prefix = EPrefixWarning;
- break;
- default:
- UNREACHABLE();
- break;
- }
-
- TInfoSinkBase& sink = mInfoSink.info;
- /* VC++ format: file(linenum) : error #: 'token' : extrainfo */
- sink.prefix(prefix);
- sink.location(loc.file, loc.line);
- sink << "'" << token << "' : " << reason << " " << extra << "\n";
-}
-
-void TDiagnostics::writeDebug(const std::string& str)
-{
- mInfoSink.debug << str;
-}
-
-void TDiagnostics::print(ID id,
- const pp::SourceLocation& loc,
- const std::string& text)
-{
- writeInfo(severity(id), loc, message(id), text, "");
-}
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_DIAGNOSTICS_H_
-#define COMPILER_DIAGNOSTICS_H_
-
-#include "compiler/preprocessor/DiagnosticsBase.h"
-
-class TInfoSink;
-
-class TDiagnostics : public pp::Diagnostics
-{
- public:
- TDiagnostics(TInfoSink& infoSink);
- virtual ~TDiagnostics();
-
- TInfoSink& infoSink() { return mInfoSink; }
-
- int numErrors() const { return mNumErrors; }
- int numWarnings() const { return mNumWarnings; }
-
- void writeInfo(Severity severity,
- const pp::SourceLocation& loc,
- const std::string& reason,
- const std::string& token,
- const std::string& extra);
-
- void writeDebug(const std::string& str);
-
- protected:
- virtual void print(ID id,
- const pp::SourceLocation& loc,
- const std::string& text);
-
- private:
- TInfoSink& mInfoSink;
- int mNumErrors;
- int mNumWarnings;
-};
-
-#endif // COMPILER_DIAGNOSTICS_H_
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/DirectiveHandler.h"
-
-#include <sstream>
-
-#include "compiler/debug.h"
-#include "compiler/Diagnostics.h"
-
-static TBehavior getBehavior(const std::string& str)
-{
- static const std::string kRequire("require");
- static const std::string kEnable("enable");
- static const std::string kDisable("disable");
- static const std::string kWarn("warn");
-
- if (str == kRequire) return EBhRequire;
- else if (str == kEnable) return EBhEnable;
- else if (str == kDisable) return EBhDisable;
- else if (str == kWarn) return EBhWarn;
- return EBhUndefined;
-}
-
-TDirectiveHandler::TDirectiveHandler(TExtensionBehavior& extBehavior,
- TDiagnostics& diagnostics)
- : mExtensionBehavior(extBehavior),
- mDiagnostics(diagnostics)
-{
-}
-
-TDirectiveHandler::~TDirectiveHandler()
-{
-}
-
-void TDirectiveHandler::handleError(const pp::SourceLocation& loc,
- const std::string& msg)
-{
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc, msg, "", "");
-}
-
-void TDirectiveHandler::handlePragma(const pp::SourceLocation& loc,
- const std::string& name,
- const std::string& value)
-{
- static const std::string kSTDGL("STDGL");
- static const std::string kOptimize("optimize");
- static const std::string kDebug("debug");
- static const std::string kOn("on");
- static const std::string kOff("off");
-
- bool invalidValue = false;
- if (name == kSTDGL)
- {
- // The STDGL pragma is used to reserve pragmas for use by future
- // revisions of GLSL. Ignore it.
- return;
- }
- else if (name == kOptimize)
- {
- if (value == kOn) mPragma.optimize = true;
- else if (value == kOff) mPragma.optimize = false;
- else invalidValue = true;
- }
- else if (name == kDebug)
- {
- if (value == kOn) mPragma.debug = true;
- else if (value == kOff) mPragma.debug = false;
- else invalidValue = true;
- }
- else
- {
- mDiagnostics.report(pp::Diagnostics::UNRECOGNIZED_PRAGMA, loc, name);
- return;
- }
-
- if (invalidValue)
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc,
- "invalid pragma value", value,
- "'on' or 'off' expected");
-}
-
-void TDirectiveHandler::handleExtension(const pp::SourceLocation& loc,
- const std::string& name,
- const std::string& behavior)
-{
- static const std::string kExtAll("all");
-
- TBehavior behaviorVal = getBehavior(behavior);
- if (behaviorVal == EBhUndefined)
- {
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc,
- "behavior", name, "invalid");
- return;
- }
-
- if (name == kExtAll)
- {
- if (behaviorVal == EBhRequire)
- {
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc,
- "extension", name,
- "cannot have 'require' behavior");
- }
- else if (behaviorVal == EBhEnable)
- {
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc,
- "extension", name,
- "cannot have 'enable' behavior");
- }
- else
- {
- for (TExtensionBehavior::iterator iter = mExtensionBehavior.begin();
- iter != mExtensionBehavior.end(); ++iter)
- iter->second = behaviorVal;
- }
- return;
- }
-
- TExtensionBehavior::iterator iter = mExtensionBehavior.find(name);
- if (iter != mExtensionBehavior.end())
- {
- iter->second = behaviorVal;
- return;
- }
-
- pp::Diagnostics::Severity severity = pp::Diagnostics::ERROR;
- switch (behaviorVal) {
- case EBhRequire:
- severity = pp::Diagnostics::ERROR;
- break;
- case EBhEnable:
- case EBhWarn:
- case EBhDisable:
- severity = pp::Diagnostics::WARNING;
- break;
- default:
- UNREACHABLE();
- break;
- }
- mDiagnostics.writeInfo(severity, loc,
- "extension", name, "is not supported");
-}
-
-void TDirectiveHandler::handleVersion(const pp::SourceLocation& loc,
- int version)
-{
- static const int kVersion = 100;
-
- if (version != kVersion)
- {
- std::stringstream stream;
- stream << version;
- std::string str = stream.str();
- mDiagnostics.writeInfo(pp::Diagnostics::ERROR, loc,
- "version number", str, "not supported");
- }
-}
+++ /dev/null
-//
-// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_DIRECTIVE_HANDLER_H_
-#define COMPILER_DIRECTIVE_HANDLER_H_
-
-#include "compiler/ExtensionBehavior.h"
-#include "compiler/Pragma.h"
-#include "compiler/preprocessor/DirectiveHandlerBase.h"
-
-class TDiagnostics;
-
-class TDirectiveHandler : public pp::DirectiveHandler
-{
- public:
- TDirectiveHandler(TExtensionBehavior& extBehavior,
- TDiagnostics& diagnostics);
- virtual ~TDirectiveHandler();
-
- const TPragma& pragma() const { return mPragma; }
- const TExtensionBehavior& extensionBehavior() const { return mExtensionBehavior; }
-
- virtual void handleError(const pp::SourceLocation& loc,
- const std::string& msg);
-
- virtual void handlePragma(const pp::SourceLocation& loc,
- const std::string& name,
- const std::string& value);
-
- virtual void handleExtension(const pp::SourceLocation& loc,
- const std::string& name,
- const std::string& behavior);
-
- virtual void handleVersion(const pp::SourceLocation& loc,
- int version);
-
- private:
- TPragma mPragma;
- TExtensionBehavior& mExtensionBehavior;
- TDiagnostics& mDiagnostics;
-};
-
-#endif // COMPILER_DIRECTIVE_HANDLER_H_
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef _EXTENSION_BEHAVIOR_INCLUDED_
-#define _EXTENSION_BEHAVIOR_INCLUDED_
-
-#include <map>
-#include <string>
-
-typedef enum
-{
- EBhRequire,
- EBhEnable,
- EBhWarn,
- EBhDisable,
- EBhUndefined
-} TBehavior;
-
-inline const char* getBehaviorString(TBehavior b)
-{
- switch(b)
- {
- case EBhRequire: return "require";
- case EBhEnable: return "enable";
- case EBhWarn: return "warn";
- case EBhDisable: return "disable";
- default: return NULL;
- }
-}
-
-// Mapping between extension name and behavior.
-typedef std::map<std::string, TBehavior> TExtensionBehavior;
-
-#endif // _EXTENSION_TABLE_INCLUDED_
+++ /dev/null
-//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/ForLoopUnroll.h"
-
-namespace {
-
-class IntegerForLoopUnrollMarker : public TIntermTraverser {
-public:
-
- virtual bool visitLoop(Visit, TIntermLoop* node)
- {
- // This is called after ValidateLimitations pass, so all the ASSERT
- // should never fail.
- // See ValidateLimitations::validateForLoopInit().
- ASSERT(node);
- ASSERT(node->getType() == ELoopFor);
- ASSERT(node->getInit());
- TIntermAggregate* decl = node->getInit()->getAsAggregate();
- ASSERT(decl && decl->getOp() == EOpDeclaration);
- TIntermSequence& declSeq = decl->getSequence();
- ASSERT(declSeq.size() == 1);
- TIntermBinary* declInit = declSeq[0]->getAsBinaryNode();
- ASSERT(declInit && declInit->getOp() == EOpInitialize);
- ASSERT(declInit->getLeft());
- TIntermSymbol* symbol = declInit->getLeft()->getAsSymbolNode();
- ASSERT(symbol);
- TBasicType type = symbol->getBasicType();
- ASSERT(type == EbtInt || type == EbtFloat);
- if (type == EbtInt)
- node->setUnrollFlag(true);
- return true;
- }
-
-};
-
-} // anonymous namepsace
-
-void ForLoopUnroll::FillLoopIndexInfo(TIntermLoop* node, TLoopIndexInfo& info)
-{
- ASSERT(node->getType() == ELoopFor);
- ASSERT(node->getUnrollFlag());
-
- TIntermNode* init = node->getInit();
- ASSERT(init != NULL);
- TIntermAggregate* decl = init->getAsAggregate();
- ASSERT((decl != NULL) && (decl->getOp() == EOpDeclaration));
- TIntermSequence& declSeq = decl->getSequence();
- ASSERT(declSeq.size() == 1);
- TIntermBinary* declInit = declSeq[0]->getAsBinaryNode();
- ASSERT((declInit != NULL) && (declInit->getOp() == EOpInitialize));
- TIntermSymbol* symbol = declInit->getLeft()->getAsSymbolNode();
- ASSERT(symbol != NULL);
- ASSERT(symbol->getBasicType() == EbtInt);
-
- info.id = symbol->getId();
-
- ASSERT(declInit->getRight() != NULL);
- TIntermConstantUnion* initNode = declInit->getRight()->getAsConstantUnion();
- ASSERT(initNode != NULL);
-
- info.initValue = evaluateIntConstant(initNode);
- info.currentValue = info.initValue;
-
- TIntermNode* cond = node->getCondition();
- ASSERT(cond != NULL);
- TIntermBinary* binOp = cond->getAsBinaryNode();
- ASSERT(binOp != NULL);
- ASSERT(binOp->getRight() != NULL);
- ASSERT(binOp->getRight()->getAsConstantUnion() != NULL);
-
- info.incrementValue = getLoopIncrement(node);
- info.stopValue = evaluateIntConstant(
- binOp->getRight()->getAsConstantUnion());
- info.op = binOp->getOp();
-}
-
-void ForLoopUnroll::Step()
-{
- ASSERT(mLoopIndexStack.size() > 0);
- TLoopIndexInfo& info = mLoopIndexStack[mLoopIndexStack.size() - 1];
- info.currentValue += info.incrementValue;
-}
-
-bool ForLoopUnroll::SatisfiesLoopCondition()
-{
- ASSERT(mLoopIndexStack.size() > 0);
- TLoopIndexInfo& info = mLoopIndexStack[mLoopIndexStack.size() - 1];
- // Relational operator is one of: > >= < <= == or !=.
- switch (info.op) {
- case EOpEqual:
- return (info.currentValue == info.stopValue);
- case EOpNotEqual:
- return (info.currentValue != info.stopValue);
- case EOpLessThan:
- return (info.currentValue < info.stopValue);
- case EOpGreaterThan:
- return (info.currentValue > info.stopValue);
- case EOpLessThanEqual:
- return (info.currentValue <= info.stopValue);
- case EOpGreaterThanEqual:
- return (info.currentValue >= info.stopValue);
- default:
- UNREACHABLE();
- }
- return false;
-}
-
-bool ForLoopUnroll::NeedsToReplaceSymbolWithValue(TIntermSymbol* symbol)
-{
- for (TVector<TLoopIndexInfo>::iterator i = mLoopIndexStack.begin();
- i != mLoopIndexStack.end();
- ++i) {
- if (i->id == symbol->getId())
- return true;
- }
- return false;
-}
-
-int ForLoopUnroll::GetLoopIndexValue(TIntermSymbol* symbol)
-{
- for (TVector<TLoopIndexInfo>::iterator i = mLoopIndexStack.begin();
- i != mLoopIndexStack.end();
- ++i) {
- if (i->id == symbol->getId())
- return i->currentValue;
- }
- UNREACHABLE();
- return false;
-}
-
-void ForLoopUnroll::Push(TLoopIndexInfo& info)
-{
- mLoopIndexStack.push_back(info);
-}
-
-void ForLoopUnroll::Pop()
-{
- mLoopIndexStack.pop_back();
-}
-
-// static
-void ForLoopUnroll::MarkForLoopsWithIntegerIndicesForUnrolling(
- TIntermNode* root)
-{
- ASSERT(root);
-
- IntegerForLoopUnrollMarker marker;
- root->traverse(&marker);
-}
-
-int ForLoopUnroll::getLoopIncrement(TIntermLoop* node)
-{
- TIntermNode* expr = node->getExpression();
- ASSERT(expr != NULL);
- // for expression has one of the following forms:
- // loop_index++
- // loop_index--
- // loop_index += constant_expression
- // loop_index -= constant_expression
- // ++loop_index
- // --loop_index
- // The last two forms are not specified in the spec, but I am assuming
- // its an oversight.
- TIntermUnary* unOp = expr->getAsUnaryNode();
- TIntermBinary* binOp = unOp ? NULL : expr->getAsBinaryNode();
-
- TOperator op = EOpNull;
- TIntermConstantUnion* incrementNode = NULL;
- if (unOp != NULL) {
- op = unOp->getOp();
- } else if (binOp != NULL) {
- op = binOp->getOp();
- ASSERT(binOp->getRight() != NULL);
- incrementNode = binOp->getRight()->getAsConstantUnion();
- ASSERT(incrementNode != NULL);
- }
-
- int increment = 0;
- // The operator is one of: ++ -- += -=.
- switch (op) {
- case EOpPostIncrement:
- case EOpPreIncrement:
- ASSERT((unOp != NULL) && (binOp == NULL));
- increment = 1;
- break;
- case EOpPostDecrement:
- case EOpPreDecrement:
- ASSERT((unOp != NULL) && (binOp == NULL));
- increment = -1;
- break;
- case EOpAddAssign:
- ASSERT((unOp == NULL) && (binOp != NULL));
- increment = evaluateIntConstant(incrementNode);
- break;
- case EOpSubAssign:
- ASSERT((unOp == NULL) && (binOp != NULL));
- increment = - evaluateIntConstant(incrementNode);
- break;
- default:
- ASSERT(false);
- }
-
- return increment;
-}
-
-int ForLoopUnroll::evaluateIntConstant(TIntermConstantUnion* node)
-{
- ASSERT((node != NULL) && (node->getUnionArrayPointer() != NULL));
- return node->getIConst(0);
-}
-
+++ /dev/null
-//
-// Copyright (c) 2011 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/intermediate.h"
-
-struct TLoopIndexInfo {
- int id;
- int initValue;
- int stopValue;
- int incrementValue;
- TOperator op;
- int currentValue;
-};
-
-class ForLoopUnroll {
-public:
- ForLoopUnroll() { }
-
- void FillLoopIndexInfo(TIntermLoop* node, TLoopIndexInfo& info);
-
- // Update the info.currentValue for the next loop iteration.
- void Step();
-
- // Return false if loop condition is no longer satisfied.
- bool SatisfiesLoopCondition();
-
- // Check if the symbol is the index of a loop that's unrolled.
- bool NeedsToReplaceSymbolWithValue(TIntermSymbol* symbol);
-
- // Return the current value of a given loop index symbol.
- int GetLoopIndexValue(TIntermSymbol* symbol);
-
- void Push(TLoopIndexInfo& info);
- void Pop();
-
- static void MarkForLoopsWithIntegerIndicesForUnrolling(TIntermNode* root);
-
-private:
- int getLoopIncrement(TIntermLoop* node);
-
- int evaluateIntConstant(TIntermConstantUnion* node);
-
- TVector<TLoopIndexInfo> mLoopIndexStack;
-};
-
+++ /dev/null
-//
-// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef COMPILER_HASH_NAMES_H_
-#define COMPILER_HASH_NAMES_H_
-
-#include <map>
-
-#include "compiler/intermediate.h"
-#include "GLSLANG/ShaderLang.h"
-
-#define HASHED_NAME_PREFIX "webgl_"
-
-typedef std::map<TPersistString, TPersistString> NameMap;
-
-#endif // COMPILER_HASH_NAMES_H_
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#include "compiler/InfoSink.h"
-
-void TInfoSinkBase::prefix(TPrefixType p) {
- switch(p) {
- case EPrefixNone:
- break;
- case EPrefixWarning:
- sink.append("WARNING: ");
- break;
- case EPrefixError:
- sink.append("ERROR: ");
- break;
- case EPrefixInternalError:
- sink.append("INTERNAL ERROR: ");
- break;
- case EPrefixUnimplemented:
- sink.append("UNIMPLEMENTED: ");
- break;
- case EPrefixNote:
- sink.append("NOTE: ");
- break;
- default:
- sink.append("UNKOWN ERROR: ");
- break;
- }
-}
-
-void TInfoSinkBase::location(int file, int line) {
- TPersistStringStream stream;
- if (line)
- stream << file << ":" << line;
- else
- stream << file << ":? ";
- stream << ": ";
-
- sink.append(stream.str());
-}
-
-void TInfoSinkBase::location(const TSourceLoc& loc) {
- location(loc.first_file, loc.first_line);
-}
-
-void TInfoSinkBase::message(TPrefixType p, const TSourceLoc& loc, const char* m) {
- prefix(p);
- location(loc);
- sink.append(m);
- sink.append("\n");
-}
+++ /dev/null
-//
-// Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-#ifndef _INFOSINK_INCLUDED_
-#define _INFOSINK_INCLUDED_
-
-#include <math.h>
-#include <stdlib.h>
-#include "compiler/Common.h"
-
-// Returns the fractional part of the given floating-point number.
-inline float fractionalPart(float f) {
- float intPart = 0.0f;
- return modff(f, &intPart);
-}
-
-//
-// TPrefixType is used to centralize how info log messages start.
-// See below.
-//
-enum TPrefixType {
- EPrefixNone,
- EPrefixWarning,
- EPrefixError,
- EPrefixInternalError,
- EPrefixUnimplemented,
- EPrefixNote
-};
-
-//
-// Encapsulate info logs for all objects that have them.
-//
-// The methods are a general set of tools for getting a variety of
-// messages and types inserted into the log.
-//
-class TInfoSinkBase {
-public:
- TInfoSinkBase() {}
-
- template <typename T>
- TInfoSinkBase& operator<<(const T& t) {
- TPersistStringStream stream;
- stream << t;
- sink.append(stream.str());
- return *this;
- }
- // Override << operator for specific types. It is faster to append strings
- // and characters directly to the sink.
- TInfoSinkBase& operator<<(char c) {
- sink.append(1, c);
- return *this;
- }
- TInfoSinkBase& operator<<(const char* str) {
- sink.append(str);
- return *this;
- }
- TInfoSinkBase& operator<<(const TPersistString& str) {
- sink.append(str);
- return *this;
- }
- TInfoSinkBase& operator<<(const TString& str) {
- sink.append(str.c_str());
- return *this;
- }
- // Make sure floats are written with correct precision.
- TInfoSinkBase& operator<<(float f) {
- // Make sure that at least one decimal point is written. If a number
- // does not have a fractional part, the default precision format does
- // not write the decimal portion which gets interpreted as integer by
- // the compiler.
- TPersistStringStream stream;
- if (fractionalPart(f) == 0.0f) {
- stream.precision(1);
- stream << std::showpoint << std::fixed << f;
- } else {
- stream.unsetf(std::ios::fixed);
- stream.unsetf(std::ios::scientific);
- stream.precision(8);
- stream << f;
- }
- sink.append(stream.str());
- return *this;
- }
- // Write boolean values as their names instead of integral value.
- TInfoSinkBase& operator<<(bool b) {
- const char* str = b ? "true" : "false";
- sink.append(str);
- return *this;
- }
-
- void erase() { sink.clear(); }
- int size() { return static_cast<int>(sink.size()); }
-
- const TPersistString& str() const { return sink; }
- const char* c_str() const { return sink.c_str(); }
-
- void prefix(TPrefixType p);
- void location(int file, int line);