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/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