Commit 834e8b77 by Jamie Madill

Move ShaderVariables to common shared source.

Also move the block layout encoding utilities to the common folder. The combined changes allow us to include the shader and block code into both libGLESv2 and the translator separately. This in turn fixes the Chromium component build, where we were calling internal translator functions directly from libGLESv2. BUG=angle:568 Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747 Reviewed-on: https://chromium-review.googlesource.com/192891Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 8cc03bf7
......@@ -127,6 +127,8 @@
<ClInclude Include="..\..\src\common\version.h"/>
<ClInclude Include="..\..\src\common\utilities.h"/>
<ClInclude Include="..\..\src\common\angleutils.h"/>
<ClInclude Include="..\..\src\common\shadervars.h"/>
<ClInclude Include="..\..\src\common\blocklayout.h"/>
<ClInclude Include="..\..\include\KHR\khrplatform.h"/>
<ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/>
<ClInclude Include="..\..\include\GLES2\gl2.h"/>
......@@ -150,6 +152,8 @@
<ClCompile Include="..\..\src\common\debug.cpp"/>
<ClCompile Include="..\..\src\common\event_tracer.cpp"/>
<ClCompile Include="..\..\src\common\utilities.cpp"/>
<ClCompile Include="..\..\src\common\shadervars.cpp"/>
<ClCompile Include="..\..\src\common\blocklayout.cpp"/>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\src\libEGL\libEGL.rc"/>
......
......@@ -102,9 +102,21 @@
<ClCompile Include="..\..\src\common\utilities.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\shadervars.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\angleutils.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\shadervars.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\blocklayout.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\blocklayout.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\include\KHR\khrplatform.h">
<Filter>include\KHR</Filter>
</ClInclude>
......
......@@ -113,124 +113,104 @@
<ItemGroup>
<None Include="..\..\src\angle.gyp"/>
<None Include="..\..\src\libGLESv2\libGLESv2.def"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Swizzle11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\generate_shaders.bat"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough2D11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Swizzle11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough3D11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl"/>
<None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\Blit.ps"/>
<None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\Blit.vs"/>
<None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\generate_shaders.bat"/>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\libGLESv2\resource.h"/>
<ClInclude Include="..\..\src\libGLESv2\Shader.h"/>
<ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/>
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES3.h"/>
<ClInclude Include="..\..\src\libGLESv2\resource.h"/>
<ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\Program.h"/>
<ClInclude Include="..\..\src\libGLESv2\main.h"/>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"/>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/>
<ClInclude Include="..\..\src\libGLESv2\precompiled.h"/>
<ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h"/>
<ClInclude Include="..\..\src\libGLESv2\Context.h"/>
<ClInclude Include="..\..\src\libGLESv2\Query.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\Texture.h"/>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexArray.h"/>
<ClInclude Include="..\..\src\libGLESv2\Uniform.h"/>
<ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h"/>
<ClInclude Include="..\..\src\libGLESv2\constants.h"/>
<ClInclude Include="..\..\src\libGLESv2\Buffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\RenderbufferProxySet.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES.h"/>
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES3.h"/>
<ClInclude Include="..\..\src\libGLESv2\Program.h"/>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h"/>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h"/>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES2.h"/>
<ClInclude Include="..\..\src\libGLESv2\Fence.h"/>
<ClInclude Include="..\..\src\libGLESv2\angletypes.h"/>
<ClInclude Include="..\..\src\libGLESv2\Uniform.h"/>
<ClInclude Include="..\..\src\libGLESv2\constants.h"/>
<ClInclude Include="..\..\src\libGLESv2\main.h"/>
<ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\VertexArray.h"/>
<ClInclude Include="..\..\src\libGLESv2\formatutils.h"/>
<ClInclude Include="..\..\src\libGLESv2\RenderbufferProxySet.h"/>
<ClInclude Include="..\..\src\libGLESv2\validationES.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexDataManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\BufferStorage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\Image.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\VertexDataManager.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\BufferStorage.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\VertexBuffer.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Query11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Image11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Query11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Blit11.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_gs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough2d11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11gs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei3dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughdepth2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef3dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"/>
......@@ -238,47 +218,69 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui3dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11gs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughdepth2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2darrayps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11vs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui3dps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderCache.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Image9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Query9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Query9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Image9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\luminanceps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\passthroughps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\flipyvs.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\componentmaskps.h"/>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\standardvs.h"/>
<ClInclude Include="..\..\src\common\RefCountObject.h"/>
<ClInclude Include="..\..\src\common\mathutil.h"/>
<ClInclude Include="..\..\src\common\event_tracer.h"/>
<ClInclude Include="..\..\src\common\blocklayout.h"/>
<ClInclude Include="..\..\src\common\debug.h"/>
<ClInclude Include="..\..\src\common\version.h"/>
<ClInclude Include="..\..\src\common\shadervars.h"/>
<ClInclude Include="..\..\src\common\utilities.h"/>
<ClInclude Include="..\..\src\common\angleutils.h"/>
<ClInclude Include="..\..\src\common\RefCountObject.h"/>
<ClInclude Include="..\..\src\common\event_tracer.h"/>
<ClInclude Include="..\..\src\common\version.h"/>
<ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h"/>
<ClInclude Include="..\..\include\KHR\khrplatform.h"/>
<ClInclude Include="..\..\include\GLSLANG\ShaderLang.h"/>
<ClInclude Include="..\..\include\GLES2\gl2platform.h"/>
<ClInclude Include="..\..\include\GLES2\gl2ext.h"/>
<ClInclude Include="..\..\include\GLES2\gl2.h"/>
<ClInclude Include="..\..\include\GLES2\gl2platform.h"/>
<ClInclude Include="..\..\include\GLES3\gl3ext.h"/>
<ClInclude Include="..\..\include\GLES3\gl3.h"/>
<ClInclude Include="..\..\include\GLES3\gl3platform.h"/>
......@@ -287,85 +289,87 @@
<ClInclude Include="..\..\include\EGL\eglplatform.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\precompiled.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Context.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Program.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Query.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Context.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Buffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Shader.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Uniform.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\main.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\validationES3.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Sampler.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Program.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\angletypes.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexDataManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\BufferStorage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexDataManager.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexBuffer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\BufferStorage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Query11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Query11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Blit11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Image11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Image9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Query9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp"/>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.cpp"/>
<ClCompile Include="..\..\src\common\event_tracer.cpp"/>
<ClCompile Include="..\..\src\common\blocklayout.cpp"/>
<ClCompile Include="..\..\src\common\RefCountObject.cpp"/>
<ClCompile Include="..\..\src\common\utilities.cpp"/>
<ClCompile Include="..\..\src\common\debug.cpp"/>
<ClCompile Include="..\..\src\common\mathutil.cpp"/>
<ClCompile Include="..\..\src\common\debug.cpp"/>
<ClCompile Include="..\..\src\common\shadervars.cpp"/>
<ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"/>
</ItemGroup>
<ItemGroup>
......
......@@ -63,12 +63,6 @@
<None Include="..\..\src\angle.gyp">
<Filter>src</Filter>
</None>
<ClInclude Include="..\..\src\libGLESv2\resource.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Shader.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
......@@ -78,7 +72,7 @@
<ClInclude Include="..\..\src\libGLESv2\BinaryStream.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h">
<ClInclude Include="..\..\src\libGLESv2\resource.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\precompiled.cpp">
......@@ -87,39 +81,18 @@
<ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\validationES3.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Program.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\main.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h">
<ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp">
<Filter>src\libGLESv2</Filter>
</ClInclude>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\precompiled.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\TransformFeedback.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
......@@ -129,120 +102,147 @@
<ClInclude Include="..\..\src\libGLESv2\Query.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ResourceCompile Include="..\..\src\libGLESv2\libGLESv2.rc">
<Filter>src\libGLESv2</Filter>
</ResourceCompile>
<ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Texture.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Context.cpp">
<ClCompile Include="..\..\src\libGLESv2\validationES.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h">
<ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\VertexArray.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Fence.cpp">
<ClInclude Include="..\..\src\libGLESv2\Uniform.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Program.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp">
<ClCompile Include="..\..\src\libGLESv2\angletypes.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\ProgramBinary.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp">
<None Include="..\..\src\libGLESv2\libGLESv2.def">
<Filter>src\libGLESv2</Filter>
</None>
<ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Buffer.h">
<ClCompile Include="..\..\src\libGLESv2\validationES3.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\constants.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\validationES2.h">
<ClInclude Include="..\..\src\libGLESv2\Buffer.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Fence.h">
<ClInclude Include="..\..\src\libGLESv2\RenderbufferProxySet.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\validationES.cpp">
<ClCompile Include="..\..\src\libGLESv2\Query.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp">
<ClInclude Include="..\..\src\libGLESv2\validationES.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\angletypes.h">
<ClInclude Include="..\..\src\libGLESv2\queryconversions.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Uniform.h">
<ClInclude Include="..\..\src\libGLESv2\validationES3.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Query.cpp">
<ClInclude Include="..\..\src\libGLESv2\Program.h">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Buffer.cpp">
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Sampler.h">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Shader.cpp">
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\formatutils.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Uniform.cpp">
<ClInclude Include="..\..\src\libGLESv2\ResourceManager.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ResourceCompile Include="..\..\src\libGLESv2\libGLESv2.rc">
<Filter>src\libGLESv2</Filter>
</ResourceCompile>
<ClCompile Include="..\..\src\libGLESv2\Context.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\constants.h">
<ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\main.cpp">
<ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\Framebuffer.h">
<ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Float16ToFloat32.cpp">
<ClInclude Include="..\..\src\libGLESv2\validationES2.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\Fence.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Buffer.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<None Include="..\..\src\libGLESv2\libGLESv2.def">
<ClInclude Include="..\..\src\libGLESv2\angletypes.h">
<Filter>src\libGLESv2</Filter>
</None>
<ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp">
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Texture.cpp">
<ClCompile Include="..\..\src\libGLESv2\Shader.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\validationES3.cpp">
<ClCompile Include="..\..\src\libGLESv2\Uniform.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\VertexArray.cpp">
<ClCompile Include="..\..\src\libGLESv2\main.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\main.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Sampler.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\VertexArray.h">
<ClInclude Include="..\..\src\libGLESv2\Framebuffer.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\formatutils.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\Program.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\angletypes.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp">
<Filter>src\libGLESv2</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\RenderbufferProxySet.h">
<Filter>src\libGLESv2</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\validationES.h">
<ClCompile Include="..\..\src\libGLESv2\Texture.cpp">
<Filter>src\libGLESv2</Filter>
</ClInclude>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexDataManager.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
......@@ -252,49 +252,58 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexDataManager.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexBuffer.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexBuffer.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h">
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexBuffer.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\BufferStorage.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexDataManager.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\ShaderExecutable.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyvertex.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\BufferStorage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexBuffer.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexBuffer.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\SwapChain.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\copyimage.h">
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\BufferStorage.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h">
......@@ -303,33 +312,24 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\Image.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\generatemip.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\VertexDataManager.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\VertexDataManager.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\BufferStorage.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\VertexBuffer.h">
<Filter>src\libGLESv2\renderer</Filter>
</ClInclude>
......@@ -339,30 +339,18 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp">
<Filter>src\libGLESv2\renderer</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Query11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
......@@ -372,24 +360,12 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Query11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
......@@ -399,37 +375,61 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.cpp">
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Blit11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Image11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Blit11.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\InputLayoutCache.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\renderer11_utils.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Query11.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Image11.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Query11.h">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\formatutils11.h">
......@@ -441,28 +441,28 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Image11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Fence11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.cpp">
<Filter>src\libGLESv2\renderer\d3d11</Filter>
</ClCompile>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.hlsl">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Swizzle11.hlsl">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\generate_shaders.bat">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough2D11.hlsl">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\generate_shaders.bat">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Swizzle11.hlsl">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.hlsl">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough3D11.hlsl">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough2D11.hlsl">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Clear11.hlsl">
<None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough3D11.hlsl">
<Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
</None>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2di11ps.h">
......@@ -474,148 +474,148 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough2d11vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough2d11vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11gs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei3dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2darrayps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2darrayps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei3dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2darrayps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef3dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4f.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughdepth2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui3dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2darrayps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2dps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11gs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlei2darrayps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui2dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearfloat11vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2di11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlum2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4i.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef3dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughdepth2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4f.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzlef2darrayps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba3di11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2d11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_ps_4i.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearsint11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3dui11ps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\clearuint11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11vs.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3dui11ps.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\swizzleui3dps.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthrough3d11vs.h">
<Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb3dui11ps.h">
......@@ -627,9 +627,6 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h">
<Filter>src\libGLESv2\renderer\d3d</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
......@@ -639,42 +636,30 @@
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Image9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderCache.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Image9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
......@@ -684,40 +669,55 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Query9.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Query9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.h">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Query9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.cpp">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Query9.cpp">
<ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.cpp">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClCompile>
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Image9.h">
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.h">
<Filter>src\libGLESv2\renderer\d3d9</Filter>
</ClInclude>
<None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\Blit.ps">
......@@ -744,63 +744,75 @@
<ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\standardvs.h">
<Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\RefCountObject.h">
<ClInclude Include="..\..\src\common\mathutil.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\mathutil.h">
<ClCompile Include="..\..\src\common\event_tracer.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\blocklayout.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\event_tracer.h">
<ClInclude Include="..\..\src\common\debug.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\event_tracer.cpp">
<ClInclude Include="..\..\src\common\shadervars.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\utilities.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\blocklayout.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\angleutils.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\RefCountObject.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\event_tracer.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\RefCountObject.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\utilities.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\debug.cpp">
<ClCompile Include="..\..\src\common\mathutil.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\mathutil.cpp">
<ClCompile Include="..\..\src\common\debug.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\debug.h">
<ClCompile Include="..\..\src\common\shadervars.cpp">
<Filter>src\common</Filter>
</ClInclude>
</ClCompile>
<ClInclude Include="..\..\src\common\version.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\utilities.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\angleutils.h">
<Filter>src\common</Filter>
<ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h">
<Filter>src\third_party\murmurhash</Filter>
</ClInclude>
<ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp">
<Filter>src\third_party\murmurhash</Filter>
</ClCompile>
<ClInclude Include="..\..\src\third_party\murmurhash\MurmurHash3.h">
<Filter>src\third_party\murmurhash</Filter>
</ClInclude>
<ClInclude Include="..\..\include\KHR\khrplatform.h">
<Filter>include\KHR</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLSLANG\ShaderLang.h">
<Filter>include\GLSLANG</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLES2\gl2platform.h">
<Filter>include\GLES2</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLES2\gl2ext.h">
<Filter>include\GLES2</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLES2\gl2.h">
<Filter>include\GLES2</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLES2\gl2platform.h">
<Filter>include\GLES2</Filter>
</ClInclude>
<ClInclude Include="..\..\include\GLES3\gl3ext.h">
<Filter>include\GLES3</Filter>
</ClInclude>
......
......@@ -117,11 +117,13 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"/>
<ClInclude Include="..\..\src\common\shadervars.h"/>
<ClInclude Include="..\..\src\common\RefCountObject.h"/>
<ClInclude Include="..\..\src\common\mathutil.h"/>
<ClInclude Include="..\..\src\common\event_tracer.h"/>
<ClInclude Include="..\..\src\common\debug.h"/>
<ClInclude Include="..\..\src\common\version.h"/>
<ClInclude Include="..\..\src\common\blocklayout.h"/>
<ClInclude Include="..\..\src\common\utilities.h"/>
<ClInclude Include="..\..\src\common\angleutils.h"/>
<ClInclude Include="..\..\src\compiler\translator\BaseTypes.h"/>
......@@ -133,16 +135,15 @@
<ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"/>
<ClInclude Include="..\..\src\compiler\translator\length_limits.h"/>
<ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"/>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/>
<ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h"/>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/>
<ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"/>
<ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"/>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h"/>
<ClInclude Include="..\..\src\compiler\translator\osinclude.h"/>
<ClInclude Include="..\..\src\compiler\translator\Initialize.h"/>
<ClInclude Include="..\..\src\compiler\translator\HLSLLayoutEncoder.h"/>
<ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"/>
<ClInclude Include="..\..\src\compiler\translator\ConstantUnion.h"/>
<ClInclude Include="..\..\src\compiler\translator\ParseContext.h"/>
......@@ -152,13 +153,12 @@
<ClInclude Include="..\..\src\compiler\translator\DirectiveHandler.h"/>
<ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h"/>
<ClInclude Include="..\..\src\compiler\translator\localintermediate.h"/>
<ClInclude Include="..\..\src\compiler\translator\ShHandle.h"/>
<ClInclude Include="..\..\src\compiler\translator\OutputGLSLBase.h"/>
<ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"/>
<ClInclude Include="..\..\src\compiler\translator\ShaderVariable.h"/>
<ClInclude Include="..\..\src\compiler\translator\Pragma.h"/>
<ClInclude Include="..\..\src\compiler\translator\intermediate.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"/>
......@@ -175,7 +175,6 @@
<ClInclude Include="..\..\src\compiler\translator\SearchSymbol.h"/>
<ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"/>
<ClInclude Include="..\..\src\compiler\translator\BlockLayoutEncoder.h"/>
<ClInclude Include="..\..\src\compiler\translator\VariableInfo.h"/>
<ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"/>
<ClInclude Include="..\..\src\compiler\translator\glslang_tab.h"/>
......@@ -205,7 +204,8 @@
<ClCompile Include="..\..\src\common\RefCountObject.cpp"/>
<ClCompile Include="..\..\src\common\mathutil.cpp"/>
<ClCompile Include="..\..\src\common\debug.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\HLSLLayoutEncoder.cpp"/>
<ClCompile Include="..\..\src\common\shadervars.cpp"/>
<ClCompile Include="..\..\src\common\blocklayout.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputESSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"/>
......@@ -214,13 +214,11 @@
<ClCompile Include="..\..\src\compiler\translator\OutputGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputGLSLBase.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ShaderVariable.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\PoolAlloc.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\BlockLayoutEncoder.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ossource_win.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"/>
......@@ -230,6 +228,7 @@
<ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"/>
......@@ -244,7 +243,6 @@
<ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"/>
......
......@@ -57,6 +57,9 @@
<ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h">
<Filter>src\third_party\compiler</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\shadervars.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\RefCountObject.h">
<Filter>src\common</Filter>
</ClInclude>
......@@ -87,18 +90,24 @@
<ClInclude Include="..\..\src\common\version.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\blocklayout.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\utilities.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\shadervars.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\blocklayout.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\angleutils.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\BaseTypes.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\HLSLLayoutEncoder.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
......@@ -147,15 +156,12 @@
<ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\ShaderVariable.cpp">
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h">
<Filter>src\compiler\translator</Filter>
</ClCompile>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
......@@ -174,7 +180,7 @@
<ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h">
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp">
......@@ -186,9 +192,6 @@
<ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\BlockLayoutEncoder.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\osinclude.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -198,9 +201,6 @@
<ClCompile Include="..\..\src\compiler\translator\ossource_win.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\HLSLLayoutEncoder.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -249,7 +249,7 @@
<ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h">
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h">
......@@ -267,9 +267,6 @@
<ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\ShaderVariable.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\Pragma.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -282,6 +279,9 @@
<ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\OutputESSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -369,12 +369,6 @@
<ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\BlockLayoutEncoder.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\VariableInfo.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......
......@@ -117,11 +117,13 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h"/>
<ClInclude Include="..\..\src\common\shadervars.h"/>
<ClInclude Include="..\..\src\common\RefCountObject.h"/>
<ClInclude Include="..\..\src\common\mathutil.h"/>
<ClInclude Include="..\..\src\common\event_tracer.h"/>
<ClInclude Include="..\..\src\common\debug.h"/>
<ClInclude Include="..\..\src\common\version.h"/>
<ClInclude Include="..\..\src\common\blocklayout.h"/>
<ClInclude Include="..\..\src\common\utilities.h"/>
<ClInclude Include="..\..\src\common\angleutils.h"/>
<ClInclude Include="..\..\src\compiler\translator\BaseTypes.h"/>
......@@ -133,16 +135,15 @@
<ClInclude Include="..\..\src\compiler\translator\FlagStd140Structs.h"/>
<ClInclude Include="..\..\src\compiler\translator\length_limits.h"/>
<ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h"/>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/>
<ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h"/>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h"/>
<ClInclude Include="..\..\src\compiler\translator\ValidateOutputs.h"/>
<ClInclude Include="..\..\src\compiler\translator\UnfoldShortCircuit.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"/>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h"/>
<ClInclude Include="..\..\src\compiler\translator\osinclude.h"/>
<ClInclude Include="..\..\src\compiler\translator\Initialize.h"/>
<ClInclude Include="..\..\src\compiler\translator\HLSLLayoutEncoder.h"/>
<ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h"/>
<ClInclude Include="..\..\src\compiler\translator\ConstantUnion.h"/>
<ClInclude Include="..\..\src\compiler\translator\ParseContext.h"/>
......@@ -152,13 +153,12 @@
<ClInclude Include="..\..\src\compiler\translator\DirectiveHandler.h"/>
<ClInclude Include="..\..\src\compiler\translator\NodeSearch.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorESSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h"/>
<ClInclude Include="..\..\src\compiler\translator\localintermediate.h"/>
<ClInclude Include="..\..\src\compiler\translator\ShHandle.h"/>
<ClInclude Include="..\..\src\compiler\translator\OutputGLSLBase.h"/>
<ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h"/>
<ClInclude Include="..\..\src\compiler\translator\ShaderVariable.h"/>
<ClInclude Include="..\..\src\compiler\translator\Pragma.h"/>
<ClInclude Include="..\..\src\compiler\translator\intermediate.h"/>
<ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h"/>
......@@ -175,7 +175,6 @@
<ClInclude Include="..\..\src\compiler\translator\SearchSymbol.h"/>
<ClInclude Include="..\..\src\compiler\translator\OutputHLSL.h"/>
<ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h"/>
<ClInclude Include="..\..\src\compiler\translator\BlockLayoutEncoder.h"/>
<ClInclude Include="..\..\src\compiler\translator\VariableInfo.h"/>
<ClInclude Include="..\..\src\compiler\translator\LoopInfo.h"/>
<ClInclude Include="..\..\src\compiler\translator\glslang_tab.h"/>
......@@ -205,7 +204,8 @@
<ClCompile Include="..\..\src\common\RefCountObject.cpp"/>
<ClCompile Include="..\..\src\common\mathutil.cpp"/>
<ClCompile Include="..\..\src\common\debug.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\HLSLLayoutEncoder.cpp"/>
<ClCompile Include="..\..\src\common\shadervars.cpp"/>
<ClCompile Include="..\..\src\common\blocklayout.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputESSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ValidateLimitations.cpp"/>
......@@ -214,13 +214,11 @@
<ClCompile Include="..\..\src\compiler\translator\OutputGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorHLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputGLSLBase.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ShaderVariable.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\RemoveTree.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InitializeVariables.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\PoolAlloc.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\BlockLayoutEncoder.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\ossource_win.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\RewriteElseBlocks.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\Diagnostics.cpp"/>
......@@ -230,6 +228,7 @@
<ClCompile Include="..\..\src\compiler\translator\ValidateOutputs.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\VariablePacker.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\parseConst.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\VersionGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DetectCallDepth.cpp"/>
......@@ -244,7 +243,6 @@
<ClCompile Include="..\..\src\compiler\translator\UnfoldShortCircuitAST.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\TranslatorGLSL.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\SymbolTable.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\FlagStd140Structs.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\LoopInfo.cpp"/>
<ClCompile Include="..\..\src\compiler\translator\OutputHLSL.cpp"/>
......
......@@ -57,6 +57,9 @@
<ClInclude Include="..\..\src\third_party\compiler\ArrayBoundsClamper.h">
<Filter>src\third_party\compiler</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\shadervars.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\RefCountObject.h">
<Filter>src\common</Filter>
</ClInclude>
......@@ -87,18 +90,24 @@
<ClInclude Include="..\..\src\common\version.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\blocklayout.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\common\utilities.h">
<Filter>src\common</Filter>
</ClInclude>
<ClCompile Include="..\..\src\common\shadervars.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClCompile Include="..\..\src\common\blocklayout.cpp">
<Filter>src\common</Filter>
</ClCompile>
<ClInclude Include="..\..\src\common\angleutils.h">
<Filter>src\common</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\BaseTypes.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\HLSLLayoutEncoder.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClCompile Include="..\..\src\compiler\translator\InfoSink.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
......@@ -147,15 +156,12 @@
<ClInclude Include="..\..\src\compiler\translator\PoolAlloc.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\BuiltInFunctionEmulator.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\ShaderVariable.cpp">
<ClInclude Include="..\..\src\compiler\translator\DetectDiscontinuity.h">
<Filter>src\compiler\translator</Filter>
</ClCompile>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\ParseContext.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
......@@ -174,7 +180,7 @@
<ClInclude Include="..\..\src\compiler\translator\TranslatorGLSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h">
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\InitializeDll.cpp">
......@@ -186,9 +192,6 @@
<ClInclude Include="..\..\src\compiler\translator\InitializeGlobals.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\BlockLayoutEncoder.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\osinclude.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -198,9 +201,6 @@
<ClCompile Include="..\..\src\compiler\translator\ossource_win.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\HLSLLayoutEncoder.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\QualifierAlive.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -249,7 +249,7 @@
<ClCompile Include="..\..\src\compiler\translator\TranslatorESSL.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\SymbolTable.h">
<ClInclude Include="..\..\src\compiler\translator\InitializeDll.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\InitializeVariables.h">
......@@ -267,9 +267,6 @@
<ClInclude Include="..\..\src\compiler\translator\ForLoopUnroll.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\ShaderVariable.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\Pragma.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -282,6 +279,9 @@
<ClInclude Include="..\..\src\compiler\translator\TranslatorHLSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\OutputESSL.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......@@ -369,12 +369,6 @@
<ClInclude Include="..\..\src\compiler\translator\InitializeParseContext.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClCompile Include="..\..\src\compiler\translator\DirectiveHandler.cpp">
<Filter>src\compiler\translator</Filter>
</ClCompile>
<ClInclude Include="..\..\src\compiler\translator\BlockLayoutEncoder.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
<ClInclude Include="..\..\src\compiler\translator\VariableInfo.h">
<Filter>src\compiler\translator</Filter>
</ClInclude>
......
//
// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2013-2014 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.
//
// blocklayout.cpp:
// Implementation for block layout classes and methods.
//
#include "compiler/translator/BlockLayoutEncoder.h"
#include "compiler/translator/ShaderVariable.h"
#include "common/blocklayout.h"
#include "common/shadervars.h"
#include "common/mathutil.h"
#include "common/utilities.h"
namespace sh
namespace gl
{
BlockLayoutEncoder::BlockLayoutEncoder(std::vector<BlockMemberInfo> *blockInfoOut)
......@@ -152,4 +155,151 @@ void Std140BlockEncoder::advanceOffset(GLenum type, unsigned int arraySize, bool
}
}
HLSLBlockEncoder::HLSLBlockEncoder(std::vector<BlockMemberInfo> *blockInfoOut)
: BlockLayoutEncoder(blockInfoOut)
{
}
void HLSLBlockEncoder::enterAggregateType()
{
nextRegister();
}
void HLSLBlockEncoder::exitAggregateType()
{
}
void HLSLBlockEncoder::getBlockLayoutInfo(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut)
{
// We assume we are only dealing with 4 byte components (no doubles or half-words currently)
ASSERT(gl::UniformComponentSize(gl::UniformComponentType(type)) == BytesPerComponent);
int matrixStride = 0;
int arrayStride = 0;
if (gl::IsMatrixType(type))
{
nextRegister();
matrixStride = ComponentsPerRegister;
if (arraySize > 0)
{
const int numRegisters = gl::MatrixRegisterCount(type, isRowMajorMatrix);
arrayStride = ComponentsPerRegister * numRegisters;
}
}
else if (arraySize > 0)
{
nextRegister();
arrayStride = ComponentsPerRegister;
}
else
{
int numComponents = gl::UniformComponentCount(type);
if ((numComponents + (mCurrentOffset % ComponentsPerRegister)) > ComponentsPerRegister)
{
nextRegister();
}
}
*matrixStrideOut = matrixStride;
*arrayStrideOut = arrayStride;
}
void HLSLBlockEncoder::advanceOffset(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride)
{
if (arraySize > 0)
{
mCurrentOffset += arrayStride * (arraySize - 1);
}
if (gl::IsMatrixType(type))
{
ASSERT(matrixStride == ComponentsPerRegister);
const int numRegisters = gl::MatrixRegisterCount(type, isRowMajorMatrix);
const int numComponents = gl::MatrixComponentCount(type, isRowMajorMatrix);
mCurrentOffset += ComponentsPerRegister * (numRegisters - 1);
mCurrentOffset += numComponents;
}
else
{
mCurrentOffset += gl::UniformComponentCount(type);
}
}
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, gl::Uniform *variable, HLSLBlockEncoder *encoder, const std::vector<gl::BlockMemberInfo> &blockInfo)
{
// because this method computes offsets (element indexes) instead of any total sizes,
// we can ignore the array size of the variable
if (variable->isStruct())
{
encoder->enterAggregateType();
for (size_t fieldIndex = 0; fieldIndex < variable->fields.size(); fieldIndex++)
{
HLSLVariableGetRegisterInfo(baseRegisterIndex, &variable->fields[fieldIndex], encoder, blockInfo);
}
encoder->exitAggregateType();
}
else
{
encoder->encodeType(variable->type, variable->arraySize, false);
const size_t registerBytes = (encoder->BytesPerComponent * encoder->ComponentsPerRegister);
variable->registerIndex = baseRegisterIndex + (blockInfo.back().offset / registerBytes);
variable->elementIndex = (blockInfo.back().offset % registerBytes) / sizeof(float);
}
}
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, gl::Uniform *variable)
{
std::vector<BlockMemberInfo> blockInfo;
HLSLBlockEncoder encoder(&blockInfo);
HLSLVariableGetRegisterInfo(baseRegisterIndex, variable, &encoder, blockInfo);
}
template <class ShaderVarType>
void HLSLVariableRegisterCount(const ShaderVarType &variable, HLSLBlockEncoder *encoder)
{
if (variable.isStruct())
{
for (size_t arrayElement = 0; arrayElement < variable.elementCount(); arrayElement++)
{
encoder->enterAggregateType();
for (size_t fieldIndex = 0; fieldIndex < variable.fields.size(); fieldIndex++)
{
HLSLVariableRegisterCount(variable.fields[fieldIndex], encoder);
}
encoder->exitAggregateType();
}
}
else
{
// We operate only on varyings and uniforms, which do not have matrix layout qualifiers
encoder->encodeType(variable.type, variable.arraySize, false);
}
}
unsigned int HLSLVariableRegisterCount(const Varying &variable)
{
HLSLBlockEncoder encoder(NULL);
HLSLVariableRegisterCount(variable, &encoder);
const size_t registerBytes = (encoder.BytesPerComponent * encoder.ComponentsPerRegister);
return static_cast<unsigned int>(rx::roundUp<size_t>(encoder.getBlockSize(), registerBytes) / registerBytes);
}
unsigned int HLSLVariableRegisterCount(const Uniform &variable)
{
HLSLBlockEncoder encoder(NULL);
HLSLVariableRegisterCount(variable, &encoder);
const size_t registerBytes = (encoder.BytesPerComponent * encoder.ComponentsPerRegister);
return static_cast<unsigned int>(rx::roundUp<size_t>(encoder.getBlockSize(), registerBytes) / registerBytes);
}
}
//
// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2013-2014 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.
//
// blocklayout.h:
// Methods and classes related to uniform layout and packing in GLSL and HLSL.
//
#ifndef TRANSLATOR_COMMON_BLOCKLAYOUTENCODER_H_
#define TRANSLATOR_COMMON_BLOCKLAYOUTENCODER_H_
#ifndef COMMON_BLOCKLAYOUT_H_
#define COMMON_BLOCKLAYOUT_H_
#include <vector>
#define GL_APICALL
#include <GLES3/gl3.h>
#include <GLES2/gl2.h>
namespace sh
namespace gl
{
struct ShaderVariable;
struct InterfaceBlockField;
struct BlockMemberInfo;
struct Uniform;
struct Varying;
class BlockLayoutEncoder
{
......@@ -61,6 +66,31 @@ class Std140BlockEncoder : public BlockLayoutEncoder
virtual void advanceOffset(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride);
};
// Block layout packed according to the default D3D11 register packing rules
// See http://msdn.microsoft.com/en-us/library/windows/desktop/bb509632(v=vs.85).aspx
class HLSLBlockEncoder : public BlockLayoutEncoder
{
public:
HLSLBlockEncoder(std::vector<BlockMemberInfo> *blockInfoOut);
virtual void enterAggregateType();
virtual void exitAggregateType();
protected:
virtual void getBlockLayoutInfo(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut);
virtual void advanceOffset(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride);
};
// This method assigns values to the variable's "registerIndex" and "elementIndex" fields.
// "elementIndex" is only used for structures.
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, Uniform *variable);
// This method returns the number of used registers for a ShaderVariable. It is dependent on the HLSLBlockEncoder
// class to count the number of used registers in a struct (which are individually packed according to the same rules).
unsigned int HLSLVariableRegisterCount(const Varying &variable);
unsigned int HLSLVariableRegisterCount(const Uniform &variable);
}
#endif // TRANSLATOR_COMMON_BLOCKLAYOUTENCODER_H_
#endif // COMMON_BLOCKLAYOUT_H_
//
// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2013-2014 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.
//
// shadervars.cpp:
// Implementation for GL shader variable member functions.
//
#include "compiler/translator/ShaderVariable.h"
#include "common/shadervars.h"
namespace sh
namespace gl
{
ShaderVariable::ShaderVariable(GLenum typeIn, GLenum precisionIn, const char *nameIn, unsigned int arraySizeIn)
......
//
// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
// Copyright (c) 2013-2014 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.
//
// shadervars.h:
// Types to represent GL variables (varyings, uniforms, etc)
//
#ifndef COMPILER_SHADERVARIABLE_H_
#define COMPILER_SHADERVARIABLE_H_
#ifndef COMMON_SHADERVARIABLE_H_
#define COMMON_SHADERVARIABLE_H_
#include <string>
#include <vector>
......@@ -15,7 +18,7 @@
#include <GLES3/gl3.h>
#include <GLES2/gl2.h>
namespace sh
namespace gl
{
enum InterpolationType
......@@ -119,8 +122,6 @@ struct InterfaceBlock
unsigned int registerIndex;
};
typedef std::vector<InterfaceBlock> ActiveInterfaceBlocks;
}
#endif // COMPILER_SHADERVARIABLE_H_
#endif // COMMON_SHADERVARIABLE_H_
//
// Copyright (c) 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/translator/HLSLLayoutEncoder.h"
#include "compiler/translator/ShaderVariable.h"
#include "common/mathutil.h"
#include "common/utilities.h"
namespace sh
{
HLSLBlockEncoder::HLSLBlockEncoder(std::vector<BlockMemberInfo> *blockInfoOut)
: BlockLayoutEncoder(blockInfoOut)
{
}
void HLSLBlockEncoder::enterAggregateType()
{
nextRegister();
}
void HLSLBlockEncoder::exitAggregateType()
{
}
void HLSLBlockEncoder::getBlockLayoutInfo(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut)
{
// We assume we are only dealing with 4 byte components (no doubles or half-words currently)
ASSERT(gl::UniformComponentSize(gl::UniformComponentType(type)) == BytesPerComponent);
int matrixStride = 0;
int arrayStride = 0;
if (gl::IsMatrixType(type))
{
nextRegister();
matrixStride = ComponentsPerRegister;
if (arraySize > 0)
{
const int numRegisters = gl::MatrixRegisterCount(type, isRowMajorMatrix);
arrayStride = ComponentsPerRegister * numRegisters;
}
}
else if (arraySize > 0)
{
nextRegister();
arrayStride = ComponentsPerRegister;
}
else
{
int numComponents = gl::UniformComponentCount(type);
if ((numComponents + (mCurrentOffset % ComponentsPerRegister)) > ComponentsPerRegister)
{
nextRegister();
}
}
*matrixStrideOut = matrixStride;
*arrayStrideOut = arrayStride;
}
void HLSLBlockEncoder::advanceOffset(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride)
{
if (arraySize > 0)
{
mCurrentOffset += arrayStride * (arraySize - 1);
}
if (gl::IsMatrixType(type))
{
ASSERT(matrixStride == ComponentsPerRegister);
const int numRegisters = gl::MatrixRegisterCount(type, isRowMajorMatrix);
const int numComponents = gl::MatrixComponentCount(type, isRowMajorMatrix);
mCurrentOffset += ComponentsPerRegister * (numRegisters - 1);
mCurrentOffset += numComponents;
}
else
{
mCurrentOffset += gl::UniformComponentCount(type);
}
}
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, Uniform *variable, HLSLBlockEncoder *encoder, const std::vector<BlockMemberInfo> &blockInfo)
{
// because this method computes offsets (element indexes) instead of any total sizes,
// we can ignore the array size of the variable
if (variable->isStruct())
{
encoder->enterAggregateType();
for (size_t fieldIndex = 0; fieldIndex < variable->fields.size(); fieldIndex++)
{
HLSLVariableGetRegisterInfo(baseRegisterIndex, &variable->fields[fieldIndex], encoder, blockInfo);
}
encoder->exitAggregateType();
}
else
{
encoder->encodeType(variable->type, variable->arraySize, false);
const size_t registerBytes = (encoder->BytesPerComponent * encoder->ComponentsPerRegister);
variable->registerIndex = baseRegisterIndex + (blockInfo.back().offset / registerBytes);
variable->elementIndex = (blockInfo.back().offset % registerBytes) / sizeof(float);
}
}
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, Uniform *variable)
{
std::vector<BlockMemberInfo> blockInfo;
HLSLBlockEncoder encoder(&blockInfo);
HLSLVariableGetRegisterInfo(baseRegisterIndex, variable, &encoder, blockInfo);
}
template <class ShaderVarType>
void HLSLVariableRegisterCount(const ShaderVarType &variable, HLSLBlockEncoder *encoder)
{
if (variable.isStruct())
{
for (size_t arrayElement = 0; arrayElement < variable.elementCount(); arrayElement++)
{
encoder->enterAggregateType();
for (size_t fieldIndex = 0; fieldIndex < variable.fields.size(); fieldIndex++)
{
HLSLVariableRegisterCount(variable.fields[fieldIndex], encoder);
}
encoder->exitAggregateType();
}
}
else
{
// We operate only on varyings and uniforms, which do not have matrix layout qualifiers
encoder->encodeType(variable.type, variable.arraySize, false);
}
}
unsigned int HLSLVariableRegisterCount(const Varying &variable)
{
HLSLBlockEncoder encoder(NULL);
HLSLVariableRegisterCount(variable, &encoder);
const size_t registerBytes = (encoder.BytesPerComponent * encoder.ComponentsPerRegister);
return static_cast<unsigned int>(rx::roundUp<size_t>(encoder.getBlockSize(), registerBytes) / registerBytes);
}
unsigned int HLSLVariableRegisterCount(const Uniform &variable)
{
HLSLBlockEncoder encoder(NULL);
HLSLVariableRegisterCount(variable, &encoder);
const size_t registerBytes = (encoder.BytesPerComponent * encoder.ComponentsPerRegister);
return static_cast<unsigned int>(rx::roundUp<size_t>(encoder.getBlockSize(), registerBytes) / registerBytes);
}
}
//
// Copyright (c) 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 TRANSLATOR_HLSL_HLSLLAYOUTENCODER_H_
#define TRANSLATOR_HLSL_HLSLLAYOUTENCODER_H_
#include "compiler/translator/BlockLayoutEncoder.h"
namespace sh
{
struct Varying;
struct Uniform;
// Block layout packed according to the default D3D11 register packing rules
// See http://msdn.microsoft.com/en-us/library/windows/desktop/bb509632(v=vs.85).aspx
class HLSLBlockEncoder : public BlockLayoutEncoder
{
public:
HLSLBlockEncoder(std::vector<BlockMemberInfo> *blockInfoOut);
virtual void enterAggregateType();
virtual void exitAggregateType();
protected:
virtual void getBlockLayoutInfo(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut);
virtual void advanceOffset(GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride);
};
// This method assigns values to the variable's "registerIndex" and "elementIndex" fields.
// "elementIndex" is only used for structures.
void HLSLVariableGetRegisterInfo(unsigned int baseRegisterIndex, Uniform *variable);
// This method returns the number of used registers for a ShaderVariable. It is dependent on the HLSLBlockEncoder
// class to count the number of used registers in a struct (which are individually packed according to the same rules).
unsigned int HLSLVariableRegisterCount(const Varying &variable);
unsigned int HLSLVariableRegisterCount(const Uniform &variable);
}
#endif // TRANSLATOR_HLSL_HLSLLAYOUTENCODER_H_
......@@ -8,12 +8,12 @@
#include "common/angleutils.h"
#include "common/utilities.h"
#include "common/blocklayout.h"
#include "compiler/translator/compilerdebug.h"
#include "compiler/translator/InfoSink.h"
#include "compiler/translator/DetectDiscontinuity.h"
#include "compiler/translator/SearchSymbol.h"
#include "compiler/translator/UnfoldShortCircuit.h"
#include "compiler/translator/HLSLLayoutEncoder.h"
#include "compiler/translator/FlagStd140Structs.h"
#include "compiler/translator/NodeSearch.h"
#include "compiler/translator/RewriteElseBlocks.h"
......@@ -220,27 +220,27 @@ TInfoSinkBase &OutputHLSL::getBodyStream()
return mBody;
}
const std::vector<Uniform> &OutputHLSL::getUniforms()
const std::vector<gl::Uniform> &OutputHLSL::getUniforms()
{
return mActiveUniforms;
}
const ActiveInterfaceBlocks &OutputHLSL::getInterfaceBlocks() const
const std::vector<gl::InterfaceBlock> &OutputHLSL::getInterfaceBlocks() const
{
return mActiveInterfaceBlocks;
}
const std::vector<Attribute> &OutputHLSL::getOutputVariables() const
const std::vector<gl::Attribute> &OutputHLSL::getOutputVariables() const
{
return mActiveOutputVariables;
}
const std::vector<Attribute> &OutputHLSL::getAttributes() const
const std::vector<gl::Attribute> &OutputHLSL::getAttributes() const
{
return mActiveAttributes;
}
const std::vector<Varying> &OutputHLSL::getVaryings() const
const std::vector<gl::Varying> &OutputHLSL::getVaryings() const
{
return mActiveVaryings;
}
......@@ -473,25 +473,25 @@ TString OutputHLSL::std140PostPaddingString(const TType &type, bool useHLSLRowMa
}
// Use the same layout for packed and shared
void setBlockLayout(InterfaceBlock *interfaceBlock, BlockLayoutType newLayout)
void setBlockLayout(gl::InterfaceBlock *interfaceBlock, gl::BlockLayoutType newLayout)
{
interfaceBlock->layout = newLayout;
interfaceBlock->blockInfo.clear();
switch (newLayout)
{
case BLOCKLAYOUT_SHARED:
case BLOCKLAYOUT_PACKED:
case gl::BLOCKLAYOUT_SHARED:
case gl::BLOCKLAYOUT_PACKED:
{
HLSLBlockEncoder hlslEncoder(&interfaceBlock->blockInfo);
gl::HLSLBlockEncoder hlslEncoder(&interfaceBlock->blockInfo);
hlslEncoder.encodeInterfaceBlockFields(interfaceBlock->fields);
interfaceBlock->dataSize = hlslEncoder.getBlockSize();
}
break;
case BLOCKLAYOUT_STANDARD:
case gl::BLOCKLAYOUT_STANDARD:
{
Std140BlockEncoder stdEncoder(&interfaceBlock->blockInfo);
gl::Std140BlockEncoder stdEncoder(&interfaceBlock->blockInfo);
stdEncoder.encodeInterfaceBlockFields(interfaceBlock->fields);
interfaceBlock->dataSize = stdEncoder.getBlockSize();
}
......@@ -503,14 +503,14 @@ void setBlockLayout(InterfaceBlock *interfaceBlock, BlockLayoutType newLayout)
}
}
BlockLayoutType convertBlockLayoutType(TLayoutBlockStorage blockStorage)
gl::BlockLayoutType convertBlockLayoutType(TLayoutBlockStorage blockStorage)
{
switch (blockStorage)
{
case EbsPacked: return BLOCKLAYOUT_PACKED;
case EbsShared: return BLOCKLAYOUT_SHARED;
case EbsStd140: return BLOCKLAYOUT_STANDARD;
default: UNREACHABLE(); return BLOCKLAYOUT_SHARED;
case EbsPacked: return gl::BLOCKLAYOUT_PACKED;
case EbsShared: return gl::BLOCKLAYOUT_SHARED;
case EbsStd140: return gl::BLOCKLAYOUT_STANDARD;
default: UNREACHABLE(); return gl::BLOCKLAYOUT_SHARED;
}
}
......@@ -599,7 +599,7 @@ void OutputHLSL::header()
const TFieldList &fieldList = interfaceBlock.fields();
unsigned int arraySize = static_cast<unsigned int>(interfaceBlock.arraySize());
sh::InterfaceBlock activeBlock(interfaceBlock.name().c_str(), arraySize, mInterfaceBlockRegister);
gl::InterfaceBlock activeBlock(interfaceBlock.name().c_str(), arraySize, mInterfaceBlockRegister);
for (unsigned int typeIndex = 0; typeIndex < fieldList.size(); typeIndex++)
{
const TField &field = *fieldList[typeIndex];
......@@ -609,7 +609,7 @@ void OutputHLSL::header()
mInterfaceBlockRegister += std::max(1u, arraySize);
BlockLayoutType blockLayoutType = convertBlockLayoutType(interfaceBlock.blockStorage());
gl::BlockLayoutType blockLayoutType = convertBlockLayoutType(interfaceBlock.blockStorage());
setBlockLayout(&activeBlock, blockLayoutType);
if (interfaceBlock.matrixPacking() == EmpRowMajor)
......@@ -668,7 +668,7 @@ void OutputHLSL::header()
attributes += "static " + typeString(type) + " " + decorate(name) + arrayString(type) + " = " + initializer(type) + ";\n";
Attribute attributeVar(glVariableType(type), glVariablePrecision(type), name.c_str(),
gl::Attribute attributeVar(glVariableType(type), glVariablePrecision(type), name.c_str(),
(unsigned int)type.getArraySize(), type.getLayoutQualifier().location);
mActiveAttributes.push_back(attributeVar);
}
......@@ -713,7 +713,7 @@ void OutputHLSL::header()
out << "static " + typeString(variableType) + " out_" + variableName + arrayString(variableType) +
" = " + initializer(variableType) + ";\n";
Attribute outputVar(glVariableType(variableType), glVariablePrecision(variableType), variableName.c_str(),
gl::Attribute outputVar(glVariableType(variableType), glVariablePrecision(variableType), variableName.c_str(),
(unsigned int)variableType.getArraySize(), layoutQualifier.location);
mActiveOutputVariables.push_back(outputVar);
}
......@@ -3880,20 +3880,20 @@ TString OutputHLSL::decorateField(const TString &string, const TStructure &struc
return string;
}
void OutputHLSL::declareInterfaceBlockField(const TType &type, const TString &name, std::vector<InterfaceBlockField>& output)
void OutputHLSL::declareInterfaceBlockField(const TType &type, const TString &name, std::vector<gl::InterfaceBlockField>& output)
{
const TStructure *structure = type.getStruct();
if (!structure)
{
const bool isRowMajorMatrix = (type.isMatrix() && type.getLayoutQualifier().matrixPacking == EmpRowMajor);
InterfaceBlockField field(glVariableType(type), glVariablePrecision(type), name.c_str(),
gl::InterfaceBlockField field(glVariableType(type), glVariablePrecision(type), name.c_str(),
(unsigned int)type.getArraySize(), isRowMajorMatrix);
output.push_back(field);
}
else
{
InterfaceBlockField structField(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(), false);
gl::InterfaceBlockField structField(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(), false);
const TFieldList &fields = structure->fields();
......@@ -3912,13 +3912,13 @@ void OutputHLSL::declareInterfaceBlockField(const TType &type, const TString &na
}
}
Uniform OutputHLSL::declareUniformToList(const TType &type, const TString &name, int registerIndex, std::vector<Uniform>& output)
gl::Uniform OutputHLSL::declareUniformToList(const TType &type, const TString &name, int registerIndex, std::vector<gl::Uniform>& output)
{
const TStructure *structure = type.getStruct();
if (!structure)
{
Uniform uniform(glVariableType(type), glVariablePrecision(type), name.c_str(),
gl::Uniform uniform(glVariableType(type), glVariablePrecision(type), name.c_str(),
(unsigned int)type.getArraySize(), (unsigned int)registerIndex, 0);
output.push_back(uniform);
......@@ -3926,7 +3926,7 @@ Uniform OutputHLSL::declareUniformToList(const TType &type, const TString &name,
}
else
{
Uniform structUniform(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(),
gl::Uniform structUniform(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(),
(unsigned int)registerIndex, GL_INVALID_INDEX);
const TFieldList &fields = structure->fields();
......@@ -3948,13 +3948,13 @@ Uniform OutputHLSL::declareUniformToList(const TType &type, const TString &name,
}
}
InterpolationType getInterpolationType(TQualifier qualifier)
gl::InterpolationType getInterpolationType(TQualifier qualifier)
{
switch (qualifier)
{
case EvqFlatIn:
case EvqFlatOut:
return INTERPOLATION_FLAT;
return gl::INTERPOLATION_FLAT;
case EvqSmoothIn:
case EvqSmoothOut:
......@@ -3962,30 +3962,30 @@ InterpolationType getInterpolationType(TQualifier qualifier)
case EvqFragmentIn:
case EvqVaryingIn:
case EvqVaryingOut:
return INTERPOLATION_SMOOTH;
return gl::INTERPOLATION_SMOOTH;
case EvqCentroidIn:
case EvqCentroidOut:
return INTERPOLATION_CENTROID;
return gl::INTERPOLATION_CENTROID;
default: UNREACHABLE();
return INTERPOLATION_SMOOTH;
return gl::INTERPOLATION_SMOOTH;
}
}
void OutputHLSL::declareVaryingToList(const TType &type, TQualifier baseTypeQualifier, const TString &name, std::vector<Varying>& fieldsOut)
void OutputHLSL::declareVaryingToList(const TType &type, TQualifier baseTypeQualifier, const TString &name, std::vector<gl::Varying>& fieldsOut)
{
const TStructure *structure = type.getStruct();
InterpolationType interpolation = getInterpolationType(baseTypeQualifier);
gl::InterpolationType interpolation = getInterpolationType(baseTypeQualifier);
if (!structure)
{
Varying varying(glVariableType(type), glVariablePrecision(type), name.c_str(), (unsigned int)type.getArraySize(), interpolation);
gl::Varying varying(glVariableType(type), glVariablePrecision(type), name.c_str(), (unsigned int)type.getArraySize(), interpolation);
fieldsOut.push_back(varying);
}
else
{
Varying structVarying(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(), interpolation);
gl::Varying structVarying(GL_STRUCT_ANGLEX, GL_NONE, name.c_str(), (unsigned int)type.getArraySize(), interpolation);
const TFieldList &fields = structure->fields();
structVarying.structName = structure->name().c_str();
......@@ -4004,15 +4004,15 @@ int OutputHLSL::declareUniformAndAssignRegister(const TType &type, const TString
{
int registerIndex = (IsSampler(type.getBasicType()) ? mSamplerRegister : mUniformRegister);
const Uniform &uniform = declareUniformToList(type, name, registerIndex, mActiveUniforms);
const gl::Uniform &uniform = declareUniformToList(type, name, registerIndex, mActiveUniforms);
if (IsSampler(type.getBasicType()))
{
mSamplerRegister += HLSLVariableRegisterCount(uniform);
mSamplerRegister += gl::HLSLVariableRegisterCount(uniform);
}
else
{
mUniformRegister += HLSLVariableRegisterCount(uniform);
mUniformRegister += gl::HLSLVariableRegisterCount(uniform);
}
return registerIndex;
......
......@@ -17,7 +17,7 @@
#include "compiler/translator/intermediate.h"
#include "compiler/translator/ParseContext.h"
#include "compiler/translator/ShaderVariable.h"
#include "common/shadervars.h"
namespace sh
{
......@@ -32,11 +32,11 @@ class OutputHLSL : public TIntermTraverser
void output();
TInfoSinkBase &getBodyStream();
const std::vector<Uniform> &getUniforms();
const ActiveInterfaceBlocks &getInterfaceBlocks() const;
const std::vector<Attribute> &getOutputVariables() const;
const std::vector<Attribute> &getAttributes() const;
const std::vector<Varying> &getVaryings() const;
const std::vector<gl::Uniform> &getUniforms();
const std::vector<gl::InterfaceBlock> &getInterfaceBlocks() const;
const std::vector<gl::Attribute> &getOutputVariables() const;
const std::vector<gl::Attribute> &getAttributes() const;
const std::vector<gl::Varying> &getVaryings() const;
TString typeString(const TType &type);
TString textureString(const TType &type);
......@@ -184,10 +184,10 @@ class OutputHLSL : public TIntermTraverser
TString registerString(TIntermSymbol *operand);
int samplerRegister(TIntermSymbol *sampler);
int uniformRegister(TIntermSymbol *uniform);
void declareInterfaceBlockField(const TType &type, const TString &name, std::vector<InterfaceBlockField>& output);
Uniform declareUniformToList(const TType &type, const TString &name, int registerIndex, std::vector<Uniform>& output);
void declareInterfaceBlockField(const TType &type, const TString &name, std::vector<gl::InterfaceBlockField>& output);
gl::Uniform declareUniformToList(const TType &type, const TString &name, int registerIndex, std::vector<gl::Uniform>& output);
void declareUniform(const TType &type, const TString &name, int index);
void declareVaryingToList(const TType &type, TQualifier baseTypeQualifier, const TString &name, std::vector<Varying>& fieldsOut);
void declareVaryingToList(const TType &type, TQualifier baseTypeQualifier, const TString &name, std::vector<gl::Varying>& fieldsOut);
// Returns the uniform's register index
int declareUniformAndAssignRegister(const TType &type, const TString &name);
......@@ -210,11 +210,11 @@ class OutputHLSL : public TIntermTraverser
static bool isVaryingOut(TQualifier qualifier);
static bool isVarying(TQualifier qualifier);
std::vector<Uniform> mActiveUniforms;
ActiveInterfaceBlocks mActiveInterfaceBlocks;
std::vector<Attribute> mActiveOutputVariables;
std::vector<Attribute> mActiveAttributes;
std::vector<Varying> mActiveVaryings;
std::vector<gl::Uniform> mActiveUniforms;
std::vector<gl::InterfaceBlock> mActiveInterfaceBlocks;
std::vector<gl::Attribute> mActiveOutputVariables;
std::vector<gl::Attribute> mActiveAttributes;
std::vector<gl::Varying> mActiveVaryings;
std::map<TString, int> mStd140StructElementIndexes;
std::map<TIntermTyped*, TString> mFlaggedStructMappedNames;
std::map<TIntermTyped*, TString> mFlaggedStructOriginalNames;
......
......@@ -8,27 +8,27 @@
#define COMPILER_TRANSLATORHLSL_H_
#include "compiler/translator/ShHandle.h"
#include "compiler/translator/ShaderVariable.h"
#include "common/shadervars.h"
class TranslatorHLSL : public TCompiler {
public:
TranslatorHLSL(ShShaderType type, ShShaderSpec spec, ShShaderOutput output);
virtual TranslatorHLSL *getAsTranslatorHLSL() { return this; }
const std::vector<sh::Uniform> &getUniforms() { return mActiveUniforms; }
const sh::ActiveInterfaceBlocks &getInterfaceBlocks() const { return mActiveInterfaceBlocks; }
const std::vector<sh::Attribute> &getOutputVariables() { return mActiveOutputVariables; }
const std::vector<sh::Attribute> &getAttributes() { return mActiveAttributes; }
const std::vector<sh::Varying> &getVaryings() { return mActiveVaryings; }
const std::vector<gl::Uniform> &getUniforms() { return mActiveUniforms; }
const std::vector<gl::InterfaceBlock> &getInterfaceBlocks() const { return mActiveInterfaceBlocks; }
const std::vector<gl::Attribute> &getOutputVariables() { return mActiveOutputVariables; }
const std::vector<gl::Attribute> &getAttributes() { return mActiveAttributes; }
const std::vector<gl::Varying> &getVaryings() { return mActiveVaryings; }
protected:
virtual void translate(TIntermNode* root);
std::vector<sh::Uniform> mActiveUniforms;
sh::ActiveInterfaceBlocks mActiveInterfaceBlocks;
std::vector<sh::Attribute> mActiveOutputVariables;
std::vector<sh::Attribute> mActiveAttributes;
std::vector<sh::Varying> mActiveVaryings;
std::vector<gl::Uniform> mActiveUniforms;
std::vector<gl::InterfaceBlock> mActiveInterfaceBlocks;
std::vector<gl::Attribute> mActiveOutputVariables;
std::vector<gl::Attribute> mActiveAttributes;
std::vector<gl::Varying> mActiveVaryings;
ShShaderOutput mOutputType;
};
......
......@@ -15,8 +15,7 @@
#include "common/utilities.h"
#include "libGLESv2/ProgramBinary.h"
#include "libGLESv2/formatutils.h"
#include "compiler/translator/HLSLLayoutEncoder.h"
#include "common/blocklayout.h"
static std::string Str(int i)
{
......@@ -90,12 +89,12 @@ DynamicHLSL::DynamicHLSL(rx::Renderer *const renderer)
{
}
static bool packVarying(sh::Varying *varying, const int maxVaryingVectors, const sh::ShaderVariable *packing[][4])
static bool packVarying(Varying *varying, const int maxVaryingVectors, const ShaderVariable *packing[][4])
{
GLenum transposedType = TransposeMatrixType(varying->type);
// matrices within varying structs are not transposed
int registers = (varying->isStruct() ? sh::HLSLVariableRegisterCount(*varying) : gl::VariableRowCount(transposedType)) * varying->elementCount();
int registers = (varying->isStruct() ? HLSLVariableRegisterCount(*varying) : VariableRowCount(transposedType)) * varying->elementCount();
int elements = (varying->isStruct() ? 4 : VariableColumnCount(transposedType));
bool success = false;
......@@ -219,7 +218,7 @@ static bool packVarying(sh::Varying *varying, const int maxVaryingVectors, const
// Packs varyings into generic varying registers, using the algorithm from [OpenGL ES Shading Language 1.00 rev. 17] appendix A section 7 page 111
// Returns the number of used varying registers, or -1 if unsuccesful
int DynamicHLSL::packVaryings(InfoLog &infoLog, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader,
int DynamicHLSL::packVaryings(InfoLog &infoLog, const ShaderVariable *packing[][4], FragmentShader *fragmentShader,
VertexShader *vertexShader, const std::vector<std::string>& transformFeedbackVaryings)
{
const int maxVaryingVectors = mRenderer->getMaxVaryingVectors();
......@@ -231,7 +230,7 @@ int DynamicHLSL::packVaryings(InfoLog &infoLog, const sh::ShaderVariable *packin
for (unsigned int varyingIndex = 0; varyingIndex < fragmentShader->mVaryings.size(); varyingIndex++)
{
sh::Varying *varying = &fragmentShader->mVaryings[varyingIndex];
Varying *varying = &fragmentShader->mVaryings[varyingIndex];
if (packVarying(varying, maxVaryingVectors, packing))
{
packedVaryings.insert(varying->name);
......@@ -251,7 +250,7 @@ int DynamicHLSL::packVaryings(InfoLog &infoLog, const sh::ShaderVariable *packin
bool found = false;
for (unsigned int varyingIndex = 0; varyingIndex < vertexShader->mVaryings.size(); varyingIndex++)
{
sh::Varying *varying = &vertexShader->mVaryings[varyingIndex];
Varying *varying = &vertexShader->mVaryings[varyingIndex];
if (transformFeedbackVarying == varying->name)
{
if (!packVarying(varying, maxVaryingVectors, packing))
......@@ -294,7 +293,7 @@ std::string DynamicHLSL::generateVaryingHLSL(VertexShader *shader, const std::st
for (unsigned int varyingIndex = 0; varyingIndex < shader->mVaryings.size(); varyingIndex++)
{
sh::Varying *varying = &shader->mVaryings[varyingIndex];
Varying *varying = &shader->mVaryings[varyingIndex];
if (varying->registerAssigned())
{
GLenum transposedType = TransposeMatrixType(varying->type);
......@@ -306,9 +305,9 @@ std::string DynamicHLSL::generateVaryingHLSL(VertexShader *shader, const std::st
{
switch (varying->interpolation)
{
case sh::INTERPOLATION_SMOOTH: varyingHLSL += " "; break;
case sh::INTERPOLATION_FLAT: varyingHLSL += " nointerpolation "; break;
case sh::INTERPOLATION_CENTROID: varyingHLSL += " centroid "; break;
case INTERPOLATION_SMOOTH: varyingHLSL += " "; break;
case INTERPOLATION_FLAT: varyingHLSL += " nointerpolation "; break;
case INTERPOLATION_CENTROID: varyingHLSL += " centroid "; break;
default: UNREACHABLE();
}
......@@ -325,8 +324,8 @@ std::string DynamicHLSL::generateVaryingHLSL(VertexShader *shader, const std::st
}
else
{
GLenum componentType = gl::UniformComponentType(transposedType);
int columnCount = gl::VariableColumnCount(transposedType);
GLenum componentType = UniformComponentType(transposedType);
int columnCount = VariableColumnCount(transposedType);
typeString = gl_d3d::HLSLComponentTypeString(componentType, columnCount);
}
varyingHLSL += typeString + " v" + n + " : " + varyingSemantic + n + ";\n";
......@@ -345,7 +344,7 @@ std::string DynamicHLSL::generateVaryingHLSL(VertexShader *shader, const std::st
return varyingHLSL;
}
std::string DynamicHLSL::generateInputLayoutHLSL(const VertexFormat inputLayout[], const sh::Attribute shaderAttributes[]) const
std::string DynamicHLSL::generateInputLayoutHLSL(const VertexFormat inputLayout[], const Attribute shaderAttributes[]) const
{
std::string structHLSL, initHLSL;
......@@ -357,7 +356,7 @@ std::string DynamicHLSL::generateInputLayoutHLSL(const VertexFormat inputLayout[
ASSERT(inputIndex < MAX_VERTEX_ATTRIBS);
const VertexFormat &vertexFormat = inputLayout[inputIndex];
const sh::Attribute &shaderAttribute = shaderAttributes[attributeIndex];
const Attribute &shaderAttribute = shaderAttributes[attributeIndex];
if (!shaderAttribute.name.empty())
{
......@@ -409,7 +408,7 @@ std::string DynamicHLSL::generateInputLayoutHLSL(const VertexFormat inputLayout[
"}\n";
}
bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const sh::ShaderVariable *packing[][4],
bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const ShaderVariable *packing[][4],
std::string& pixelHLSL, std::string& vertexHLSL,
FragmentShader *fragmentShader, VertexShader *vertexShader,
const std::vector<std::string>& transformFeedbackVaryings,
......@@ -568,7 +567,7 @@ bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const
for (unsigned int vertVaryingIndex = 0; vertVaryingIndex < vertexShader->mVaryings.size(); vertVaryingIndex++)
{
sh::Varying *varying = &vertexShader->mVaryings[vertVaryingIndex];
Varying *varying = &vertexShader->mVaryings[vertVaryingIndex];
if (varying->registerAssigned())
{
for (unsigned int elementIndex = 0; elementIndex < varying->elementCount(); elementIndex++)
......@@ -687,11 +686,11 @@ bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const
{
defineOutputVariables(fragmentShader, programOutputVars);
const std::vector<sh::Attribute> &shaderOutputVars = fragmentShader->getOutputVariables();
const std::vector<Attribute> &shaderOutputVars = fragmentShader->getOutputVariables();
for (auto locationIt = programOutputVars->begin(); locationIt != programOutputVars->end(); locationIt++)
{
const VariableLocation &outputLocation = locationIt->second;
const sh::ShaderVariable &outputVariable = shaderOutputVars[outputLocation.index];
const ShaderVariable &outputVariable = shaderOutputVars[outputLocation.index];
const std::string &elementString = (outputLocation.element == GL_INVALID_INDEX ? "" : Str(outputLocation.element));
pixelHLSL += " " + gl_d3d::HLSLTypeString(outputVariable.type) +
......@@ -767,7 +766,7 @@ bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const
for (unsigned int varyingIndex = 0; varyingIndex < fragmentShader->mVaryings.size(); varyingIndex++)
{
sh::Varying *varying = &fragmentShader->mVaryings[varyingIndex];
Varying *varying = &fragmentShader->mVaryings[varyingIndex];
if (varying->registerAssigned())
{
for (unsigned int elementIndex = 0; elementIndex < varying->elementCount(); elementIndex++)
......@@ -851,11 +850,11 @@ bool DynamicHLSL::generateShaderLinkHLSL(InfoLog &infoLog, int registers, const
void DynamicHLSL::defineOutputVariables(FragmentShader *fragmentShader, std::map<int, VariableLocation> *programOutputVars) const
{
const std::vector<sh::Attribute> &shaderOutputVars = fragmentShader->getOutputVariables();
const std::vector<Attribute> &shaderOutputVars = fragmentShader->getOutputVariables();
for (unsigned int outputVariableIndex = 0; outputVariableIndex < shaderOutputVars.size(); outputVariableIndex++)
{
const sh::Attribute &outputVariable = shaderOutputVars[outputVariableIndex];
const Attribute &outputVariable = shaderOutputVars[outputVariableIndex];
const int baseLocation = outputVariable.location == -1 ? 0 : outputVariable.location;
if (outputVariable.arraySize > 0)
......@@ -875,14 +874,14 @@ void DynamicHLSL::defineOutputVariables(FragmentShader *fragmentShader, std::map
}
}
std::string DynamicHLSL::generateGeometryShaderHLSL(int registers, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const
std::string DynamicHLSL::generateGeometryShaderHLSL(int registers, const ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const
{
// for now we only handle point sprite emulation
ASSERT(vertexShader->mUsesPointSize && mRenderer->getMajorShaderModel() >= 4);
return generatePointSpriteHLSL(registers, packing, fragmentShader, vertexShader);
}
std::string DynamicHLSL::generatePointSpriteHLSL(int registers, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const
std::string DynamicHLSL::generatePointSpriteHLSL(int registers, const ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const
{
ASSERT(registers >= 0);
ASSERT(vertexShader->mUsesPointSize);
......@@ -1015,7 +1014,7 @@ std::string DynamicHLSL::decorateVariable(const std::string &name)
return name;
}
std::string DynamicHLSL::generateAttributeConversionHLSL(const VertexFormat &vertexFormat, const sh::ShaderVariable &shaderAttrib) const
std::string DynamicHLSL::generateAttributeConversionHLSL(const VertexFormat &vertexFormat, const ShaderVariable &shaderAttrib) const
{
std::string attribString = "input." + decorateVariable(shaderAttrib.name);
......
......@@ -11,12 +11,6 @@
#include "common/angleutils.h"
namespace sh
{
struct ShaderVariable;
struct Attribute;
}
namespace rx
{
class Renderer;
......@@ -32,23 +26,25 @@ struct VariableLocation;
struct LinkedVarying;
class VertexAttribute;
struct VertexFormat;
struct ShaderVariable;
struct Attribute;
class DynamicHLSL
{
public:
explicit DynamicHLSL(rx::Renderer *const renderer);
int packVaryings(InfoLog &infoLog, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader,
int packVaryings(InfoLog &infoLog, const ShaderVariable *packing[][4], FragmentShader *fragmentShader,
VertexShader *vertexShader, const std::vector<std::string>& transformFeedbackVaryings);
std::string generateInputLayoutHLSL(const VertexFormat inputLayout[], const sh::Attribute shaderAttributes[]) const;
bool generateShaderLinkHLSL(InfoLog &infoLog, int registers, const sh::ShaderVariable *packing[][4],
std::string generateInputLayoutHLSL(const VertexFormat inputLayout[], const Attribute shaderAttributes[]) const;
bool generateShaderLinkHLSL(InfoLog &infoLog, int registers, const ShaderVariable *packing[][4],
std::string& pixelHLSL, std::string& vertexHLSL,
FragmentShader *fragmentShader, VertexShader *vertexShader,
const std::vector<std::string>& transformFeedbackVaryings,
std::vector<LinkedVarying> *linkedVaryings,
std::map<int, VariableLocation> *programOutputVars) const;
std::string generateGeometryShaderHLSL(int registers, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const;
std::string generateGeometryShaderHLSL(int registers, const ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const;
static const std::string VERTEX_ATTRIBUTE_STUB_STRING;
......@@ -60,12 +56,12 @@ class DynamicHLSL
std::string generateVaryingHLSL(VertexShader *shader, const std::string &varyingSemantic,
std::vector<LinkedVarying> *linkedVaryings) const;
void defineOutputVariables(FragmentShader *fragmentShader, std::map<int, VariableLocation> *programOutputVars) const;
std::string generatePointSpriteHLSL(int registers, const sh::ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const;
std::string generatePointSpriteHLSL(int registers, const ShaderVariable *packing[][4], FragmentShader *fragmentShader, VertexShader *vertexShader) const;
// Prepend an underscore
static std::string decorateVariable(const std::string &name);
std::string generateAttributeConversionHLSL(const VertexFormat &vertexFormat, const sh::ShaderVariable &shaderAttrib) const;
std::string generateAttributeConversionHLSL(const VertexFormat &vertexFormat, const ShaderVariable &shaderAttrib) const;
};
// Utility method shared between ProgramBinary and DynamicHLSL
......
......@@ -50,14 +50,14 @@ unsigned int ParseAndStripArrayIndex(std::string* name)
return subscript;
}
void GetInputLayoutFromShader(const std::vector<sh::Attribute> &shaderAttributes, VertexFormat inputLayout[MAX_VERTEX_ATTRIBS])
void GetInputLayoutFromShader(const std::vector<gl::Attribute> &shaderAttributes, VertexFormat inputLayout[MAX_VERTEX_ATTRIBS])
{
size_t layoutIndex = 0;
for (size_t attributeIndex = 0; attributeIndex < shaderAttributes.size(); attributeIndex++)
{
ASSERT(layoutIndex < MAX_VERTEX_ATTRIBS);
const sh::Attribute &shaderAttr = shaderAttributes[attributeIndex];
const gl::Attribute &shaderAttr = shaderAttributes[attributeIndex];
if (shaderAttr.type != GL_NONE)
{
......@@ -479,7 +479,7 @@ bool ProgramBinary::setUniform(GLint location, GLsizei count, const T* v, GLenum
const int components = UniformComponentCount(targetUniformType);
const GLenum targetBoolType = UniformBoolVectorType(targetUniformType);
Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
LinkedUniform *targetUniform = mUniforms[mUniformIndex[location].index];
targetUniform->dirty = true;
int elementCount = targetUniform->elementCount();
......@@ -623,7 +623,7 @@ bool ProgramBinary::setUniformMatrixfv(GLint location, GLsizei count, GLboolean
return false;
}
Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
LinkedUniform *targetUniform = mUniforms[mUniformIndex[location].index];
targetUniform->dirty = true;
if (targetUniform->type != targetUniformType)
......@@ -710,7 +710,7 @@ bool ProgramBinary::setUniform1iv(GLint location, GLsizei count, const GLint *v)
return false;
}
Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
LinkedUniform *targetUniform = mUniforms[mUniformIndex[location].index];
targetUniform->dirty = true;
int elementCount = targetUniform->elementCount();
......@@ -799,7 +799,7 @@ bool ProgramBinary::getUniformv(GLint location, GLsizei *bufSize, T *params, GLe
return false;
}
Uniform *targetUniform = mUniforms[mUniformIndex[location].index];
LinkedUniform *targetUniform = mUniforms[mUniformIndex[location].index];
// sized queries -- ensure the provided buffer is large enough
if (bufSize)
......@@ -909,7 +909,7 @@ void ProgramBinary::applyUniforms()
// Retrieve sampler uniform values
for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); uniformIndex++)
{
Uniform *targetUniform = mUniforms[uniformIndex];
LinkedUniform *targetUniform = mUniforms[uniformIndex];
if (targetUniform->dirty)
{
......@@ -1008,17 +1008,17 @@ bool ProgramBinary::applyUniformBuffers(const std::vector<gl::Buffer*> boundBuff
bool ProgramBinary::linkVaryings(InfoLog &infoLog, FragmentShader *fragmentShader, VertexShader *vertexShader)
{
std::vector<sh::Varying> &fragmentVaryings = fragmentShader->getVaryings();
std::vector<sh::Varying> &vertexVaryings = vertexShader->getVaryings();
std::vector<gl::Varying> &fragmentVaryings = fragmentShader->getVaryings();
std::vector<gl::Varying> &vertexVaryings = vertexShader->getVaryings();
for (size_t fragVaryingIndex = 0; fragVaryingIndex < fragmentVaryings.size(); fragVaryingIndex++)
{
sh::Varying *input = &fragmentVaryings[fragVaryingIndex];
gl::Varying *input = &fragmentVaryings[fragVaryingIndex];
bool matched = false;
for (size_t vertVaryingIndex = 0; vertVaryingIndex < vertexVaryings.size(); vertVaryingIndex++)
{
sh::Varying *output = &vertexVaryings[vertVaryingIndex];
gl::Varying *output = &vertexVaryings[vertVaryingIndex];
if (output->name == input->name)
{
if (!linkValidateVariables(infoLog, output->name, *input, *output))
......@@ -1153,9 +1153,9 @@ bool ProgramBinary::load(InfoLog &infoLog, const void *binary, GLsizei length)
stream.read(&matrixStride);
stream.read(&isRowMajorMatrix);
const sh::BlockMemberInfo blockInfo(offset, arrayStride, matrixStride, isRowMajorMatrix);
const gl::BlockMemberInfo blockInfo(offset, arrayStride, matrixStride, isRowMajorMatrix);
mUniforms[i] = new Uniform(type, precision, name, arraySize, blockIndex, blockInfo);
mUniforms[i] = new LinkedUniform(type, precision, name, arraySize, blockIndex, blockInfo);
stream.read(&mUniforms[i]->psRegisterIndex);
stream.read(&mUniforms[i]->vsRegisterIndex);
......@@ -1355,7 +1355,7 @@ bool ProgramBinary::save(void* binary, GLsizei bufSize, GLsizei *length)
stream.write(mUniforms.size());
for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); ++uniformIndex)
{
const Uniform &uniform = *mUniforms[uniformIndex];
const LinkedUniform &uniform = *mUniforms[uniformIndex];
stream.write(uniform.type);
stream.write(uniform.precision);
......@@ -1527,7 +1527,7 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin
mVertexWorkarounds = vertexShader->getD3DWorkarounds();
// Map the varyings to the register file
const sh::ShaderVariable *packing[IMPLEMENTATION_MAX_VARYING_VECTORS][4] = {NULL};
const gl::ShaderVariable *packing[IMPLEMENTATION_MAX_VARYING_VECTORS][4] = {NULL};
int registers = mDynamicHLSL->packVaryings(infoLog, packing, fragmentShader, vertexShader, transformFeedbackVaryings);
if (registers < 0)
......@@ -1564,9 +1564,9 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin
// special case for gl_DepthRange, the only built-in uniform (also a struct)
if (vertexShader->usesDepthRange() || fragmentShader->usesDepthRange())
{
mUniforms.push_back(new Uniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.near", 0, -1, sh::BlockMemberInfo::defaultBlockInfo));
mUniforms.push_back(new Uniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.far", 0, -1, sh::BlockMemberInfo::defaultBlockInfo));
mUniforms.push_back(new Uniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.diff", 0, -1, sh::BlockMemberInfo::defaultBlockInfo));
mUniforms.push_back(new LinkedUniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.near", 0, -1, gl::BlockMemberInfo::defaultBlockInfo));
mUniforms.push_back(new LinkedUniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.far", 0, -1, gl::BlockMemberInfo::defaultBlockInfo));
mUniforms.push_back(new LinkedUniform(GL_FLOAT, GL_HIGH_FLOAT, "gl_DepthRange.diff", 0, -1, gl::BlockMemberInfo::defaultBlockInfo));
}
if (!linkUniformBlocks(infoLog, vertexShader->getInterfaceBlocks(), fragmentShader->getInterfaceBlocks()))
......@@ -1625,12 +1625,12 @@ bool ProgramBinary::link(InfoLog &infoLog, const AttributeBindings &attributeBin
bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &attributeBindings, FragmentShader *fragmentShader, VertexShader *vertexShader)
{
unsigned int usedLocations = 0;
const std::vector<sh::Attribute> &activeAttributes = vertexShader->activeAttributes();
const std::vector<gl::Attribute> &activeAttributes = vertexShader->activeAttributes();
// Link attributes that have a binding location
for (unsigned int attributeIndex = 0; attributeIndex < activeAttributes.size(); attributeIndex++)
{
const sh::Attribute &attribute = activeAttributes[attributeIndex];
const gl::Attribute &attribute = activeAttributes[attributeIndex];
const int location = attribute.location == -1 ? attributeBindings.getAttributeBinding(attribute.name) : attribute.location;
mShaderAttributes[attributeIndex] = attribute;
......@@ -1649,7 +1649,7 @@ bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &at
for (int row = 0; row < rows; row++)
{
const int rowLocation = location + row;
sh::ShaderVariable &linkedAttribute = mLinkedAttribute[rowLocation];
gl::ShaderVariable &linkedAttribute = mLinkedAttribute[rowLocation];
// In GLSL 3.00, attribute aliasing produces a link error
// In GLSL 1.00, attribute aliasing is allowed
......@@ -1671,7 +1671,7 @@ bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &at
// Link attributes that don't have a binding location
for (unsigned int attributeIndex = 0; attributeIndex < activeAttributes.size(); attributeIndex++)
{
const sh::Attribute &attribute = activeAttributes[attributeIndex];
const gl::Attribute &attribute = activeAttributes[attributeIndex];
const int location = attribute.location == -1 ? attributeBindings.getAttributeBinding(attribute.name) : attribute.location;
if (location == -1) // Not set by glBindAttribLocation or by location layout qualifier
......@@ -1706,7 +1706,7 @@ bool ProgramBinary::linkAttributes(InfoLog &infoLog, const AttributeBindings &at
return true;
}
bool ProgramBinary::linkValidateVariablesBase(InfoLog &infoLog, const std::string &variableName, const sh::ShaderVariable &vertexVariable, const sh::ShaderVariable &fragmentVariable, bool validatePrecision)
bool ProgramBinary::linkValidateVariablesBase(InfoLog &infoLog, const std::string &variableName, const gl::ShaderVariable &vertexVariable, const gl::ShaderVariable &fragmentVariable, bool validatePrecision)
{
if (vertexVariable.type != fragmentVariable.type)
{
......@@ -1758,14 +1758,14 @@ bool ProgramBinary::linkValidateFields(InfoLog &infoLog, const std::string &varN
return true;
}
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const sh::Uniform &vertexUniform, const sh::Uniform &fragmentUniform)
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const gl::Uniform &vertexUniform, const gl::Uniform &fragmentUniform)
{
if (!linkValidateVariablesBase(infoLog, uniformName, vertexUniform, fragmentUniform, true))
{
return false;
}
if (!linkValidateFields<sh::Uniform>(infoLog, uniformName, vertexUniform, fragmentUniform))
if (!linkValidateFields<gl::Uniform>(infoLog, uniformName, vertexUniform, fragmentUniform))
{
return false;
}
......@@ -1773,7 +1773,7 @@ bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &u
return true;
}
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &varyingName, const sh::Varying &vertexVarying, const sh::Varying &fragmentVarying)
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &varyingName, const gl::Varying &vertexVarying, const gl::Varying &fragmentVarying)
{
if (!linkValidateVariablesBase(infoLog, varyingName, vertexVarying, fragmentVarying, false))
{
......@@ -1786,7 +1786,7 @@ bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &v
return false;
}
if (!linkValidateFields<sh::Varying>(infoLog, varyingName, vertexVarying, fragmentVarying))
if (!linkValidateFields<gl::Varying>(infoLog, varyingName, vertexVarying, fragmentVarying))
{
return false;
}
......@@ -1794,7 +1794,7 @@ bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &v
return true;
}
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const sh::InterfaceBlockField &vertexUniform, const sh::InterfaceBlockField &fragmentUniform)
bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const gl::InterfaceBlockField &vertexUniform, const gl::InterfaceBlockField &fragmentUniform)
{
if (!linkValidateVariablesBase(infoLog, uniformName, vertexUniform, fragmentUniform, true))
{
......@@ -1807,7 +1807,7 @@ bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &u
return false;
}
if (!linkValidateFields<sh::InterfaceBlockField>(infoLog, uniformName, vertexUniform, fragmentUniform))
if (!linkValidateFields<gl::InterfaceBlockField>(infoLog, uniformName, vertexUniform, fragmentUniform))
{
return false;
}
......@@ -1815,25 +1815,25 @@ bool ProgramBinary::linkValidateVariables(InfoLog &infoLog, const std::string &u
return true;
}
bool ProgramBinary::linkUniforms(InfoLog &infoLog, const std::vector<sh::Uniform> &vertexUniforms, const std::vector<sh::Uniform> &fragmentUniforms)
bool ProgramBinary::linkUniforms(InfoLog &infoLog, const std::vector<gl::Uniform> &vertexUniforms, const std::vector<gl::Uniform> &fragmentUniforms)
{
// Check that uniforms defined in the vertex and fragment shaders are identical
typedef std::map<std::string, const sh::Uniform*> UniformMap;
typedef std::map<std::string, const gl::Uniform*> UniformMap;
UniformMap linkedUniforms;
for (unsigned int vertexUniformIndex = 0; vertexUniformIndex < vertexUniforms.size(); vertexUniformIndex++)
{
const sh::Uniform &vertexUniform = vertexUniforms[vertexUniformIndex];
const gl::Uniform &vertexUniform = vertexUniforms[vertexUniformIndex];
linkedUniforms[vertexUniform.name] = &vertexUniform;
}
for (unsigned int fragmentUniformIndex = 0; fragmentUniformIndex < fragmentUniforms.size(); fragmentUniformIndex++)
{
const sh::Uniform &fragmentUniform = fragmentUniforms[fragmentUniformIndex];
const gl::Uniform &fragmentUniform = fragmentUniforms[fragmentUniformIndex];
UniformMap::const_iterator entry = linkedUniforms.find(fragmentUniform.name);
if (entry != linkedUniforms.end())
{
const sh::Uniform &vertexUniform = *entry->second;
const gl::Uniform &vertexUniform = *entry->second;
const std::string &uniformName = "uniform '" + vertexUniform.name + "'";
if (!linkValidateVariables(infoLog, uniformName, vertexUniform, fragmentUniform))
{
......@@ -1863,7 +1863,7 @@ bool ProgramBinary::linkUniforms(InfoLog &infoLog, const std::vector<sh::Uniform
return true;
}
int totalRegisterCount(const sh::Uniform &uniform)
int totalRegisterCount(const gl::Uniform &uniform)
{
int registerCount = 0;
......@@ -1912,7 +1912,7 @@ TextureType ProgramBinary::getTextureType(GLenum samplerType, InfoLog &infoLog)
return TEXTURE_2D;
}
bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, InfoLog &infoLog)
bool ProgramBinary::defineUniform(GLenum shader, const gl::Uniform &constant, InfoLog &infoLog)
{
if (constant.isStruct())
{
......@@ -1924,9 +1924,9 @@ bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, In
{
for (size_t fieldIndex = 0; fieldIndex < constant.fields.size(); fieldIndex++)
{
const sh::Uniform &field = constant.fields[fieldIndex];
const gl::Uniform &field = constant.fields[fieldIndex];
const std::string &uniformName = constant.name + ArrayString(elementIndex) + "." + field.name;
sh::Uniform fieldUniform(field.type, field.precision, uniformName.c_str(), field.arraySize,
gl::Uniform fieldUniform(field.type, field.precision, uniformName.c_str(), field.arraySize,
elementRegisterIndex, field.elementIndex);
fieldUniform.fields = field.fields;
......@@ -1942,10 +1942,10 @@ bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, In
{
for (size_t fieldIndex = 0; fieldIndex < constant.fields.size(); fieldIndex++)
{
const sh::Uniform &field = constant.fields[fieldIndex];
const gl::Uniform &field = constant.fields[fieldIndex];
const std::string &uniformName = constant.name + "." + field.name;
sh::Uniform fieldUniform(field.type, field.precision, uniformName.c_str(), field.arraySize,
gl::Uniform fieldUniform(field.type, field.precision, uniformName.c_str(), field.arraySize,
field.registerIndex, field.elementIndex);
fieldUniform.fields = field.fields;
......@@ -2003,7 +2003,7 @@ bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, In
while (samplerIndex < constant.registerIndex + constant.arraySize);
}
Uniform *uniform = NULL;
LinkedUniform *uniform = NULL;
GLint location = getUniformLocation(constant.name);
if (location >= 0) // Previously defined, type and precision must match
......@@ -2012,7 +2012,7 @@ bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, In
}
else
{
uniform = new Uniform(constant.type, constant.precision, constant.name, constant.arraySize, -1, sh::BlockMemberInfo::defaultBlockInfo);
uniform = new LinkedUniform(constant.type, constant.precision, constant.name, constant.arraySize, -1, gl::BlockMemberInfo::defaultBlockInfo);
uniform->registerElement = constant.elementIndex;
}
......@@ -2065,7 +2065,7 @@ bool ProgramBinary::defineUniform(GLenum shader, const sh::Uniform &constant, In
return true;
}
bool ProgramBinary::areMatchingInterfaceBlocks(InfoLog &infoLog, const sh::InterfaceBlock &vertexInterfaceBlock, const sh::InterfaceBlock &fragmentInterfaceBlock)
bool ProgramBinary::areMatchingInterfaceBlocks(InfoLog &infoLog, const gl::InterfaceBlock &vertexInterfaceBlock, const gl::InterfaceBlock &fragmentInterfaceBlock)
{
const char* blockName = vertexInterfaceBlock.name.c_str();
......@@ -2091,8 +2091,8 @@ bool ProgramBinary::areMatchingInterfaceBlocks(InfoLog &infoLog, const sh::Inter
const unsigned int numBlockMembers = vertexInterfaceBlock.fields.size();
for (unsigned int blockMemberIndex = 0; blockMemberIndex < numBlockMembers; blockMemberIndex++)
{
const sh::InterfaceBlockField &vertexMember = vertexInterfaceBlock.fields[blockMemberIndex];
const sh::InterfaceBlockField &fragmentMember = fragmentInterfaceBlock.fields[blockMemberIndex];
const gl::InterfaceBlockField &vertexMember = vertexInterfaceBlock.fields[blockMemberIndex];
const gl::InterfaceBlockField &fragmentMember = fragmentInterfaceBlock.fields[blockMemberIndex];
if (vertexMember.name != fragmentMember.name)
{
......@@ -2111,25 +2111,26 @@ bool ProgramBinary::areMatchingInterfaceBlocks(InfoLog &infoLog, const sh::Inter
return true;
}
bool ProgramBinary::linkUniformBlocks(InfoLog &infoLog, const sh::ActiveInterfaceBlocks &vertexInterfaceBlocks, const sh::ActiveInterfaceBlocks &fragmentInterfaceBlocks)
bool ProgramBinary::linkUniformBlocks(InfoLog &infoLog, const std::vector<gl::InterfaceBlock> &vertexInterfaceBlocks,
const std::vector<gl::InterfaceBlock> &fragmentInterfaceBlocks)
{
// Check that interface blocks defined in the vertex and fragment shaders are identical
typedef std::map<std::string, const sh::InterfaceBlock*> UniformBlockMap;
typedef std::map<std::string, const gl::InterfaceBlock*> UniformBlockMap;
UniformBlockMap linkedUniformBlocks;
for (unsigned int blockIndex = 0; blockIndex < vertexInterfaceBlocks.size(); blockIndex++)
{
const sh::InterfaceBlock &vertexInterfaceBlock = vertexInterfaceBlocks[blockIndex];
const gl::InterfaceBlock &vertexInterfaceBlock = vertexInterfaceBlocks[blockIndex];
linkedUniformBlocks[vertexInterfaceBlock.name] = &vertexInterfaceBlock;
}
for (unsigned int blockIndex = 0; blockIndex < fragmentInterfaceBlocks.size(); blockIndex++)
{
const sh::InterfaceBlock &fragmentInterfaceBlock = fragmentInterfaceBlocks[blockIndex];
const gl::InterfaceBlock &fragmentInterfaceBlock = fragmentInterfaceBlocks[blockIndex];
UniformBlockMap::const_iterator entry = linkedUniformBlocks.find(fragmentInterfaceBlock.name);
if (entry != linkedUniformBlocks.end())
{
const sh::InterfaceBlock &vertexInterfaceBlock = *entry->second;
const gl::InterfaceBlock &vertexInterfaceBlock = *entry->second;
if (!areMatchingInterfaceBlocks(infoLog, vertexInterfaceBlock, fragmentInterfaceBlock))
{
return false;
......@@ -2214,11 +2215,11 @@ bool ProgramBinary::gatherTransformFeedbackLinkedVaryings(InfoLog &infoLog, cons
return true;
}
void ProgramBinary::defineUniformBlockMembers(const std::vector<sh::InterfaceBlockField> &fields, const std::string &prefix, int blockIndex, BlockInfoItr *blockInfoItr, std::vector<unsigned int> *blockUniformIndexes)
void ProgramBinary::defineUniformBlockMembers(const std::vector<gl::InterfaceBlockField> &fields, const std::string &prefix, int blockIndex, BlockInfoItr *blockInfoItr, std::vector<unsigned int> *blockUniformIndexes)
{
for (unsigned int uniformIndex = 0; uniformIndex < fields.size(); uniformIndex++)
{
const sh::InterfaceBlockField &field = fields[uniformIndex];
const gl::InterfaceBlockField &field = fields[uniformIndex];
const std::string &fieldName = (prefix.empty() ? field.name : prefix + "." + field.name);
if (!field.fields.empty())
......@@ -2238,7 +2239,7 @@ void ProgramBinary::defineUniformBlockMembers(const std::vector<sh::InterfaceBlo
}
else
{
Uniform *newUniform = new Uniform(field.type, field.precision, fieldName, field.arraySize,
LinkedUniform *newUniform = new LinkedUniform(field.type, field.precision, fieldName, field.arraySize,
blockIndex, **blockInfoItr);
// add to uniform list, but not index, since uniform block uniforms have no location
......@@ -2249,7 +2250,7 @@ void ProgramBinary::defineUniformBlockMembers(const std::vector<sh::InterfaceBlo
}
}
bool ProgramBinary::defineUniformBlock(InfoLog &infoLog, GLenum shader, const sh::InterfaceBlock &interfaceBlock)
bool ProgramBinary::defineUniformBlock(InfoLog &infoLog, GLenum shader, const gl::InterfaceBlock &interfaceBlock)
{
// create uniform block entries if they do not exist
if (getUniformBlockIndex(interfaceBlock.name) == GL_INVALID_INDEX)
......@@ -2456,7 +2457,7 @@ GLint ProgramBinary::getActiveUniformMaxLength() const
GLint ProgramBinary::getActiveUniformi(GLuint index, GLenum pname) const
{
const gl::Uniform& uniform = *mUniforms[index];
const gl::LinkedUniform& uniform = *mUniforms[index];
switch (pname)
{
......@@ -2719,7 +2720,7 @@ void ProgramBinary::initializeUniformStorage()
unsigned int fragmentRegisters = 0;
for (size_t uniformIndex = 0; uniformIndex < mUniforms.size(); uniformIndex++)
{
const Uniform &uniform = *mUniforms[uniformIndex];
const LinkedUniform &uniform = *mUniforms[uniformIndex];
if (!IsSampler(uniform.type))
{
......
......@@ -84,7 +84,7 @@ class ProgramBinary : public RefCountObject
~ProgramBinary();
rx::ShaderExecutable *getPixelExecutable() const;
rx::ShaderExecutable *getVertexExecutableForInputLayout(const VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS]);
rx::ShaderExecutable *getVertexExecutableForInputLayout(const VertexFormat inputLayout[MAX_VERTEX_ATTRIBS]);
rx::ShaderExecutable *getGeometryExecutable() const;
GLuint getAttributeLocation(const char *name);
......@@ -128,7 +128,7 @@ class ProgramBinary : public RefCountObject
void dirtyAllUniforms();
void applyUniforms();
bool applyUniformBuffers(const std::vector<gl::Buffer*> boundBuffers);
bool applyUniformBuffers(const std::vector<Buffer*> boundBuffers);
bool load(InfoLog &infoLog, const void *binary, GLsizei length);
bool save(void* binary, GLsizei bufSize, GLsizei *length);
......@@ -167,9 +167,9 @@ class ProgramBinary : public RefCountObject
int getShaderVersion() const;
void initAttributesByLayout();
void sortAttributesByLayout(rx::TranslatedAttribute attributes[gl::MAX_VERTEX_ATTRIBS], int sortedSemanticIndices[MAX_VERTEX_ATTRIBS]) const;
void sortAttributesByLayout(rx::TranslatedAttribute attributes[MAX_VERTEX_ATTRIBS], int sortedSemanticIndices[MAX_VERTEX_ATTRIBS]) const;
const UniformArray &getUniforms() const { return mUniforms; }
const std::vector<LinkedUniform*> &getUniforms() const { return mUniforms; }
const rx::UniformStorage &getVertexUniformStorage() const { return *mVertexUniformStorage; }
const rx::UniformStorage &getFragmentUniformStorage() const { return *mFragmentUniformStorage; }
......@@ -179,25 +179,25 @@ class ProgramBinary : public RefCountObject
bool linkVaryings(InfoLog &infoLog, FragmentShader *fragmentShader, VertexShader *vertexShader);
bool linkAttributes(InfoLog &infoLog, const AttributeBindings &attributeBindings, FragmentShader *fragmentShader, VertexShader *vertexShader);
typedef sh::BlockMemberInfoArray::const_iterator BlockInfoItr;
typedef BlockMemberInfoArray::const_iterator BlockInfoItr;
template <class ShaderVarType>
bool linkValidateFields(InfoLog &infoLog, const std::string &varName, const ShaderVarType &vertexVar, const ShaderVarType &fragmentVar);
bool linkValidateVariablesBase(InfoLog &infoLog, const std::string &variableName, const sh::ShaderVariable &vertexVariable, const sh::ShaderVariable &fragmentVariable, bool validatePrecision);
bool linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const sh::Uniform &vertexUniform, const sh::Uniform &fragmentUniform);
bool linkValidateVariables(InfoLog &infoLog, const std::string &varyingName, const sh::Varying &vertexVarying, const sh::Varying &fragmentVarying);
bool linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const sh::InterfaceBlockField &vertexUniform, const sh::InterfaceBlockField &fragmentUniform);
bool linkUniforms(InfoLog &infoLog, const std::vector<sh::Uniform> &vertexUniforms, const std::vector<sh::Uniform> &fragmentUniforms);
bool defineUniform(GLenum shader, const sh::Uniform &constant, InfoLog &infoLog);
bool areMatchingInterfaceBlocks(InfoLog &infoLog, const sh::InterfaceBlock &vertexInterfaceBlock, const sh::InterfaceBlock &fragmentInterfaceBlock);
bool linkUniformBlocks(InfoLog &infoLog, const sh::ActiveInterfaceBlocks &vertexUniformBlocks, const sh::ActiveInterfaceBlocks &fragmentUniformBlocks);
bool linkValidateVariablesBase(InfoLog &infoLog, const std::string &variableName, const ShaderVariable &vertexVariable, const ShaderVariable &fragmentVariable, bool validatePrecision);
bool linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const Uniform &vertexUniform, const Uniform &fragmentUniform);
bool linkValidateVariables(InfoLog &infoLog, const std::string &varyingName, const Varying &vertexVarying, const Varying &fragmentVarying);
bool linkValidateVariables(InfoLog &infoLog, const std::string &uniformName, const InterfaceBlockField &vertexUniform, const InterfaceBlockField &fragmentUniform);
bool linkUniforms(InfoLog &infoLog, const std::vector<Uniform> &vertexUniforms, const std::vector<Uniform> &fragmentUniforms);
bool defineUniform(GLenum shader, const Uniform &constant, InfoLog &infoLog);
bool areMatchingInterfaceBlocks(InfoLog &infoLog, const InterfaceBlock &vertexInterfaceBlock, const InterfaceBlock &fragmentInterfaceBlock);
bool linkUniformBlocks(InfoLog &infoLog, const std::vector<InterfaceBlock> &vertexUniformBlocks, const std::vector<InterfaceBlock> &fragmentUniformBlocks);
bool gatherTransformFeedbackLinkedVaryings(InfoLog &infoLog, const std::vector<LinkedVarying> &linkedVaryings,
const std::vector<std::string> &transformFeedbackVaryingNames,
GLenum transformFeedbackBufferMode,
std::vector<LinkedVarying> *outTransformFeedbackLinkedVaryings) const;
void defineUniformBlockMembers(const std::vector<sh::InterfaceBlockField> &fields, const std::string &prefix, int blockIndex, BlockInfoItr *blockInfoItr, std::vector<unsigned int> *blockUniformIndexes);
bool defineUniformBlock(InfoLog &infoLog, GLenum shader, const sh::InterfaceBlock &interfaceBlock);
void defineUniformBlockMembers(const std::vector<InterfaceBlockField> &fields, const std::string &prefix, int blockIndex, BlockInfoItr *blockInfoItr, std::vector<unsigned int> *blockUniformIndexes);
bool defineUniformBlock(InfoLog &infoLog, GLenum shader, const InterfaceBlock &interfaceBlock);
bool assignUniformBlockRegister(InfoLog &infoLog, UniformBlock *uniformBlock, GLenum shader, unsigned int registerIndex);
void defineOutputVariables(FragmentShader *fragmentShader);
void initializeUniformStorage();
......@@ -217,17 +217,17 @@ class ProgramBinary : public RefCountObject
{
public:
VertexExecutable(rx::Renderer *const renderer,
const VertexFormat inputLayout[gl::MAX_VERTEX_ATTRIBS],
const VertexFormat inputLayout[MAX_VERTEX_ATTRIBS],
rx::ShaderExecutable *shaderExecutable);
~VertexExecutable();
bool matchesInputLayout(const VertexFormat attributes[gl::MAX_VERTEX_ATTRIBS]) const;
bool matchesInputLayout(const VertexFormat attributes[MAX_VERTEX_ATTRIBS]) const;
const VertexFormat *inputs() const { return mInputs; }
rx::ShaderExecutable *shaderExecutable() const { return mShaderExecutable; }
private:
VertexFormat mInputs[gl::MAX_VERTEX_ATTRIBS];
VertexFormat mInputs[MAX_VERTEX_ATTRIBS];
rx::ShaderExecutable *mShaderExecutable;
};
......@@ -240,8 +240,8 @@ class ProgramBinary : public RefCountObject
rx::ShaderExecutable *mGeometryExecutable;
rx::ShaderExecutable *mPixelExecutable;
sh::Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
sh::Attribute mShaderAttributes[MAX_VERTEX_ATTRIBS];
Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
Attribute mShaderAttributes[MAX_VERTEX_ATTRIBS];
int mSemanticIndex[MAX_VERTEX_ATTRIBS];
int mAttributesByLayout[MAX_VERTEX_ATTRIBS];
......@@ -264,8 +264,8 @@ class ProgramBinary : public RefCountObject
bool mUsesPointSize;
int mShaderVersion;
UniformArray mUniforms;
UniformBlockArray mUniformBlocks;
std::vector<LinkedUniform*> mUniforms;
std::vector<UniformBlock*> mUniformBlocks;
std::vector<VariableLocation> mUniformIndex;
std::map<int, VariableLocation> mOutputVariables;
rx::UniformStorage *mVertexUniformStorage;
......
......@@ -115,17 +115,17 @@ void Shader::getTranslatedSource(GLsizei bufSize, GLsizei *length, char *buffer)
getSourceImpl(mHlsl, bufSize, length, buffer);
}
const std::vector<sh::Uniform> &Shader::getUniforms() const
const std::vector<Uniform> &Shader::getUniforms() const
{
return mActiveUniforms;
}
const sh::ActiveInterfaceBlocks &Shader::getInterfaceBlocks() const
const std::vector<InterfaceBlock> &Shader::getInterfaceBlocks() const
{
return mActiveInterfaceBlocks;
}
std::vector<sh::Varying> &Shader::getVaryings()
std::vector<Varying> &Shader::getVaryings()
{
return mVaryings;
}
......@@ -225,7 +225,7 @@ void Shader::parseVaryings(void *compiler)
{
if (!mHlsl.empty())
{
std::vector<sh::Varying> *activeVaryings;
std::vector<Varying> *activeVaryings;
ShGetInfoPointer(compiler, SH_ACTIVE_VARYINGS_ARRAY, reinterpret_cast<void**>(&activeVaryings));
mVaryings = *activeVaryings;
......@@ -357,11 +357,11 @@ void Shader::compileToHLSL(void *compiler)
void *activeUniforms;
ShGetInfoPointer(compiler, SH_ACTIVE_UNIFORMS_ARRAY, &activeUniforms);
mActiveUniforms = *(std::vector<sh::Uniform>*)activeUniforms;
mActiveUniforms = *(std::vector<Uniform>*)activeUniforms;
void *activeInterfaceBlocks;
ShGetInfoPointer(compiler, SH_ACTIVE_INTERFACE_BLOCKS_ARRAY, &activeInterfaceBlocks);
mActiveInterfaceBlocks = *(sh::ActiveInterfaceBlocks*)activeInterfaceBlocks;
mActiveInterfaceBlocks = *(std::vector<InterfaceBlock>*)activeInterfaceBlocks;
}
else
{
......@@ -440,7 +440,7 @@ static const GLenum varyingPriorityList[] =
};
// true if varying x has a higher priority in packing than y
bool Shader::compareVarying(const sh::ShaderVariable &x, const sh::ShaderVariable &y)
bool Shader::compareVarying(const ShaderVariable &x, const ShaderVariable &y)
{
if (x.type == y.type)
{
......@@ -511,7 +511,7 @@ int VertexShader::getSemanticIndex(const std::string &attributeName)
int semanticIndex = 0;
for (unsigned int attributeIndex = 0; attributeIndex < mActiveAttributes.size(); attributeIndex++)
{
const sh::ShaderVariable &attribute = mActiveAttributes[attributeIndex];
const ShaderVariable &attribute = mActiveAttributes[attributeIndex];
if (attribute.name == attributeName)
{
......@@ -532,7 +532,7 @@ void VertexShader::parseAttributes()
{
void *activeAttributes;
ShGetInfoPointer(mVertexCompiler, SH_ACTIVE_ATTRIBUTES_ARRAY, &activeAttributes);
mActiveAttributes = *(std::vector<sh::Attribute>*)activeAttributes;
mActiveAttributes = *(std::vector<Attribute>*)activeAttributes;
}
}
......@@ -563,7 +563,7 @@ void FragmentShader::compile()
{
void *activeOutputVariables;
ShGetInfoPointer(mFragmentCompiler, SH_ACTIVE_OUTPUT_VARIABLES_ARRAY, &activeOutputVariables);
mActiveOutputVariables = *(std::vector<sh::Attribute>*)activeOutputVariables;
mActiveOutputVariables = *(std::vector<Attribute>*)activeOutputVariables;
}
}
......@@ -574,7 +574,7 @@ void FragmentShader::uncompile()
mActiveOutputVariables.clear();
}
const std::vector<sh::Attribute> &FragmentShader::getOutputVariables() const
const std::vector<Attribute> &FragmentShader::getOutputVariables() const
{
return mActiveOutputVariables;
}
......
......@@ -19,7 +19,7 @@
#include <list>
#include <vector>
#include "compiler/translator/ShaderVariable.h"
#include "common/shadervars.h"
#include "common/angleutils.h"
#include "libGLESv2/angletypes.h"
......@@ -52,9 +52,9 @@ class Shader
void getSource(GLsizei bufSize, GLsizei *length, char *buffer) const;
int getTranslatedSourceLength() const;
void getTranslatedSource(GLsizei bufSize, GLsizei *length, char *buffer) const;
const std::vector<sh::Uniform> &getUniforms() const;
const sh::ActiveInterfaceBlocks &getInterfaceBlocks() const;
std::vector<sh::Varying> &getVaryings();
const std::vector<Uniform> &getUniforms() const;
const std::vector<InterfaceBlock> &getInterfaceBlocks() const;
std::vector<Varying> &getVaryings();
virtual void compile() = 0;
virtual void uncompile();
......@@ -82,11 +82,11 @@ class Shader
void getSourceImpl(const std::string &source, GLsizei bufSize, GLsizei *length, char *buffer) const;
static bool compareVarying(const sh::ShaderVariable &x, const sh::ShaderVariable &y);
static bool compareVarying(const ShaderVariable &x, const ShaderVariable &y);
const rx::Renderer *const mRenderer;
std::vector<sh::Varying> mVaryings;
std::vector<Varying> mVaryings;
bool mUsesMultipleRenderTargets;
bool mUsesFragColor;
......@@ -116,8 +116,8 @@ class Shader
std::string mSource;
std::string mHlsl;
std::string mInfoLog;
std::vector<sh::Uniform> mActiveUniforms;
sh::ActiveInterfaceBlocks mActiveInterfaceBlocks;
std::vector<Uniform> mActiveUniforms;
std::vector<InterfaceBlock> mActiveInterfaceBlocks;
ResourceManager *mResourceManager;
};
......@@ -136,14 +136,14 @@ class VertexShader : public Shader
virtual void uncompile();
int getSemanticIndex(const std::string &attributeName);
const std::vector<sh::Attribute> &activeAttributes() const { return mActiveAttributes; }
const std::vector<Attribute> &activeAttributes() const { return mActiveAttributes; }
private:
DISALLOW_COPY_AND_ASSIGN(VertexShader);
void parseAttributes();
std::vector<sh::Attribute> mActiveAttributes;
std::vector<Attribute> mActiveAttributes;
};
class FragmentShader : public Shader
......@@ -156,12 +156,12 @@ class FragmentShader : public Shader
virtual GLenum getType();
virtual void compile();
virtual void uncompile();
const std::vector<sh::Attribute> &getOutputVariables() const;
const std::vector<Attribute> &getOutputVariables() const;
private:
DISALLOW_COPY_AND_ASSIGN(FragmentShader);
std::vector<sh::Attribute> mActiveOutputVariables;
std::vector<Attribute> mActiveOutputVariables;
};
}
......
......@@ -12,7 +12,8 @@
namespace gl
{
Uniform::Uniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize, const int blockIndex, const sh::BlockMemberInfo &blockInfo)
LinkedUniform::LinkedUniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize,
const int blockIndex, const BlockMemberInfo &blockInfo)
: type(type),
precision(precision),
name(name),
......@@ -37,45 +38,45 @@ Uniform::Uniform(GLenum type, GLenum precision, const std::string &name, unsigne
}
}
Uniform::~Uniform()
LinkedUniform::~LinkedUniform()
{
delete[] data;
}
bool Uniform::isArray() const
bool LinkedUniform::isArray() const
{
return arraySize > 0;
}
unsigned int Uniform::elementCount() const
unsigned int LinkedUniform::elementCount() const
{
return arraySize > 0 ? arraySize : 1;
}
bool Uniform::isReferencedByVertexShader() const
bool LinkedUniform::isReferencedByVertexShader() const
{
return vsRegisterIndex != GL_INVALID_INDEX;
}
bool Uniform::isReferencedByFragmentShader() const
bool LinkedUniform::isReferencedByFragmentShader() const
{
return psRegisterIndex != GL_INVALID_INDEX;
}
bool Uniform::isInDefaultBlock() const
bool LinkedUniform::isInDefaultBlock() const
{
return blockIndex == -1;
}
size_t Uniform::dataSize() const
size_t LinkedUniform::dataSize() const
{
ASSERT(type != GL_STRUCT_ANGLEX);
return UniformInternalSize(type) * elementCount();
}
bool Uniform::isSampler() const
bool LinkedUniform::isSampler() const
{
return gl::IsSampler(type);
return IsSampler(type);
}
UniformBlock::UniformBlock(const std::string &name, unsigned int elementIndex, unsigned int dataSize)
......
......@@ -16,17 +16,17 @@
#include "common/debug.h"
#include "angletypes.h"
#include "compiler/translator/ShaderVariable.h"
#include "common/shadervars.h"
namespace gl
{
// Helper struct representing a single shader uniform
struct Uniform
struct LinkedUniform
{
Uniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize, const int blockIndex, const sh::BlockMemberInfo &blockInfo);
LinkedUniform(GLenum type, GLenum precision, const std::string &name, unsigned int arraySize, const int blockIndex, const BlockMemberInfo &blockInfo);
~Uniform();
~LinkedUniform();
bool isArray() const;
unsigned int elementCount() const;
......@@ -41,7 +41,7 @@ struct Uniform
const std::string name;
const unsigned int arraySize;
const int blockIndex;
const sh::BlockMemberInfo blockInfo;
const BlockMemberInfo blockInfo;
unsigned char *data;
bool dirty;
......@@ -55,8 +55,6 @@ struct Uniform
unsigned int registerElement;
};
typedef std::vector<Uniform*> UniformArray;
// Helper struct representing a single shader uniform block
struct UniformBlock
{
......@@ -77,8 +75,6 @@ struct UniformBlock
unsigned int vsRegisterIndex;
};
typedef std::vector<UniformBlock*> UniformBlockArray;
}
#endif // LIBGLESV2_UNIFORM_H_
......@@ -1574,7 +1574,7 @@ void Renderer11::applyShaders(gl::ProgramBinary *programBinary, bool rasterizerD
void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary)
{
const gl::UniformArray &uniformArray = programBinary.getUniforms();
const std::vector<gl::LinkedUniform*> &uniformArray = programBinary.getUniforms();
unsigned int totalRegisterCountVS = 0;
unsigned int totalRegisterCountPS = 0;
......@@ -1584,7 +1584,7 @@ void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary)
for (size_t uniformIndex = 0; uniformIndex < uniformArray.size(); uniformIndex++)
{
const gl::Uniform &uniform = *uniformArray[uniformIndex];
const gl::LinkedUniform &uniform = *uniformArray[uniformIndex];
if (uniform.isReferencedByVertexShader() && !uniform.isSampler())
{
......@@ -1628,7 +1628,7 @@ void Renderer11::applyUniforms(const gl::ProgramBinary &programBinary)
for (size_t uniformIndex = 0; uniformIndex < uniformArray.size(); uniformIndex++)
{
gl::Uniform *uniform = uniformArray[uniformIndex];
gl::LinkedUniform *uniform = uniformArray[uniformIndex];
if (!uniform->isSampler())
{
......
......@@ -1768,11 +1768,11 @@ void Renderer9::applyShaders(gl::ProgramBinary *programBinary, bool rasterizerDi
void Renderer9::applyUniforms(const gl::ProgramBinary &programBinary)
{
const gl::UniformArray &uniformArray = programBinary.getUniforms();
const std::vector<gl::LinkedUniform*> &uniformArray = programBinary.getUniforms();
for (size_t uniformIndex = 0; uniformIndex < uniformArray.size(); uniformIndex++)
{
gl::Uniform *targetUniform = uniformArray[uniformIndex];
gl::LinkedUniform *targetUniform = uniformArray[uniformIndex];
if (targetUniform->dirty)
{
......@@ -1820,7 +1820,7 @@ void Renderer9::applyUniforms(const gl::ProgramBinary &programBinary)
}
}
void Renderer9::applyUniformnfv(gl::Uniform *targetUniform, const GLfloat *v)
void Renderer9::applyUniformnfv(gl::LinkedUniform *targetUniform, const GLfloat *v)
{
if (targetUniform->isReferencedByFragmentShader())
{
......@@ -1833,7 +1833,7 @@ void Renderer9::applyUniformnfv(gl::Uniform *targetUniform, const GLfloat *v)
}
}
void Renderer9::applyUniformniv(gl::Uniform *targetUniform, const GLint *v)
void Renderer9::applyUniformniv(gl::LinkedUniform *targetUniform, const GLint *v)
{
ASSERT(targetUniform->registerCount <= MAX_VERTEX_CONSTANT_VECTORS_D3D9);
GLfloat vector[MAX_VERTEX_CONSTANT_VECTORS_D3D9][4];
......@@ -1849,7 +1849,7 @@ void Renderer9::applyUniformniv(gl::Uniform *targetUniform, const GLint *v)
applyUniformnfv(targetUniform, (GLfloat*)vector);
}
void Renderer9::applyUniformnbv(gl::Uniform *targetUniform, const GLint *v)
void Renderer9::applyUniformnbv(gl::LinkedUniform *targetUniform, const GLint *v)
{
ASSERT(targetUniform->registerCount <= MAX_VERTEX_CONSTANT_VECTORS_D3D9);
GLfloat vector[MAX_VERTEX_CONSTANT_VECTORS_D3D9][4];
......
......@@ -241,9 +241,9 @@ class Renderer9 : public Renderer
void deinitialize();
void applyUniformnfv(gl::Uniform *targetUniform, const GLfloat *v);
void applyUniformniv(gl::Uniform *targetUniform, const GLint *v);
void applyUniformnbv(gl::Uniform *targetUniform, const GLint *v);
void applyUniformnfv(gl::LinkedUniform *targetUniform, const GLfloat *v);
void applyUniformniv(gl::LinkedUniform *targetUniform, const GLint *v);
void applyUniformnbv(gl::LinkedUniform *targetUniform, const GLint *v);
void drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer);
void drawIndexedPoints(GLsizei count, GLenum type, const GLvoid *indices, int minIndex, gl::Buffer *elementArrayBuffer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment