Merge libGLESv2 and libEGL classes into libANGLE.

BUG=angle:733

Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libEGL/AttributeMap.cpp b/src/libANGLE/AttributeMap.cpp
similarity index 95%
rename from src/libEGL/AttributeMap.cpp
rename to src/libANGLE/AttributeMap.cpp
index 28dd3d8..3ea28d8 100644
--- a/src/libEGL/AttributeMap.cpp
+++ b/src/libANGLE/AttributeMap.cpp
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 //
 
-#include "libEGL/AttributeMap.h"
+#include "libANGLE/AttributeMap.h"
 
 namespace egl
 {
diff --git a/src/libEGL/AttributeMap.h b/src/libANGLE/AttributeMap.h
similarity index 100%
rename from src/libEGL/AttributeMap.h
rename to src/libANGLE/AttributeMap.h
diff --git a/src/libGLESv2/BinaryStream.h b/src/libANGLE/BinaryStream.h
similarity index 100%
rename from src/libGLESv2/BinaryStream.h
rename to src/libANGLE/BinaryStream.h
diff --git a/src/libGLESv2/Buffer.cpp b/src/libANGLE/Buffer.cpp
similarity index 95%
rename from src/libGLESv2/Buffer.cpp
rename to src/libANGLE/Buffer.cpp
index 3b2a1a9..1117ed7 100644
--- a/src/libGLESv2/Buffer.cpp
+++ b/src/libANGLE/Buffer.cpp
@@ -8,9 +8,9 @@
 // index data. Implements GL buffer objects and related functionality.
 // [OpenGL ES 2.0.24] section 2.9 page 21.
 
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/renderer/BufferImpl.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/renderer/BufferImpl.h"
+#include "libANGLE/renderer/Renderer.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/Buffer.h b/src/libANGLE/Buffer.h
similarity index 95%
rename from src/libGLESv2/Buffer.h
rename to src/libANGLE/Buffer.h
index daa862c..4c357d2 100644
--- a/src/libGLESv2/Buffer.h
+++ b/src/libANGLE/Buffer.h
@@ -11,11 +11,11 @@
 #ifndef LIBGLESV2_BUFFER_H_
 #define LIBGLESV2_BUFFER_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
-#include "libGLESv2/renderer/IndexRangeCache.h"
+#include "libANGLE/renderer/IndexRangeCache.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/Caps.cpp b/src/libANGLE/Caps.cpp
similarity index 99%
rename from src/libGLESv2/Caps.cpp
rename to src/libANGLE/Caps.cpp
index 983800c..a2c918a 100644
--- a/src/libGLESv2/Caps.cpp
+++ b/src/libANGLE/Caps.cpp
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 //
 
-#include "libGLESv2/Caps.h"
+#include "libANGLE/Caps.h"
 #include "common/debug.h"
 #include "common/angleutils.h"
 
diff --git a/src/libGLESv2/Caps.h b/src/libANGLE/Caps.h
similarity index 100%
rename from src/libGLESv2/Caps.h
rename to src/libANGLE/Caps.h
diff --git a/src/libEGL/Config.cpp b/src/libANGLE/Config.cpp
similarity index 99%
rename from src/libEGL/Config.cpp
rename to src/libANGLE/Config.cpp
index 3a4d084..6e59db7 100644
--- a/src/libEGL/Config.cpp
+++ b/src/libANGLE/Config.cpp
@@ -8,7 +8,7 @@
 // and size for an egl::Surface. Implements EGLConfig and related functionality.
 // [EGL 1.4] section 3.4 page 15.
 
-#include "libEGL/Config.h"
+#include "libANGLE/Config.h"
 
 #include <algorithm>
 #include <vector>
diff --git a/src/libEGL/Config.h b/src/libANGLE/Config.h
similarity index 98%
rename from src/libEGL/Config.h
rename to src/libANGLE/Config.h
index 9844114..6eb4c31 100644
--- a/src/libEGL/Config.h
+++ b/src/libANGLE/Config.h
@@ -15,7 +15,7 @@
 
 #include <set>
 
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/renderer/Renderer.h"
 #include "common/angleutils.h"
 
 namespace egl
diff --git a/src/libGLESv2/Constants.h b/src/libANGLE/Constants.h
similarity index 100%
rename from src/libGLESv2/Constants.h
rename to src/libANGLE/Constants.h
diff --git a/src/libGLESv2/Context.cpp b/src/libANGLE/Context.cpp
similarity index 97%
rename from src/libGLESv2/Context.cpp
rename to src/libANGLE/Context.cpp
index b0c5bc5..eef44fc 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -7,29 +7,28 @@
 // Context.cpp: Implements the gl::Context class, managing all GL state and performing
 // rendering operations. It is the GLES2 specific implementation of EGLContext.
 
-#include "libGLESv2/Context.h"
+#include "libANGLE/Context.h"
 
 #include "common/utilities.h"
 #include "common/platform.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Fence.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Query.h"
-#include "libGLESv2/ResourceManager.h"
-#include "libGLESv2/Sampler.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/TransformFeedback.h"
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/main.h"
-#include "libGLESv2/validationES.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Fence.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Query.h"
+#include "libANGLE/ResourceManager.h"
+#include "libANGLE/Sampler.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/TransformFeedback.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/validationES.h"
+#include "libANGLE/renderer/Renderer.h"
 
-#include "libEGL/Surface.h"
+#include "libANGLE/Surface.h"
 
 #include <sstream>
 #include <iterator>
@@ -1741,32 +1740,3 @@
 }
 
 }
-
-extern "C"
-{
-gl::Context *glCreateContext(int clientVersion, const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess)
-{
-    return new gl::Context(clientVersion, shareContext, renderer, notifyResets, robustAccess);
-}
-
-void glDestroyContext(gl::Context *context)
-{
-    delete context;
-
-    if (context == gl::getContext())
-    {
-        gl::makeCurrent(NULL, NULL, NULL);
-    }
-}
-
-void glMakeCurrent(gl::Context *context, egl::Display *display, egl::Surface *surface)
-{
-    gl::makeCurrent(context, display, surface);
-}
-
-gl::Context *glGetCurrentContext()
-{
-    return gl::getContext();
-}
-
-}
diff --git a/src/libGLESv2/Context.h b/src/libANGLE/Context.h
similarity index 97%
rename from src/libGLESv2/Context.h
rename to src/libANGLE/Context.h
index 1e890de..54f4cef 100644
--- a/src/libGLESv2/Context.h
+++ b/src/libANGLE/Context.h
@@ -12,13 +12,13 @@
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/Data.h"
-#include "libGLESv2/Error.h"
-#include "libGLESv2/HandleAllocator.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/Data.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/HandleAllocator.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/angletypes.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/Data.cpp b/src/libANGLE/Data.cpp
similarity index 94%
rename from src/libGLESv2/Data.cpp
rename to src/libANGLE/Data.cpp
index 3ddf591..7832e21 100644
--- a/src/libGLESv2/Data.cpp
+++ b/src/libANGLE/Data.cpp
@@ -6,8 +6,8 @@
 
 // Data.cpp: Container class for all GL relevant state, caps and objects
 
-#include "libGLESv2/Data.h"
-#include "libGLESv2/ResourceManager.h"
+#include "libANGLE/Data.h"
+#include "libANGLE/ResourceManager.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/Data.h b/src/libANGLE/Data.h
similarity index 96%
rename from src/libGLESv2/Data.h
rename to src/libANGLE/Data.h
index cff872a..17bad09 100644
--- a/src/libGLESv2/Data.h
+++ b/src/libANGLE/Data.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_DATA_H_
 #define LIBGLESV2_DATA_H_
 
-#include "libGLESv2/State.h"
+#include "libANGLE/State.h"
 
 namespace gl
 {
diff --git a/src/libEGL/Display.cpp b/src/libANGLE/Display.cpp
similarity index 83%
rename from src/libEGL/Display.cpp
rename to src/libANGLE/Display.cpp
index 52ee04f..d48c2b4 100644
--- a/src/libEGL/Display.cpp
+++ b/src/libANGLE/Display.cpp
@@ -8,7 +8,7 @@
 // display on which graphics are drawn. Implements EGLDisplay.
 // [EGL 1.4] section 2.1.2 page 3.
 
-#include "libEGL/Display.h"
+#include "libANGLE/Display.h"
 
 #include <algorithm>
 #include <map>
@@ -18,17 +18,105 @@
 
 #include "common/debug.h"
 #include "common/mathutil.h"
-#include "libGLESv2/main.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/renderer/SwapChain.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/renderer/SwapChain.h"
 
-#include "libEGL/Surface.h"
+#include "libANGLE/Surface.h"
+#include "libANGLE/renderer/Renderer.h"
 
 #include <EGL/eglext.h>
 
+#if defined (ANGLE_ENABLE_D3D9)
+#   include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#endif // ANGLE_ENABLE_D3D9
+
+#if defined (ANGLE_ENABLE_D3D11)
+#   include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#endif // ANGLE_ENABLE_D3D11
+
+#if defined (ANGLE_TEST_CONFIG)
+#   define ANGLE_DEFAULT_D3D11 1
+#endif
+
+#if !defined(ANGLE_DEFAULT_D3D11)
+// Enables use of the Direct3D 11 API for a default display, when available
+#   define ANGLE_DEFAULT_D3D11 0
+#endif
+
 namespace egl
 {
 
+typedef rx::Renderer *(*CreateRendererFunction)(Display*, EGLNativeDisplayType, const AttributeMap &);
+
+template <typename RendererType>
+static rx::Renderer *CreateTypedRenderer(Display *display, EGLNativeDisplayType nativeDisplay, const AttributeMap &attributes)
+{
+    return new RendererType(display, nativeDisplay, attributes);
+}
+
+rx::Renderer *CreateRenderer(Display *display, EGLNativeDisplayType nativeDisplay, const AttributeMap &attribMap)
+{
+    std::vector<CreateRendererFunction> rendererCreationFunctions;
+
+    EGLint requestedDisplayType = attribMap.get(EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE);
+
+#   if defined(ANGLE_ENABLE_D3D11)
+        if (nativeDisplay == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ||
+            nativeDisplay == EGL_D3D11_ONLY_DISPLAY_ANGLE ||
+            requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
+        {
+            rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer11>);
+        }
+#   endif
+
+#   if defined(ANGLE_ENABLE_D3D9)
+        if (nativeDisplay == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ||
+            requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
+        {
+            rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer9>);
+        }
+#   endif
+
+    if (nativeDisplay != EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE &&
+        nativeDisplay != EGL_D3D11_ONLY_DISPLAY_ANGLE &&
+        requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE)
+    {
+        // The default display is requested, try the D3D9 and D3D11 renderers, order them using
+        // the definition of ANGLE_DEFAULT_D3D11
+#       if ANGLE_DEFAULT_D3D11
+#           if defined(ANGLE_ENABLE_D3D11)
+                rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer11>);
+#           endif
+#           if defined(ANGLE_ENABLE_D3D9)
+                rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer9>);
+#           endif
+#       else
+#           if defined(ANGLE_ENABLE_D3D9)
+                rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer9>);
+#           endif
+#           if defined(ANGLE_ENABLE_D3D11)
+                rendererCreationFunctions.push_back(CreateTypedRenderer<rx::Renderer11>);
+#           endif
+#       endif
+    }
+
+    for (size_t i = 0; i < rendererCreationFunctions.size(); i++)
+    {
+        rx::Renderer *renderer = rendererCreationFunctions[i](display, nativeDisplay, attribMap);
+        if (renderer->initialize() == EGL_SUCCESS)
+        {
+            return renderer;
+        }
+        else
+        {
+            // Failed to create the renderer, try the next
+            SafeDelete(renderer);
+        }
+    }
+
+    return NULL;
+}
+
 typedef std::map<EGLNativeDisplayType, Display*> DisplayMap;
 static DisplayMap *GetDisplayMap()
 {
@@ -92,7 +180,7 @@
         return Error(EGL_SUCCESS);
     }
 
-    mRenderer = glCreateRenderer(this, mDisplayId, mAttributeMap);
+    mRenderer = CreateRenderer(this, mDisplayId, mAttributeMap);
 
     if (!mRenderer)
     {
@@ -152,8 +240,7 @@
         destroyContext(*mContextSet.begin());
     }
 
-    glDestroyRenderer(mRenderer);
-    mRenderer = NULL;
+    SafeDelete(mRenderer);
 
     mConfigSet.mSet.clear();
 }
@@ -440,7 +527,7 @@
         return Error(EGL_BAD_CONFIG);
     }
 
-    gl::Context *context = glCreateContext(clientVersion, shareContext, mRenderer, notifyResets, robustAccess);
+    gl::Context *context = new gl::Context(clientVersion, shareContext, mRenderer, notifyResets, robustAccess);
     mContextSet.insert(context);
 
     *outContext = context;
@@ -485,14 +572,14 @@
 
 void Display::destroySurface(egl::Surface *surface)
 {
-    delete surface;
     mSurfaceSet.erase(surface);
+    SafeDelete(surface);
 }
 
 void Display::destroyContext(gl::Context *context)
 {
-    glDestroyContext(context);
     mContextSet.erase(context);
+    SafeDelete(context);
 }
 
 void Display::notifyDeviceLost()
diff --git a/src/libEGL/Display.h b/src/libANGLE/Display.h
similarity index 96%
rename from src/libEGL/Display.h
rename to src/libANGLE/Display.h
index 378323a..f9cc0bd 100644
--- a/src/libEGL/Display.h
+++ b/src/libANGLE/Display.h
@@ -14,9 +14,9 @@
 #include <set>
 #include <vector>
 
-#include "libEGL/Error.h"
-#include "libEGL/Config.h"
-#include "libEGL/AttributeMap.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/Config.h"
+#include "libANGLE/AttributeMap.h"
 
 namespace gl
 {
diff --git a/src/libANGLE/Error.cpp b/src/libANGLE/Error.cpp
new file mode 100644
index 0000000..04d67d6
--- /dev/null
+++ b/src/libANGLE/Error.cpp
@@ -0,0 +1,82 @@
+//
+// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// Error.cpp: Implements the egl::Error and gl::Error classes which encapsulate API errors
+// and optional error messages.
+
+#include "libANGLE/Error.h"
+
+#include "common/angleutils.h"
+
+#include <cstdarg>
+
+namespace gl
+{
+
+Error::Error(GLenum errorCode)
+    : mCode(errorCode),
+      mMessage()
+{
+}
+
+Error::Error(GLenum errorCode, const char *msg, ...)
+    : mCode(errorCode),
+      mMessage()
+{
+    va_list vararg;
+    va_start(vararg, msg);
+    mMessage = FormatString(msg, vararg);
+    va_end(vararg);
+}
+
+Error::Error(const Error &other)
+    : mCode(other.mCode),
+      mMessage(other.mMessage)
+{
+}
+
+Error &Error::operator=(const Error &other)
+{
+    mCode = other.mCode;
+    mMessage = other.mMessage;
+    return *this;
+}
+
+}
+
+namespace egl
+{
+
+Error::Error(EGLint errorCode)
+    : mCode(errorCode),
+      mMessage()
+{
+}
+
+Error::Error(EGLint errorCode, const char *msg, ...)
+    : mCode(errorCode),
+    mMessage()
+{
+    va_list vararg;
+    va_start(vararg, msg);
+    mMessage = FormatString(msg, vararg);
+    va_end(vararg);
+}
+
+Error::Error(const Error &other)
+    : mCode(other.mCode),
+    mMessage(other.mMessage)
+{
+}
+
+Error &Error::operator=(const Error &other)
+{
+    mCode = other.mCode;
+    mMessage = other.mMessage;
+    return *this;
+}
+
+}
diff --git a/src/libANGLE/Error.h b/src/libANGLE/Error.h
new file mode 100644
index 0000000..b065cf5
--- /dev/null
+++ b/src/libANGLE/Error.h
@@ -0,0 +1,63 @@
+//
+// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Error.h: Defines the egl::Error and gl::Error classes which encapsulate API errors
+// and optional error messages.
+
+#ifndef LIBEGL_ERROR_H_
+#define LIBEGL_ERROR_H_
+
+#include "angle_gl.h"
+#include <EGL/egl.h>
+
+#include <string>
+
+namespace gl
+{
+
+class Error
+{
+  public:
+    explicit Error(GLenum errorCode);
+    Error(GLenum errorCode, const char *msg, ...);
+    Error(const Error &other);
+    Error &operator=(const Error &other);
+
+    GLenum getCode() const { return mCode; }
+    bool isError() const { return (mCode != GL_NO_ERROR); }
+
+    const std::string &getMessage() const { return mMessage; }
+
+  private:
+    GLenum mCode;
+    std::string mMessage;
+};
+
+}
+
+namespace egl
+{
+
+class Error
+{
+  public:
+    explicit Error(EGLint errorCode);
+    Error(EGLint errorCode, const char *msg, ...);
+    Error(const Error &other);
+    Error &operator=(const Error &other);
+
+    EGLint getCode() const { return mCode; }
+    bool isError() const { return (mCode != EGL_SUCCESS); }
+
+    const std::string &getMessage() const { return mMessage; }
+
+  private:
+    EGLint mCode;
+    std::string mMessage;
+};
+
+}
+
+#endif // LIBEGL_ERROR_H_
diff --git a/src/libGLESv2/Fence.cpp b/src/libANGLE/Fence.cpp
similarity index 94%
rename from src/libGLESv2/Fence.cpp
rename to src/libANGLE/Fence.cpp
index 6542818..6db9f6a 100644
--- a/src/libGLESv2/Fence.cpp
+++ b/src/libANGLE/Fence.cpp
@@ -7,9 +7,9 @@
 // Fence.cpp: Implements the gl::FenceNV and gl::FenceSync classes, which support the GL_NV_fence
 // extension and GLES3 sync objects.
 
-#include "libGLESv2/Fence.h"
-#include "libGLESv2/renderer/FenceImpl.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/Fence.h"
+#include "libANGLE/renderer/FenceImpl.h"
+#include "libANGLE/renderer/Renderer.h"
 #include "common/utilities.h"
 
 #include "angle_gl.h"
diff --git a/src/libGLESv2/Fence.h b/src/libANGLE/Fence.h
similarity index 97%
rename from src/libGLESv2/Fence.h
rename to src/libANGLE/Fence.h
index fd565e9..3b3402a 100644
--- a/src/libGLESv2/Fence.h
+++ b/src/libANGLE/Fence.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_FENCE_H_
 #define LIBGLESV2_FENCE_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
diff --git a/src/libGLESv2/Float16ToFloat32.cpp b/src/libANGLE/Float16ToFloat32.cpp
similarity index 100%
rename from src/libGLESv2/Float16ToFloat32.cpp
rename to src/libANGLE/Float16ToFloat32.cpp
diff --git a/src/libGLESv2/Float16ToFloat32.py b/src/libANGLE/Float16ToFloat32.py
similarity index 100%
rename from src/libGLESv2/Float16ToFloat32.py
rename to src/libANGLE/Float16ToFloat32.py
diff --git a/src/libGLESv2/Framebuffer.cpp b/src/libANGLE/Framebuffer.cpp
similarity index 97%
rename from src/libGLESv2/Framebuffer.cpp
rename to src/libANGLE/Framebuffer.cpp
index 5a58a51..ca3d096 100644
--- a/src/libGLESv2/Framebuffer.cpp
+++ b/src/libANGLE/Framebuffer.cpp
@@ -7,19 +7,19 @@
 // Framebuffer.cpp: Implements the gl::Framebuffer class. Implements GL framebuffer
 // objects and related functionality. [OpenGL ES 2.0.24] section 4.4 page 105.
 
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/RenderTarget.h"
-#include "libGLESv2/renderer/RenderbufferImpl.h"
-#include "libGLESv2/renderer/Workarounds.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/renderer/d3d/RenderbufferD3D.h"
-#include "libGLESv2/renderer/d3d/FramebufferD3D.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/renderer/RenderTarget.h"
+#include "libANGLE/renderer/RenderbufferImpl.h"
+#include "libANGLE/renderer/Workarounds.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/renderer/d3d/RenderbufferD3D.h"
+#include "libANGLE/renderer/d3d/FramebufferD3D.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/Framebuffer.h b/src/libANGLE/Framebuffer.h
similarity index 98%
rename from src/libGLESv2/Framebuffer.h
rename to src/libANGLE/Framebuffer.h
index 68a8df9..2040560 100644
--- a/src/libGLESv2/Framebuffer.h
+++ b/src/libANGLE/Framebuffer.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_FRAMEBUFFER_H_
 #define LIBGLESV2_FRAMEBUFFER_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
diff --git a/src/libGLESv2/FramebufferAttachment.cpp b/src/libANGLE/FramebufferAttachment.cpp
similarity index 94%
rename from src/libGLESv2/FramebufferAttachment.cpp
rename to src/libANGLE/FramebufferAttachment.cpp
index 6d3b788..f47875f 100644
--- a/src/libGLESv2/FramebufferAttachment.cpp
+++ b/src/libANGLE/FramebufferAttachment.cpp
@@ -7,14 +7,14 @@
 // FramebufferAttachment.cpp: the gl::FramebufferAttachment class and its derived classes
 // objects and related functionality. [OpenGL ES 2.0.24] section 4.4.3 page 108.
 
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/renderer/FramebufferImpl.h"
-#include "libGLESv2/renderer/RenderTarget.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/renderer/FramebufferImpl.h"
+#include "libANGLE/renderer/RenderTarget.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/FramebufferAttachment.h b/src/libANGLE/FramebufferAttachment.h
similarity index 99%
rename from src/libGLESv2/FramebufferAttachment.h
rename to src/libANGLE/FramebufferAttachment.h
index 0d28793..5b32b30 100644
--- a/src/libGLESv2/FramebufferAttachment.h
+++ b/src/libANGLE/FramebufferAttachment.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_FRAMEBUFFERATTACHMENT_H_
 #define LIBGLESV2_FRAMEBUFFERATTACHMENT_H_
 
-#include "libGLESv2/Texture.h"
+#include "libANGLE/Texture.h"
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
diff --git a/src/libGLESv2/HandleAllocator.cpp b/src/libANGLE/HandleAllocator.cpp
similarity index 96%
rename from src/libGLESv2/HandleAllocator.cpp
rename to src/libANGLE/HandleAllocator.cpp
index 96f2b10..1288226 100644
--- a/src/libGLESv2/HandleAllocator.cpp
+++ b/src/libANGLE/HandleAllocator.cpp
@@ -7,7 +7,7 @@
 // HandleAllocator.cpp: Implements the gl::HandleAllocator class, which is used
 // to allocate GL handles.
 
-#include "libGLESv2/HandleAllocator.h"
+#include "libANGLE/HandleAllocator.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/HandleAllocator.h b/src/libANGLE/HandleAllocator.h
similarity index 100%
rename from src/libGLESv2/HandleAllocator.h
rename to src/libANGLE/HandleAllocator.h
diff --git a/src/libGLESv2/ImageIndex.cpp b/src/libANGLE/ImageIndex.cpp
similarity index 98%
rename from src/libGLESv2/ImageIndex.cpp
rename to src/libANGLE/ImageIndex.cpp
index b45cd9c..afb4251 100644
--- a/src/libGLESv2/ImageIndex.cpp
+++ b/src/libANGLE/ImageIndex.cpp
@@ -6,8 +6,8 @@
 
 // ImageIndex.cpp: Implementation for ImageIndex methods.
 
-#include "libGLESv2/ImageIndex.h"
-#include "libGLESv2/Texture.h"
+#include "libANGLE/ImageIndex.h"
+#include "libANGLE/Texture.h"
 #include "common/utilities.h"
 
 namespace gl
diff --git a/src/libGLESv2/ImageIndex.h b/src/libANGLE/ImageIndex.h
similarity index 100%
rename from src/libGLESv2/ImageIndex.h
rename to src/libANGLE/ImageIndex.h
diff --git a/src/libGLESv2/Program.cpp b/src/libANGLE/Program.cpp
similarity index 98%
rename from src/libGLESv2/Program.cpp
rename to src/libANGLE/Program.cpp
index 3faa8c5..6453454 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -7,10 +7,10 @@
 // Program.cpp: Implements the gl::Program class. Implements GL program objects
 // and related functionality. [OpenGL ES 2.0.24] section 2.10.3 page 28.
 
-#include "libGLESv2/Program.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/ResourceManager.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/ResourceManager.h"
+#include "libANGLE/renderer/Renderer.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/Program.h b/src/libANGLE/Program.h
similarity index 97%
rename from src/libGLESv2/Program.h
rename to src/libANGLE/Program.h
index b92349e..4c06783 100644
--- a/src/libGLESv2/Program.h
+++ b/src/libANGLE/Program.h
@@ -12,8 +12,8 @@
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/ProgramBinary.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/ProgramBinary.h"
 
 #include <GLES2/gl2.h>
 
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libANGLE/ProgramBinary.cpp
similarity index 98%
rename from src/libGLESv2/ProgramBinary.cpp
rename to src/libANGLE/ProgramBinary.cpp
index 263dd2b..d53a3de 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libANGLE/ProgramBinary.cpp
@@ -7,24 +7,24 @@
 // Program.cpp: Implements the gl::Program class. Implements GL program objects
 // and related functionality. [OpenGL ES 2.0.24] section 2.10.3 page 28.
 
-#include "libGLESv2/BinaryStream.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/renderer/ShaderExecutable.h"
+#include "libANGLE/BinaryStream.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/renderer/ShaderExecutable.h"
 
 #include "common/debug.h"
 #include "common/version.h"
 #include "common/utilities.h"
 #include "common/platform.h"
 
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/renderer/ProgramImpl.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Buffer.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/renderer/ProgramImpl.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Buffer.h"
 #include "common/blocklayout.h"
 #include "common/features.h"
 
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libANGLE/ProgramBinary.h
similarity index 97%
rename from src/libGLESv2/ProgramBinary.h
rename to src/libANGLE/ProgramBinary.h
index 3142d66..f4582a0 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libANGLE/ProgramBinary.h
@@ -13,11 +13,11 @@
 #include "common/RefCountObject.h"
 #include "angletypes.h"
 #include "common/mathutil.h"
-#include "libGLESv2/Uniform.h"
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/renderer/d3d/VertexDataManager.h"
-#include "libGLESv2/renderer/d3d/DynamicHLSL.h"
+#include "libANGLE/Uniform.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/renderer/d3d/VertexDataManager.h"
+#include "libANGLE/renderer/d3d/DynamicHLSL.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/Query.cpp b/src/libANGLE/Query.cpp
similarity index 90%
rename from src/libGLESv2/Query.cpp
rename to src/libANGLE/Query.cpp
index 4ee3525..a402b73 100644
--- a/src/libGLESv2/Query.cpp
+++ b/src/libANGLE/Query.cpp
@@ -6,8 +6,8 @@
 
 // Query.cpp: Implements the gl::Query class
 
-#include "libGLESv2/Query.h"
-#include "libGLESv2/renderer/QueryImpl.h"
+#include "libANGLE/Query.h"
+#include "libANGLE/renderer/QueryImpl.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/Query.h b/src/libANGLE/Query.h
similarity index 96%
rename from src/libGLESv2/Query.h
rename to src/libANGLE/Query.h
index a7ec404..b3e19c6 100644
--- a/src/libGLESv2/Query.h
+++ b/src/libANGLE/Query.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_QUERY_H_
 #define LIBGLESV2_QUERY_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
 
diff --git a/src/libGLESv2/Renderbuffer.cpp b/src/libANGLE/Renderbuffer.cpp
similarity index 88%
rename from src/libGLESv2/Renderbuffer.cpp
rename to src/libANGLE/Renderbuffer.cpp
index 74ce2fa..e74904e 100644
--- a/src/libGLESv2/Renderbuffer.cpp
+++ b/src/libANGLE/Renderbuffer.cpp
@@ -8,13 +8,13 @@
 // GL renderbuffer objects and related functionality.
 // [OpenGL ES 2.0.24] section 4.4.3 page 108.
 
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
-#include "libGLESv2/renderer/RenderbufferImpl.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
+#include "libANGLE/renderer/RenderbufferImpl.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/Renderbuffer.h b/src/libANGLE/Renderbuffer.h
similarity index 98%
rename from src/libGLESv2/Renderbuffer.h
rename to src/libANGLE/Renderbuffer.h
index e9f12af..0598c32 100644
--- a/src/libGLESv2/Renderbuffer.h
+++ b/src/libANGLE/Renderbuffer.h
@@ -13,7 +13,7 @@
 
 #include "angle_gl.h"
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
diff --git a/src/libGLESv2/ResourceManager.cpp b/src/libANGLE/ResourceManager.cpp
similarity index 96%
rename from src/libGLESv2/ResourceManager.cpp
rename to src/libANGLE/ResourceManager.cpp
index 38d53ca..7cebe30 100644
--- a/src/libGLESv2/ResourceManager.cpp
+++ b/src/libANGLE/ResourceManager.cpp
@@ -7,16 +7,16 @@
 // ResourceManager.cpp: Implements the gl::ResourceManager class, which tracks and 
 // retrieves objects which may be shared by multiple Contexts.
 
-#include "libGLESv2/ResourceManager.h"
+#include "libANGLE/ResourceManager.h"
 
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Sampler.h"
-#include "libGLESv2/Fence.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Sampler.h"
+#include "libANGLE/Fence.h"
+#include "libANGLE/renderer/Renderer.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/ResourceManager.h b/src/libANGLE/ResourceManager.h
similarity index 97%
rename from src/libGLESv2/ResourceManager.h
rename to src/libANGLE/ResourceManager.h
index acad29b..a475c3b 100644
--- a/src/libGLESv2/ResourceManager.h
+++ b/src/libANGLE/ResourceManager.h
@@ -11,8 +11,8 @@
 #define LIBGLESV2_RESOURCEMANAGER_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/HandleAllocator.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/HandleAllocator.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/Sampler.cpp b/src/libANGLE/Sampler.cpp
similarity index 94%
rename from src/libGLESv2/Sampler.cpp
rename to src/libANGLE/Sampler.cpp
index b906e65..d58bd5a 100644
--- a/src/libGLESv2/Sampler.cpp
+++ b/src/libANGLE/Sampler.cpp
@@ -7,8 +7,8 @@
 // Sampler.cpp : Implements the Sampler class, which represents a GLES 3
 // sampler object. Sampler objects store some state needed to sample textures.
 
-#include "libGLESv2/Sampler.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/Sampler.h"
+#include "libANGLE/angletypes.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/Sampler.h b/src/libANGLE/Sampler.h
similarity index 100%
rename from src/libGLESv2/Sampler.h
rename to src/libANGLE/Sampler.h
diff --git a/src/libGLESv2/Shader.cpp b/src/libANGLE/Shader.cpp
similarity index 95%
rename from src/libGLESv2/Shader.cpp
rename to src/libANGLE/Shader.cpp
index 1cc17a0..89aa87c 100644
--- a/src/libGLESv2/Shader.cpp
+++ b/src/libANGLE/Shader.cpp
@@ -8,11 +8,11 @@
 // VertexShader and FragmentShader. Implements GL shader objects and related
 // functionality. [OpenGL ES 2.0.24] section 2.10 page 24 and section 3.8 page 84.
 
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/ShaderImpl.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/ResourceManager.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/renderer/ShaderImpl.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/ResourceManager.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/Shader.h b/src/libANGLE/Shader.h
similarity index 98%
rename from src/libGLESv2/Shader.h
rename to src/libANGLE/Shader.h
index 904217d..87ddee9 100644
--- a/src/libGLESv2/Shader.h
+++ b/src/libANGLE/Shader.h
@@ -21,7 +21,7 @@
 #include <GLSLANG/ShaderLang.h>
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/State.cpp b/src/libANGLE/State.cpp
similarity index 98%
rename from src/libGLESv2/State.cpp
rename to src/libANGLE/State.cpp
index e7acda2..dae55b4 100644
--- a/src/libGLESv2/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -6,16 +6,16 @@
 
 // State.cpp: Implements the State class, encapsulating raw GL state.
 
-#include "libGLESv2/State.h"
+#include "libANGLE/State.h"
 
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Query.h"
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Query.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/State.h b/src/libANGLE/State.h
similarity index 97%
rename from src/libGLESv2/State.h
rename to src/libANGLE/State.h
index c3e6106..9427145 100644
--- a/src/libGLESv2/State.h
+++ b/src/libANGLE/State.h
@@ -11,13 +11,13 @@
 
 #include "common/angleutils.h"
 #include "common/RefCountObject.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/TransformFeedback.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/Sampler.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/TransformFeedback.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/Sampler.h"
 
 namespace gl
 {
diff --git a/src/libEGL/Surface.cpp b/src/libANGLE/Surface.cpp
similarity index 97%
rename from src/libEGL/Surface.cpp
rename to src/libANGLE/Surface.cpp
index 7c0320f..376573f 100644
--- a/src/libEGL/Surface.cpp
+++ b/src/libANGLE/Surface.cpp
@@ -12,19 +12,18 @@
 
 #include <algorithm>
 
-#include "libEGL/Surface.h"
+#include "libANGLE/Surface.h"
 
 #include "common/debug.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/renderer/SwapChain.h"
-#include "libGLESv2/main.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/renderer/SwapChain.h"
 
-#include "libEGL/Display.h"
+#include "libANGLE/Display.h"
 
 #include "common/NativeWindow.h"
 
 //TODO(jmadill): phase this out
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
 
 namespace egl
 {
diff --git a/src/libEGL/Surface.h b/src/libANGLE/Surface.h
similarity index 98%
rename from src/libEGL/Surface.h
rename to src/libANGLE/Surface.h
index 662fe21..59c3146 100644
--- a/src/libEGL/Surface.h
+++ b/src/libANGLE/Surface.h
@@ -11,7 +11,7 @@
 #ifndef LIBEGL_SURFACE_H_
 #define LIBEGL_SURFACE_H_
 
-#include "libEGL/Error.h"
+#include "libANGLE/Error.h"
 
 #include <EGL/egl.h>
 
diff --git a/src/libGLESv2/Texture.cpp b/src/libANGLE/Texture.cpp
similarity index 98%
rename from src/libGLESv2/Texture.cpp
rename to src/libANGLE/Texture.cpp
index 9d954c4..4df95b1 100644
--- a/src/libGLESv2/Texture.cpp
+++ b/src/libANGLE/Texture.cpp
@@ -8,15 +8,15 @@
 // Texture2D and TextureCubeMap. Implements GL texture objects and related
 // functionality. [OpenGL ES 2.0.24] section 3.7 page 63.
 
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/ImageIndex.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/renderer/Image.h"
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/ImageIndex.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/renderer/Image.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
 
-#include "libEGL/Surface.h"
+#include "libANGLE/Surface.h"
 
 #include "common/mathutil.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/Texture.h b/src/libANGLE/Texture.h
similarity index 98%
rename from src/libGLESv2/Texture.h
rename to src/libANGLE/Texture.h
index 66d4df8..4ecb002 100644
--- a/src/libGLESv2/Texture.h
+++ b/src/libANGLE/Texture.h
@@ -13,10 +13,10 @@
 
 #include "common/debug.h"
 #include "common/RefCountObject.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/renderer/TextureImpl.h"
-#include "libGLESv2/Caps.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/renderer/TextureImpl.h"
+#include "libANGLE/Caps.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/TransformFeedback.cpp b/src/libANGLE/TransformFeedback.cpp
similarity index 92%
rename from src/libGLESv2/TransformFeedback.cpp
rename to src/libANGLE/TransformFeedback.cpp
index bfa7072..6effaca 100644
--- a/src/libGLESv2/TransformFeedback.cpp
+++ b/src/libANGLE/TransformFeedback.cpp
@@ -4,8 +4,8 @@
 // found in the LICENSE file.
 //
 
-#include "libGLESv2/TransformFeedback.h"
-#include "libGLESv2/renderer/TransformFeedbackImpl.h"
+#include "libANGLE/TransformFeedback.h"
+#include "libANGLE/renderer/TransformFeedbackImpl.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/TransformFeedback.h b/src/libANGLE/TransformFeedback.h
similarity index 100%
rename from src/libGLESv2/TransformFeedback.h
rename to src/libANGLE/TransformFeedback.h
diff --git a/src/libGLESv2/Uniform.cpp b/src/libANGLE/Uniform.cpp
similarity index 98%
rename from src/libGLESv2/Uniform.cpp
rename to src/libANGLE/Uniform.cpp
index bd0cd2e..ea50ee0 100644
--- a/src/libGLESv2/Uniform.cpp
+++ b/src/libANGLE/Uniform.cpp
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 //
 
-#include "libGLESv2/Uniform.h"
+#include "libANGLE/Uniform.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/Uniform.h b/src/libANGLE/Uniform.h
similarity index 98%
rename from src/libGLESv2/Uniform.h
rename to src/libANGLE/Uniform.h
index 633d70b..d8ff87a 100644
--- a/src/libGLESv2/Uniform.h
+++ b/src/libANGLE/Uniform.h
@@ -10,7 +10,7 @@
 #include "common/debug.h"
 #include "common/blocklayout.h"
 
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/VertexArray.cpp b/src/libANGLE/VertexArray.cpp
similarity index 95%
rename from src/libGLESv2/VertexArray.cpp
rename to src/libANGLE/VertexArray.cpp
index f8ca661..cb3bfd3 100644
--- a/src/libGLESv2/VertexArray.cpp
+++ b/src/libANGLE/VertexArray.cpp
@@ -6,9 +6,9 @@
 // Implementation of the state class for mananging GLES 3 Vertex Array Objects.
 //
 
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/renderer/VertexArrayImpl.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/renderer/VertexArrayImpl.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/VertexArray.h b/src/libANGLE/VertexArray.h
similarity index 96%
rename from src/libGLESv2/VertexArray.h
rename to src/libANGLE/VertexArray.h
index a724c0b..7a761be 100644
--- a/src/libGLESv2/VertexArray.h
+++ b/src/libANGLE/VertexArray.h
@@ -14,8 +14,8 @@
 #define LIBGLESV2_VERTEXARRAY_H_
 
 #include "common/RefCountObject.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/VertexAttribute.h"
 
 #include <vector>
 
diff --git a/src/libGLESv2/VertexAttribute.cpp b/src/libANGLE/VertexAttribute.cpp
similarity index 97%
rename from src/libGLESv2/VertexAttribute.cpp
rename to src/libANGLE/VertexAttribute.cpp
index 1096856..2512afc 100644
--- a/src/libGLESv2/VertexAttribute.cpp
+++ b/src/libANGLE/VertexAttribute.cpp
@@ -6,7 +6,7 @@
 // Implementation of the state class for mananging GLES 3 Vertex Array Objects.
 //
 
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/VertexAttribute.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/VertexAttribute.h b/src/libANGLE/VertexAttribute.h
similarity index 98%
rename from src/libGLESv2/VertexAttribute.h
rename to src/libANGLE/VertexAttribute.h
index e9757b6..5bda743 100644
--- a/src/libGLESv2/VertexAttribute.h
+++ b/src/libANGLE/VertexAttribute.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_VERTEXATTRIBUTE_H_
 #define LIBGLESV2_VERTEXATTRIBUTE_H_
 
-#include "libGLESv2/Buffer.h"
+#include "libANGLE/Buffer.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/angletypes.cpp b/src/libANGLE/angletypes.cpp
similarity index 96%
rename from src/libGLESv2/angletypes.cpp
rename to src/libANGLE/angletypes.cpp
index 6fd02e0..6f5d56b 100644
--- a/src/libGLESv2/angletypes.cpp
+++ b/src/libANGLE/angletypes.cpp
@@ -6,11 +6,11 @@
 
 // angletypes.h : Defines a variety of structures and enum types that are used throughout libGLESv2
 
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/State.h"
-#include "libGLESv2/VertexArray.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/State.h"
+#include "libANGLE/VertexArray.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/angletypes.h b/src/libANGLE/angletypes.h
similarity index 99%
rename from src/libGLESv2/angletypes.h
rename to src/libANGLE/angletypes.h
index 78fe6b0..9639afb 100644
--- a/src/libGLESv2/angletypes.h
+++ b/src/libANGLE/angletypes.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_ANGLETYPES_H_
 #define LIBGLESV2_ANGLETYPES_H_
 
-#include "libGLESv2/Constants.h"
+#include "libANGLE/Constants.h"
 #include "common/RefCountObject.h"
 
 namespace gl
diff --git a/src/libGLESv2/formatutils.cpp b/src/libANGLE/formatutils.cpp
similarity index 99%
rename from src/libGLESv2/formatutils.cpp
rename to src/libANGLE/formatutils.cpp
index f100f28..0c2a74c 100644
--- a/src/libGLESv2/formatutils.cpp
+++ b/src/libANGLE/formatutils.cpp
@@ -7,12 +7,12 @@
 // formatutils.cpp: Queries for GL image formats.
 
 #include "common/mathutil.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/imageformats.h"
-#include "libGLESv2/renderer/copyimage.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/renderer/imageformats.h"
+#include "libANGLE/renderer/copyimage.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/formatutils.h b/src/libANGLE/formatutils.h
similarity index 97%
rename from src/libGLESv2/formatutils.h
rename to src/libANGLE/formatutils.h
index 25106a5..ae56c47 100644
--- a/src/libGLESv2/formatutils.h
+++ b/src/libANGLE/formatutils.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_FORMATUTILS_H_
 #define LIBGLESV2_FORMATUTILS_H_
 
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/angletypes.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/queryconversions.cpp b/src/libANGLE/queryconversions.cpp
similarity index 99%
rename from src/libGLESv2/queryconversions.cpp
rename to src/libANGLE/queryconversions.cpp
index 7245902..460e346 100644
--- a/src/libGLESv2/queryconversions.cpp
+++ b/src/libANGLE/queryconversions.cpp
@@ -6,7 +6,7 @@
 
 // queryconversions.cpp: Implementation of state query cast conversions
 
-#include "libGLESv2/Context.h"
+#include "libANGLE/Context.h"
 #include "common/utilities.h"
 
 namespace gl
diff --git a/src/libGLESv2/queryconversions.h b/src/libANGLE/queryconversions.h
similarity index 100%
rename from src/libGLESv2/queryconversions.h
rename to src/libANGLE/queryconversions.h
diff --git a/src/libGLESv2/renderer/BufferImpl.h b/src/libANGLE/renderer/BufferImpl.h
similarity index 96%
rename from src/libGLESv2/renderer/BufferImpl.h
rename to src/libANGLE/renderer/BufferImpl.h
index c031eff..a019cf0 100644
--- a/src/libGLESv2/renderer/BufferImpl.h
+++ b/src/libANGLE/renderer/BufferImpl.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_BUFFERIMPL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Buffer.h"
+#include "libANGLE/Buffer.h"
 
 #include <cstdint>
 
diff --git a/src/libGLESv2/renderer/FenceImpl.h b/src/libANGLE/renderer/FenceImpl.h
similarity index 97%
rename from src/libGLESv2/renderer/FenceImpl.h
rename to src/libANGLE/renderer/FenceImpl.h
index 1dd4678..8a6d55f 100644
--- a/src/libGLESv2/renderer/FenceImpl.h
+++ b/src/libANGLE/renderer/FenceImpl.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_FENCEIMPL_H_
 #define LIBGLESV2_RENDERER_FENCEIMPL_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 
diff --git a/src/libGLESv2/renderer/FramebufferImpl.h b/src/libANGLE/renderer/FramebufferImpl.h
similarity index 100%
rename from src/libGLESv2/renderer/FramebufferImpl.h
rename to src/libANGLE/renderer/FramebufferImpl.h
diff --git a/src/libGLESv2/renderer/Image.cpp b/src/libANGLE/renderer/Image.cpp
similarity index 93%
rename from src/libGLESv2/renderer/Image.cpp
rename to src/libANGLE/renderer/Image.cpp
index b6d456b..b3b7693 100644
--- a/src/libGLESv2/renderer/Image.cpp
+++ b/src/libANGLE/renderer/Image.cpp
@@ -8,8 +8,8 @@
 // renderer-specific classes which will define the interface to the underlying
 // surfaces or resources.
 
-#include "libGLESv2/renderer/Image.h"
-#include "libGLESv2/Framebuffer.h"
+#include "libANGLE/renderer/Image.h"
+#include "libANGLE/Framebuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/Image.h b/src/libANGLE/renderer/Image.h
similarity index 98%
rename from src/libGLESv2/renderer/Image.h
rename to src/libANGLE/renderer/Image.h
index 9071a88..376901b 100644
--- a/src/libGLESv2/renderer/Image.h
+++ b/src/libANGLE/renderer/Image.h
@@ -12,7 +12,7 @@
 #define LIBGLESV2_RENDERER_IMAGE_H_
 
 #include "common/debug.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include <GLES2/gl2.h>
 
diff --git a/src/libGLESv2/renderer/IndexRangeCache.cpp b/src/libANGLE/renderer/IndexRangeCache.cpp
similarity index 97%
rename from src/libGLESv2/renderer/IndexRangeCache.cpp
rename to src/libANGLE/renderer/IndexRangeCache.cpp
index d472e14..78dfb2f 100644
--- a/src/libGLESv2/renderer/IndexRangeCache.cpp
+++ b/src/libANGLE/renderer/IndexRangeCache.cpp
@@ -7,8 +7,8 @@
 // IndexRangeCache.cpp: Defines the rx::IndexRangeCache class which stores information about
 // ranges of indices.
 
-#include "libGLESv2/renderer/IndexRangeCache.h"
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/renderer/IndexRangeCache.h"
+#include "libANGLE/formatutils.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/IndexRangeCache.h b/src/libANGLE/renderer/IndexRangeCache.h
similarity index 100%
rename from src/libGLESv2/renderer/IndexRangeCache.h
rename to src/libANGLE/renderer/IndexRangeCache.h
diff --git a/src/libGLESv2/renderer/ProgramImpl.cpp b/src/libANGLE/renderer/ProgramImpl.cpp
similarity index 98%
rename from src/libGLESv2/renderer/ProgramImpl.cpp
rename to src/libANGLE/renderer/ProgramImpl.cpp
index fc07c72..047691f 100644
--- a/src/libGLESv2/renderer/ProgramImpl.cpp
+++ b/src/libANGLE/renderer/ProgramImpl.cpp
@@ -6,7 +6,7 @@
 
 // ProgramD3D.cpp: Defines the rx::ProgramD3D class which implements rx::ProgramImpl.
 
-#include "libGLESv2/renderer/ProgramImpl.h"
+#include "libANGLE/renderer/ProgramImpl.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/renderer/ProgramImpl.h b/src/libANGLE/renderer/ProgramImpl.h
similarity index 97%
rename from src/libGLESv2/renderer/ProgramImpl.h
rename to src/libANGLE/renderer/ProgramImpl.h
index 6aaa23c..9ce104c 100644
--- a/src/libGLESv2/renderer/ProgramImpl.h
+++ b/src/libANGLE/renderer/ProgramImpl.h
@@ -10,11 +10,11 @@
 #define LIBGLESV2_RENDERER_PROGRAMIMPL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/BinaryStream.h"
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/renderer/Renderer.h"
+#include "libANGLE/BinaryStream.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/renderer/Renderer.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/QueryImpl.h b/src/libANGLE/renderer/QueryImpl.h
similarity index 96%
rename from src/libGLESv2/renderer/QueryImpl.h
rename to src/libANGLE/renderer/QueryImpl.h
index 6b45810..39668f4 100644
--- a/src/libGLESv2/renderer/QueryImpl.h
+++ b/src/libANGLE/renderer/QueryImpl.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_QUERYIMPL_H_
 #define LIBGLESV2_RENDERER_QUERYIMPL_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 
diff --git a/src/libGLESv2/renderer/RenderTarget.cpp b/src/libANGLE/renderer/RenderTarget.cpp
similarity index 93%
rename from src/libGLESv2/renderer/RenderTarget.cpp
rename to src/libANGLE/renderer/RenderTarget.cpp
index 857fdc9..cd7c594 100644
--- a/src/libGLESv2/renderer/RenderTarget.cpp
+++ b/src/libANGLE/renderer/RenderTarget.cpp
@@ -6,7 +6,7 @@
 
 // RenderTarget.cpp: Implements serial handling for rx::RenderTarget
 
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/RenderTarget.h b/src/libANGLE/renderer/RenderTarget.h
similarity index 97%
rename from src/libGLESv2/renderer/RenderTarget.h
rename to src/libANGLE/renderer/RenderTarget.h
index 3bdfb0c..db3c35d 100644
--- a/src/libGLESv2/renderer/RenderTarget.h
+++ b/src/libANGLE/renderer/RenderTarget.h
@@ -11,7 +11,7 @@
 #define LIBGLESV2_RENDERER_RENDERTARGET_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/RenderbufferImpl.cpp b/src/libANGLE/renderer/RenderbufferImpl.cpp
similarity index 88%
rename from src/libGLESv2/renderer/RenderbufferImpl.cpp
rename to src/libANGLE/renderer/RenderbufferImpl.cpp
index 770ae8e..ea5a40a 100644
--- a/src/libGLESv2/renderer/RenderbufferImpl.cpp
+++ b/src/libANGLE/renderer/RenderbufferImpl.cpp
@@ -6,7 +6,7 @@
 
 // RenderbufferImpl.h: Implements the shared methods of the abstract class gl::RenderbufferImpl
 
-#include "libGLESv2/renderer/RenderbufferImpl.h"
+#include "libANGLE/renderer/RenderbufferImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/RenderbufferImpl.h b/src/libANGLE/renderer/RenderbufferImpl.h
similarity index 96%
rename from src/libGLESv2/renderer/RenderbufferImpl.h
rename to src/libANGLE/renderer/RenderbufferImpl.h
index 9f217d7..747584a 100644
--- a/src/libGLESv2/renderer/RenderbufferImpl.h
+++ b/src/libANGLE/renderer/RenderbufferImpl.h
@@ -11,7 +11,7 @@
 
 #include "angle_gl.h"
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 
diff --git a/src/libANGLE/renderer/Renderer.cpp b/src/libANGLE/renderer/Renderer.cpp
new file mode 100644
index 0000000..fbc2ad5
--- /dev/null
+++ b/src/libANGLE/renderer/Renderer.cpp
@@ -0,0 +1,72 @@
+//
+// Copyright (c) 2012-2014 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+// Renderer.cpp: Implements EGL dependencies for creating and destroying Renderer instances.
+
+#include "common/utilities.h"
+#include "libANGLE/AttributeMap.h"
+#include "libANGLE/renderer/Renderer.h"
+
+#include <EGL/eglext.h>
+
+namespace rx
+{
+
+Renderer::Renderer()
+    : mCapsInitialized(false),
+      mWorkaroundsInitialized(false)
+{
+}
+
+Renderer::~Renderer()
+{
+}
+
+const gl::Caps &Renderer::getRendererCaps() const
+{
+    if (!mCapsInitialized)
+    {
+        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
+        mCapsInitialized = true;
+    }
+
+    return mCaps;
+}
+
+const gl::TextureCapsMap &Renderer::getRendererTextureCaps() const
+{
+    if (!mCapsInitialized)
+    {
+        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
+        mCapsInitialized = true;
+    }
+
+    return mTextureCaps;
+}
+
+const gl::Extensions &Renderer::getRendererExtensions() const
+{
+    if (!mCapsInitialized)
+    {
+        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
+        mCapsInitialized = true;
+    }
+
+    return mExtensions;
+}
+
+const Workarounds &Renderer::getWorkarounds() const
+{
+    if (!mWorkaroundsInitialized)
+    {
+        mWorkarounds = generateWorkarounds();
+        mWorkaroundsInitialized = true;
+    }
+
+    return mWorkarounds;
+}
+
+}
diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libANGLE/renderer/Renderer.h
similarity index 96%
rename from src/libGLESv2/renderer/Renderer.h
rename to src/libANGLE/renderer/Renderer.h
index dc2c29b..733e3a1 100644
--- a/src/libGLESv2/renderer/Renderer.h
+++ b/src/libANGLE/renderer/Renderer.h
@@ -10,11 +10,11 @@
 #ifndef LIBGLESV2_RENDERER_RENDERER_H_
 #define LIBGLESV2_RENDERER_RENDERER_H_
 
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/Error.h"
-#include "libGLESv2/Uniform.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/renderer/Workarounds.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/Uniform.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/renderer/Workarounds.h"
 #include "common/NativeWindow.h"
 #include "common/mathutil.h"
 
@@ -30,6 +30,7 @@
 
 namespace egl
 {
+class AttributeMap;
 class Display;
 class Surface;
 }
diff --git a/src/libGLESv2/renderer/ShaderExecutable.h b/src/libANGLE/renderer/ShaderExecutable.h
similarity index 100%
rename from src/libGLESv2/renderer/ShaderExecutable.h
rename to src/libANGLE/renderer/ShaderExecutable.h
diff --git a/src/libGLESv2/renderer/ShaderImpl.h b/src/libANGLE/renderer/ShaderImpl.h
similarity index 98%
rename from src/libGLESv2/renderer/ShaderImpl.h
rename to src/libANGLE/renderer/ShaderImpl.h
index cb0d360..047ad11 100644
--- a/src/libGLESv2/renderer/ShaderImpl.h
+++ b/src/libANGLE/renderer/ShaderImpl.h
@@ -12,7 +12,7 @@
 #include <vector>
 
 #include "common/angleutils.h"
-#include "libGLESv2/Shader.h"
+#include "libANGLE/Shader.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/SwapChain.h b/src/libANGLE/renderer/SwapChain.h
similarity index 100%
rename from src/libGLESv2/renderer/SwapChain.h
rename to src/libANGLE/renderer/SwapChain.h
diff --git a/src/libGLESv2/renderer/TextureImpl.h b/src/libANGLE/renderer/TextureImpl.h
similarity index 97%
rename from src/libGLESv2/renderer/TextureImpl.h
rename to src/libANGLE/renderer/TextureImpl.h
index 3e66255..186adcb 100644
--- a/src/libGLESv2/renderer/TextureImpl.h
+++ b/src/libANGLE/renderer/TextureImpl.h
@@ -10,11 +10,11 @@
 #define LIBGLESV2_RENDERER_TEXTUREIMPL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "angle_gl.h"
 
-#include "libGLESv2/ImageIndex.h"
+#include "libANGLE/ImageIndex.h"
 
 namespace egl
 {
diff --git a/src/libGLESv2/renderer/TransformFeedbackImpl.h b/src/libANGLE/renderer/TransformFeedbackImpl.h
similarity index 94%
rename from src/libGLESv2/renderer/TransformFeedbackImpl.h
rename to src/libANGLE/renderer/TransformFeedbackImpl.h
index 8425604..12ad4ef 100644
--- a/src/libGLESv2/renderer/TransformFeedbackImpl.h
+++ b/src/libANGLE/renderer/TransformFeedbackImpl.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_TRANSFORMFEEDBACKIMPL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/TransformFeedback.h"
+#include "libANGLE/TransformFeedback.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/VertexArrayImpl.h b/src/libANGLE/renderer/VertexArrayImpl.h
similarity index 91%
rename from src/libGLESv2/renderer/VertexArrayImpl.h
rename to src/libANGLE/renderer/VertexArrayImpl.h
index b013f9c..233b4b3 100644
--- a/src/libGLESv2/renderer/VertexArrayImpl.h
+++ b/src/libANGLE/renderer/VertexArrayImpl.h
@@ -10,8 +10,8 @@
 #define LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/VertexAttribute.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/Workarounds.h b/src/libANGLE/renderer/Workarounds.h
similarity index 100%
rename from src/libGLESv2/renderer/Workarounds.h
rename to src/libANGLE/renderer/Workarounds.h
diff --git a/src/libGLESv2/renderer/copyimage.cpp b/src/libANGLE/renderer/copyimage.cpp
similarity index 93%
rename from src/libGLESv2/renderer/copyimage.cpp
rename to src/libANGLE/renderer/copyimage.cpp
index aabc9f0..c4c6ec1 100644
--- a/src/libGLESv2/renderer/copyimage.cpp
+++ b/src/libANGLE/renderer/copyimage.cpp
@@ -6,7 +6,7 @@
 
 // copyimage.cpp: Defines image copying functions
 
-#include "libGLESv2/renderer/copyimage.h"
+#include "libANGLE/renderer/copyimage.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/copyimage.h b/src/libANGLE/renderer/copyimage.h
similarity index 95%
rename from src/libGLESv2/renderer/copyimage.h
rename to src/libANGLE/renderer/copyimage.h
index 513eb5c..58956e7 100644
--- a/src/libGLESv2/renderer/copyimage.h
+++ b/src/libANGLE/renderer/copyimage.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_COPYIMAGE_H_
 
 #include "common/mathutil.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 
 #include <cstdint>
 
diff --git a/src/libGLESv2/renderer/copyimage.inl b/src/libANGLE/renderer/copyimage.inl
similarity index 100%
rename from src/libGLESv2/renderer/copyimage.inl
rename to src/libANGLE/renderer/copyimage.inl
diff --git a/src/libGLESv2/renderer/copyvertex.h b/src/libANGLE/renderer/copyvertex.h
similarity index 100%
rename from src/libGLESv2/renderer/copyvertex.h
rename to src/libANGLE/renderer/copyvertex.h
diff --git a/src/libGLESv2/renderer/copyvertex.inl b/src/libANGLE/renderer/copyvertex.inl
similarity index 100%
rename from src/libGLESv2/renderer/copyvertex.inl
rename to src/libANGLE/renderer/copyvertex.inl
diff --git a/src/libGLESv2/renderer/d3d/BufferD3D.cpp b/src/libANGLE/renderer/d3d/BufferD3D.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/BufferD3D.cpp
rename to src/libANGLE/renderer/d3d/BufferD3D.cpp
index 5e82c92..45577ef 100644
--- a/src/libGLESv2/renderer/d3d/BufferD3D.cpp
+++ b/src/libANGLE/renderer/d3d/BufferD3D.cpp
@@ -6,9 +6,9 @@
 
 // BufferD3D.cpp Defines common functionality between the Buffer9 and Buffer11 classes.
 
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/VertexBuffer.h"
-#include "libGLESv2/renderer/d3d/IndexBuffer.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/VertexBuffer.h"
+#include "libANGLE/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/BufferD3D.h b/src/libANGLE/renderer/d3d/BufferD3D.h
similarity index 94%
rename from src/libGLESv2/renderer/d3d/BufferD3D.h
rename to src/libANGLE/renderer/d3d/BufferD3D.h
index 1a1308c..274b759 100644
--- a/src/libGLESv2/renderer/d3d/BufferD3D.h
+++ b/src/libANGLE/renderer/d3d/BufferD3D.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_BUFFERD3D_H_
 #define LIBGLESV2_RENDERER_BUFFERD3D_H_
 
-#include "libGLESv2/renderer/BufferImpl.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/BufferImpl.h"
+#include "libANGLE/angletypes.h"
 
 #include <cstdint>
 
diff --git a/src/libGLESv2/renderer/d3d/DynamicHLSL.cpp b/src/libANGLE/renderer/d3d/DynamicHLSL.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d/DynamicHLSL.cpp
rename to src/libANGLE/renderer/d3d/DynamicHLSL.cpp
index 3d5bfe0..3ad1ed5 100644
--- a/src/libGLESv2/renderer/d3d/DynamicHLSL.cpp
+++ b/src/libANGLE/renderer/d3d/DynamicHLSL.cpp
@@ -6,13 +6,13 @@
 // DynamicHLSL.cpp: Implementation for link and run-time HLSL generation
 //
 
-#include "libGLESv2/renderer/d3d/DynamicHLSL.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/renderer/d3d/DynamicHLSL.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/formatutils.h"
 
 #include "common/utilities.h"
 #include "common/blocklayout.h"
diff --git a/src/libGLESv2/renderer/d3d/DynamicHLSL.h b/src/libANGLE/renderer/d3d/DynamicHLSL.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/DynamicHLSL.h
rename to src/libANGLE/renderer/d3d/DynamicHLSL.h
index c46bbf6..f046fdc 100644
--- a/src/libGLESv2/renderer/d3d/DynamicHLSL.h
+++ b/src/libANGLE/renderer/d3d/DynamicHLSL.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_DYNAMIC_HLSL_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Constants.h"
+#include "libANGLE/Constants.h"
 
 #include "angle_gl.h"
 
diff --git a/src/libGLESv2/renderer/d3d/FramebufferD3D.cpp b/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/FramebufferD3D.cpp
rename to src/libANGLE/renderer/d3d/FramebufferD3D.cpp
index 03a3029..388ee4e 100644
--- a/src/libGLESv2/renderer/d3d/FramebufferD3D.cpp
+++ b/src/libANGLE/renderer/d3d/FramebufferD3D.cpp
@@ -6,8 +6,8 @@
 
 // Framebuffer11.h: Implements the DefaultAttachment11 class.
 
-#include "libGLESv2/renderer/d3d/FramebufferD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/d3d/FramebufferD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/FramebufferD3D.h b/src/libANGLE/renderer/d3d/FramebufferD3D.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/FramebufferD3D.h
rename to src/libANGLE/renderer/d3d/FramebufferD3D.h
index 0034e07..806c011 100644
--- a/src/libGLESv2/renderer/d3d/FramebufferD3D.h
+++ b/src/libANGLE/renderer/d3d/FramebufferD3D.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_FRAMBUFFERD3D_H_
 #define LIBGLESV2_RENDERER_FRAMBUFFERD3D_H_
 
-#include "libGLESv2/renderer/FramebufferImpl.h"
+#include "libANGLE/renderer/FramebufferImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp b/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/HLSLCompiler.cpp
rename to src/libANGLE/renderer/d3d/HLSLCompiler.cpp
index c1080d1..0a5ae5b 100644
--- a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp
+++ b/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
@@ -4,8 +4,8 @@
 // found in the LICENSE file.
 //
 
-#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
-#include "libGLESv2/Program.h"
+#include "libANGLE/renderer/d3d/HLSLCompiler.h"
+#include "libANGLE/Program.h"
 
 #include "common/features.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/renderer/d3d/HLSLCompiler.h b/src/libANGLE/renderer/d3d/HLSLCompiler.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/HLSLCompiler.h
rename to src/libANGLE/renderer/d3d/HLSLCompiler.h
index ff56f80..67d57d3 100644
--- a/src/libGLESv2/renderer/d3d/HLSLCompiler.h
+++ b/src/libANGLE/renderer/d3d/HLSLCompiler.h
@@ -1,7 +1,7 @@
 #ifndef LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_
 #define LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/angleutils.h"
 #include "common/platform.h"
diff --git a/src/libGLESv2/renderer/d3d/ImageD3D.cpp b/src/libANGLE/renderer/d3d/ImageD3D.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/ImageD3D.cpp
rename to src/libANGLE/renderer/d3d/ImageD3D.cpp
index 12b919a..35b23f1 100644
--- a/src/libGLESv2/renderer/d3d/ImageD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ImageD3D.cpp
@@ -8,7 +8,7 @@
 // renderer-specific classes which will define the interface to the underlying
 // surfaces or resources.
 
-#include "libGLESv2/renderer/d3d/ImageD3D.h"
+#include "libANGLE/renderer/d3d/ImageD3D.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/ImageD3D.h b/src/libANGLE/renderer/d3d/ImageD3D.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/ImageD3D.h
rename to src/libANGLE/renderer/d3d/ImageD3D.h
index 554ca0c..bd5a554 100644
--- a/src/libGLESv2/renderer/d3d/ImageD3D.h
+++ b/src/libANGLE/renderer/d3d/ImageD3D.h
@@ -12,7 +12,7 @@
 #define LIBGLESV2_RENDERER_IMAGED3D_H_
 
 #include "common/debug.h"
-#include "libGLESv2/renderer/Image.h"
+#include "libANGLE/renderer/Image.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/IndexBuffer.cpp b/src/libANGLE/renderer/d3d/IndexBuffer.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/IndexBuffer.cpp
rename to src/libANGLE/renderer/d3d/IndexBuffer.cpp
index aa614f6..c5e4521 100644
--- a/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
+++ b/src/libANGLE/renderer/d3d/IndexBuffer.cpp
@@ -7,8 +7,8 @@
 // IndexBuffer.cpp: Defines the abstract IndexBuffer class and IndexBufferInterface
 // class with derivations, classes that perform graphics API agnostic index buffer operations.
 
-#include "libGLESv2/renderer/d3d/IndexBuffer.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/d3d/IndexBuffer.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/IndexBuffer.h b/src/libANGLE/renderer/d3d/IndexBuffer.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/IndexBuffer.h
rename to src/libANGLE/renderer/d3d/IndexBuffer.h
index a34d30b..ec4c5a3 100644
--- a/src/libGLESv2/renderer/d3d/IndexBuffer.h
+++ b/src/libANGLE/renderer/d3d/IndexBuffer.h
@@ -11,8 +11,8 @@
 #define LIBGLESV2_RENDERER_INDEXBUFFER_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Error.h"
-#include "libGLESv2/renderer/IndexRangeCache.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/renderer/IndexRangeCache.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/IndexDataManager.cpp b/src/libANGLE/renderer/d3d/IndexDataManager.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/IndexDataManager.cpp
rename to src/libANGLE/renderer/d3d/IndexDataManager.cpp
index 1d7d8db..486dc47 100644
--- a/src/libGLESv2/renderer/d3d/IndexDataManager.cpp
+++ b/src/libANGLE/renderer/d3d/IndexDataManager.cpp
@@ -7,12 +7,12 @@
 // IndexDataManager.cpp: Defines the IndexDataManager, a class that
 // runs the Buffer translation process for index buffers.
 
-#include "libGLESv2/renderer/d3d/IndexDataManager.h"
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/IndexBuffer.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/renderer/d3d/IndexDataManager.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/IndexBuffer.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/formatutils.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/IndexDataManager.h b/src/libANGLE/renderer/d3d/IndexDataManager.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/IndexDataManager.h
rename to src/libANGLE/renderer/d3d/IndexDataManager.h
index a1aee15..b840590 100644
--- a/src/libGLESv2/renderer/d3d/IndexDataManager.h
+++ b/src/libANGLE/renderer/d3d/IndexDataManager.h
@@ -12,7 +12,7 @@
 
 #include "common/angleutils.h"
 #include "common/mathutil.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include <GLES2/gl2.h>
 
diff --git a/src/libGLESv2/renderer/d3d/MemoryBuffer.cpp b/src/libANGLE/renderer/d3d/MemoryBuffer.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/MemoryBuffer.cpp
rename to src/libANGLE/renderer/d3d/MemoryBuffer.cpp
index 2b5b09a..3571f5d 100644
--- a/src/libGLESv2/renderer/d3d/MemoryBuffer.cpp
+++ b/src/libANGLE/renderer/d3d/MemoryBuffer.cpp
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 //
 
-#include "libGLESv2/renderer/d3d/MemoryBuffer.h"
+#include "libANGLE/renderer/d3d/MemoryBuffer.h"
 #include "common/debug.h"
 
 #include <algorithm>
diff --git a/src/libGLESv2/renderer/d3d/MemoryBuffer.h b/src/libANGLE/renderer/d3d/MemoryBuffer.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/MemoryBuffer.h
rename to src/libANGLE/renderer/d3d/MemoryBuffer.h
diff --git a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d/ProgramD3D.cpp
rename to src/libANGLE/renderer/d3d/ProgramD3D.cpp
index e834071..ef7e11c 100644
--- a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -6,18 +6,18 @@
 
 // ProgramD3D.cpp: Defines the rx::ProgramD3D class which implements rx::ProgramImpl.
 
-#include "libGLESv2/renderer/d3d/ProgramD3D.h"
+#include "libANGLE/renderer/d3d/ProgramD3D.h"
 
 #include "common/features.h"
 #include "common/utilities.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/renderer/ShaderExecutable.h"
-#include "libGLESv2/renderer/d3d/DynamicHLSL.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/renderer/ShaderExecutable.h"
+#include "libANGLE/renderer/d3d/DynamicHLSL.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/ProgramD3D.h b/src/libANGLE/renderer/d3d/ProgramD3D.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/ProgramD3D.h
rename to src/libANGLE/renderer/d3d/ProgramD3D.h
index 4baab9a..8c06c05 100644
--- a/src/libGLESv2/renderer/d3d/ProgramD3D.h
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_PROGRAMD3D_H_
 #define LIBGLESV2_RENDERER_PROGRAMD3D_H_
 
-#include "libGLESv2/renderer/ProgramImpl.h"
-#include "libGLESv2/renderer/Workarounds.h"
+#include "libANGLE/renderer/ProgramImpl.h"
+#include "libANGLE/renderer/Workarounds.h"
 
 #include <string>
 #include <vector>
diff --git a/src/libGLESv2/renderer/d3d/RenderbufferD3D.cpp b/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/RenderbufferD3D.cpp
rename to src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
index 6859a79..b72695b 100644
--- a/src/libGLESv2/renderer/d3d/RenderbufferD3D.cpp
+++ b/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
@@ -7,10 +7,10 @@
 // RenderbufferD3d.cpp: Implements the RenderbufferD3D class, a specialization of RenderbufferImpl
 
 
-#include "libGLESv2/renderer/d3d/RenderbufferD3D.h"
+#include "libANGLE/renderer/d3d/RenderbufferD3D.h"
 
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/RenderbufferD3D.h b/src/libANGLE/renderer/d3d/RenderbufferD3D.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/RenderbufferD3D.h
rename to src/libANGLE/renderer/d3d/RenderbufferD3D.h
index fcc3463..47a1090 100644
--- a/src/libGLESv2/renderer/d3d/RenderbufferD3D.h
+++ b/src/libANGLE/renderer/d3d/RenderbufferD3D.h
@@ -12,7 +12,7 @@
 #include "angle_gl.h"
 
 #include "common/angleutils.h"
-#include "libGLESv2/renderer/RenderbufferImpl.h"
+#include "libANGLE/renderer/RenderbufferImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/RendererD3D.cpp b/src/libANGLE/renderer/d3d/RendererD3D.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/RendererD3D.cpp
rename to src/libANGLE/renderer/d3d/RendererD3D.cpp
index b9314ed..ae49ae7 100644
--- a/src/libGLESv2/renderer/d3d/RendererD3D.cpp
+++ b/src/libANGLE/renderer/d3d/RendererD3D.cpp
@@ -6,15 +6,15 @@
 
 // RendererD3D.cpp: Implementation of the base D3D Renderer.
 
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
 
-#include "libGLESv2/renderer/d3d/IndexDataManager.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/ResourceManager.h"
-#include "libGLESv2/State.h"
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/renderer/d3d/IndexDataManager.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/ResourceManager.h"
+#include "libANGLE/State.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/formatutils.h"
 #include "common/utilities.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d/RendererD3D.h b/src/libANGLE/renderer/d3d/RendererD3D.h
similarity index 99%
rename from src/libGLESv2/renderer/d3d/RendererD3D.h
rename to src/libANGLE/renderer/d3d/RendererD3D.h
index a8c2f21..12fbac2 100644
--- a/src/libGLESv2/renderer/d3d/RendererD3D.h
+++ b/src/libANGLE/renderer/d3d/RendererD3D.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_RENDERERD3D_H_
 #define LIBGLESV2_RENDERER_RENDERERD3D_H_
 
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/Data.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/Data.h"
 
 //FIXME(jmadill): std::array is currently prohibited by Chromium style guide
 #include <array>
diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp b/src/libANGLE/renderer/d3d/ShaderD3D.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/ShaderD3D.cpp
rename to src/libANGLE/renderer/d3d/ShaderD3D.cpp
index 96b2513..b0fbdc7 100644
--- a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ShaderD3D.cpp
@@ -6,9 +6,9 @@
 
 // ShaderD3D.cpp: Defines the rx::ShaderD3D class which implements rx::ShaderImpl.
 
-#include "libGLESv2/Shader.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/Shader.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
 
 #include "common/features.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.h b/src/libANGLE/renderer/d3d/ShaderD3D.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/ShaderD3D.h
rename to src/libANGLE/renderer/d3d/ShaderD3D.h
index 3c9aac2..73f2327 100644
--- a/src/libGLESv2/renderer/d3d/ShaderD3D.h
+++ b/src/libANGLE/renderer/d3d/ShaderD3D.h
@@ -9,9 +9,9 @@
 #ifndef LIBGLESV2_RENDERER_SHADERD3D_H_
 #define LIBGLESV2_RENDERER_SHADERD3D_H_
 
-#include "libGLESv2/renderer/ShaderImpl.h"
-#include "libGLESv2/renderer/Workarounds.h"
-#include "libGLESv2/Shader.h"
+#include "libANGLE/renderer/ShaderImpl.h"
+#include "libANGLE/renderer/Workarounds.h"
+#include "libANGLE/Shader.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.cpp b/src/libANGLE/renderer/d3d/TextureD3D.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d/TextureD3D.cpp
rename to src/libANGLE/renderer/d3d/TextureD3D.cpp
index a5bfd32..462e1fb 100644
--- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp
+++ b/src/libANGLE/renderer/d3d/TextureD3D.cpp
@@ -6,19 +6,19 @@
 
 // TextureD3D.cpp: Implementations of the Texture interfaces shared betweeen the D3D backends.
 
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/renderer/BufferImpl.h"
-#include "libGLESv2/renderer/RenderTarget.h"
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
-#include "libGLESv2/renderer/d3d/ImageD3D.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/renderer/BufferImpl.h"
+#include "libANGLE/renderer/RenderTarget.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
+#include "libANGLE/renderer/d3d/ImageD3D.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
 
-#include "libEGL/Surface.h"
+#include "libANGLE/Surface.h"
 
 #include "common/mathutil.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.h b/src/libANGLE/renderer/d3d/TextureD3D.h
similarity index 99%
rename from src/libGLESv2/renderer/d3d/TextureD3D.h
rename to src/libANGLE/renderer/d3d/TextureD3D.h
index 083a633..9a3ed97 100644
--- a/src/libGLESv2/renderer/d3d/TextureD3D.h
+++ b/src/libANGLE/renderer/d3d/TextureD3D.h
@@ -9,9 +9,9 @@
 #ifndef LIBGLESV2_RENDERER_TEXTURED3D_H_
 #define LIBGLESV2_RENDERER_TEXTURED3D_H_
 
-#include "libGLESv2/renderer/TextureImpl.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Constants.h"
+#include "libANGLE/renderer/TextureImpl.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Constants.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/TextureStorage.cpp b/src/libANGLE/renderer/d3d/TextureStorage.cpp
similarity index 80%
rename from src/libGLESv2/renderer/d3d/TextureStorage.cpp
rename to src/libANGLE/renderer/d3d/TextureStorage.cpp
index 320b74b..f113941 100644
--- a/src/libGLESv2/renderer/d3d/TextureStorage.cpp
+++ b/src/libANGLE/renderer/d3d/TextureStorage.cpp
@@ -6,12 +6,12 @@
 
 // TextureStorage.cpp: Shared members of abstract rx::TextureStorage class.
 
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Texture.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Texture.h"
 
 #include "common/debug.h"
 #include "common/mathutil.h"
diff --git a/src/libGLESv2/renderer/d3d/TextureStorage.h b/src/libANGLE/renderer/d3d/TextureStorage.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d/TextureStorage.h
rename to src/libANGLE/renderer/d3d/TextureStorage.h
index da92be3..bb12ee3 100644
--- a/src/libGLESv2/renderer/d3d/TextureStorage.h
+++ b/src/libANGLE/renderer/d3d/TextureStorage.h
@@ -9,10 +9,10 @@
 #ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE_H_
 #define LIBGLESV2_RENDERER_TEXTURESTORAGE_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/debug.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include <GLES2/gl2.h>
 #include <cstdint>
diff --git a/src/libGLESv2/renderer/d3d/TransformFeedbackD3D.cpp b/src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp
similarity index 90%
rename from src/libGLESv2/renderer/d3d/TransformFeedbackD3D.cpp
rename to src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp
index 1159600..5c0bfdc 100644
--- a/src/libGLESv2/renderer/d3d/TransformFeedbackD3D.cpp
+++ b/src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp
@@ -6,7 +6,7 @@
 
 // TransformFeedbackD3D.cpp is a no-op implementation for both the D3D9 and D3D11 renderers.
 
-#include "libGLESv2/renderer/d3d/TransformFeedbackD3D.h"
+#include "libANGLE/renderer/d3d/TransformFeedbackD3D.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/TransformFeedbackD3D.h b/src/libANGLE/renderer/d3d/TransformFeedbackD3D.h
similarity index 88%
rename from src/libGLESv2/renderer/d3d/TransformFeedbackD3D.h
rename to src/libANGLE/renderer/d3d/TransformFeedbackD3D.h
index 7c367ab..6d8b828 100644
--- a/src/libGLESv2/renderer/d3d/TransformFeedbackD3D.h
+++ b/src/libANGLE/renderer/d3d/TransformFeedbackD3D.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_D3D_TRANSFORMFEEDBACKD3D_H_
 #define LIBGLESV2_RENDERER_D3D_TRANSFORMFEEDBACKD3D_H_
 
-#include "libGLESv2/renderer/TransformFeedbackImpl.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/TransformFeedbackImpl.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/VertexBuffer.cpp b/src/libANGLE/renderer/d3d/VertexBuffer.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/VertexBuffer.cpp
rename to src/libANGLE/renderer/d3d/VertexBuffer.cpp
index 73f0c79..5e83a0c 100644
--- a/src/libGLESv2/renderer/d3d/VertexBuffer.cpp
+++ b/src/libANGLE/renderer/d3d/VertexBuffer.cpp
@@ -7,10 +7,10 @@
 // VertexBuffer.cpp: Defines the abstract VertexBuffer class and VertexBufferInterface
 // class with derivations, classes that perform graphics API agnostic vertex buffer operations.
 
-#include "libGLESv2/renderer/d3d/VertexBuffer.h"
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/renderer/d3d/VertexBuffer.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/VertexAttribute.h"
 
 #include "common/mathutil.h"
 
diff --git a/src/libGLESv2/renderer/d3d/VertexBuffer.h b/src/libANGLE/renderer/d3d/VertexBuffer.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/VertexBuffer.h
rename to src/libANGLE/renderer/d3d/VertexBuffer.h
index 4b40818..f1109b3 100644
--- a/src/libGLESv2/renderer/d3d/VertexBuffer.h
+++ b/src/libANGLE/renderer/d3d/VertexBuffer.h
@@ -11,7 +11,7 @@
 #define LIBGLESV2_RENDERER_VERTEXBUFFER_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include <GLES2/gl2.h>
 
diff --git a/src/libGLESv2/renderer/d3d/VertexDataManager.cpp b/src/libANGLE/renderer/d3d/VertexDataManager.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/VertexDataManager.cpp
rename to src/libANGLE/renderer/d3d/VertexDataManager.cpp
index 8d3df31..64e58c3 100644
--- a/src/libGLESv2/renderer/d3d/VertexDataManager.cpp
+++ b/src/libANGLE/renderer/d3d/VertexDataManager.cpp
@@ -7,14 +7,14 @@
 // VertexDataManager.h: Defines the VertexDataManager, a class that
 // runs the Buffer translation process.
 
-#include "libGLESv2/renderer/d3d/VertexDataManager.h"
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/VertexBuffer.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/State.h"
+#include "libANGLE/renderer/d3d/VertexDataManager.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/VertexBuffer.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/State.h"
 
 namespace
 {
diff --git a/src/libGLESv2/renderer/d3d/VertexDataManager.h b/src/libANGLE/renderer/d3d/VertexDataManager.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/VertexDataManager.h
rename to src/libANGLE/renderer/d3d/VertexDataManager.h
index 64ef653..0832d0d 100644
--- a/src/libGLESv2/renderer/d3d/VertexDataManager.h
+++ b/src/libANGLE/renderer/d3d/VertexDataManager.h
@@ -10,8 +10,8 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXDATAMANAGER_H_
 #define LIBGLESV2_RENDERER_VERTEXDATAMANAGER_H_
 
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/VertexAttribute.h"
 #include "common/angleutils.h"
 
 namespace gl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp b/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Blit11.cpp
index 4e7889d..d5742cf 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp
@@ -6,55 +6,55 @@
 
 // Blit11.cpp: Texture copy utility class.
 
-#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/formatutils.h"
+#include "libANGLE/renderer/d3d/d3d11/Blit11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/formatutils.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 "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.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 "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.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"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Blit11.h b/src/libANGLE/renderer/d3d/d3d11/Blit11.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/Blit11.h
rename to src/libANGLE/renderer/d3d/d3d11/Blit11.h
index 821fa9d..53fef1c 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Blit11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Blit11.h
@@ -10,8 +10,8 @@
 #define LIBGLESV2_BLIT11_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Error.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
index d2324c2..9eefd7b 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
@@ -6,9 +6,9 @@
 
 // Buffer11.cpp Defines the Buffer11 class.
 
-#include "libGLESv2/renderer/d3d/d3d11/Buffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.h b/src/libANGLE/renderer/d3d/d3d11/Buffer11.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d11/Buffer11.h
rename to src/libANGLE/renderer/d3d/d3d11/Buffer11.h
index 1c06bbf..7e82623 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Buffer11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Buffer11.h
@@ -9,9 +9,9 @@
 #ifndef LIBGLESV2_RENDERER_BUFFER11_H_
 #define LIBGLESV2_RENDERER_BUFFER11_H_
 
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/MemoryBuffer.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/MemoryBuffer.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp b/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
index 12905d0..8ed8ab0 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp
@@ -6,23 +6,23 @@
 
 // Clear11.cpp: Framebuffer clear utility class.
 
-#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/FramebufferAttachment.h"
+#include "libANGLE/renderer/d3d/d3d11/Clear11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 // Precompiled shaders
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h"
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h"
 
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h"
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h"
 
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h"
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Clear11.h b/src/libANGLE/renderer/d3d/d3d11/Clear11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/Clear11.h
rename to src/libANGLE/renderer/d3d/d3d11/Clear11.h
index a7e8fea..0a9929a 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Clear11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Clear11.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_CLEAR11_H_
 #define LIBGLESV2_RENDERER_CLEAR11_H_
 
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Error.h"
 
 #include <map>
 #include <vector>
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp b/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Fence11.cpp
index 3ee962f..af34a1c 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp
@@ -6,8 +6,8 @@
 
 // Fence11.cpp: Defines the rx::FenceNV11 and rx::FenceSync11 classes which implement rx::FenceNVImpl and rx::FenceSyncImpl.
 
-#include "libGLESv2/renderer/d3d/d3d11/Fence11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Fence11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Fence11.h b/src/libANGLE/renderer/d3d/d3d11/Fence11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/Fence11.h
rename to src/libANGLE/renderer/d3d/d3d11/Fence11.h
index 1223a53..4c655ce 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Fence11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Fence11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_FENCE11_H_
 #define LIBGLESV2_RENDERER_FENCE11_H_
 
-#include "libGLESv2/renderer/FenceImpl.h"
+#include "libANGLE/renderer/FenceImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp b/src/libANGLE/renderer/d3d/d3d11/Image11.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/Image11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Image11.cpp
index e51356c..fb94bcd 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Image11.cpp
@@ -7,14 +7,14 @@
 // Image11.h: Implements the rx::Image11 class, which acts as the interface to
 // the actual underlying resources of a Texture
 
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Image11.h"
-#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Image11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/renderer/d3d/d3d11/TextureStorage11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Image11.h b/src/libANGLE/renderer/d3d/d3d11/Image11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/Image11.h
rename to src/libANGLE/renderer/d3d/d3d11/Image11.h
index a936e6d..029bd6d 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Image11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Image11.h
@@ -10,8 +10,8 @@
 #ifndef LIBGLESV2_RENDERER_IMAGE11_H_
 #define LIBGLESV2_RENDERER_IMAGE11_H_
 
-#include "libGLESv2/renderer/d3d/ImageD3D.h"
-#include "libGLESv2/ImageIndex.h"
+#include "libANGLE/renderer/d3d/ImageD3D.h"
+#include "libANGLE/ImageIndex.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp b/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp
index 9a61182..99c199f 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp
@@ -6,8 +6,8 @@
 
 // IndexBuffer11.cpp: Defines the D3D11 IndexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/IndexBuffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h b/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h
rename to src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h
index 3351df5..5e0e636 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_INDEXBUFFER11_H_
 #define LIBGLESV2_RENDERER_INDEXBUFFER11_H_
 
-#include "libGLESv2/renderer/d3d/IndexBuffer.h"
+#include "libANGLE/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp b/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
similarity index 94%
rename from src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp
rename to src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
index e41f238..ac9d99f 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp
@@ -7,15 +7,15 @@
 // InputLayoutCache.cpp: Defines InputLayoutCache, a class that builds and caches
 // D3D11 input layouts.
 
-#include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h"
-#include "libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Buffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d/ProgramD3D.h"
-#include "libGLESv2/renderer/d3d/VertexDataManager.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/renderer/d3d/d3d11/InputLayoutCache.h"
+#include "libANGLE/renderer/d3d/d3d11/VertexBuffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/ProgramD3D.h"
+#include "libANGLE/renderer/d3d/VertexDataManager.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/VertexAttribute.h"
 
 #include "third_party/murmurhash/MurmurHash3.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h b/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h
rename to src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h
index cc71ac3..b2cd686 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h
+++ b/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h
@@ -10,8 +10,8 @@
 #ifndef LIBGLESV2_RENDERER_INPUTLAYOUTCACHE_H_
 #define LIBGLESV2_RENDERER_INPUTLAYOUTCACHE_H_
 
-#include "libGLESv2/Constants.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Constants.h"
+#include "libANGLE/Error.h"
 #include "common/angleutils.h"
 
 #include <GLES2/gl2.h>
diff --git a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp b/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp
index 1bc2bd8..bd5f81a 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp
@@ -9,24 +9,24 @@
 //   Used to implement pixel transfers from unpack and to pack buffers.
 //
 
-#include "libGLESv2/renderer/d3d/d3d11/PixelTransfer11.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/Buffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/TextureStorage11.h"
-#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Context.h"
+#include "libANGLE/renderer/d3d/d3d11/PixelTransfer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/TextureStorage11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Context.h"
 
 // Precompiled shaders
-#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"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h b/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h
rename to src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h
index 2955214..2a43e37 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h
@@ -11,7 +11,7 @@
 #ifndef LIBGLESV2_PIXELTRANSFER11_H_
 #define LIBGLESV2_PIXELTRANSFER11_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/platform.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp b/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Query11.cpp
index c73f034..cb7f5b1 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
@@ -6,9 +6,9 @@
 
 // Query11.cpp: Defines the rx::Query11 class which implements rx::QueryImpl.
 
-#include "libGLESv2/renderer/d3d/d3d11/Query11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/Query11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
 #include "common/utilities.h"
 
 #include <GLES2/gl2ext.h>
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Query11.h b/src/libANGLE/renderer/d3d/d3d11/Query11.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d11/Query11.h
rename to src/libANGLE/renderer/d3d/d3d11/Query11.h
index f9ff467..eb3d3d3 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Query11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Query11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_QUERY11_H_
 #define LIBGLESV2_RENDERER_QUERY11_H_
 
-#include "libGLESv2/renderer/QueryImpl.h"
+#include "libANGLE/renderer/QueryImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp
rename to src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
index ab4f60b..749842d 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp
@@ -7,11 +7,11 @@
 // RenderStateCache.cpp: Defines rx::RenderStateCache, a cache of Direct3D render
 // state objects.
 
-#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/FramebufferAttachment.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderStateCache.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h
rename to src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
index dfd1d84..2a5d5f5 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h
+++ b/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h
@@ -10,8 +10,8 @@
 #ifndef LIBGLESV2_RENDERER_RENDERSTATECACHE_H_
 #define LIBGLESV2_RENDERER_RENDERSTATECACHE_H_
 
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Error.h"
 #include "common/angleutils.h"
 
 #include <unordered_map>
diff --git a/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp b/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp
index 421b08d..bf87573 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp
@@ -7,11 +7,11 @@
 // RenderTarget11.cpp: Implements a DX11-specific wrapper for ID3D11View pointers
 // retained by Renderbuffers.
 
-#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d/d3d11/SwapChain11.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h b/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h
rename to src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h
index c7babdd..47d7122 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_RENDERTARGET11_H_
 #define LIBGLESV2_RENDERER_RENDERTARGET11_H_
 
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
index 9e406d5..19331d0 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
@@ -6,41 +6,41 @@
 
 // Renderer11.cpp: Implements a back-end specific class for the D3D11 renderer.
 
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/State.h"
-#include "libGLESv2/renderer/d3d/ProgramD3D.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/renderer/d3d/TransformFeedbackD3D.h"
-#include "libGLESv2/renderer/d3d/FramebufferD3D.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/Buffer11.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/Trim11.h"
-#include "libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/VertexArray11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Buffer11.h"
-#include "libGLESv2/renderer/d3d/RenderbufferD3D.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/State.h"
+#include "libANGLE/renderer/d3d/ProgramD3D.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/renderer/d3d/TransformFeedbackD3D.h"
+#include "libANGLE/renderer/d3d/FramebufferD3D.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h"
+#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+#include "libANGLE/renderer/d3d/d3d11/Image11.h"
+#include "libANGLE/renderer/d3d/d3d11/VertexBuffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/IndexBuffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/VertexDataManager.h"
+#include "libANGLE/renderer/d3d/IndexDataManager.h"
+#include "libANGLE/renderer/d3d/d3d11/TextureStorage11.h"
+#include "libANGLE/renderer/d3d/d3d11/Query11.h"
+#include "libANGLE/renderer/d3d/d3d11/Fence11.h"
+#include "libANGLE/renderer/d3d/d3d11/Blit11.h"
+#include "libANGLE/renderer/d3d/d3d11/Clear11.h"
+#include "libANGLE/renderer/d3d/d3d11/Trim11.h"
+#include "libANGLE/renderer/d3d/d3d11/PixelTransfer11.h"
+#include "libANGLE/renderer/d3d/d3d11/VertexArray11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/RenderbufferD3D.h"
 
-#include "libEGL/Display.h"
-#include "libEGL/Surface.h"
+#include "libANGLE/Display.h"
+#include "libANGLE/Surface.h"
 
 #include "common/utilities.h"
 #include "common/tls.h"
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h b/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/Renderer11.h
rename to src/libANGLE/renderer/d3d/d3d11/Renderer11.h
index eaa6fc5..286fb2e 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.h
@@ -10,16 +10,16 @@
 #define LIBGLESV2_RENDERER_RENDERER11_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 #include "common/mathutil.h"
 
-#include "libGLESv2/renderer/d3d/d3d11/RenderStateCache.h"
-#include "libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h"
-#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderStateCache.h"
+#include "libANGLE/renderer/d3d/d3d11/InputLayoutCache.h"
+#include "libANGLE/renderer/d3d/HLSLCompiler.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
-#include "libEGL/AttributeMap.h"
+#include "libANGLE/AttributeMap.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp b/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp
index 52f3488..5a8f8c9 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp
@@ -7,8 +7,8 @@
 // ShaderExecutable11.cpp: Implements a D3D11-specific class to contain shader
 // executable implementation details.
 
-#include "libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h b/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h
rename to src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h
index 74a1e03..1338e36 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_SHADEREXECUTABLE11_H_
 #define LIBGLESV2_RENDERER_SHADEREXECUTABLE11_H_
 
-#include "libGLESv2/renderer/ShaderExecutable.h"
+#include "libANGLE/renderer/ShaderExecutable.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp b/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
index 3fcacf6..cb4f97c 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
@@ -6,14 +6,14 @@
 
 // SwapChain11.cpp: Implements a back-end specific class for the D3D11 swap chain.
 
-#include "libGLESv2/renderer/d3d/d3d11/SwapChain11.h"
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 
 // Precompiled shaders
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
-#include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h"
+#include "libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h"
 
 #include "common/features.h"
 #include "common/NativeWindow.h"
diff --git a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h b/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h
rename to src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
index 22401d8..abf1ae3 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_SWAPCHAIN11_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/renderer/SwapChain.h"
+#include "libANGLE/renderer/SwapChain.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
index 8a84c18..df6ff47 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
@@ -7,20 +7,20 @@
 // 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/d3d/d3d11/TextureStorage11.h"
+#include "libANGLE/renderer/d3d/d3d11/TextureStorage11.h"
 
 #include <tuple>
 
-#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 "libGLESv2/renderer/d3d/d3d11/Image11.h"
-#include "libGLESv2/renderer/d3d/MemoryBuffer.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/ImageIndex.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/Blit11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/Image11.h"
+#include "libANGLE/renderer/d3d/MemoryBuffer.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/ImageIndex.h"
 
 #include "common/utilities.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h
rename to src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h
index 930300a..e5f5910 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h
@@ -10,9 +10,9 @@
 #ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE11_H_
 #define LIBGLESV2_RENDERER_TEXTURESTORAGE11_H_
 
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Error.h"
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Trim11.cpp b/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp
similarity index 93%
rename from src/libGLESv2/renderer/d3d/d3d11/Trim11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/Trim11.cpp
index e55bed6..213ce31 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Trim11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp
@@ -6,9 +6,9 @@
 
 // Trim11.cpp: Trim support utility class.
 
-#include "libGLESv2/renderer/d3d/d3d11/Trim11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/Trim11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
 
 #if defined (ANGLE_ENABLE_WINDOWS_STORE)
 using namespace ABI::Windows::Foundation;
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Trim11.h b/src/libANGLE/renderer/d3d/d3d11/Trim11.h
similarity index 92%
rename from src/libGLESv2/renderer/d3d/d3d11/Trim11.h
rename to src/libANGLE/renderer/d3d/d3d11/Trim11.h
index ed5e563..14bcc4d 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Trim11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/Trim11.h
@@ -10,8 +10,8 @@
 #define LIBGLESV2_TRIM11_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Error.h"
 
 #if !defined(ANGLE_ENABLE_WINDOWS_STORE)
 typedef void* EventRegistrationToken;
diff --git a/src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h b/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
similarity index 90%
rename from src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h
rename to src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
index 70bc3bb..bd484a0 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/VertexArray11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXARRAY11_H_
 #define LIBGLESV2_RENDERER_VERTEXARRAY11_H_
 
-#include "libGLESv2/renderer/VertexArrayImpl.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/VertexArrayImpl.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp b/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
index a9d6fa2..977a510 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
@@ -6,12 +6,12 @@
 
 // VertexBuffer11.cpp: Defines the D3D11 VertexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Buffer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/renderer/d3d/d3d11/VertexBuffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Buffer11.h"
+#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/VertexAttribute.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h b/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
rename to src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h
index a9bbac9..73d687b 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXBUFFER11_H_
 #define LIBGLESV2_RENDERER_VERTEXBUFFER11_H_
 
-#include "libGLESv2/renderer/d3d/VertexBuffer.h"
+#include "libANGLE/renderer/d3d/VertexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp b/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp
similarity index 99%
rename from src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp
rename to src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp
index 1ea916d..c529fb0 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp
@@ -7,12 +7,12 @@
 // formatutils11.cpp: Queries for GL image formats and their translations to D3D11
 // formats.
 
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/generatemip.h"
-#include "libGLESv2/renderer/loadimage.h"
-#include "libGLESv2/renderer/copyimage.h"
-#include "libGLESv2/renderer/Renderer.h"
-#include "libGLESv2/renderer/copyvertex.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/generatemip.h"
+#include "libANGLE/renderer/loadimage.h"
+#include "libANGLE/renderer/copyimage.h"
+#include "libANGLE/renderer/Renderer.h"
+#include "libANGLE/renderer/copyvertex.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d11/formatutils11.h b/src/libANGLE/renderer/d3d/d3d11/formatutils11.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/formatutils11.h
rename to src/libANGLE/renderer/d3d/d3d11/formatutils11.h
index ea11aaa..fd2bc35 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/formatutils11.h
+++ b/src/libANGLE/renderer/d3d/d3d11/formatutils11.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_FORMATUTILS11_H_
 #define LIBGLESV2_RENDERER_FORMATUTILS11_H_
 
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/formatutils.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp
rename to src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
index 9ffc32e..e5b4e39 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
@@ -7,12 +7,12 @@
 // renderer11_utils.cpp: Conversion functions and other utility routines
 // specific to the D3D11 renderer.
 
-#include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h"
-#include "libGLESv2/renderer/d3d/d3d11/formatutils11.h"
-#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h"
-#include "libGLESv2/renderer/Workarounds.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Framebuffer.h"
+#include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h"
+#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
+#include "libANGLE/renderer/d3d/d3d11/RenderTarget11.h"
+#include "libANGLE/renderer/Workarounds.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Framebuffer.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h
rename to src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
index 9df9c95..32336f5 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h
+++ b/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
@@ -10,9 +10,9 @@
 #ifndef LIBGLESV2_RENDERER_RENDERER11_UTILS_H
 #define LIBGLESV2_RENDERER_RENDERER11_UTILS_H
 
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/Error.h"
 
 #include <vector>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl b/src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
rename to src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/Clear11.hlsl b/src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/Clear11.hlsl
rename to src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl b/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
rename to src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl b/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
rename to src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/Swizzle11.hlsl b/src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
rename to src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h b/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h
rename to src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d11/shaders/generate_shaders.bat b/src/libANGLE/renderer/d3d/d3d11/shaders/generate_shaders.bat
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d11/shaders/generate_shaders.bat
rename to src/libANGLE/renderer/d3d/d3d11/shaders/generate_shaders.bat
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp b/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Blit9.cpp
index a24bef3..fd38967 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp
@@ -6,23 +6,23 @@
 
 // Blit9.cpp: Surface copy utility class.
 
-#include "libGLESv2/renderer/d3d/d3d9/Blit9.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/FramebufferAttachment.h"
+#include "libANGLE/renderer/d3d/d3d9/Blit9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 namespace
 {
 // Precompiled shaders
-#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"
+#include "libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h"
+#include "libANGLE/renderer/d3d/d3d9/shaders/compiled/flipyvs.h"
+#include "libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h"
+#include "libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h"
+#include "libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h"
 
 const BYTE* const g_shaderCode[] =
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Blit9.h b/src/libANGLE/renderer/d3d/d3d9/Blit9.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/Blit9.h
rename to src/libANGLE/renderer/d3d/d3d9/Blit9.h
index 5c7a76c..50df5fc 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Blit9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Blit9.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_BLIT9_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include <GLES2/gl2.h>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp b/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp
index 97d43f4..5bea99d 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp
@@ -6,8 +6,8 @@
 
 // Buffer9.cpp Defines the Buffer9 class.
 
-#include "libGLESv2/renderer/d3d/d3d9/Buffer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Buffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.h b/src/libANGLE/renderer/d3d/d3d9/Buffer9.h
similarity index 91%
rename from src/libGLESv2/renderer/d3d/d3d9/Buffer9.h
rename to src/libANGLE/renderer/d3d/d3d9/Buffer9.h
index c80b009..ad3b76e 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Buffer9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Buffer9.h
@@ -9,9 +9,9 @@
 #ifndef LIBGLESV2_RENDERER_BUFFER9_H_
 #define LIBGLESV2_RENDERER_BUFFER9_H_
 
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/renderer/d3d/MemoryBuffer.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/MemoryBuffer.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp b/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Fence9.cpp
index 61a5526..27c265e 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp
@@ -6,9 +6,9 @@
 
 // Fence9.cpp: Defines the rx::FenceNV9 class.
 
-#include "libGLESv2/renderer/d3d/d3d9/Fence9.h"
-#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Fence9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Fence9.h b/src/libANGLE/renderer/d3d/d3d9/Fence9.h
similarity index 94%
rename from src/libGLESv2/renderer/d3d/d3d9/Fence9.h
rename to src/libANGLE/renderer/d3d/d3d9/Fence9.h
index d7873d5..6aba13b 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Fence9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Fence9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_FENCE9_H_
 #define LIBGLESV2_RENDERER_FENCE9_H_
 
-#include "libGLESv2/renderer/FenceImpl.h"
+#include "libANGLE/renderer/FenceImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp b/src/libANGLE/renderer/d3d/d3d9/Image9.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/Image9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Image9.cpp
index 9fba7ca..b3faf63 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Image9.cpp
@@ -7,15 +7,15 @@
 // Image9.cpp: Implements the rx::Image9 class, which acts as the interface to
 // the actual underlying surfaces of a Texture.
 
-#include "libGLESv2/renderer/d3d/d3d9/Image9.h"
-#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Renderbuffer.h"
+#include "libANGLE/renderer/d3d/d3d9/Image9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Renderbuffer.h"
 #include "common/utilities.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Image9.h b/src/libANGLE/renderer/d3d/d3d9/Image9.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/Image9.h
rename to src/libANGLE/renderer/d3d/d3d9/Image9.h
index 8cc2258..7073fee 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Image9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Image9.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_IMAGE9_H_
 #define LIBGLESV2_RENDERER_IMAGE9_H_
 
-#include "libGLESv2/renderer/d3d/ImageD3D.h"
+#include "libANGLE/renderer/d3d/ImageD3D.h"
 #include "common/debug.h"
 
 namespace gl
diff --git a/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp b/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp
index 1c51b9e..c5d72e6 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp
@@ -6,8 +6,8 @@
 
 // Indexffer9.cpp: Defines the D3D9 IndexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/IndexBuffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h b/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h
rename to src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h
index 2375fcf..447f668 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_INDEXBUFFER9_H_
 #define LIBGLESV2_RENDERER_INDEXBUFFER9_H_
 
-#include "libGLESv2/renderer/d3d/IndexBuffer.h"
+#include "libANGLE/renderer/d3d/IndexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp b/src/libANGLE/renderer/d3d/d3d9/Query9.cpp
similarity index 94%
rename from src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Query9.cpp
index 3efcc70..afc0d44 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Query9.cpp
@@ -6,9 +6,9 @@
 
 // Query9.cpp: Defines the rx::Query9 class which implements rx::QueryImpl.
 
-#include "libGLESv2/renderer/d3d/d3d9/Query9.h"
-#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Query9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 #include <GLES2/gl2ext.h>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Query9.h b/src/libANGLE/renderer/d3d/d3d9/Query9.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/Query9.h
rename to src/libANGLE/renderer/d3d/d3d9/Query9.h
index 36851c6..1407704 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Query9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Query9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_QUERY9_H_
 #define LIBGLESV2_RENDERER_QUERY9_H_
 
-#include "libGLESv2/renderer/QueryImpl.h"
+#include "libANGLE/renderer/QueryImpl.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp b/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp
similarity index 92%
rename from src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp
index 9a36f14..dabfed7 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp
@@ -7,11 +7,11 @@
 // RenderTarget9.cpp: Implements a D3D9-specific wrapper for IDirect3DSurface9
 // pointers retained by renderbuffers.
 
-#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d/d3d9/SwapChain9.h"
-#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/SwapChain9.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h b/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h
rename to src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h
index 4585697..b9b368f 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_RENDERTARGET9_H_
 #define LIBGLESV2_RENDERER_RENDERTARGET9_H_
 
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp b/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
index 814619b..6c24fbb 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
@@ -6,39 +6,39 @@
 
 // Renderer9.cpp: Implements a back-end specific class for the D3D9 renderer.
 
-#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/Buffer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Query9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Fence9.h"
-#include "libGLESv2/renderer/d3d/d3d9/VertexArray9.h"
-#include "libGLESv2/renderer/d3d/IndexDataManager.h"
-#include "libGLESv2/renderer/d3d/ProgramD3D.h"
-#include "libGLESv2/renderer/d3d/ShaderD3D.h"
-#include "libGLESv2/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/renderer/d3d/TransformFeedbackD3D.h"
-#include "libGLESv2/renderer/d3d/RenderbufferD3D.h"
-#include "libGLESv2/renderer/d3d/FramebufferD3D.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/State.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h"
+#include "libANGLE/renderer/d3d/d3d9/SwapChain9.h"
+#include "libANGLE/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libANGLE/renderer/d3d/d3d9/Image9.h"
+#include "libANGLE/renderer/d3d/d3d9/Blit9.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexBuffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/IndexBuffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Buffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Query9.h"
+#include "libANGLE/renderer/d3d/d3d9/Fence9.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexArray9.h"
+#include "libANGLE/renderer/d3d/IndexDataManager.h"
+#include "libANGLE/renderer/d3d/ProgramD3D.h"
+#include "libANGLE/renderer/d3d/ShaderD3D.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/renderer/d3d/TransformFeedbackD3D.h"
+#include "libANGLE/renderer/d3d/RenderbufferD3D.h"
+#include "libANGLE/renderer/d3d/FramebufferD3D.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/State.h"
+#include "libANGLE/angletypes.h"
 
-#include "libEGL/Display.h"
-#include "libEGL/Surface.h"
+#include "libANGLE/Display.h"
+#include "libANGLE/Surface.h"
 
 #include "common/features.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h b/src/libANGLE/renderer/d3d/d3d9/Renderer9.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/Renderer9.h
rename to src/libANGLE/renderer/d3d/d3d9/Renderer9.h
index d5d4870..7c3abc6 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/Renderer9.h
@@ -11,11 +11,11 @@
 
 #include "common/angleutils.h"
 #include "common/mathutil.h"
-#include "libGLESv2/renderer/d3d/d3d9/ShaderCache.h"
-#include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h"
-#include "libGLESv2/renderer/d3d/HLSLCompiler.h"
-#include "libGLESv2/renderer/d3d/RendererD3D.h"
-#include "libGLESv2/renderer/RenderTarget.h"
+#include "libANGLE/renderer/d3d/d3d9/ShaderCache.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h"
+#include "libANGLE/renderer/d3d/HLSLCompiler.h"
+#include "libANGLE/renderer/d3d/RendererD3D.h"
+#include "libANGLE/renderer/RenderTarget.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h b/src/libANGLE/renderer/d3d/d3d9/ShaderCache.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h
rename to src/libANGLE/renderer/d3d/d3d9/ShaderCache.h
index 6d7d2d6..e998c1a 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/ShaderCache.h
+++ b/src/libANGLE/renderer/d3d/d3d9/ShaderCache.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_SHADER_CACHE_H_
 #define LIBGLESV2_RENDERER_SHADER_CACHE_H_
 
-#include "libGLESv2/Error.h"
+#include "libANGLE/Error.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp b/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp
index bc71204..485b14d 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp
@@ -7,7 +7,7 @@
 // ShaderExecutable9.cpp: Implements a D3D9-specific class to contain shader
 // executable implementation details.
 
-#include "libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h"
+#include "libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h"
 
 #include "common/debug.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h b/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h
rename to src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h
index fa1e6c2..fc0a867 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_
 #define LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_
 
-#include "libGLESv2/renderer/ShaderExecutable.h"
+#include "libANGLE/renderer/ShaderExecutable.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp
index 95eb1a4..08392f8 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp
@@ -6,10 +6,10 @@
 
 // SwapChain9.cpp: Implements a back-end specific class for the D3D9 swap chain.
 
-#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"
+#include "libANGLE/renderer/d3d/d3d9/SwapChain9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 #include "common/features.h"
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h
rename to src/libANGLE/renderer/d3d/d3d9/SwapChain9.h
index cb33bfb..4156676 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h
@@ -10,7 +10,7 @@
 #define LIBGLESV2_RENDERER_SWAPCHAIN9_H_
 
 #include "common/angleutils.h"
-#include "libGLESv2/renderer/SwapChain.h"
+#include "libANGLE/renderer/SwapChain.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp
index 453ea8c..c84c288 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp
@@ -8,14 +8,14 @@
 // classes TextureStorage9_2D and TextureStorage9_Cube, which act as the interface to the
 // D3D9 texture.
 
-#include "libGLESv2/renderer/d3d/d3d9/TextureStorage9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.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/renderer/d3d/TextureD3D.h"
-#include "libGLESv2/Texture.h"
+#include "libANGLE/renderer/d3d/d3d9/TextureStorage9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/SwapChain9.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/TextureD3D.h"
+#include "libANGLE/Texture.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h
rename to src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h
index da0e1f2..e7c989f 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h
@@ -11,7 +11,7 @@
 #ifndef LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_
 #define LIBGLESV2_RENDERER_TEXTURESTORAGE9_H_
 
-#include "libGLESv2/renderer/d3d/TextureStorage.h"
+#include "libANGLE/renderer/d3d/TextureStorage.h"
 #include "common/debug.h"
 
 namespace rx
diff --git a/src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h b/src/libANGLE/renderer/d3d/d3d9/VertexArray9.h
similarity index 90%
rename from src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h
rename to src/libANGLE/renderer/d3d/d3d9/VertexArray9.h
index 791c108..2228ae6 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/VertexArray9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/VertexArray9.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXARRAY9_H_
 #define LIBGLESV2_RENDERER_VERTEXARRAY9_H_
 
-#include "libGLESv2/renderer/VertexArrayImpl.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/VertexArrayImpl.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp b/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
similarity index 94%
rename from src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
index b901330..40379b5 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp
@@ -6,13 +6,13 @@
 
 // VertexBuffer9.cpp: Defines the D3D9 VertexBuffer implementation.
 
-#include "libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/vertexconversion.h"
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/Buffer.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexBuffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/vertexconversion.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/Buffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h b/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h
rename to src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h
index 9af2b98..1afb8af 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXBUFFER9_H_
 #define LIBGLESV2_RENDERER_VERTEXBUFFER9_H_
 
-#include "libGLESv2/renderer/d3d/VertexBuffer.h"
+#include "libANGLE/renderer/d3d/VertexBuffer.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp b/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp
similarity index 96%
rename from src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp
rename to src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp
index cefd786..568273e 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp
@@ -6,11 +6,11 @@
 
 // VertexDeclarationCache.cpp: Implements a helper class to construct and cache vertex declarations.
 
-#include "libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h"
-#include "libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h"
-#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/VertexAttribute.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h"
+#include "libANGLE/renderer/d3d/d3d9/VertexBuffer9.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/VertexAttribute.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h b/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h
similarity index 94%
rename from src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h
rename to src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h
index 9af36e0..310a613 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h
+++ b/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h
@@ -9,8 +9,8 @@
 #ifndef LIBGLESV2_RENDERER_VERTEXDECLARATIONCACHE_H_
 #define LIBGLESV2_RENDERER_VERTEXDECLARATIONCACHE_H_
 
-#include "libGLESv2/Error.h"
-#include "libGLESv2/renderer/d3d/VertexDataManager.h"
+#include "libANGLE/Error.h"
+#include "libANGLE/renderer/d3d/VertexDataManager.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp b/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp
rename to src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp
index f3acaf7..71f6c1b 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp
@@ -7,12 +7,12 @@
 // formatutils9.cpp: Queries for GL image formats and their translations to D3D9
 // formats.
 
-#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"
-#include "libGLESv2/renderer/vertexconversion.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
+#include "libANGLE/renderer/generatemip.h"
+#include "libANGLE/renderer/loadimage.h"
+#include "libANGLE/renderer/copyimage.h"
+#include "libANGLE/renderer/vertexconversion.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/formatutils9.h b/src/libANGLE/renderer/d3d/d3d9/formatutils9.h
similarity index 97%
rename from src/libGLESv2/renderer/d3d/d3d9/formatutils9.h
rename to src/libANGLE/renderer/d3d/d3d9/formatutils9.h
index f26fe43..0e8fbcf 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/formatutils9.h
+++ b/src/libANGLE/renderer/d3d/d3d9/formatutils9.h
@@ -10,7 +10,7 @@
 #ifndef LIBGLESV2_RENDERER_FORMATUTILS9_H_
 #define LIBGLESV2_RENDERER_FORMATUTILS9_H_
 
-#include "libGLESv2/formatutils.h"
+#include "libANGLE/formatutils.h"
 
 #include <map>
 
diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
similarity index 98%
rename from src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
rename to src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
index a98b208..48d53f0 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp
+++ b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
@@ -7,12 +7,12 @@
 // renderer9_utils.cpp: Conversion functions and other utility routines
 // specific to the D3D9 renderer.
 
-#include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h"
-#include "libGLESv2/renderer/d3d/d3d9/formatutils9.h"
-#include "libGLESv2/renderer/Workarounds.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h"
+#include "libANGLE/renderer/d3d/d3d9/renderer9_utils.h"
+#include "libANGLE/renderer/d3d/d3d9/formatutils9.h"
+#include "libANGLE/renderer/Workarounds.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/renderer/d3d/d3d9/RenderTarget9.h"
 
 #include "common/mathutil.h"
 #include "common/debug.h"
diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h
similarity index 95%
rename from src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h
rename to src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h
index 9760b97..8d3d054 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h
+++ b/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h
@@ -10,9 +10,9 @@
 #ifndef LIBGLESV2_RENDERER_RENDERER9_UTILS_H
 #define LIBGLESV2_RENDERER_RENDERER9_UTILS_H
 
-#include "libGLESv2/angletypes.h"
-#include "libGLESv2/Caps.h"
-#include "libGLESv2/Error.h"
+#include "libANGLE/angletypes.h"
+#include "libANGLE/Caps.h"
+#include "libANGLE/Error.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.ps b/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.ps
rename to src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.vs b/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/Blit.vs
rename to src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h b/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h
rename to src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h b/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/flipyvs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h
rename to src/libANGLE/renderer/d3d/d3d9/shaders/compiled/flipyvs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h b/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h
rename to src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h b/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h
rename to src/libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h b/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h
rename to src/libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h
diff --git a/src/libGLESv2/renderer/d3d/d3d9/shaders/generate_shaders.bat b/src/libANGLE/renderer/d3d/d3d9/shaders/generate_shaders.bat
similarity index 100%
rename from src/libGLESv2/renderer/d3d/d3d9/shaders/generate_shaders.bat
rename to src/libANGLE/renderer/d3d/d3d9/shaders/generate_shaders.bat
diff --git a/src/libGLESv2/renderer/generatemip.h b/src/libANGLE/renderer/generatemip.h
similarity index 90%
rename from src/libGLESv2/renderer/generatemip.h
rename to src/libANGLE/renderer/generatemip.h
index a57b00d..66cb528 100644
--- a/src/libGLESv2/renderer/generatemip.h
+++ b/src/libANGLE/renderer/generatemip.h
@@ -10,8 +10,8 @@
 #ifndef LIBGLESV2_RENDERER_GENERATEMIP_H_
 #define LIBGLESV2_RENDERER_GENERATEMIP_H_
 
-#include "libGLESv2/renderer/imageformats.h"
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/renderer/imageformats.h"
+#include "libANGLE/angletypes.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/generatemip.inl b/src/libANGLE/renderer/generatemip.inl
similarity index 100%
rename from src/libGLESv2/renderer/generatemip.inl
rename to src/libANGLE/renderer/generatemip.inl
diff --git a/src/libGLESv2/renderer/imageformats.h b/src/libANGLE/renderer/imageformats.h
similarity index 100%
rename from src/libGLESv2/renderer/imageformats.h
rename to src/libANGLE/renderer/imageformats.h
diff --git a/src/libGLESv2/renderer/loadimage.cpp b/src/libANGLE/renderer/loadimage.cpp
similarity index 99%
rename from src/libGLESv2/renderer/loadimage.cpp
rename to src/libANGLE/renderer/loadimage.cpp
index 1986191..5e01989 100644
--- a/src/libGLESv2/renderer/loadimage.cpp
+++ b/src/libANGLE/renderer/loadimage.cpp
@@ -6,7 +6,7 @@
 
 // loadimage.cpp: Defines image loading functions.
 
-#include "libGLESv2/renderer/loadimage.h"
+#include "libANGLE/renderer/loadimage.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/loadimage.h b/src/libANGLE/renderer/loadimage.h
similarity index 99%
rename from src/libGLESv2/renderer/loadimage.h
rename to src/libANGLE/renderer/loadimage.h
index bcdff24..a1b5a26 100644
--- a/src/libGLESv2/renderer/loadimage.h
+++ b/src/libANGLE/renderer/loadimage.h
@@ -9,7 +9,7 @@
 #ifndef LIBGLESV2_RENDERER_LOADIMAGE_H_
 #define LIBGLESV2_RENDERER_LOADIMAGE_H_
 
-#include "libGLESv2/angletypes.h"
+#include "libANGLE/angletypes.h"
 
 #include <cstdint>
 
diff --git a/src/libGLESv2/renderer/loadimage.inl b/src/libANGLE/renderer/loadimage.inl
similarity index 100%
rename from src/libGLESv2/renderer/loadimage.inl
rename to src/libANGLE/renderer/loadimage.inl
diff --git a/src/libGLESv2/renderer/loadimageSSE2.cpp b/src/libANGLE/renderer/loadimageSSE2.cpp
similarity index 98%
rename from src/libGLESv2/renderer/loadimageSSE2.cpp
rename to src/libANGLE/renderer/loadimageSSE2.cpp
index 159b4c7..3842bcf 100644
--- a/src/libGLESv2/renderer/loadimageSSE2.cpp
+++ b/src/libANGLE/renderer/loadimageSSE2.cpp
@@ -8,7 +8,7 @@
 // in a separated file for GCC, which can enable SSE usage only per-file,
 // not for code blocks that use SSE2 explicitly.
 
-#include "libGLESv2/renderer/loadimage.h"
+#include "libANGLE/renderer/loadimage.h"
 
 namespace rx
 {
diff --git a/src/libGLESv2/renderer/vertexconversion.h b/src/libANGLE/renderer/vertexconversion.h
similarity index 100%
rename from src/libGLESv2/renderer/vertexconversion.h
rename to src/libANGLE/renderer/vertexconversion.h
diff --git a/src/libGLESv2/validationES.cpp b/src/libANGLE/validationES.cpp
similarity index 98%
rename from src/libGLESv2/validationES.cpp
rename to src/libANGLE/validationES.cpp
index 6913f64..695f94f 100644
--- a/src/libGLESv2/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -6,25 +6,25 @@
 
 // validationES.h: Validation functions for generic OpenGL ES entry point parameters
 
-#include "libGLESv2/validationES.h"
-#include "libGLESv2/validationES2.h"
-#include "libGLESv2/validationES3.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/FramebufferAttachment.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Query.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/TransformFeedback.h"
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/renderer/BufferImpl.h"
+#include "libANGLE/validationES.h"
+#include "libANGLE/validationES2.h"
+#include "libANGLE/validationES3.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/FramebufferAttachment.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Query.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/TransformFeedback.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/renderer/BufferImpl.h"
 
 #include "common/mathutil.h"
 #include "common/utilities.h"
 
 // FIXME(jmadill): remove this when we support buffer data caching
-#include "libGLESv2/renderer/d3d/BufferD3D.h"
+#include "libANGLE/renderer/d3d/BufferD3D.h"
 
 namespace gl
 {
diff --git a/src/libGLESv2/validationES.h b/src/libANGLE/validationES.h
similarity index 100%
rename from src/libGLESv2/validationES.h
rename to src/libANGLE/validationES.h
diff --git a/src/libGLESv2/validationES2.cpp b/src/libANGLE/validationES2.cpp
similarity index 98%
rename from src/libGLESv2/validationES2.cpp
rename to src/libANGLE/validationES2.cpp
index 609115a..138eb9f 100644
--- a/src/libGLESv2/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -6,14 +6,14 @@
 
 // validationES2.cpp: Validation functions for OpenGL ES 2.0 entry point parameters
 
-#include "libGLESv2/validationES2.h"
-#include "libGLESv2/validationES.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/FramebufferAttachment.h"
+#include "libANGLE/validationES2.h"
+#include "libANGLE/validationES.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 #include "common/mathutil.h"
 #include "common/utilities.h"
diff --git a/src/libGLESv2/validationES2.h b/src/libANGLE/validationES2.h
similarity index 100%
rename from src/libGLESv2/validationES2.h
rename to src/libANGLE/validationES2.h
diff --git a/src/libGLESv2/validationES3.cpp b/src/libANGLE/validationES3.cpp
similarity index 99%
rename from src/libGLESv2/validationES3.cpp
rename to src/libANGLE/validationES3.cpp
index 91d9bd3..c9c9760 100644
--- a/src/libGLESv2/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -6,14 +6,14 @@
 
 // validationES3.cpp: Validation functions for OpenGL ES 3.0 entry point parameters
 
-#include "libGLESv2/validationES3.h"
-#include "libGLESv2/validationES.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/FramebufferAttachment.h"
+#include "libANGLE/validationES3.h"
+#include "libANGLE/validationES.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/formatutils.h"
+#include "libANGLE/FramebufferAttachment.h"
 
 #include "common/mathutil.h"
 
diff --git a/src/libGLESv2/validationES3.h b/src/libANGLE/validationES3.h
similarity index 100%
rename from src/libGLESv2/validationES3.h
rename to src/libANGLE/validationES3.h
diff --git a/src/libEGL.gypi b/src/libEGL.gypi
index a2f6b47..575864f 100644
--- a/src/libEGL.gypi
+++ b/src/libEGL.gypi
@@ -3,72 +3,6 @@
 # found in the LICENSE file.
 
 {
-    'variables':
-    {
-        # This file list is shared with the GN build.
-        'angle_libegl_sources':
-        [
-            '../include/EGL/egl.h',
-            '../include/EGL/eglext.h',
-            '../include/EGL/eglplatform.h',
-            '../include/GLES2/gl2.h',
-            '../include/GLES2/gl2ext.h',
-            '../include/GLES2/gl2platform.h',
-            '../include/GLES3/gl3.h',
-            '../include/GLES3/gl3ext.h',
-            '../include/GLES3/gl3platform.h',
-            '../include/GLSLANG/ShaderLang.h',
-            '../include/GLSLANG/ShaderVars.h',
-            '../include/KHR/khrplatform.h',
-            '../include/angle_gl.h',
-            'common/RefCountObject.cpp',
-            'common/RefCountObject.h',
-            'common/angleutils.cpp',
-            'common/angleutils.h',
-            'common/debug.cpp',
-            'common/debug.h',
-            'common/event_tracer.cpp',
-            'common/event_tracer.h',
-            'common/mathutil.cpp',
-            'common/mathutil.h',
-            'common/platform.h',
-            'common/NativeWindow.h',
-            'common/tls.cpp',
-            'common/tls.h',
-            'common/utilities.cpp',
-            'common/utilities.h',
-            'common/version.h',
-            'libEGL/AttributeMap.cpp',
-            'libEGL/AttributeMap.h',
-            'libEGL/Config.cpp',
-            'libEGL/Config.h',
-            'libEGL/Display.cpp',
-            'libEGL/Display.h',
-            'libEGL/Error.cpp',
-            'libEGL/Error.h',
-            'libEGL/Surface.cpp',
-            'libEGL/Surface.h',
-            'libEGL/libEGL.cpp',
-            'libEGL/libEGL.def',
-            'libEGL/libEGL.rc',
-            'libEGL/main.cpp',
-            'libEGL/main.h',
-            'libEGL/resource.h',
-        ],
-        'angle_libegl_win32_sources':
-        [
-            'common/win32/NativeWindow.cpp',
-        ],
-        'angle_libegl_winrt_sources':
-        [
-            'common/winrt/SwapChainPanelNativeWindow.cpp',
-            'common/winrt/SwapChainPanelNativeWindow.h',
-            'common/winrt/CoreWindowNativeWindow.cpp',
-            'common/winrt/CoreWindowNativeWindow.h',
-            'common/winrt/InspectableNativeWindow.cpp',
-            'common/winrt/InspectableNativeWindow.h',
-        ],
-    },
     # Everything below this is duplicated in the GN build. If you change
     # anything also change angle/BUILD.gn
     'conditions':
@@ -80,59 +14,31 @@
                 {
                     'target_name': 'libEGL',
                     'type': 'shared_library',
-                    'dependencies': [ 'libGLESv2', 'commit_id' ],
+                    'dependencies': [ 'libGLESv2', 'libANGLE', ],
+                    'includes': [ '../build/common_defines.gypi', ],
                     'include_dirs':
                     [
                         '.',
                         '../include',
+                        'libANGLE',
+                        'libEGL',
                         'libGLESv2',
                     ],
                     'sources':
                     [
-                        '<@(angle_libegl_sources)',
-                    ],
-                    'defines':
-                    [
-                        'GL_APICALL=',
-                        'GL_GLEXT_PROTOTYPES=',
-                        'EGLAPI=',
+                        'libEGL/libEGL.cpp',
+                        'libEGL/libEGL.def',
+                        'libEGL/libEGL.rc',
+                        'libEGL/main.cpp',
+                        'libEGL/main.h',
+                        'libEGL/resource.h',
                     ],
                     'conditions':
                     [
-                        ['angle_enable_d3d9==1',
-                        {
-                            'defines':
-                            [
-                                'ANGLE_ENABLE_D3D9',
-                            ],
-                        }],
-                        ['angle_enable_d3d11==1',
-                        {
-                            'defines':
-                            [
-                                'ANGLE_ENABLE_D3D11',
-                            ],
-                        }],
-                        ['angle_build_winrt==0',
-                        {
-                            'sources':
-                            [
-                                '<@(angle_libegl_win32_sources)',
-                            ],
-                        }],
-
                         ['angle_build_winrt==1',
                         {
-                            'defines':
-                            [
-                                'NTDDI_VERSION=NTDDI_WINBLUE',
-                            ],
-                            'sources':
-                            [
-                                '<@(angle_libegl_winrt_sources)',
-                            ],
                             'msvs_enable_winrt' : '1',
-                            'msvs_requires_importlibrary' : '1',
+                            'msvs_requires_importlibrary' : 'true',
                             'msvs_settings':
                             {
                                 'VCLinkerTool':
@@ -147,40 +53,6 @@
                             'msvs_enable_winphone' : '1',
                         }],
                     ],
-                    'includes': [ '../build/common_defines.gypi', ],
-                    'msvs_settings':
-                    {
-                        'VCLinkerTool':
-                        {
-                            'conditions':
-                            [
-                                ['angle_build_winrt==0',
-                                {
-                                    'AdditionalDependencies':
-                                    [
-                                        'd3d9.lib',
-                                    ],
-                                }],
-                                ['angle_build_winrt==1',
-                                {
-                                    'AdditionalDependencies':
-                                    [
-                                        'd3d11.lib',
-                                    ],
-                                }],
-                            ],
-                        },
-                    },
-                    'configurations':
-                    {
-                        'Debug_Base':
-                        {
-                            'defines':
-                            [
-                                'ANGLE_ENABLE_DEBUG_ANNOTATIONS',
-                            ],
-                        },
-                    },
                 },
             ],
         },
diff --git a/src/libEGL/Error.cpp b/src/libEGL/Error.cpp
deleted file mode 100644
index df5f163..0000000
--- a/src/libEGL/Error.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// Error.cpp: Implements the egl::Error class which encapsulates an EGL error
-// and optional error message.
-
-#include "libEGL/Error.h"
-
-#include "common/angleutils.h"
-
-#include <cstdarg>
-
-namespace egl
-{
-
-Error::Error(EGLint errorCode)
-    : mCode(errorCode),
-      mMessage()
-{
-}
-
-Error::Error(EGLint errorCode, const char *msg, ...)
-    : mCode(errorCode),
-    mMessage()
-{
-    va_list vararg;
-    va_start(vararg, msg);
-    mMessage = FormatString(msg, vararg);
-    va_end(vararg);
-}
-
-Error::Error(const Error &other)
-    : mCode(other.mCode),
-    mMessage(other.mMessage)
-{
-}
-
-Error &Error::operator=(const Error &other)
-{
-    mCode = other.mCode;
-    mMessage = other.mMessage;
-    return *this;
-}
-
-}
diff --git a/src/libEGL/Error.h b/src/libEGL/Error.h
deleted file mode 100644
index 71805d2..0000000
--- a/src/libEGL/Error.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Error.h: Defines the egl::Error class which encapsulates an EGL error
-// and optional error message.
-
-#ifndef LIBEGL_ERROR_H_
-#define LIBEGL_ERROR_H_
-
-#include <EGL/egl.h>
-
-#include <string>
-
-namespace egl
-{
-
-class Error
-{
-  public:
-    explicit Error(EGLint errorCode);
-    Error(EGLint errorCode, const char *msg, ...);
-    Error(const Error &other);
-    Error &operator=(const Error &other);
-
-    EGLint getCode() const { return mCode; }
-    bool isError() const { return (mCode != EGL_SUCCESS); }
-
-    const std::string &getMessage() const { return mMessage; }
-
-  private:
-    EGLint mCode;
-    std::string mMessage;
-};
-
-}
-
-#endif // LIBEGL_ERROR_H_
diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp
index 851b723..40f59d5 100644
--- a/src/libEGL/libEGL.cpp
+++ b/src/libEGL/libEGL.cpp
@@ -8,16 +8,18 @@
 
 #include <exception>
 
+#include "libEGL/main.h"
+
+#include "libGLESv2/main.h"
+
+#include "libANGLE/Context.h"
+#include "libANGLE/Display.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Surface.h"
+#include "libANGLE/renderer/SwapChain.h"
+
 #include "common/debug.h"
 #include "common/version.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/main.h"
-#include "libGLESv2/renderer/SwapChain.h"
-
-#include "libEGL/main.h"
-#include "libEGL/Display.h"
-#include "libEGL/Surface.h"
 
 #include "common/NativeWindow.h"
 
@@ -268,6 +270,11 @@
 
     egl::Display *display = static_cast<egl::Display*>(dpy);
 
+    if (display->isValidContext(glGetCurrentContext()))
+    {
+        glMakeCurrent(NULL, NULL, NULL);
+    }
+
     display->terminate();
 
     recordError(egl::Error(EGL_SUCCESS));
@@ -745,10 +752,19 @@
         return EGL_FALSE;
     }
 
-    if (!glBindTexImage(eglSurface))
+    gl::Context *context = glGetCurrentContext();
+    if (context)
     {
-        recordError(egl::Error(EGL_BAD_MATCH));
-        return EGL_FALSE;
+        gl::Texture2D *textureObject = context->getTexture2D();
+        ASSERT(textureObject != NULL);
+
+        if (textureObject->isImmutable())
+        {
+            recordError(egl::Error(EGL_BAD_MATCH));
+            return EGL_FALSE;
+        }
+
+        textureObject->bindTexImage(eglSurface);
     }
 
     recordError(egl::Error(EGL_SUCCESS));
@@ -938,6 +954,11 @@
         return EGL_FALSE;
     }
 
+    if (context == glGetCurrentContext())
+    {
+        glMakeCurrent(NULL, NULL, NULL);
+    }
+
     display->destroyContext(context);
 
     recordError(egl::Error(EGL_SUCCESS));
@@ -1196,6 +1217,40 @@
         { "eglQuerySurfacePointerANGLE", (__eglMustCastToProperFunctionPointerType)eglQuerySurfacePointerANGLE },
         { "eglPostSubBufferNV", (__eglMustCastToProperFunctionPointerType)eglPostSubBufferNV },
         { "eglGetPlatformDisplayEXT", (__eglMustCastToProperFunctionPointerType)eglGetPlatformDisplayEXT },
+        { "glTexImage3DOES", (__eglMustCastToProperFunctionPointerType)glTexImage3DOES },
+        { "glBlitFramebufferANGLE", (__eglMustCastToProperFunctionPointerType)glBlitFramebufferANGLE },
+        { "glRenderbufferStorageMultisampleANGLE", (__eglMustCastToProperFunctionPointerType)glRenderbufferStorageMultisampleANGLE },
+        { "glDeleteFencesNV", (__eglMustCastToProperFunctionPointerType)glDeleteFencesNV },
+        { "glGenFencesNV", (__eglMustCastToProperFunctionPointerType)glGenFencesNV },
+        { "glIsFenceNV", (__eglMustCastToProperFunctionPointerType)glIsFenceNV },
+        { "glTestFenceNV", (__eglMustCastToProperFunctionPointerType)glTestFenceNV },
+        { "glGetFenceivNV", (__eglMustCastToProperFunctionPointerType)glGetFenceivNV },
+        { "glFinishFenceNV", (__eglMustCastToProperFunctionPointerType)glFinishFenceNV },
+        { "glSetFenceNV", (__eglMustCastToProperFunctionPointerType)glSetFenceNV },
+        { "glGetTranslatedShaderSourceANGLE", (__eglMustCastToProperFunctionPointerType)glGetTranslatedShaderSourceANGLE },
+        { "glTexStorage2DEXT", (__eglMustCastToProperFunctionPointerType)glTexStorage2DEXT },
+        { "glGetGraphicsResetStatusEXT", (__eglMustCastToProperFunctionPointerType)glGetGraphicsResetStatusEXT },
+        { "glReadnPixelsEXT", (__eglMustCastToProperFunctionPointerType)glReadnPixelsEXT },
+        { "glGetnUniformfvEXT", (__eglMustCastToProperFunctionPointerType)glGetnUniformfvEXT },
+        { "glGetnUniformivEXT", (__eglMustCastToProperFunctionPointerType)glGetnUniformivEXT },
+        { "glGenQueriesEXT", (__eglMustCastToProperFunctionPointerType)glGenQueriesEXT },
+        { "glDeleteQueriesEXT", (__eglMustCastToProperFunctionPointerType)glDeleteQueriesEXT },
+        { "glIsQueryEXT", (__eglMustCastToProperFunctionPointerType)glIsQueryEXT },
+        { "glBeginQueryEXT", (__eglMustCastToProperFunctionPointerType)glBeginQueryEXT },
+        { "glEndQueryEXT", (__eglMustCastToProperFunctionPointerType)glEndQueryEXT },
+        { "glGetQueryivEXT", (__eglMustCastToProperFunctionPointerType)glGetQueryivEXT },
+        { "glGetQueryObjectuivEXT", (__eglMustCastToProperFunctionPointerType)glGetQueryObjectuivEXT },
+        { "glDrawBuffersEXT", (__eglMustCastToProperFunctionPointerType)glDrawBuffersEXT },
+        { "glVertexAttribDivisorANGLE", (__eglMustCastToProperFunctionPointerType)glVertexAttribDivisorANGLE },
+        { "glDrawArraysInstancedANGLE", (__eglMustCastToProperFunctionPointerType)glDrawArraysInstancedANGLE },
+        { "glDrawElementsInstancedANGLE", (__eglMustCastToProperFunctionPointerType)glDrawElementsInstancedANGLE },
+        { "glGetProgramBinaryOES", (__eglMustCastToProperFunctionPointerType)glGetProgramBinaryOES },
+        { "glProgramBinaryOES", (__eglMustCastToProperFunctionPointerType)glProgramBinaryOES },
+        { "glGetBufferPointervOES", (__eglMustCastToProperFunctionPointerType)glGetBufferPointervOES },
+        { "glMapBufferOES", (__eglMustCastToProperFunctionPointerType)glMapBufferOES },
+        { "glUnmapBufferOES", (__eglMustCastToProperFunctionPointerType)glUnmapBufferOES },
+        { "glMapBufferRangeEXT", (__eglMustCastToProperFunctionPointerType)glMapBufferRangeEXT },
+        { "glFlushMappedBufferRangeEXT", (__eglMustCastToProperFunctionPointerType)glFlushMappedBufferRangeEXT },
         { "", NULL },
     };
 
@@ -1207,6 +1262,6 @@
         }
     }
 
-    return glGetProcAddress(procname);
+    return NULL;
 }
 }
diff --git a/src/libEGL/main.cpp b/src/libEGL/main.cpp
index d1489f2..24cebf6 100644
--- a/src/libEGL/main.cpp
+++ b/src/libEGL/main.cpp
@@ -16,6 +16,15 @@
 namespace egl
 {
 
+struct Current
+{
+    EGLint error;
+    EGLenum API;
+    EGLDisplay display;
+    EGLSurface drawSurface;
+    EGLSurface readSurface;
+};
+
 Current *AllocateCurrent()
 {
     ASSERT(currentTLS != TLS_OUT_OF_INDEXES);
diff --git a/src/libEGL/main.h b/src/libEGL/main.h
index e5361a4..281e307 100644
--- a/src/libEGL/main.h
+++ b/src/libEGL/main.h
@@ -9,21 +9,13 @@
 #ifndef LIBEGL_MAIN_H_
 #define LIBEGL_MAIN_H_
 
-#include "libEGL/Error.h"
+#include "libANGLE/Error.h"
 
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 
 namespace egl
 {
-struct Current
-{
-    EGLint error;
-    EGLenum API;
-    EGLDisplay display;
-    EGLSurface drawSurface;
-    EGLSurface readSurface;
-};
 
 void recordError(const Error &error);
 EGLint getCurrentError();
diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi
index cb6ac94..78f5adc 100644
--- a/src/libGLESv2.gypi
+++ b/src/libGLESv2.gypi
@@ -41,106 +41,111 @@
             'common/utilities.cpp',
             'common/utilities.h',
             'common/version.h',
-            'libGLESv2/BinaryStream.h',
-            'libGLESv2/Buffer.cpp',
-            'libGLESv2/Buffer.h',
-            'libGLESv2/Caps.cpp',
-            'libGLESv2/Caps.h',
-            'libGLESv2/Constants.h',
-            'libGLESv2/Context.cpp',
-            'libGLESv2/Context.h',
-            'libGLESv2/Data.cpp',
-            'libGLESv2/Data.h',
-            'libGLESv2/Error.cpp',
-            'libGLESv2/Error.h',
-            'libGLESv2/Fence.cpp',
-            'libGLESv2/Fence.h',
-            'libGLESv2/Float16ToFloat32.cpp',
-            'libGLESv2/Framebuffer.cpp',
-            'libGLESv2/Framebuffer.h',
-            'libGLESv2/FramebufferAttachment.cpp',
-            'libGLESv2/FramebufferAttachment.h',
-            'libGLESv2/HandleAllocator.cpp',
-            'libGLESv2/HandleAllocator.h',
-            'libGLESv2/ImageIndex.h',
-            'libGLESv2/ImageIndex.cpp',
-            'libGLESv2/Program.cpp',
-            'libGLESv2/Program.h',
-            'libGLESv2/ProgramBinary.cpp',
-            'libGLESv2/ProgramBinary.h',
-            'libGLESv2/Query.cpp',
-            'libGLESv2/Query.h',
-            'libGLESv2/Renderbuffer.cpp',
-            'libGLESv2/Renderbuffer.h',
-            'libGLESv2/ResourceManager.cpp',
-            'libGLESv2/ResourceManager.h',
-            'libGLESv2/Sampler.cpp',
-            'libGLESv2/Sampler.h',
-            'libGLESv2/Shader.cpp',
-            'libGLESv2/Shader.h',
-            'libGLESv2/State.cpp',
-            'libGLESv2/State.h',
-            'libGLESv2/Texture.cpp',
-            'libGLESv2/Texture.h',
-            'libGLESv2/TransformFeedback.cpp',
-            'libGLESv2/TransformFeedback.h',
-            'libGLESv2/Uniform.cpp',
-            'libGLESv2/Uniform.h',
-            'libGLESv2/VertexArray.cpp',
-            'libGLESv2/VertexArray.h',
-            'libGLESv2/VertexAttribute.cpp',
-            'libGLESv2/VertexAttribute.h',
-            'libGLESv2/angletypes.cpp',
-            'libGLESv2/angletypes.h',
-            'libGLESv2/formatutils.cpp',
-            'libGLESv2/formatutils.h',
-            'libGLESv2/main.cpp',
-            'libGLESv2/main.h',
-            'libGLESv2/queryconversions.cpp',
-            'libGLESv2/queryconversions.h',
-            'libGLESv2/renderer/BufferImpl.h',
-            'libGLESv2/renderer/FenceImpl.h',
-            'libGLESv2/renderer/FramebufferImpl.h',
-            'libGLESv2/renderer/Image.cpp',
-            'libGLESv2/renderer/Image.h',
-            'libGLESv2/renderer/IndexRangeCache.cpp',
-            'libGLESv2/renderer/IndexRangeCache.h',
-            'libGLESv2/renderer/ProgramImpl.cpp',
-            'libGLESv2/renderer/ProgramImpl.h',
-            'libGLESv2/renderer/QueryImpl.h',
-            'libGLESv2/renderer/RenderbufferImpl.h',
-            'libGLESv2/renderer/RenderbufferImpl.cpp',
-            'libGLESv2/renderer/Renderer.cpp',
-            'libGLESv2/renderer/Renderer.h',
-            'libGLESv2/renderer/RenderTarget.h',
-            'libGLESv2/renderer/RenderTarget.cpp',
-            'libGLESv2/renderer/ShaderExecutable.h',
-            'libGLESv2/renderer/ShaderImpl.h',
-            'libGLESv2/renderer/SwapChain.h',
-            'libGLESv2/renderer/TextureImpl.h',
-            'libGLESv2/renderer/TransformFeedbackImpl.h',
-            'libGLESv2/renderer/VertexArrayImpl.h',
-            'libGLESv2/renderer/Workarounds.h',
-            'libGLESv2/renderer/copyimage.cpp',
-            'libGLESv2/renderer/copyimage.h',
-            'libGLESv2/renderer/copyimage.inl',
-            'libGLESv2/renderer/copyvertex.h',
-            'libGLESv2/renderer/copyvertex.inl',
-            'libGLESv2/renderer/generatemip.h',
-            'libGLESv2/renderer/generatemip.inl',
-            'libGLESv2/renderer/imageformats.h',
-            'libGLESv2/renderer/loadimage.cpp',
-            'libGLESv2/renderer/loadimage.h',
-            'libGLESv2/renderer/loadimage.inl',
-            'libGLESv2/renderer/loadimageSSE2.cpp',
-            'libGLESv2/renderer/vertexconversion.h',
-            'libGLESv2/resource.h',
-            'libGLESv2/validationES.cpp',
-            'libGLESv2/validationES.h',
-            'libGLESv2/validationES2.cpp',
-            'libGLESv2/validationES2.h',
-            'libGLESv2/validationES3.cpp',
-            'libGLESv2/validationES3.h',
+            'libANGLE/AttributeMap.cpp',
+            'libANGLE/AttributeMap.h',
+            'libANGLE/BinaryStream.h',
+            'libANGLE/Buffer.cpp',
+            'libANGLE/Buffer.h',
+            'libANGLE/Caps.cpp',
+            'libANGLE/Caps.h',
+            'libANGLE/Config.cpp',
+            'libANGLE/Config.h',
+            'libANGLE/Constants.h',
+            'libANGLE/Context.cpp',
+            'libANGLE/Context.h',
+            'libANGLE/Data.cpp',
+            'libANGLE/Data.h',
+            'libANGLE/Display.cpp',
+            'libANGLE/Display.h',
+            'libANGLE/Error.cpp',
+            'libANGLE/Error.h',
+            'libANGLE/Fence.cpp',
+            'libANGLE/Fence.h',
+            'libANGLE/Float16ToFloat32.cpp',
+            'libANGLE/Framebuffer.cpp',
+            'libANGLE/Framebuffer.h',
+            'libANGLE/FramebufferAttachment.cpp',
+            'libANGLE/FramebufferAttachment.h',
+            'libANGLE/HandleAllocator.cpp',
+            'libANGLE/HandleAllocator.h',
+            'libANGLE/ImageIndex.h',
+            'libANGLE/ImageIndex.cpp',
+            'libANGLE/Program.cpp',
+            'libANGLE/Program.h',
+            'libANGLE/ProgramBinary.cpp',
+            'libANGLE/ProgramBinary.h',
+            'libANGLE/Query.cpp',
+            'libANGLE/Query.h',
+            'libANGLE/Renderbuffer.cpp',
+            'libANGLE/Renderbuffer.h',
+            'libANGLE/ResourceManager.cpp',
+            'libANGLE/ResourceManager.h',
+            'libANGLE/Sampler.cpp',
+            'libANGLE/Sampler.h',
+            'libANGLE/Shader.cpp',
+            'libANGLE/Shader.h',
+            'libANGLE/State.cpp',
+            'libANGLE/State.h',
+            'libANGLE/Surface.cpp',
+            'libANGLE/Surface.h',
+            'libANGLE/Texture.cpp',
+            'libANGLE/Texture.h',
+            'libANGLE/TransformFeedback.cpp',
+            'libANGLE/TransformFeedback.h',
+            'libANGLE/Uniform.cpp',
+            'libANGLE/Uniform.h',
+            'libANGLE/VertexArray.cpp',
+            'libANGLE/VertexArray.h',
+            'libANGLE/VertexAttribute.cpp',
+            'libANGLE/VertexAttribute.h',
+            'libANGLE/angletypes.cpp',
+            'libANGLE/angletypes.h',
+            'libANGLE/formatutils.cpp',
+            'libANGLE/formatutils.h',
+            'libANGLE/queryconversions.cpp',
+            'libANGLE/queryconversions.h',
+            'libANGLE/renderer/BufferImpl.h',
+            'libANGLE/renderer/FenceImpl.h',
+            'libANGLE/renderer/FramebufferImpl.h',
+            'libANGLE/renderer/Image.cpp',
+            'libANGLE/renderer/Image.h',
+            'libANGLE/renderer/IndexRangeCache.cpp',
+            'libANGLE/renderer/IndexRangeCache.h',
+            'libANGLE/renderer/ProgramImpl.cpp',
+            'libANGLE/renderer/ProgramImpl.h',
+            'libANGLE/renderer/QueryImpl.h',
+            'libANGLE/renderer/RenderbufferImpl.h',
+            'libANGLE/renderer/RenderbufferImpl.cpp',
+            'libANGLE/renderer/Renderer.cpp',
+            'libANGLE/renderer/Renderer.h',
+            'libANGLE/renderer/RenderTarget.h',
+            'libANGLE/renderer/RenderTarget.cpp',
+            'libANGLE/renderer/ShaderExecutable.h',
+            'libANGLE/renderer/ShaderImpl.h',
+            'libANGLE/renderer/SwapChain.h',
+            'libANGLE/renderer/TextureImpl.h',
+            'libANGLE/renderer/TransformFeedbackImpl.h',
+            'libANGLE/renderer/VertexArrayImpl.h',
+            'libANGLE/renderer/Workarounds.h',
+            'libANGLE/renderer/copyimage.cpp',
+            'libANGLE/renderer/copyimage.h',
+            'libANGLE/renderer/copyimage.inl',
+            'libANGLE/renderer/copyvertex.h',
+            'libANGLE/renderer/copyvertex.inl',
+            'libANGLE/renderer/generatemip.h',
+            'libANGLE/renderer/generatemip.inl',
+            'libANGLE/renderer/imageformats.h',
+            'libANGLE/renderer/loadimage.cpp',
+            'libANGLE/renderer/loadimage.h',
+            'libANGLE/renderer/loadimage.inl',
+            'libANGLE/renderer/loadimageSSE2.cpp',
+            'libANGLE/renderer/vertexconversion.h',
+            'libANGLE/validationES.cpp',
+            'libANGLE/validationES.h',
+            'libANGLE/validationES2.cpp',
+            'libANGLE/validationES2.h',
+            'libANGLE/validationES3.cpp',
+            'libANGLE/validationES3.h',
             'third_party/murmurhash/MurmurHash3.cpp',
             'third_party/murmurhash/MurmurHash3.h',
             'third_party/systeminfo/SystemInfo.cpp',
@@ -162,173 +167,174 @@
         ],
         'angle_d3d_shared_sources':
         [
-            'libGLESv2/renderer/d3d/BufferD3D.cpp',
-            'libGLESv2/renderer/d3d/BufferD3D.h',
-            'libGLESv2/renderer/d3d/DynamicHLSL.cpp',
-            'libGLESv2/renderer/d3d/DynamicHLSL.h',
-            'libGLESv2/renderer/d3d/FramebufferD3D.cpp',
-            'libGLESv2/renderer/d3d/FramebufferD3D.h',
-            'libGLESv2/renderer/d3d/HLSLCompiler.cpp',
-            'libGLESv2/renderer/d3d/HLSLCompiler.h',
-            'libGLESv2/renderer/d3d/ImageD3D.cpp',
-            'libGLESv2/renderer/d3d/ImageD3D.h',
-            'libGLESv2/renderer/d3d/IndexBuffer.cpp',
-            'libGLESv2/renderer/d3d/IndexBuffer.h',
-            'libGLESv2/renderer/d3d/IndexDataManager.cpp',
-            'libGLESv2/renderer/d3d/IndexDataManager.h',
-            'libGLESv2/renderer/d3d/MemoryBuffer.cpp',
-            'libGLESv2/renderer/d3d/MemoryBuffer.h',
-            'libGLESv2/renderer/d3d/ProgramD3D.cpp',
-            'libGLESv2/renderer/d3d/ProgramD3D.h',
-            'libGLESv2/renderer/d3d/RenderbufferD3D.cpp',
-            'libGLESv2/renderer/d3d/RenderbufferD3D.h',
-            'libGLESv2/renderer/d3d/RendererD3D.cpp',
-            'libGLESv2/renderer/d3d/RendererD3D.h',
-            'libGLESv2/renderer/d3d/ShaderD3D.cpp',
-            'libGLESv2/renderer/d3d/ShaderD3D.h',
-            'libGLESv2/renderer/d3d/TextureD3D.cpp',
-            'libGLESv2/renderer/d3d/TextureD3D.h',
-            'libGLESv2/renderer/d3d/TextureStorage.cpp',
-            'libGLESv2/renderer/d3d/TextureStorage.h',
-            'libGLESv2/renderer/d3d/TransformFeedbackD3D.cpp',
-            'libGLESv2/renderer/d3d/TransformFeedbackD3D.h',
-            'libGLESv2/renderer/d3d/VertexBuffer.cpp',
-            'libGLESv2/renderer/d3d/VertexBuffer.h',
-            'libGLESv2/renderer/d3d/VertexDataManager.cpp',
-            'libGLESv2/renderer/d3d/VertexDataManager.h',
+            'libANGLE/renderer/d3d/BufferD3D.cpp',
+            'libANGLE/renderer/d3d/BufferD3D.h',
+            'libANGLE/renderer/d3d/DynamicHLSL.cpp',
+            'libANGLE/renderer/d3d/DynamicHLSL.h',
+            'libANGLE/renderer/d3d/FramebufferD3D.cpp',
+            'libANGLE/renderer/d3d/FramebufferD3D.h',
+            'libANGLE/renderer/d3d/HLSLCompiler.cpp',
+            'libANGLE/renderer/d3d/HLSLCompiler.h',
+            'libANGLE/renderer/d3d/ImageD3D.cpp',
+            'libANGLE/renderer/d3d/ImageD3D.h',
+            'libANGLE/renderer/d3d/IndexBuffer.cpp',
+            'libANGLE/renderer/d3d/IndexBuffer.h',
+            'libANGLE/renderer/d3d/IndexDataManager.cpp',
+            'libANGLE/renderer/d3d/IndexDataManager.h',
+            'libANGLE/renderer/d3d/MemoryBuffer.cpp',
+            'libANGLE/renderer/d3d/MemoryBuffer.h',
+            'libANGLE/renderer/d3d/ProgramD3D.cpp',
+            'libANGLE/renderer/d3d/ProgramD3D.h',
+            'libANGLE/renderer/d3d/RenderbufferD3D.cpp',
+            'libANGLE/renderer/d3d/RenderbufferD3D.h',
+            'libANGLE/renderer/d3d/RendererD3D.cpp',
+            'libANGLE/renderer/d3d/RendererD3D.h',
+            'libANGLE/renderer/d3d/ShaderD3D.cpp',
+            'libANGLE/renderer/d3d/ShaderD3D.h',
+            'libANGLE/renderer/d3d/TextureD3D.cpp',
+            'libANGLE/renderer/d3d/TextureD3D.h',
+            'libANGLE/renderer/d3d/TextureStorage.cpp',
+            'libANGLE/renderer/d3d/TextureStorage.h',
+            'libANGLE/renderer/d3d/TransformFeedbackD3D.cpp',
+            'libANGLE/renderer/d3d/TransformFeedbackD3D.h',
+            'libANGLE/renderer/d3d/VertexBuffer.cpp',
+            'libANGLE/renderer/d3d/VertexBuffer.h',
+            'libANGLE/renderer/d3d/VertexDataManager.cpp',
+            'libANGLE/renderer/d3d/VertexDataManager.h',
         ],
         'angle_d3d9_sources':
         [
-            'libGLESv2/renderer/d3d/d3d9/Blit9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Blit9.h',
-            'libGLESv2/renderer/d3d/d3d9/Buffer9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Buffer9.h',
-            'libGLESv2/renderer/d3d/d3d9/Fence9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Fence9.h',
-            'libGLESv2/renderer/d3d/d3d9/formatutils9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/formatutils9.h',
-            'libGLESv2/renderer/d3d/d3d9/Image9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Image9.h',
-            'libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h',
-            'libGLESv2/renderer/d3d/d3d9/Query9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Query9.h',
-            'libGLESv2/renderer/d3d/d3d9/Renderer9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/Renderer9.h',
-            'libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp',
-            'libGLESv2/renderer/d3d/d3d9/renderer9_utils.h',
-            'libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/RenderTarget9.h',
-            'libGLESv2/renderer/d3d/d3d9/ShaderCache.h',
-            'libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h',
-            'libGLESv2/renderer/d3d/d3d9/shaders/compiled/flipyvs.h',
-            'libGLESv2/renderer/d3d/d3d9/shaders/compiled/luminanceps.h',
-            'libGLESv2/renderer/d3d/d3d9/shaders/compiled/passthroughps.h',
-            'libGLESv2/renderer/d3d/d3d9/shaders/compiled/standardvs.h',
-            'libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/SwapChain9.h',
-            'libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/TextureStorage9.h',
-            'libGLESv2/renderer/d3d/d3d9/VertexArray9.h',
-            'libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp',
-            'libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h',
-            'libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp',
-            'libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.h',
+            'libANGLE/renderer/d3d/d3d9/Blit9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Blit9.h',
+            'libANGLE/renderer/d3d/d3d9/Buffer9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Buffer9.h',
+            'libANGLE/renderer/d3d/d3d9/Fence9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Fence9.h',
+            'libANGLE/renderer/d3d/d3d9/formatutils9.cpp',
+            'libANGLE/renderer/d3d/d3d9/formatutils9.h',
+            'libANGLE/renderer/d3d/d3d9/Image9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Image9.h',
+            'libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp',
+            'libANGLE/renderer/d3d/d3d9/IndexBuffer9.h',
+            'libANGLE/renderer/d3d/d3d9/Query9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Query9.h',
+            'libANGLE/renderer/d3d/d3d9/Renderer9.cpp',
+            'libANGLE/renderer/d3d/d3d9/Renderer9.h',
+            'libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp',
+            'libANGLE/renderer/d3d/d3d9/renderer9_utils.h',
+            'libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp',
+            'libANGLE/renderer/d3d/d3d9/RenderTarget9.h',
+            'libANGLE/renderer/d3d/d3d9/ShaderCache.h',
+            'libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp',
+            'libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h',
+            'libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h',
+            'libANGLE/renderer/d3d/d3d9/shaders/compiled/flipyvs.h',
+            'libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h',
+            'libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h',
+            'libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h',
+            'libANGLE/renderer/d3d/d3d9/SwapChain9.cpp',
+            'libANGLE/renderer/d3d/d3d9/SwapChain9.h',
+            'libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp',
+            'libANGLE/renderer/d3d/d3d9/TextureStorage9.h',
+            'libANGLE/renderer/d3d/d3d9/VertexArray9.h',
+            'libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp',
+            'libANGLE/renderer/d3d/d3d9/VertexBuffer9.h',
+            'libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp',
+            'libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h',
         ],
         'angle_d3d11_sources':
         [
-            'libGLESv2/renderer/d3d/d3d11/Blit11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Blit11.h',
-            'libGLESv2/renderer/d3d/d3d11/Buffer11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Buffer11.h',
-            'libGLESv2/renderer/d3d/d3d11/Clear11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Clear11.h',
-            'libGLESv2/renderer/d3d/d3d11/Fence11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Fence11.h',
-            'libGLESv2/renderer/d3d/d3d11/formatutils11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/formatutils11.h',
-            'libGLESv2/renderer/d3d/d3d11/Image11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Image11.h',
-            'libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h',
-            'libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp',
-            'libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h',
-            'libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h',
-            'libGLESv2/renderer/d3d/d3d11/Query11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Query11.h',
-            'libGLESv2/renderer/d3d/d3d11/Renderer11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Renderer11.h',
-            'libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp',
-            'libGLESv2/renderer/d3d/d3d11/renderer11_utils.h',
-            'libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp',
-            'libGLESv2/renderer/d3d/d3d11/RenderStateCache.h',
-            'libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/RenderTarget11.h',
-            'libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h',
-            'libGLESv2/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h',
-            'libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/SwapChain11.h',
-            'libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/TextureStorage11.h',
-            'libGLESv2/renderer/d3d/d3d11/Trim11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/Trim11.h',
-            'libGLESv2/renderer/d3d/d3d11/VertexArray11.h',
-            'libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp',
-            'libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h',
+            'libANGLE/renderer/d3d/d3d11/Blit11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Blit11.h',
+            'libANGLE/renderer/d3d/d3d11/Buffer11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Buffer11.h',
+            'libANGLE/renderer/d3d/d3d11/Clear11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Clear11.h',
+            'libANGLE/renderer/d3d/d3d11/Fence11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Fence11.h',
+            'libANGLE/renderer/d3d/d3d11/formatutils11.cpp',
+            'libANGLE/renderer/d3d/d3d11/formatutils11.h',
+            'libANGLE/renderer/d3d/d3d11/Image11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Image11.h',
+            'libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp',
+            'libANGLE/renderer/d3d/d3d11/IndexBuffer11.h',
+            'libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp',
+            'libANGLE/renderer/d3d/d3d11/InputLayoutCache.h',
+            'libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp',
+            'libANGLE/renderer/d3d/d3d11/PixelTransfer11.h',
+            'libANGLE/renderer/d3d/d3d11/Query11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Query11.h',
+            'libANGLE/renderer/d3d/d3d11/Renderer11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Renderer11.h',
+            'libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp',
+            'libANGLE/renderer/d3d/d3d11/renderer11_utils.h',
+            'libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp',
+            'libANGLE/renderer/d3d/d3d11/RenderStateCache.h',
+            'libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp',
+            'libANGLE/renderer/d3d/d3d11/RenderTarget11.h',
+            'libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp',
+            'libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h',
+            'libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h',
+            'libANGLE/renderer/d3d/d3d11/SwapChain11.cpp',
+            'libANGLE/renderer/d3d/d3d11/SwapChain11.h',
+            'libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp',
+            'libANGLE/renderer/d3d/d3d11/TextureStorage11.h',
+            'libANGLE/renderer/d3d/d3d11/Trim11.cpp',
+            'libANGLE/renderer/d3d/d3d11/Trim11.h',
+            'libANGLE/renderer/d3d/d3d11/VertexArray11.h',
+            'libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp',
+            'libANGLE/renderer/d3d/d3d11/VertexBuffer11.h',
         ]
     },
     # Everything below this is duplicated in the GN build. If you change
@@ -346,7 +352,7 @@
             [
                 '.',
                 '../include',
-                'libGLESv2',
+                'libANGLE',
             ],
             'sources':
             [
@@ -365,7 +371,7 @@
                 [
                     '.',
                     '../include',
-                    'libGLESv2',
+                    'libANGLE',
                 ],
                 'defines':
                 [
@@ -374,6 +380,33 @@
                     'EGLAPI=',
                     'ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" }',
                 ],
+                'configurations':
+                {
+                    'Debug_Base':
+                    {
+                        'defines':
+                        [
+                            'ANGLE_ENABLE_DEBUG_ANNOTATIONS',
+                        ],
+                    },
+                },
+                'conditions':
+                [
+                    ['angle_enable_d3d9==1',
+                    {
+                        'defines':
+                        [
+                            'ANGLE_ENABLE_D3D9',
+                        ],
+                    }],
+                    ['angle_enable_d3d11==1',
+                    {
+                        'defines':
+                        [
+                            'ANGLE_ENABLE_D3D11',
+                        ],
+                    }],
+                ],
             },
             'conditions':
             [
@@ -516,6 +549,9 @@
                 'libGLESv2/libGLESv2.cpp',
                 'libGLESv2/libGLESv2.def',
                 'libGLESv2/libGLESv2.rc',
+                'libGLESv2/main.cpp',
+                'libGLESv2/main.h',
+                'libGLESv2/resource.h',
             ],
             'conditions':
             [
@@ -537,23 +573,13 @@
                     'msvs_enable_winphone' : '1',
                 }],
             ],
-            'configurations':
-            {
-                'Debug_Base':
-                {
-                    'defines':
-                    [
-                        'ANGLE_ENABLE_DEBUG_ANNOTATIONS',
-                    ],
-                },
-            },
         },
         {
             'target_name': 'libGLESv2_static',
             'type': 'static_library',
             # make sure we depend on commit_id as a hard dependency, otherwise
             # we will try to build the static_lib in parallel
-            'dependencies': [ 'libANGLE', 'commit_id' ],
+            'dependencies': [ 'libANGLE', ],
             'includes': [ '../build/common_defines.gypi', ],
             'sources':
             [
@@ -573,7 +599,7 @@
                             'EnableCOMDATFolding': '1',
                             'OptimizeReferences': '1',
                         }
-            },
+                    },
                 }],
                 ['angle_build_winphone==1',
                 {
diff --git a/src/libGLESv2/Error.cpp b/src/libGLESv2/Error.cpp
deleted file mode 100644
index cc7d17e..0000000
--- a/src/libGLESv2/Error.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// Error.cpp: Implements the gl::Error class which encapsulates an OpenGL error
-// and optional error message.
-
-#include "libGLESv2/Error.h"
-
-#include "common/angleutils.h"
-
-#include <cstdarg>
-
-namespace gl
-{
-
-Error::Error(GLenum errorCode)
-    : mCode(errorCode),
-      mMessage()
-{
-}
-
-Error::Error(GLenum errorCode, const char *msg, ...)
-    : mCode(errorCode),
-      mMessage()
-{
-    va_list vararg;
-    va_start(vararg, msg);
-    mMessage = FormatString(msg, vararg);
-    va_end(vararg);
-}
-
-Error::Error(const Error &other)
-    : mCode(other.mCode),
-      mMessage(other.mMessage)
-{
-}
-
-Error &Error::operator=(const Error &other)
-{
-    mCode = other.mCode;
-    mMessage = other.mMessage;
-    return *this;
-}
-
-}
diff --git a/src/libGLESv2/Error.h b/src/libGLESv2/Error.h
deleted file mode 100644
index b70b5a5..0000000
--- a/src/libGLESv2/Error.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Error.h: Defines the gl::Error class which encapsulates an OpenGL error
-// and optional error message.
-
-#ifndef LIBGLESV2_ERROR_H_
-#define LIBGLESV2_ERROR_H_
-
-#include "angle_gl.h"
-
-#include <string>
-
-namespace gl
-{
-
-class Error
-{
-  public:
-    explicit Error(GLenum errorCode);
-    Error(GLenum errorCode, const char *msg, ...);
-    Error(const Error &other);
-    Error &operator=(const Error &other);
-
-    GLenum getCode() const { return mCode; }
-    bool isError() const { return (mCode != GL_NO_ERROR); }
-
-    const std::string &getMessage() const { return mMessage; }
-
-  private:
-    GLenum mCode;
-    std::string mMessage;
-};
-
-}
-
-#endif // LIBGLESV2_ERROR_H_
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index c059268..0c243bc 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -6,30 +6,31 @@
 
 // libGLESv2.cpp: Implements the exported OpenGL ES 2.0 functions.
 
+#include "libGLESv2/main.h"
+
+#include "libANGLE/formatutils.h"
+#include "libANGLE/Buffer.h"
+#include "libANGLE/Fence.h"
+#include "libANGLE/Framebuffer.h"
+#include "libANGLE/Renderbuffer.h"
+#include "libANGLE/Program.h"
+#include "libANGLE/ProgramBinary.h"
+#include "libANGLE/Texture.h"
+#include "libANGLE/Query.h"
+#include "libANGLE/Context.h"
+#include "libANGLE/VertexArray.h"
+#include "libANGLE/VertexAttribute.h"
+#include "libANGLE/TransformFeedback.h"
+#include "libANGLE/FramebufferAttachment.h"
+
+#include "libANGLE/validationES.h"
+#include "libANGLE/validationES2.h"
+#include "libANGLE/validationES3.h"
+#include "libANGLE/queryconversions.h"
+
 #include "common/version.h"
 #include "common/utilities.h"
 
-#include "libGLESv2/main.h"
-#include "libGLESv2/formatutils.h"
-#include "libGLESv2/Buffer.h"
-#include "libGLESv2/Fence.h"
-#include "libGLESv2/Framebuffer.h"
-#include "libGLESv2/Renderbuffer.h"
-#include "libGLESv2/Program.h"
-#include "libGLESv2/ProgramBinary.h"
-#include "libGLESv2/Texture.h"
-#include "libGLESv2/Query.h"
-#include "libGLESv2/Context.h"
-#include "libGLESv2/VertexArray.h"
-#include "libGLESv2/VertexAttribute.h"
-#include "libGLESv2/TransformFeedback.h"
-#include "libGLESv2/FramebufferAttachment.h"
-
-#include "libGLESv2/validationES.h"
-#include "libGLESv2/validationES2.h"
-#include "libGLESv2/validationES3.h"
-#include "libGLESv2/queryconversions.h"
-
 extern "C"
 {
 
@@ -8860,84 +8861,4 @@
     }
 }
 
-__eglMustCastToProperFunctionPointerType EGLAPIENTRY glGetProcAddress(const char *procname)
-{
-    struct Extension
-    {
-        const char *name;
-        __eglMustCastToProperFunctionPointerType address;
-    };
-
-    static const Extension glExtensions[] =
-    {
-        {"glTexImage3DOES", (__eglMustCastToProperFunctionPointerType)glTexImage3DOES},
-        {"glBlitFramebufferANGLE", (__eglMustCastToProperFunctionPointerType)glBlitFramebufferANGLE},
-        {"glRenderbufferStorageMultisampleANGLE", (__eglMustCastToProperFunctionPointerType)glRenderbufferStorageMultisampleANGLE},
-        {"glDeleteFencesNV", (__eglMustCastToProperFunctionPointerType)glDeleteFencesNV},
-        {"glGenFencesNV", (__eglMustCastToProperFunctionPointerType)glGenFencesNV},
-        {"glIsFenceNV", (__eglMustCastToProperFunctionPointerType)glIsFenceNV},
-        {"glTestFenceNV", (__eglMustCastToProperFunctionPointerType)glTestFenceNV},
-        {"glGetFenceivNV", (__eglMustCastToProperFunctionPointerType)glGetFenceivNV},
-        {"glFinishFenceNV", (__eglMustCastToProperFunctionPointerType)glFinishFenceNV},
-        {"glSetFenceNV", (__eglMustCastToProperFunctionPointerType)glSetFenceNV},
-        {"glGetTranslatedShaderSourceANGLE", (__eglMustCastToProperFunctionPointerType)glGetTranslatedShaderSourceANGLE},
-        {"glTexStorage2DEXT", (__eglMustCastToProperFunctionPointerType)glTexStorage2DEXT},
-        {"glGetGraphicsResetStatusEXT", (__eglMustCastToProperFunctionPointerType)glGetGraphicsResetStatusEXT},
-        {"glReadnPixelsEXT", (__eglMustCastToProperFunctionPointerType)glReadnPixelsEXT},
-        {"glGetnUniformfvEXT", (__eglMustCastToProperFunctionPointerType)glGetnUniformfvEXT},
-        {"glGetnUniformivEXT", (__eglMustCastToProperFunctionPointerType)glGetnUniformivEXT},
-        {"glGenQueriesEXT", (__eglMustCastToProperFunctionPointerType)glGenQueriesEXT},
-        {"glDeleteQueriesEXT", (__eglMustCastToProperFunctionPointerType)glDeleteQueriesEXT},
-        {"glIsQueryEXT", (__eglMustCastToProperFunctionPointerType)glIsQueryEXT},
-        {"glBeginQueryEXT", (__eglMustCastToProperFunctionPointerType)glBeginQueryEXT},
-        {"glEndQueryEXT", (__eglMustCastToProperFunctionPointerType)glEndQueryEXT},
-        {"glGetQueryivEXT", (__eglMustCastToProperFunctionPointerType)glGetQueryivEXT},
-        {"glGetQueryObjectuivEXT", (__eglMustCastToProperFunctionPointerType)glGetQueryObjectuivEXT},
-        {"glDrawBuffersEXT", (__eglMustCastToProperFunctionPointerType)glDrawBuffersEXT},
-        {"glVertexAttribDivisorANGLE", (__eglMustCastToProperFunctionPointerType)glVertexAttribDivisorANGLE},
-        {"glDrawArraysInstancedANGLE", (__eglMustCastToProperFunctionPointerType)glDrawArraysInstancedANGLE},
-        {"glDrawElementsInstancedANGLE", (__eglMustCastToProperFunctionPointerType)glDrawElementsInstancedANGLE},
-        {"glGetProgramBinaryOES", (__eglMustCastToProperFunctionPointerType)glGetProgramBinaryOES},
-        {"glProgramBinaryOES", (__eglMustCastToProperFunctionPointerType)glProgramBinaryOES},
-        {"glGetBufferPointervOES", (__eglMustCastToProperFunctionPointerType)glGetBufferPointervOES},
-        {"glMapBufferOES", (__eglMustCastToProperFunctionPointerType)glMapBufferOES},
-        {"glUnmapBufferOES", (__eglMustCastToProperFunctionPointerType)glUnmapBufferOES},
-        {"glMapBufferRangeEXT", (__eglMustCastToProperFunctionPointerType)glMapBufferRangeEXT},
-        {"glFlushMappedBufferRangeEXT", (__eglMustCastToProperFunctionPointerType)glFlushMappedBufferRangeEXT},    };
-
-    for (unsigned int ext = 0; ext < ArraySize(glExtensions); ext++)
-    {
-        if (strcmp(procname, glExtensions[ext].name) == 0)
-        {
-            return (__eglMustCastToProperFunctionPointerType)glExtensions[ext].address;
-        }
-    }
-
-    return NULL;
-}
-
-// Non-public functions used by EGL
-
-bool EGLAPIENTRY glBindTexImage(egl::Surface *surface)
-{
-    EVENT("(egl::Surface* surface = 0x%0.8p)",
-          surface);
-
-    gl::Context *context = gl::getNonLostContext();
-    if (context)
-    {
-        gl::Texture2D *textureObject = context->getTexture2D();
-        ASSERT(textureObject != NULL);
-
-        if (textureObject->isImmutable())
-        {
-            return false;
-        }
-
-        textureObject->bindTexImage(surface);
-    }
-
-    return true;
-}
-
 }
diff --git a/src/libGLESv2/libGLESv2.def b/src/libGLESv2/libGLESv2.def
index 88dceb3..db37579 100644
--- a/src/libGLESv2/libGLESv2.def
+++ b/src/libGLESv2/libGLESv2.def
@@ -286,14 +286,8 @@
     glGetInternalformativ           @283
 
     ; EGL dependencies
-    glCreateContext                 @144 NONAME
-    glDestroyContext                @145 NONAME
     glMakeCurrent                   @146 NONAME
     glGetCurrentContext             @147 NONAME
-    glGetProcAddress                @148 NONAME
-    glBindTexImage                  @158 NONAME
-    glCreateRenderer                @177 NONAME
-    glDestroyRenderer               @178 NONAME
 
     ; Setting up TRACE macro callbacks
     SetTraceFunctionPointers        @284
diff --git a/src/libGLESv2/main.cpp b/src/libGLESv2/main.cpp
index 3ac00d5..e44346a 100644
--- a/src/libGLESv2/main.cpp
+++ b/src/libGLESv2/main.cpp
@@ -7,7 +7,8 @@
 // main.cpp: DLL entry point and management of thread-local data.
 
 #include "libGLESv2/main.h"
-#include "libGLESv2/Context.h"
+
+#include "libANGLE/Context.h"
 
 #include "common/tls.h"
 
@@ -16,6 +17,12 @@
 namespace gl
 {
 
+struct Current
+{
+    Context *context;
+    egl::Display *display;
+};
+
 // TODO(kbr): figure out how these are going to be managed on
 // non-Windows platforms. These routines would need to be exported
 // from ANGLE and called cooperatively when users create and destroy
@@ -178,3 +185,18 @@
 }
 
 }
+
+extern "C"
+{
+
+void glMakeCurrent(gl::Context *context, egl::Display *display, egl::Surface *surface)
+{
+    gl::makeCurrent(context, display, surface);
+}
+
+gl::Context *glGetCurrentContext()
+{
+    return gl::getContext();
+}
+
+}
diff --git a/src/libGLESv2/main.h b/src/libGLESv2/main.h
index dff0278..8619e77 100644
--- a/src/libGLESv2/main.h
+++ b/src/libGLESv2/main.h
@@ -24,12 +24,6 @@
 namespace gl
 {
 class Context;
-    
-struct Current
-{
-    Context *context;
-    egl::Display *display;
-};
 
 void makeCurrent(Context *context, egl::Display *display, egl::Surface *surface);
 
@@ -39,23 +33,12 @@
 
 }
 
-namespace rx
-{
-class Renderer;
-}
-
 extern "C"
 {
 // Exported functions for use by EGL
-gl::Context *glCreateContext(int clientVersion, const gl::Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess);
-void glDestroyContext(gl::Context *context);
 void glMakeCurrent(gl::Context *context, egl::Display *display, egl::Surface *surface);
 gl::Context *glGetCurrentContext();
-rx::Renderer *glCreateRenderer(egl::Display *display, EGLNativeDisplayType nativeDisplay, const egl::AttributeMap &attribMap);
-void glDestroyRenderer(rx::Renderer *renderer);
 
-__eglMustCastToProperFunctionPointerType EGLAPIENTRY glGetProcAddress(const char *procname);
-bool EGLAPIENTRY glBindTexImage(egl::Surface *surface);
 }
 
 #endif   // LIBGLESV2_MAIN_H_
diff --git a/src/libGLESv2/renderer/Renderer.cpp b/src/libGLESv2/renderer/Renderer.cpp
deleted file mode 100644
index 4b96440..0000000
--- a/src/libGLESv2/renderer/Renderer.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//
-// Copyright (c) 2012-2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// Renderer.cpp: Implements EGL dependencies for creating and destroying Renderer instances.
-
-#include "common/utilities.h"
-#include "libEGL/AttributeMap.h"
-#include "libGLESv2/renderer/Renderer.h"
-
-#include <EGL/eglext.h>
-
-#if defined (ANGLE_ENABLE_D3D9)
-#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
-#endif // ANGLE_ENABLE_D3D9
-
-#if defined (ANGLE_ENABLE_D3D11)
-#include "libGLESv2/renderer/d3d/d3d11/Renderer11.h"
-#endif // ANGLE_ENABLE_D3D11
-
-#if defined (ANGLE_TEST_CONFIG)
-#define ANGLE_DEFAULT_D3D11 1
-#endif
-
-#if !defined(ANGLE_DEFAULT_D3D11)
-// Enables use of the Direct3D 11 API for a default display, when available
-#define ANGLE_DEFAULT_D3D11 0
-#endif
-
-namespace rx
-{
-
-Renderer::Renderer()
-    : mCapsInitialized(false),
-      mWorkaroundsInitialized(false)
-{
-}
-
-Renderer::~Renderer()
-{
-}
-
-const gl::Caps &Renderer::getRendererCaps() const
-{
-    if (!mCapsInitialized)
-    {
-        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
-        mCapsInitialized = true;
-    }
-
-    return mCaps;
-}
-
-const gl::TextureCapsMap &Renderer::getRendererTextureCaps() const
-{
-    if (!mCapsInitialized)
-    {
-        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
-        mCapsInitialized = true;
-    }
-
-    return mTextureCaps;
-}
-
-const gl::Extensions &Renderer::getRendererExtensions() const
-{
-    if (!mCapsInitialized)
-    {
-        generateCaps(&mCaps, &mTextureCaps, &mExtensions);
-        mCapsInitialized = true;
-    }
-
-    return mExtensions;
-}
-
-const Workarounds &Renderer::getWorkarounds() const
-{
-    if (!mWorkaroundsInitialized)
-    {
-        mWorkarounds = generateWorkarounds();
-        mWorkaroundsInitialized = true;
-    }
-
-    return mWorkarounds;
-}
-
-typedef Renderer *(*CreateRendererFunction)(egl::Display*, EGLNativeDisplayType, const egl::AttributeMap &);
-
-template <typename RendererType>
-Renderer *CreateRenderer(egl::Display *display, EGLNativeDisplayType nativeDisplay, const egl::AttributeMap &attributes)
-{
-    return new RendererType(display, nativeDisplay, attributes);
-}
-
-}
-
-extern "C"
-{
-
-rx::Renderer *glCreateRenderer(egl::Display *display, EGLNativeDisplayType nativeDisplay, const egl::AttributeMap &attribMap)
-{
-    std::vector<rx::CreateRendererFunction> rendererCreationFunctions;
-
-    EGLint requestedDisplayType = attribMap.get(EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE);
-
-#   if defined(ANGLE_ENABLE_D3D11)
-        if (nativeDisplay == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ||
-            nativeDisplay == EGL_D3D11_ONLY_DISPLAY_ANGLE ||
-            requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
-        {
-            rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer11>);
-        }
-#   endif
-
-#   if defined(ANGLE_ENABLE_D3D9)
-        if (nativeDisplay == EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ||
-            requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
-        {
-            rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer9>);
-        }
-#   endif
-
-    if (nativeDisplay != EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE &&
-        nativeDisplay != EGL_D3D11_ONLY_DISPLAY_ANGLE &&
-        requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE)
-    {
-        // The default display is requested, try the D3D9 and D3D11 renderers, order them using
-        // the definition of ANGLE_DEFAULT_D3D11
-#       if ANGLE_DEFAULT_D3D11
-#           if defined(ANGLE_ENABLE_D3D11)
-                rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer11>);
-#           endif
-#           if defined(ANGLE_ENABLE_D3D9)
-                rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer9>);
-#           endif
-#       else
-#           if defined(ANGLE_ENABLE_D3D9)
-                rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer9>);
-#           endif
-#           if defined(ANGLE_ENABLE_D3D11)
-                rendererCreationFunctions.push_back(rx::CreateRenderer<rx::Renderer11>);
-#           endif
-#       endif
-    }
-
-    for (size_t i = 0; i < rendererCreationFunctions.size(); i++)
-    {
-        rx::Renderer *renderer = rendererCreationFunctions[i](display, nativeDisplay, attribMap);
-        if (renderer->initialize() == EGL_SUCCESS)
-        {
-            return renderer;
-        }
-        else
-        {
-            // Failed to create the renderer, try the next
-            SafeDelete(renderer);
-        }
-    }
-
-    return NULL;
-}
-
-void glDestroyRenderer(rx::Renderer *renderer)
-{
-    ASSERT(renderer);
-    SafeDelete(renderer);
-}
-
-}