Moved D3D specific files and folders under the D3D folder.

Change-Id: I8afd67e08ee558fe94532c377d079673357a7192
Reviewed-on: https://chromium-review.googlesource.com/205229
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/projects/src/libGLESv2.vcxproj b/projects/src/libGLESv2.vcxproj
index a965d45..9824f5d 100644
--- a/projects/src/libGLESv2.vcxproj
+++ b/projects/src/libGLESv2.vcxproj
@@ -113,34 +113,33 @@
   <ItemGroup>
     <None Include="..\..\src\angle.gyp"/>
     <None Include="..\..\src\libGLESv2\libGLESv2.def"/>
-    <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\Swizzle11.hlsl"/>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough2D11.hlsl"/>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough3D11.hlsl"/>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.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"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Swizzle11.hlsl"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\generate_shaders.bat"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Passthrough3D11.hlsl"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Passthrough2D11.hlsl"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Clear11.hlsl"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\BufferToTexture11.hlsl"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\Blit.vs"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\generate_shaders.bat"/>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\Blit.ps"/>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\libGLESv2\Shader.h"/>
     <ClInclude Include="..\..\src\libGLESv2\BinaryStream.h"/>
     <ClInclude Include="..\..\src\libGLESv2\resource.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"/>
     <ClInclude Include="..\..\src\libGLESv2\Caps.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\Texture.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\FramebufferAttachment.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\Buffer.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h"/>
     <ClInclude Include="..\..\src\libGLESv2\queryconversions.h"/>
     <ClInclude Include="..\..\src\libGLESv2\validationES3.h"/>
     <ClInclude Include="..\..\src\libGLESv2\Program.h"/>
@@ -153,20 +152,19 @@
     <ClInclude Include="..\..\src\libGLESv2\Fence.h"/>
     <ClInclude Include="..\..\src\libGLESv2\angletypes.h"/>
     <ClInclude Include="..\..\src\libGLESv2\main.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\FramebufferAttachment.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\VertexArray.h"/>
     <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h"/>
     <ClInclude Include="..\..\src\libGLESv2\formatutils.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\IndexDataManager.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\validationES.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.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\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\imageformats.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\QueryImpl.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\IndexRangeCache.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\FenceImpl.h"/>
@@ -175,111 +173,113 @@
     <ClInclude Include="..\..\src\libGLESv2\renderer\RenderTarget.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\vertexconversion.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\VertexDataManager.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\VertexBuffer.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\PixelTransfer11.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\RenderStateCache.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.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\VertexArray11.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\passthrough2d11vs.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg2d11ps.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr3di11ps.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\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\swizzleui2darrayps.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughlumalpha3d11ps.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\swizzleui2dps.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrg3d11ps.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_vs.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"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughrgba2d11ps.h"/>
-    <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\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\passthroughrgb3dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h"/>
     <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.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\Renderer9.h"/>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexArray9.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\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\libGLESv2\renderer\d3d\IndexDataManager.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\BufferStorage11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\BufferStorage9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h"/>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h"/>
     <ClInclude Include="..\..\src\common\tls.h"/>
     <ClInclude Include="..\..\src\common\mathutil.h"/>
     <ClInclude Include="..\..\src\common\blocklayout.h"/>
     <ClInclude Include="..\..\src\common\debug.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\angleutils.h"/>
     <ClInclude Include="..\..\src\common\platform.h"/>
     <ClInclude Include="..\..\src\common\version.h"/>
     <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h"/>
@@ -302,85 +302,85 @@
     <ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\HandleAllocator.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\queryconversions.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\Fence.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.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\FramebufferAttachment.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\libGLESv2.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\Context.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\ProgramBinary.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\Sampler.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\Caps.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\Texture.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\IndexDataManager.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\IndexBuffer.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\IndexRangeCache.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Query11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\TextureStorage11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.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\Fence11.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.cpp"/>
     <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.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\RenderTarget9.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp"/>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.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\libGLESv2\renderer\d3d\IndexBuffer.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\BufferStorage11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\BufferStorage9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp"/>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp"/>
     <ClCompile Include="..\..\src\common\event_tracer.cpp"/>
-    <ClCompile Include="..\..\src\common\tls.cpp"/>
-    <ClCompile Include="..\..\src\common\blocklayout.cpp"/>
     <ClCompile Include="..\..\src\common\RefCountObject.cpp"/>
+    <ClCompile Include="..\..\src\common\tls.cpp"/>
     <ClCompile Include="..\..\src\common\utilities.cpp"/>
     <ClCompile Include="..\..\src\common\mathutil.cpp"/>
     <ClCompile Include="..\..\src\common\debug.cpp"/>
+    <ClCompile Include="..\..\src\common\blocklayout.cpp"/>
     <ClCompile Include="..\..\src\third_party\systeminfo\SystemInfo.cpp"/>
     <ClCompile Include="..\..\src\third_party\murmurhash\MurmurHash3.cpp"/>
   </ItemGroup>
diff --git a/projects/src/libGLESv2.vcxproj.filters b/projects/src/libGLESv2.vcxproj.filters
index 747d252..8dfc075 100644
--- a/projects/src/libGLESv2.vcxproj.filters
+++ b/projects/src/libGLESv2.vcxproj.filters
@@ -10,25 +10,25 @@
     <Filter Include="src\libGLESv2\renderer">
       <UniqueIdentifier>{AC4EF684-2900-10EA-3D11-A6DF0901358C}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d11">
-      <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d11\shaders">
-      <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d11\shaders\compiled">
-      <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier>
-    </Filter>
     <Filter Include="src\libGLESv2\renderer\d3d">
       <UniqueIdentifier>{3AC19AE3-A12C-4021-D645-4CEA5BC956DB}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d9">
-      <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier>
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d11">
+      <UniqueIdentifier>{10FB1414-88D2-B512-6D76-522749905268}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d9\shaders">
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders">
       <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\libGLESv2\renderer\d3d9\shaders\compiled">
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d11\shaders\compiled">
+      <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d9">
+      <UniqueIdentifier>{8BB193D2-4A8B-A094-A81E-D5E262AB1F92}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders">
+      <UniqueIdentifier>{467D5622-06CC-2CF1-19E5-3CDD46A4008C}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\libGLESv2\renderer\d3d\d3d9\shaders\compiled">
       <UniqueIdentifier>{F444E9E6-7D51-0546-F1E4-B6C8FCDA5FC6}</UniqueIdentifier>
     </Filter>
     <Filter Include="src\common">
@@ -84,9 +84,6 @@
     <ClCompile Include="..\..\src\libGLESv2\DynamicHLSL.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h">
-      <Filter>src\libGLESv2</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\Caps.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -108,12 +105,18 @@
     <ClInclude Include="..\..\src\libGLESv2\Query.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp">
+      <Filter>src\libGLESv2</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\RenderbufferProxySet.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\Fence.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp">
+      <Filter>src\libGLESv2</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\VertexAttribute.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
@@ -126,9 +129,6 @@
     <ClCompile Include="..\..\src\libGLESv2\Renderbuffer.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\VertexArray.h">
-      <Filter>src\libGLESv2</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\Uniform.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -147,33 +147,36 @@
     <None Include="..\..\src\libGLESv2\libGLESv2.def">
       <Filter>src\libGLESv2</Filter>
     </None>
-    <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp">
-      <Filter>src\libGLESv2</Filter>
-    </ClCompile>
     <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\Buffer.h">
-      <Filter>src\libGLESv2</Filter>
-    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\FramebufferAttachment.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
     <ClInclude Include="..\..\src\libGLESv2\RenderbufferProxySet.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\FramebufferAttachment.h">
+      <Filter>src\libGLESv2</Filter>
+    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\Query.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\validationES.h">
+    <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp">
       <Filter>src\libGLESv2</Filter>
-    </ClInclude>
+    </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\libGLESv2.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\Buffer.h">
+      <Filter>src\libGLESv2</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\Renderbuffer.h">
+      <Filter>src\libGLESv2</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\queryconversions.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -189,9 +192,6 @@
     <ClInclude Include="..\..\src\libGLESv2\HandleAllocator.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\formatutils.cpp">
-      <Filter>src\libGLESv2</Filter>
-    </ClCompile>
     <ClInclude Include="..\..\src\libGLESv2\ResourceManager.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -204,9 +204,6 @@
     <ClInclude Include="..\..\src\libGLESv2\DynamicHLSL.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\TransformFeedback.cpp">
-      <Filter>src\libGLESv2</Filter>
-    </ClCompile>
     <ClInclude Include="..\..\src\libGLESv2\VertexAttribute.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -237,15 +234,12 @@
     <ClInclude Include="..\..\src\libGLESv2\main.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\ProgramBinary.cpp">
-      <Filter>src\libGLESv2</Filter>
-    </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\FramebufferAttachment.h">
-      <Filter>src\libGLESv2</Filter>
-    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\Sampler.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\VertexArray.h">
+      <Filter>src\libGLESv2</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\Framebuffer.h">
       <Filter>src\libGLESv2</Filter>
     </ClInclude>
@@ -258,36 +252,27 @@
     <ClCompile Include="..\..\src\libGLESv2\Framebuffer.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\validationES.h">
+      <Filter>src\libGLESv2</Filter>
+    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\Texture.cpp">
       <Filter>src\libGLESv2</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\IndexDataManager.h">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\ResourceManager.cpp">
+      <Filter>src\libGLESv2</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\renderer\copyimage.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
     <ClInclude Include="..\..\src\libGLESv2\renderer\Renderer.h">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\IndexDataManager.cpp">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClCompile>
     <ClInclude Include="..\..\src\libGLESv2\renderer\TextureStorage.h">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClInclude>
-    <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>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\IndexBuffer.h">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\renderer\loadimage.h">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClInclude>
@@ -297,9 +282,6 @@
     <ClCompile Include="..\..\src\libGLESv2\renderer\loadimage.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\VertexDataManager.cpp">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\renderer\loadimageSSE2.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
@@ -309,15 +291,15 @@
     <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\SwapChain.h">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\renderer\Image.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\imageformats.h">
+      <Filter>src\libGLESv2\renderer</Filter>
+    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\renderer\BufferStorage.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
@@ -345,431 +327,449 @@
     <ClInclude Include="..\..\src\libGLESv2\renderer\VertexArrayImpl.h">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\VertexDataManager.h">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp">
+    <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\VertexBuffer.h">
-      <Filter>src\libGLESv2\renderer</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\Renderer.cpp">
+    <ClCompile Include="..\..\src\libGLESv2\renderer\IndexRangeCache.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
     <ClCompile Include="..\..\src\libGLESv2\renderer\TextureStorage.cpp">
       <Filter>src\libGLESv2\renderer</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <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\TextureStorage11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\ShaderExecutable11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\VertexBuffer11.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\VertexBuffer11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Renderer11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\IndexBuffer11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Clear11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\BufferStorage11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </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>
-    <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\InputLayoutCache.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\RenderTarget11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <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\renderer11_utils.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\SwapChain11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <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\VertexArray11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <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">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\Blit11.h">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d11\Image11.cpp">
-      <Filter>src\libGLESv2\renderer\d3d11</Filter>
-    </ClCompile>
-    <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\Clear11.hlsl">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
-    </None>
-    <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">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
-    </None>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough2D11.hlsl">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
-    </None>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\Passthrough3D11.hlsl">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
-    </None>
-    <None Include="..\..\src\libGLESv2\renderer\d3d11\shaders\BufferToTexture11.hlsl">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders</Filter>
-    </None>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\passthroughr2di11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d11\shaders\compiled\buffertotexture11_gs.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthrough2d11vs.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughr3di11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzlei3dps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\clearuint11vs.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzleui2darrayps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughlumalpha3d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrg2dui11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrg3d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzlef2dps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\buffertotexture11_ps_4f.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrgb2di11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrgb2d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzleui3dps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrgb3di11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrgba3d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzlei2darrayps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughlum3d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughlum2d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughr3d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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_4ui.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\swizzlef2darrayps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrgba2dui11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughlumalpha2d11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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\passthroughrg3dui11ps.h">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
-    <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">
-      <Filter>src\libGLESv2\renderer\d3d11\shaders\compiled</Filter>
-    </ClInclude>
     <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.cpp">
       <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.h">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\HLSLCompiler.h">
       <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexBuffer.cpp">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Image9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.cpp">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.cpp">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\IndexDataManager.h">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderCache.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.h">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\VertexBuffer.cpp">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\ShaderExecutable9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\VertexDataManager.h">
+      <Filter>src\libGLESv2\renderer\d3d</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Image9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Fence9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\SwapChain9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexBuffer9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Renderer9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\VertexArray9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Query9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\VertexDeclarationCache.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\ShaderExecutable11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\renderer9_utils.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\Blit9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Query11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\TextureStorage9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\InputLayoutCache.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\Query9.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\TextureStorage9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\IndexBuffer9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\IndexBuffer11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\RenderTarget9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
-    </ClInclude>
-    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d9\formatutils9.cpp">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClCompile>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\BufferStorage9.h">
-      <Filter>src\libGLESv2\renderer\d3d9</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexBuffer11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
     </ClInclude>
-    <None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\Blit.ps">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Blit11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderTarget11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Image11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\BufferStorage11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\TextureStorage11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Fence11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\VertexArray11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\RenderStateCache.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\BufferStorage11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\renderer11_utils.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Renderer11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\Clear11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d11\SwapChain11.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\PixelTransfer11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\formatutils11.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11</Filter>
+    </ClInclude>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Swizzle11.hlsl">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
     </None>
-    <None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\Blit.vs">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders</Filter>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\generate_shaders.bat">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
     </None>
-    <None Include="..\..\src\libGLESv2\renderer\d3d9\shaders\generate_shaders.bat">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders</Filter>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Passthrough3D11.hlsl">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
     </None>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\luminanceps.h">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Passthrough2D11.hlsl">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
+    </None>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\Clear11.hlsl">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
+    </None>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\BufferToTexture11.hlsl">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders</Filter>
+    </None>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\passthroughps.h">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\flipyvs.h">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\componentmaskps.h">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef3dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d9\shaders\compiled\standardvs.h">
-      <Filter>src\libGLESv2\renderer\d3d9\shaders\compiled</Filter>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui3dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearsint11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2darrayps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlumalpha3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough2d11vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4f.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_gs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearfloat11vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4i.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei2dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr2di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughr3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg2di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\clearuint11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughdepth2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughlum2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb2dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlei3dps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzlef2darrayps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_vs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgb3di11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrg3d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba2d11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\swizzleui2darrayps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthroughrgba3dui11ps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\buffertotexture11_ps_4ui.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d11\shaders\compiled\passthrough3d11gs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d11\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexArray9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderCache.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Fence9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\renderer9_utils.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexDeclarationCache.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Image9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\TextureStorage9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\VertexBuffer9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Renderer9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\BufferStorage9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\formatutils9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\ShaderExecutable9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Query9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\RenderTarget9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClInclude>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\SwapChain9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\BufferStorage9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\Blit9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\libGLESv2\renderer\d3d\d3d9\IndexBuffer9.cpp">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9</Filter>
+    </ClCompile>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\Blit.vs">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders</Filter>
+    </None>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\generate_shaders.bat">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders</Filter>
+    </None>
+    <None Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\Blit.ps">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders</Filter>
+    </None>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\standardvs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\luminanceps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\flipyvs.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\componentmaskps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\libGLESv2\renderer\d3d\d3d9\shaders\compiled\passthroughps.h">
+      <Filter>src\libGLESv2\renderer\d3d\d3d9\shaders\compiled</Filter>
     </ClInclude>
     <ClInclude Include="..\..\src\common\tls.h">
       <Filter>src\common</Filter>
@@ -783,6 +783,9 @@
     <ClInclude Include="..\..\src\common\blocklayout.h">
       <Filter>src\common</Filter>
     </ClInclude>
+    <ClCompile Include="..\..\src\common\RefCountObject.cpp">
+      <Filter>src\common</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\src\common\tls.cpp">
       <Filter>src\common</Filter>
     </ClCompile>
@@ -795,24 +798,18 @@
     <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>
+    <ClInclude Include="..\..\src\common\angleutils.h">
+      <Filter>src\common</Filter>
+    </ClInclude>
     <ClCompile Include="..\..\src\common\mathutil.cpp">
       <Filter>src\common</Filter>
     </ClCompile>
@@ -825,6 +822,9 @@
     <ClInclude Include="..\..\src\common\version.h">
       <Filter>src\common</Filter>
     </ClInclude>
+    <ClCompile Include="..\..\src\common\blocklayout.cpp">
+      <Filter>src\common</Filter>
+    </ClCompile>
     <ClInclude Include="..\..\src\third_party\systeminfo\SystemInfo.h">
       <Filter>src\third_party\systeminfo</Filter>
     </ClInclude>
diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
index b2dce12..0c535ca 100644
--- a/src/libGLESv2.gypi
+++ b/src/libGLESv2.gypi
@@ -38,7 +38,7 @@
                         '<!@(python <(angle_path)/enumerate_files.py \
                              -dirs common libGLESv2 third_party/murmurhash ../include third_party/systeminfo \
                              -types *.cpp *.h *.hlsl *.vs *.ps *.bat *.def *.rc \
-                             -excludes */d3d/* */d3d9/* */d3d11/*)',
+                             -excludes */d3d/*)',
                     ],
                     'defines':
                     [
@@ -53,7 +53,7 @@
                             'sources':
                             [
                                 '<!@(python <(angle_path)/enumerate_files.py \
-                                     -dirs libGLESv2/renderer/d3d libGLESv2/renderer/d3d9 \
+                                     -dirs libGLESv2/renderer/d3d libGLESv2/renderer/d3d/d3d9 \
                                      -types *.cpp *.h *.vs *.ps *.bat)',
                             ],
                             'defines':
@@ -76,7 +76,7 @@
                             'sources':
                             [
                                 '<!@(python <(angle_path)/enumerate_files.py \
-                                     -dirs libGLESv2/renderer/d3d libGLESv2/renderer/d3d11 \
+                                     -dirs libGLESv2/renderer/d3d libGLESv2/renderer/d3d/d3d/d3d11 \
                                      -types *.cpp *.h *.hlsl *.bat)',
                             ],
                             'defines':
diff --git a/src/libGLESv2/Buffer.cpp b/src/libGLESv2/Buffer.cpp
index e7d2c00..a449275 100644
--- a/src/libGLESv2/Buffer.cpp
+++ b/src/libGLESv2/Buffer.cpp
@@ -11,8 +11,8 @@
 
 #include "libGLESv2/Buffer.h"
 
-#include "libGLESv2/renderer/VertexBuffer.h"
-#include "libGLESv2/renderer/IndexBuffer.h"
+#include "libGLESv2/renderer/d3d/VertexBuffer.h"
+#include "libGLESv2/renderer/d3d/IndexBuffer.h"
 #include "libGLESv2/renderer/BufferStorage.h"
 #include "libGLESv2/renderer/Renderer.h"
 
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index e70b468..22fa252 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -22,7 +22,7 @@
 #include "libGLESv2/Query.h"
 #include "libGLESv2/Texture.h"
 #include "libGLESv2/ResourceManager.h"
-#include "libGLESv2/renderer/IndexDataManager.h"
+#include "libGLESv2/renderer/d3d/IndexDataManager.h"
 #include "libGLESv2/renderer/RenderTarget.h"
 #include "libGLESv2/renderer/Renderer.h"
 #include "libGLESv2/VertexArray.h"
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index 63ca3f6..0f77bd9 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -22,7 +22,7 @@
 #include "libGLESv2/Shader.h"
 #include "libGLESv2/Program.h"
 #include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
 #include "libGLESv2/Context.h"
 #include "libGLESv2/Buffer.h"
 #include "libGLESv2/DynamicHLSL.h"
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index e8053ed..91b73c8 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -24,7 +24,7 @@
 #include "libGLESv2/Uniform.h"
 #include "libGLESv2/Shader.h"
 #include "libGLESv2/Constants.h"
-#include "libGLESv2/renderer/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
 #include "libGLESv2/DynamicHLSL.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/Renderer.cpp b/src/libGLESv2/renderer/Renderer.cpp
index 0665f21..eb5e2fe 100644
--- a/src/libGLESv2/renderer/Renderer.cpp
+++ b/src/libGLESv2/renderer/Renderer.cpp
@@ -16,11 +16,11 @@
 #include "libGLESv2/Shader.h"
 
 #if defined (ANGLE_ENABLE_D3D9)
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 #endif // ANGLE_ENABLE_D3D9
 
 #if defined (ANGLE_ENABLE_D3D11)
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 #endif // ANGLE_ENABLE_D3D11
 
 #if !defined(ANGLE_DEFAULT_D3D11)
diff --git a/src/libGLESv2/renderer/IndexBuffer.cpp b/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
similarity index 98%
rename from src/libGLESv2/renderer/IndexBuffer.cpp
rename to src/libGLESv2/renderer/d3d/IndexBuffer.cpp
index 7fe2a3a..13e35e0 100644
--- a/src/libGLESv2/renderer/IndexBuffer.cpp
+++ b/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
@@ -8,7 +8,7 @@
 // IndexBuffer.cpp: Defines the abstract IndexBuffer class and IndexBufferInterface
 // class with derivations, classes that perform graphics API agnostic index buffer operations.
 
-#include "libGLESv2/renderer/IndexBuffer.h"
+#include "libGLESv2/renderer/d3d/IndexBuffer.h"
 #include "libGLESv2/renderer/Renderer.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/IndexBuffer.h b/src/libGLESv2/renderer/d3d/IndexBuffer.h
similarity index 100%
rename from src/libGLESv2/renderer/IndexBuffer.h
rename to src/libGLESv2/renderer/d3d/IndexBuffer.h
diff --git a/src/libGLESv2/renderer/IndexDataManager.cpp b/src/libGLESv2/renderer/d3d/IndexDataManager.cpp
similarity index 98%
rename from src/libGLESv2/renderer/IndexDataManager.cpp
rename to src/libGLESv2/renderer/d3d/IndexDataManager.cpp
index b8c7fa9..ad28335 100644
--- a/src/libGLESv2/renderer/IndexDataManager.cpp
+++ b/src/libGLESv2/renderer/d3d/IndexDataManager.cpp
@@ -8,13 +8,13 @@
 // IndexDataManager.cpp: Defines the IndexDataManager, a class that
 // runs the Buffer translation process for index buffers.
 
-#include "libGLESv2/renderer/IndexDataManager.h"
+#include "libGLESv2/renderer/d3d/IndexDataManager.h"
 #include "libGLESv2/renderer/BufferStorage.h"
 
 #include "libGLESv2/Buffer.h"
 #include "libGLESv2/main.h"
 #include "libGLESv2/formatutils.h"
-#include "libGLESv2/renderer/IndexBuffer.h"
+#include "libGLESv2/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/IndexDataManager.h b/src/libGLESv2/renderer/d3d/IndexDataManager.h
similarity index 100%
rename from src/libGLESv2/renderer/IndexDataManager.h
rename to src/libGLESv2/renderer/d3d/IndexDataManager.h
diff --git a/src/libGLESv2/renderer/VertexBuffer.cpp b/src/libGLESv2/renderer/d3d/VertexBuffer.cpp
similarity index 99%
rename from src/libGLESv2/renderer/VertexBuffer.cpp
rename to src/libGLESv2/renderer/d3d/VertexBuffer.cpp
index cbcd801..2395a4d 100644
--- a/src/libGLESv2/renderer/VertexBuffer.cpp
+++ b/src/libGLESv2/renderer/d3d/VertexBuffer.cpp
@@ -8,7 +8,7 @@
 // VertexBuffer.cpp: Defines the abstract VertexBuffer class and VertexBufferInterface
 // class with derivations, classes that perform graphics API agnostic vertex buffer operations.
 
-#include "libGLESv2/renderer/VertexBuffer.h"
+#include "libGLESv2/renderer/d3d/VertexBuffer.h"
 #include "libGLESv2/renderer/Renderer.h"
 #include "libGLESv2/VertexAttribute.h"
 #include "libGLESv2/renderer/BufferStorage.h"
diff --git a/src/libGLESv2/renderer/VertexBuffer.h b/src/libGLESv2/renderer/d3d/VertexBuffer.h
similarity index 100%
rename from src/libGLESv2/renderer/VertexBuffer.h
rename to src/libGLESv2/renderer/d3d/VertexBuffer.h
diff --git a/src/libGLESv2/renderer/VertexDataManager.cpp b/src/libGLESv2/renderer/d3d/VertexDataManager.cpp
similarity index 98%
rename from src/libGLESv2/renderer/VertexDataManager.cpp
rename to src/libGLESv2/renderer/d3d/VertexDataManager.cpp
index 4381b80..33296c5 100644
--- a/src/libGLESv2/renderer/VertexDataManager.cpp
+++ b/src/libGLESv2/renderer/d3d/VertexDataManager.cpp
@@ -8,13 +8,13 @@
 // VertexDataManager.h: Defines the VertexDataManager, a class that
 // runs the Buffer translation process.
 
-#include "libGLESv2/renderer/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
 #include "libGLESv2/renderer/BufferStorage.h"
 
 #include "libGLESv2/Buffer.h"
 #include "libGLESv2/ProgramBinary.h"
 #include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/renderer/VertexBuffer.h"
+#include "libGLESv2/renderer/d3d/VertexBuffer.h"
 #include "libGLESv2/renderer/Renderer.h"
 
 namespace
diff --git a/src/libGLESv2/renderer/VertexDataManager.h b/src/libGLESv2/renderer/d3d/VertexDataManager.h
similarity index 100%
rename from src/libGLESv2/renderer/VertexDataManager.h
rename to src/libGLESv2/renderer/d3d/VertexDataManager.h
diff --git a/src/libGLESv2/renderer/d3d11/Blit11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d11/Blit11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp
index 9a41713..0eff838 100644
--- a/src/libGLESv2/renderer/d3d11/Blit11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp
@@ -9,54 +9,54 @@
 
 #include "libGLESv2/main.h"
 #include "libGLESv2/formatutils.h"
-#include "libGLESv2/renderer/d3d11/Blit11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Blit11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthrough2d11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughdepth2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum2d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11gs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3dui11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3di11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum3d11ps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlef3dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlei3dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzleui3dps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2darrayps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2darrayps.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2darrayps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/Blit11.h b/src/libGLESv2/renderer/d3d/d3d11/Blit11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/Blit11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Blit11.h
diff --git a/src/libGLESv2/renderer/d3d11/BufferStorage11.cpp b/src/libGLESv2/renderer/d3d/d3d11/BufferStorage11.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d11/BufferStorage11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/BufferStorage11.cpp
index 08c0182..c23b03c 100644
--- a/src/libGLESv2/renderer/d3d11/BufferStorage11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/BufferStorage11.cpp
@@ -7,10 +7,10 @@
 
 // BufferStorage11.cpp Defines the BufferStorage11 class.
 
-#include "libGLESv2/renderer/d3d11/BufferStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/BufferStorage11.h"
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 #include "libGLESv2/Buffer.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d11/BufferStorage11.h b/src/libGLESv2/renderer/d3d/d3d11/BufferStorage11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/BufferStorage11.h
rename to src/libGLESv2/renderer/d3d/d3d11/BufferStorage11.h
diff --git a/src/libGLESv2/renderer/d3d11/Clear11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d11/Clear11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp
index bb73241..59e07e2 100644
--- a/src/libGLESv2/renderer/d3d11/Clear11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp
@@ -7,23 +7,23 @@
 
 // Clear11.cpp: Framebuffer clear utility class.
 
-#include "libGLESv2/renderer/d3d11/Clear11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/RenderTarget11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Clear11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
 
 #include "libGLESv2/formatutils.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearuint11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearuint11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h"
 
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearsint11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/clearsint11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/Clear11.h b/src/libGLESv2/renderer/d3d/d3d11/Clear11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/Clear11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Clear11.h
diff --git a/src/libGLESv2/renderer/d3d11/Fence11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d11/Fence11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp
index f2a7543..8698776 100644
--- a/src/libGLESv2/renderer/d3d11/Fence11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp
@@ -7,9 +7,9 @@
 
 // Fence11.cpp: Defines the rx::Fence11 class which implements rx::FenceImpl.
 
-#include "libGLESv2/renderer/d3d11/Fence11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Fence11.h"
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/Fence11.h b/src/libGLESv2/renderer/d3d/d3d11/Fence11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/Fence11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Fence11.h
diff --git a/src/libGLESv2/renderer/d3d11/Image11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d11/Image11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Image11.cpp
index aa9260d..b4b5632 100644
--- a/src/libGLESv2/renderer/d3d11/Image11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp
@@ -8,16 +8,16 @@
 // Image11.h: Implements the rx::Image11 class, which acts as the interface to
 // the actual underlying resources of a Texture
 
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/Image11.h"
-#include "libGLESv2/renderer/d3d11/TextureStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Image11.h"
+#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
 
 #include "libGLESv2/main.h"
 #include "common/utilities.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/Image11.h b/src/libGLESv2/renderer/d3d/d3d11/Image11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/Image11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Image11.h
diff --git a/src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp
index afceac7..03e4e66 100644
--- a/src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp
@@ -7,8 +7,8 @@
 
 // IndexBuffer11.cpp: Defines the D3D11 IndexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d11/IndexBuffer11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/IndexBuffer11.h b/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d11/IndexBuffer11.h
rename to src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h
index 39a6194..e821b7f 100644
--- a/src/libGLESv2/renderer/d3d11/IndexBuffer11.h
+++ b/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_INDEXBUFFER11_H_
 #define LIBGLESV2_RENDERER_INDEXBUFFER11_H_
 
-#include "libGLESv2/renderer/IndexBuffer.h"
+#include "libGLESv2/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp b/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp
index 7092dc5..a5ec58a 100644
--- a/src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp
@@ -8,14 +8,14 @@
 // InputLayoutCache.cpp: Defines InputLayoutCache, a class that builds and caches
 // D3D11 input layouts.
 
-#include "libGLESv2/renderer/d3d11/InputLayoutCache.h"
-#include "libGLESv2/renderer/d3d11/VertexBuffer11.h"
-#include "libGLESv2/renderer/d3d11/BufferStorage11.h"
-#include "libGLESv2/renderer/d3d11/ShaderExecutable11.h"
+#include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h"
+#include "libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/BufferStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h"
 #include "libGLESv2/ProgramBinary.h"
 #include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/renderer/VertexDataManager.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 
 #include "third_party/murmurhash/MurmurHash3.h"
 
diff --git a/src/libGLESv2/renderer/d3d11/InputLayoutCache.h b/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/InputLayoutCache.h
rename to src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h
diff --git a/src/libGLESv2/renderer/d3d11/PixelTransfer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d11/PixelTransfer11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp
index dcd1f99..66107ff 100644
--- a/src/libGLESv2/renderer/d3d11/PixelTransfer11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp
@@ -10,24 +10,24 @@
 //   Used to implement pixel transfers from unpack and to pack buffers.
 //
 
-#include "libGLESv2/renderer/d3d11/PixelTransfer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h"
 #include "libGLESv2/formatutils.h"
 #include "libGLESv2/Texture.h"
 #include "libGLESv2/Buffer.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d11/BufferStorage11.h"
-#include "libGLESv2/renderer/d3d11/TextureStorage11.h"
-#include "libGLESv2/renderer/d3d11/RenderTarget11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/BufferStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
 #include "libGLESv2/Context.h"
 
 // Precompiled shaders
-#include "libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_gs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4f.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4i.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/PixelTransfer11.h b/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/PixelTransfer11.h
rename to src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h
diff --git a/src/libGLESv2/renderer/d3d11/Query11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d11/Query11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
index 203f61f..17cf5ca 100644
--- a/src/libGLESv2/renderer/d3d11/Query11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
@@ -7,9 +7,9 @@
 
 // Query11.cpp: Defines the rx::Query11 class which implements rx::QueryImpl.
 
-#include "libGLESv2/renderer/d3d11/Query11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/Query11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
 #include "libGLESv2/main.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d11/Query11.h b/src/libGLESv2/renderer/d3d/d3d11/Query11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/Query11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Query11.h
diff --git a/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp b/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d11/RenderStateCache.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp
index 02fd962..7bdd6b0 100644
--- a/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp
@@ -8,9 +8,9 @@
 // RenderStateCache.cpp: Defines rx::RenderStateCache, a cache of Direct3D render
 // state objects.
 
-#include "libGLESv2/renderer/d3d11/RenderStateCache.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderStateCache.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
 
diff --git a/src/libGLESv2/renderer/d3d11/RenderStateCache.h b/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/RenderStateCache.h
rename to src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h
diff --git a/src/libGLESv2/renderer/d3d11/RenderTarget11.cpp b/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d11/RenderTarget11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp
index 38c55f3..e349ac2 100644
--- a/src/libGLESv2/renderer/d3d11/RenderTarget11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp
@@ -8,11 +8,11 @@
 // RenderTarget11.cpp: Implements a DX11-specific wrapper for ID3D11View pointers
 // retained by Renderbuffers.
 
-#include "libGLESv2/renderer/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 #include "libGLESv2/main.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d11/RenderTarget11.h b/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/RenderTarget11.h
rename to src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h
diff --git a/src/libGLESv2/renderer/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d11/Renderer11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
index afdaa68..7d1ac26 100644
--- a/src/libGLESv2/renderer/d3d11/Renderer11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
@@ -13,25 +13,25 @@
 #include "libGLESv2/ProgramBinary.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/RenderBuffer.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d11/ShaderExecutable11.h"
-#include "libGLESv2/renderer/d3d11/SwapChain11.h"
-#include "libGLESv2/renderer/d3d11/Image11.h"
-#include "libGLESv2/renderer/d3d11/VertexBuffer11.h"
-#include "libGLESv2/renderer/d3d11/IndexBuffer11.h"
-#include "libGLESv2/renderer/d3d11/BufferStorage11.h"
-#include "libGLESv2/renderer/VertexDataManager.h"
-#include "libGLESv2/renderer/IndexDataManager.h"
-#include "libGLESv2/renderer/d3d11/TextureStorage11.h"
-#include "libGLESv2/renderer/d3d11/Query11.h"
-#include "libGLESv2/renderer/d3d11/Fence11.h"
-#include "libGLESv2/renderer/d3d11/Blit11.h"
-#include "libGLESv2/renderer/d3d11/Clear11.h"
-#include "libGLESv2/renderer/d3d11/PixelTransfer11.h"
-#include "libGLESv2/renderer/d3d11/VertexArray11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h"
+#include "libGLESv2/renderer/d3d/d3d11/SwapChain11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Image11.h"
+#include "libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/BufferStorage11.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/IndexDataManager.h"
+#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Query11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Fence11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Blit11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Clear11.h"
+#include "libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/VertexArray11.h"
 #include "libEGL/Display.h"
 
 // Enable ANGLE_SKIP_DXGI_1_2_CHECK if there is not a possibility of using cross-process
diff --git a/src/libGLESv2/renderer/d3d11/Renderer11.h b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h
similarity index 99%
rename from src/libGLESv2/renderer/d3d11/Renderer11.h
rename to src/libGLESv2/renderer/d3d/d3d11/Renderer11.h
index 490e190..0c02837 100644
--- a/src/libGLESv2/renderer/d3d11/Renderer11.h
+++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h
@@ -15,8 +15,8 @@
 
 #include "libGLESv2/renderer/Renderer.h"
 #include "libGLESv2/renderer/d3d/HLSLCompiler.h"
-#include "libGLESv2/renderer/d3d11/RenderStateCache.h"
-#include "libGLESv2/renderer/d3d11/InputLayoutCache.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderStateCache.h"
+#include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h"
 #include "libGLESv2/renderer/RenderTarget.h"
 
 namespace gl
diff --git a/src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp b/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp
index de2eeda..5a7c987 100644
--- a/src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp
@@ -8,9 +8,9 @@
 // ShaderExecutable11.cpp: Implements a D3D11-specific class to contain shader
 // executable implementation details.
 
-#include "libGLESv2/renderer/d3d11/ShaderExecutable11.h"
+#include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h"
 
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/ShaderExecutable11.h b/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/ShaderExecutable11.h
rename to src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h
diff --git a/src/libGLESv2/renderer/d3d11/SwapChain11.cpp b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d11/SwapChain11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp
index 034e57f..3e8e832 100644
--- a/src/libGLESv2/renderer/d3d11/SwapChain11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp
@@ -7,13 +7,13 @@
 
 // SwapChain11.cpp: Implements a back-end specific class for the D3D11 swap chain.
 
-#include "libGLESv2/renderer/d3d11/SwapChain11.h"
+#include "libGLESv2/renderer/d3d/d3d11/SwapChain11.h"
 
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthrough2d11vs.h"
-#include "libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
+#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/SwapChain11.h b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/SwapChain11.h
rename to src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h
diff --git a/src/libGLESv2/renderer/d3d11/TextureStorage11.cpp b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d11/TextureStorage11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp
index c7c9f8a..5d0da76 100644
--- a/src/libGLESv2/renderer/d3d11/TextureStorage11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp
@@ -8,14 +8,14 @@
 // TextureStorage11.cpp: Implements the abstract rx::TextureStorage11 class and its concrete derived
 // classes TextureStorage11_2D and TextureStorage11_Cube, which act as the interface to the D3D11 texture.
 
-#include "libGLESv2/renderer/d3d11/TextureStorage11.h"
+#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
 
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/d3d11/SwapChain11.h"
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/Blit11.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libGLESv2/renderer/d3d/d3d11/SwapChain11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/Blit11.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 
 #include "common/utilities.h"
 #include "libGLESv2/main.h"
diff --git a/src/libGLESv2/renderer/d3d11/TextureStorage11.h b/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/TextureStorage11.h
rename to src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h
diff --git a/src/libGLESv2/renderer/d3d11/VertexArray11.h b/src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d11/VertexArray11.h
rename to src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h
index abe96ea..590cb9f 100644
--- a/src/libGLESv2/renderer/d3d11/VertexArray11.h
+++ b/src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_VERTEXARRAY11_H_
 
 #include "libGLESv2/renderer/VertexArrayImpl.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
index f6e252f..c5d63e6 100644
--- a/src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
@@ -7,13 +7,13 @@
 
 // VertexBuffer11.cpp: Defines the D3D11 VertexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d11/VertexBuffer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h"
 #include "libGLESv2/renderer/BufferStorage.h"
 
 #include "libGLESv2/Buffer.h"
-#include "libGLESv2/renderer/d3d11/Renderer11.h"
+#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
 #include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/VertexBuffer11.h b/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d11/VertexBuffer11.h
rename to src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
index 191791a..c2a5aa7 100644
--- a/src/libGLESv2/renderer/d3d11/VertexBuffer11.h
+++ b/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXBUFFER11_H_
 #define LIBGLESV2_RENDERER_VERTEXBUFFER11_H_
 
-#include "libGLESv2/renderer/VertexBuffer.h"
+#include "libGLESv2/renderer/d3d/VertexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d11/formatutils11.cpp b/src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d11/formatutils11.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp
index 0ad37a8..783de7c 100644
--- a/src/libGLESv2/renderer/d3d11/formatutils11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp
@@ -8,7 +8,7 @@
 // formatutils11.cpp: Queries for GL image formats and their translations to D3D11
 // formats.
 
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 #include "libGLESv2/renderer/generatemip.h"
 #include "libGLESv2/renderer/loadimage.h"
 #include "libGLESv2/renderer/copyimage.h"
diff --git a/src/libGLESv2/renderer/d3d11/formatutils11.h b/src/libGLESv2/renderer/d3d/d3d11/formatutils11.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/formatutils11.h
rename to src/libGLESv2/renderer/d3d/d3d11/formatutils11.h
diff --git a/src/libGLESv2/renderer/d3d11/renderer11_utils.cpp b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d11/renderer11_utils.cpp
rename to src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp
index de4ed83..d1883a6 100644
--- a/src/libGLESv2/renderer/d3d11/renderer11_utils.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp
@@ -8,8 +8,8 @@
 // renderer11_utils.cpp: Conversion functions and other utility routines
 // specific to the D3D11 renderer.
 
-#include "libGLESv2/renderer/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d11/formatutils11.h"
+#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
 #include "common/debug.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d11/renderer11_utils.h b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/renderer11_utils.h
rename to src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/BufferToTexture11.hlsl b/src/libGLESv2/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/BufferToTexture11.hlsl
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
diff --git a/src/libGLESv2/renderer/d3d11/shaders/Clear11.hlsl b/src/libGLESv2/renderer/d3d/d3d11/shaders/Clear11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/Clear11.hlsl
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/Clear11.hlsl
diff --git a/src/libGLESv2/renderer/d3d11/shaders/Passthrough2D11.hlsl b/src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/Passthrough2D11.hlsl
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
diff --git a/src/libGLESv2/renderer/d3d11/shaders/Passthrough3D11.hlsl b/src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/Passthrough3D11.hlsl
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
diff --git a/src/libGLESv2/renderer/d3d11/shaders/Swizzle11.hlsl b/src/libGLESv2/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/Swizzle11.hlsl
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_gs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_gs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4f.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4i.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/buffertotexture11_vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearfloat11vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearsint11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearsint11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearsint11vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearsint11vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearuint11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearuint11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/clearuint11vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/clearuint11vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough2d11vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough2d11vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11gs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11gs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11vs.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthrough3d11vs.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughdepth2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughdepth2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlum3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr2dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughr3dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg2dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrg3dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3d11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3d11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3di11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3di11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3dui11ps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2darrayps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2darrayps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef2dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef3dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlef3dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2darrayps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2darrayps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei2dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei3dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzlei3dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2darrayps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2darrayps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui2dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui3dps.h b/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/compiled/swizzleui3dps.h
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h
diff --git a/src/libGLESv2/renderer/d3d11/shaders/generate_shaders.bat b/src/libGLESv2/renderer/d3d/d3d11/shaders/generate_shaders.bat
similarity index 100%
rename from src/libGLESv2/renderer/d3d11/shaders/generate_shaders.bat
rename to src/libGLESv2/renderer/d3d/d3d11/shaders/generate_shaders.bat
diff --git a/src/libGLESv2/renderer/d3d9/Blit9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d9/Blit9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp
index 80a4375..c9fabba 100644
--- a/src/libGLESv2/renderer/d3d9/Blit9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp
@@ -7,24 +7,24 @@
 
 // Blit9.cpp: Surface copy utility class.
 
-#include "libGLESv2/renderer/d3d9/Blit9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Blit9.h"
 
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/d3d9/TextureStorage9.h"
-#include "libGLESv2/renderer/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
 
 namespace
 {
-#include "libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h"
-#include "libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h"
-#include "libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h"
-#include "libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h"
-#include "libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h"
+#include "libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h"
+#include "libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h"
+#include "libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h"
+#include "libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h"
+#include "libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h"
 
 const BYTE* const g_shaderCode[] =
 {
diff --git a/src/libGLESv2/renderer/d3d9/Blit9.h b/src/libGLESv2/renderer/d3d/d3d9/Blit9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/Blit9.h
rename to src/libGLESv2/renderer/d3d/d3d9/Blit9.h
diff --git a/src/libGLESv2/renderer/d3d9/BufferStorage9.cpp b/src/libGLESv2/renderer/d3d/d3d9/BufferStorage9.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d9/BufferStorage9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/BufferStorage9.cpp
index 489a040..a225680 100644
--- a/src/libGLESv2/renderer/d3d9/BufferStorage9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/BufferStorage9.cpp
@@ -7,7 +7,7 @@
 
 // BufferStorage9.cpp Defines the BufferStorage9 class.
 
-#include "libGLESv2/renderer/d3d9/BufferStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/BufferStorage9.h"
 #include "common/debug.h"
 #include "libGLESv2/main.h"
 
diff --git a/src/libGLESv2/renderer/d3d9/BufferStorage9.h b/src/libGLESv2/renderer/d3d/d3d9/BufferStorage9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/BufferStorage9.h
rename to src/libGLESv2/renderer/d3d/d3d9/BufferStorage9.h
diff --git a/src/libGLESv2/renderer/d3d9/Fence9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp
similarity index 89%
rename from src/libGLESv2/renderer/d3d9/Fence9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp
index 372a8a4..d2437ca 100644
--- a/src/libGLESv2/renderer/d3d9/Fence9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp
@@ -7,10 +7,10 @@
 
 // Fence9.cpp: Defines the rx::Fence9 class.
 
-#include "libGLESv2/renderer/d3d9/Fence9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Fence9.h"
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/Fence9.h b/src/libGLESv2/renderer/d3d/d3d9/Fence9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/Fence9.h
rename to src/libGLESv2/renderer/d3d/d3d9/Fence9.h
diff --git a/src/libGLESv2/renderer/d3d9/Image9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d9/Image9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/Image9.cpp
index 0b88fad..759df06 100644
--- a/src/libGLESv2/renderer/d3d9/Image9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp
@@ -8,17 +8,17 @@
 // Image9.cpp: Implements the rx::Image9 class, which acts as the interface to
 // the actual underlying surfaces of a Texture.
 
-#include "libGLESv2/renderer/d3d9/Image9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Image9.h"
 
 #include "libGLESv2/main.h"
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d9/TextureStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
 
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/Image9.h b/src/libGLESv2/renderer/d3d/d3d9/Image9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/Image9.h
rename to src/libGLESv2/renderer/d3d/d3d9/Image9.h
diff --git a/src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp
index 22fc9d0..428b208 100644
--- a/src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp
@@ -7,8 +7,8 @@
 
 // Indexffer9.cpp: Defines the D3D9 IndexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d9/IndexBuffer9.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/IndexBuffer9.h b/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d9/IndexBuffer9.h
rename to src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h
index 6801867..cfc20e1 100644
--- a/src/libGLESv2/renderer/d3d9/IndexBuffer9.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_INDEXBUFFER9_H_
 #define LIBGLESV2_RENDERER_INDEXBUFFER9_H_
 
-#include "libGLESv2/renderer/IndexBuffer.h"
+#include "libGLESv2/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/Query9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
similarity index 94%
rename from src/libGLESv2/renderer/d3d9/Query9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
index bc3f58f..3c6f1d0 100644
--- a/src/libGLESv2/renderer/d3d9/Query9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
@@ -8,10 +8,10 @@
 // Query9.cpp: Defines the rx::Query9 class which implements rx::QueryImpl.
 
 
-#include "libGLESv2/renderer/d3d9/Query9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Query9.h"
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/Query9.h b/src/libGLESv2/renderer/d3d/d3d9/Query9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/Query9.h
rename to src/libGLESv2/renderer/d3d/d3d9/Query9.h
diff --git a/src/libGLESv2/renderer/d3d9/RenderTarget9.cpp b/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp
similarity index 94%
rename from src/libGLESv2/renderer/d3d9/RenderTarget9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp
index c2ca96e..4574566 100644
--- a/src/libGLESv2/renderer/d3d9/RenderTarget9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp
@@ -8,11 +8,11 @@
 // RenderTarget9.cpp: Implements a D3D9-specific wrapper for IDirect3DSurface9
 // pointers retained by renderbuffers.
 
-#include "libGLESv2/renderer/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 #include "libGLESv2/main.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d9/RenderTarget9.h b/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/RenderTarget9.h
rename to src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h
diff --git a/src/libGLESv2/renderer/d3d9/Renderer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d9/Renderer9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp
index 2a03745..54d2c60 100644
--- a/src/libGLESv2/renderer/d3d9/Renderer9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp
@@ -15,22 +15,22 @@
 #include "libGLESv2/Framebuffer.h"
 #include "libGLESv2/Renderbuffer.h"
 #include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/renderer/IndexDataManager.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/d3d9/ShaderExecutable9.h"
-#include "libGLESv2/renderer/d3d9/SwapChain9.h"
-#include "libGLESv2/renderer/d3d9/TextureStorage9.h"
-#include "libGLESv2/renderer/d3d9/Image9.h"
-#include "libGLESv2/renderer/d3d9/Blit9.h"
-#include "libGLESv2/renderer/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d9/VertexBuffer9.h"
-#include "libGLESv2/renderer/d3d9/IndexBuffer9.h"
-#include "libGLESv2/renderer/d3d9/BufferStorage9.h"
-#include "libGLESv2/renderer/d3d9/Query9.h"
-#include "libGLESv2/renderer/d3d9/Fence9.h"
-#include "libGLESv2/renderer/d3d9/VertexArray9.h"
+#include "libGLESv2/renderer/d3d/IndexDataManager.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h"
+#include "libGLESv2/renderer/d3d/d3d9/SwapChain9.h"
+#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Image9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Blit9.h"
+#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/BufferStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Query9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Fence9.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexArray9.h"
 #include "libGLESv2/angletypes.h"
 
 #include "libEGL/Display.h"
diff --git a/src/libGLESv2/renderer/d3d9/Renderer9.h b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h
similarity index 99%
rename from src/libGLESv2/renderer/d3d9/Renderer9.h
rename to src/libGLESv2/renderer/d3d/d3d9/Renderer9.h
index d7c32f2..ecaf832 100644
--- a/src/libGLESv2/renderer/d3d9/Renderer9.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h
@@ -12,8 +12,8 @@
 #include "common/angleutils.h"
 #include "common/mathutil.h"
 #include "libGLESv2/renderer/d3d/HLSLCompiler.h"
-#include "libGLESv2/renderer/d3d9/ShaderCache.h"
-#include "libGLESv2/renderer/d3d9/VertexDeclarationCache.h"
+#include "libGLESv2/renderer/d3d/d3d9/ShaderCache.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h"
 #include "libGLESv2/renderer/Renderer.h"
 #include "libGLESv2/renderer/RenderTarget.h"
 
diff --git a/src/libGLESv2/renderer/d3d9/ShaderCache.h b/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/ShaderCache.h
rename to src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h
diff --git a/src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp b/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp
index 115ed08..c10ddbf 100644
--- a/src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp
@@ -8,7 +8,7 @@
 // ShaderExecutable9.cpp: Implements a D3D9-specific class to contain shader
 // executable implementation details.
 
-#include "libGLESv2/renderer/d3d9/ShaderExecutable9.h"
+#include "libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d9/ShaderExecutable9.h b/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/ShaderExecutable9.h
rename to src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h
diff --git a/src/libGLESv2/renderer/d3d9/SwapChain9.cpp b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d9/SwapChain9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp
index e5a72e8..aef80a7 100644
--- a/src/libGLESv2/renderer/d3d9/SwapChain9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp
@@ -7,10 +7,10 @@
 
 // SwapChain9.cpp: Implements a back-end specific class for the D3D9 swap chain.
 
-#include "libGLESv2/renderer/d3d9/SwapChain9.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/SwapChain9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/SwapChain9.h b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/SwapChain9.h
rename to src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h
diff --git a/src/libGLESv2/renderer/d3d9/TextureStorage9.cpp b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d9/TextureStorage9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp
index 23392c5..60b42c1 100644
--- a/src/libGLESv2/renderer/d3d9/TextureStorage9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp
@@ -10,12 +10,12 @@
 // D3D9 texture.
 
 #include "libGLESv2/main.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d9/TextureStorage9.h"
-#include "libGLESv2/renderer/d3d9/SwapChain9.h"
-#include "libGLESv2/renderer/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libGLESv2/renderer/d3d/d3d9/SwapChain9.h"
+#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 #include "libGLESv2/Texture.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d9/TextureStorage9.h b/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/TextureStorage9.h
rename to src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h
diff --git a/src/libGLESv2/renderer/d3d9/VertexArray9.h b/src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d9/VertexArray9.h
rename to src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h
index bee63bb..66a6c64 100644
--- a/src/libGLESv2/renderer/d3d9/VertexArray9.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_VERTEXARRAY9_H_
 
 #include "libGLESv2/renderer/VertexArrayImpl.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp
index be9f21a..fd442a9 100644
--- a/src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp
@@ -7,12 +7,12 @@
 
 // VertexBuffer9.cpp: Defines the D3D9 VertexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d9/VertexBuffer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h"
 #include "libGLESv2/renderer/vertexconversion.h"
 #include "libGLESv2/renderer/BufferStorage.h"
 #include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 
 #include "libGLESv2/Buffer.h"
 
diff --git a/src/libGLESv2/renderer/d3d9/VertexBuffer9.h b/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d9/VertexBuffer9.h
rename to src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h
index 2fb5a36..fc4b6b6 100644
--- a/src/libGLESv2/renderer/d3d9/VertexBuffer9.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXBUFFER9_H_
 #define LIBGLESV2_RENDERER_VERTEXBUFFER9_H_
 
-#include "libGLESv2/renderer/VertexBuffer.h"
+#include "libGLESv2/renderer/d3d/VertexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp b/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp
index 30c0233..303d8ad 100644
--- a/src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp
@@ -9,9 +9,9 @@
 
 #include "libGLESv2/ProgramBinary.h"
 #include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/renderer/d3d9/VertexBuffer9.h"
-#include "libGLESv2/renderer/d3d9/VertexDeclarationCache.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h b/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h
rename to src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h
index 3fc024a..004e28d 100644
--- a/src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXDECLARATIONCACHE_H_
 #define LIBGLESV2_RENDERER_VERTEXDECLARATIONCACHE_H_
 
-#include "libGLESv2/renderer/VertexDataManager.h"
+#include "libGLESv2/renderer/d3d/VertexDataManager.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d9/formatutils9.cpp b/src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d9/formatutils9.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp
index 752f196..d497c4d 100644
--- a/src/libGLESv2/renderer/d3d9/formatutils9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp
@@ -8,8 +8,8 @@
 // formatutils9.cpp: Queries for GL image formats and their translations to D3D9
 // formats.
 
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/d3d9/Renderer9.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
 #include "libGLESv2/renderer/generatemip.h"
 #include "libGLESv2/renderer/loadimage.h"
 #include "libGLESv2/renderer/copyimage.h"
diff --git a/src/libGLESv2/renderer/d3d9/formatutils9.h b/src/libGLESv2/renderer/d3d/d3d9/formatutils9.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/formatutils9.h
rename to src/libGLESv2/renderer/d3d/d3d9/formatutils9.h
diff --git a/src/libGLESv2/renderer/d3d9/renderer9_utils.cpp b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d9/renderer9_utils.cpp
rename to src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
index 716c28e..4a1dc86 100644
--- a/src/libGLESv2/renderer/d3d9/renderer9_utils.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
@@ -8,8 +8,8 @@
 // renderer9_utils.cpp: Conversion functions and other utility routines
 // specific to the D3D9 renderer.
 
-#include "libGLESv2/renderer/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d9/formatutils9.h"
+#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
 #include "libGLESv2/formatutils.h"
 #include "common/mathutil.h"
 #include "libGLESv2/Context.h"
diff --git a/src/libGLESv2/renderer/d3d9/renderer9_utils.h b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/renderer9_utils.h
rename to src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/Blit.ps b/src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.ps
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/Blit.ps
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.ps
diff --git a/src/libGLESv2/renderer/d3d9/shaders/Blit.vs b/src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.vs
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/Blit.vs
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.vs
diff --git a/src/libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h b/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h b/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h b/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h b/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h b/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h
diff --git a/src/libGLESv2/renderer/d3d9/shaders/generate_shaders.bat b/src/libGLESv2/renderer/d3d/d3d9/shaders/generate_shaders.bat
similarity index 100%
rename from src/libGLESv2/renderer/d3d9/shaders/generate_shaders.bat
rename to src/libGLESv2/renderer/d3d/d3d9/shaders/generate_shaders.bat