b=602396; upgrade ANGLE to r445, mozilla portion; r=bjacob a=b
authorVladimir Vukicevic <vladimir@pobox.com>
Sat, 09 Oct 2010 12:44:25 -0700
changeset 55267 d7b58beb717c7ea7cd0568f5f06a63fa645fde3b
parent 55266 95c3be680b265b4ca0fd7b4c42f76b202fed4080
child 55268 28565b318863e57ebe6238ba997f6a6814dbf229
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersbjacob, b
bugs602396
milestone2.0b8pre
b=602396; upgrade ANGLE to r445, mozilla portion; r=bjacob a=b
content/canvas/src/WebGLContextGL.cpp
gfx/angle/Makefile.in
gfx/angle/README.mozilla
gfx/angle/angle-shared.patch
gfx/angle/include/GLSLANG/ShaderLang.h
gfx/angle/src/ANGLE.sln
gfx/angle/src/compiler/translator_common.vcproj
gfx/angle/src/compiler/translator_hlsl.vcproj
gfx/angle/src/libEGL/libEGL.vcproj
gfx/angle/src/libGLESv2/libGLESv2.vcproj
--- a/content/canvas/src/WebGLContextGL.cpp
+++ b/content/canvas/src/WebGLContextGL.cpp
@@ -1994,18 +1994,18 @@ WebGLContext::GetProgramInfoLog(nsIWebGL
 // here we have to support all pnames with both int and float params.
 // See this discussion:
 //  https://www.khronos.org/webgl/public-mailing-list/archives/1008/msg00014.html
 nsresult WebGLContext::TexParameter_base(WebGLenum target, WebGLenum pname,
                                          WebGLint *intParamPtr, WebGLfloat *floatParamPtr)
 {
     NS_ENSURE_TRUE(intParamPtr || floatParamPtr, NS_ERROR_FAILURE);
 
-    WebGLint intParam   = intParamPtr   ? *intParamPtr   : WebGLint(*floatParamPtr);
-    WebGLint floatParam = floatParamPtr ? *floatParamPtr : WebGLfloat(*intParamPtr);
+    WebGLint intParam = intParamPtr ? *intParamPtr : WebGLint(*floatParamPtr);
+    WebGLfloat floatParam = floatParamPtr ? *floatParamPtr : WebGLfloat(*intParamPtr);
 
     if (!ValidateTextureTargetEnum(target, "texParameter: target"))
         return NS_OK;
 
     WebGLTexture *tex = activeBoundTextureForTarget(target);
     if (!tex)
         return ErrorInvalidOperation("texParameter: no texture is bound to this target");
 
@@ -3158,55 +3158,70 @@ WebGLContext::CompileShader(nsIWebGLShad
     if (!GetConcreteObjectAndGLName("compileShader", sobj, &shader, &shadername))
         return NS_OK;
     MakeContextCurrent();
 
 #if defined(USE_ANGLE)
     if (shader->NeedsTranslation() && mShaderValidation) {
         ShHandle compiler = 0;
         int debugFlags = 0;
-        EShLanguage lang = (shader->ShaderType() == LOCAL_GL_VERTEX_SHADER) ?
-            EShLangVertex : EShLangFragment;
-
-        TBuiltInResource resources;
-
-        resources.maxVertexAttribs = mGLMaxVertexAttribs;
-        resources.maxVertexUniformVectors = mGLMaxVertexUniformVectors;
-        resources.maxVaryingVectors = mGLMaxVaryingVectors;
-        resources.maxVertexTextureImageUnits = mGLMaxVertexTextureImageUnits;
-        resources.maxCombinedTextureImageUnits = mGLMaxTextureUnits;
-        resources.maxTextureImageUnits = mGLMaxTextureImageUnits;
-        resources.maxFragmentUniformVectors = mGLMaxFragmentUniformVectors;
-        resources.maxDrawBuffers = 1;
-
-        compiler = ShConstructCompiler(lang, EShSpecWebGL, &resources);
+        ShBuiltInResources resources;
+        memset(&resources, 0, sizeof(ShBuiltInResources));
+
+        resources.MaxVertexAttribs = mGLMaxVertexAttribs;
+        resources.MaxVertexUniformVectors = mGLMaxVertexUniformVectors;
+        resources.MaxVaryingVectors = mGLMaxVaryingVectors;
+        resources.MaxVertexTextureImageUnits = mGLMaxVertexTextureImageUnits;
+        resources.MaxCombinedTextureImageUnits = mGLMaxTextureUnits;
+        resources.MaxTextureImageUnits = mGLMaxTextureImageUnits;
+        resources.MaxFragmentUniformVectors = mGLMaxFragmentUniformVectors;
+        resources.MaxDrawBuffers = 1;
+
+        compiler = ShConstructCompiler((ShShaderType) shader->ShaderType(),
+                                       SH_WEBGL_SPEC,
+                                       &resources);
 
         nsPromiseFlatCString src(shader->Source());
         const char *s = src.get();
 
-        if (!ShCompile(compiler, &s, 1, EShOptNone, debugFlags)) {
-            const char* info = ShGetInfoLog(compiler);
-            if (info) {
-                shader->SetTranslationFailure(nsDependentCString(info));
+        if (!ShCompile(compiler, &s, 1, SH_OBJECT_CODE)) {
+            int len = 0;
+            ShGetInfo(compiler, SH_INFO_LOG_LENGTH, &len);
+
+            if (len) {
+                nsCAutoString info(len);
+                ShGetInfoLog(compiler, info.BeginWriting());
+                shader->SetTranslationFailure(info);
             } else {
                 shader->SetTranslationFailure(NS_LITERAL_CSTRING("Internal error: failed to get shader info log"));
             }
             ShDestruct(compiler);
             return NS_OK;
         }
 
         /* If the GL context is really GLES2, we want to use the original provided code,
          * since it's actually GLES2.  We still need to validate it however, which is
          * why we ran it through the above, but we don't want the desktop GLSL.
          */
         if (!gl->IsGLES2()) {
-            s = ShGetObjectCode(compiler);
+            int len = 0;
+            ShGetInfo(compiler, SH_OBJECT_CODE_LENGTH, &len);
+
+            nsCAutoString translatedSrc(len);
+
+            ShGetObjectCode(compiler, translatedSrc.BeginWriting());
+
+            nsPromiseFlatCString translatedSrc2(translatedSrc);
+            const char *ts = translatedSrc2.get();
+
+            gl->fShaderSource(shadername, 1, &ts, NULL);
+        } else {
+            gl->fShaderSource(shadername, 1, &s, NULL);
         }
 
-        gl->fShaderSource(shadername, 1, &s, NULL);
         shader->SetTranslationSuccess();
 
         ShDestruct(compiler);
     } else
 #endif
     {
         const char *s = nsDependentCString(shader->Source()).get();
         gl->fShaderSource(shadername, 1, &s, NULL);
--- a/gfx/angle/Makefile.in
+++ b/gfx/angle/Makefile.in
@@ -57,30 +57,32 @@ EXPORTS_angle = \
 LOCAL_INCLUDES += -I$(srcdir)/include -I$(srcdir)/src
 
 VPATH += $(srcdir)/src
 VPATH += $(srcdir)/src/compiler
 VPATH += $(srcdir)/src/compiler/preprocessor
 VPATH += $(srcdir)/generated
 
 CPPSRCS = \
+	Compiler.cpp \
         InfoSink.cpp \
         Initialize.cpp \
         InitializeDll.cpp \
         Intermediate.cpp \
         intermOut.cpp \
         IntermTraverse.cpp \
         MozAngleLink.cpp \
         parseConst.cpp \
         ParseHelper.cpp \
         PoolAlloc.cpp \
         QualifierAlive.cpp \
         RemoveTree.cpp \
         ShaderLang.cpp \
         SymbolTable.cpp \
+	VariableInfo.cpp \
 	debug.cpp \
 	ossource_nspr.cpp \
 	$(NULL)
 
 # flex/yacc generated files
 CPPSRCS += \
 	glslang.cpp \
 	glslang_tab.cpp \
@@ -123,8 +125,48 @@ endif
 include $(topsrcdir)/config/rules.mk
 
 # We have to filter out -pedantic, because of
 # comma-at-end-of-enumerator list failures.  We can try to get this fixed
 # upstream at some point.
 CXXFLAGS := $(filter-out -pedantic,$(CXXFLAGS))
 CFLAGS := $(filter-out -pedantic,$(CFLAGS))
 
+ifdef _MSC_VER
+# disabled for now, but we should be building it in the future once
+# bug 529938 is fixed
+#BUILD_ANGLE = 1
+endif
+
+ifdef BUILD_ANGLE
+ifdef MOZ_DEBUG
+ANGLE_DIR = Debug
+else
+ANGLE_DIR = Release
+endif
+
+ANGLE_DEP_PATTERNS = \
+	src/common/*.cpp src/common/*.h \
+	src/compiler/*.cpp src/compiler/*.h \
+	src/compiler/preprocessor/*.cpp src/compiler/preprocessor/*.h \
+	src/libEGL/*.cpp src/libEGL/*.h \
+	src/libGLESv2/*.cpp src/libGLESv2/*.h \
+	$(NULL)
+
+ANGLE_DEPS = $(filter-out Gen_glslang.cpp Gen_glslang_tab.cpp glslang_tab.h,$(wildcard $(ANGLE_DEP_PATTERNS)))
+
+libs:: angle-build/libGLESv2.dll angle-build/libEGL.dll
+	$(INSTALL) $(IFLAGS2) angle-build/libGLESv2.dll angle-build/libEGL.dll $(DIST)/bin
+
+angle-build/libGLESv2.dll angle-build/libEGL.dll: $(GLOBAL_DEPS) $(ANGLE_DEPS)
+	@echo "=== Building ANGLE via devenv.exe ==="
+	@rm -rf angle-build
+	@mkdir angle-build
+	@cp -r $(srcdir)/src $(srcdir)/include angle-build
+	@(cd angle-build/src \
+	&& echo "Upgrading solution..." \
+	&& devenv angle.sln //upgrade \
+	&& echo "Building solution, target $(ANGLE_DIR)|Win32..." \
+	&& devenv angle.sln //useenv //build "$(ANGLE_DIR)|Win32" \
+	&& echo "Copying dlls..." \
+	&& cp $(ANGLE_DIR)/*.dll ..)
+
+endif
--- a/gfx/angle/README.mozilla
+++ b/gfx/angle/README.mozilla
@@ -1,16 +1,35 @@
 This is the ANGLE project, from http://code.google.com/p/angleproject/.
 
-Current revision: r385
+Current revision: r445
 
 Local patches:
     angle-nspr.patch - use NSPR for TLS
 
     angle-shared.patch - add declspec dllexport/dllimport support on win32
 
-    fix-compile.patch - Remove some trailing commas
+== Visual Studio Solution Files ==
 
-To regenerate the flex/yacc generated files:
+The VS solution/project files that are used to build ANGLE are built
+with VS2008 in upstream ANGLE.  Because our build machines use VS2005,
+they need to be downgraded using
+http://www.emmet-gray.com/Articles/ProjectConverter.htm before being
+checked in with an ANGLE update.
+
+== Regenerating Parser ==
+ 
+To regenerate the flex/yacc generated files, do the following -- note
+that they'll generate different results, but with the same effect.
 
-flex --noline --nounistd --outfile=generated/glslang.cpp src/compiler/glslang.l
-bison --no-lines --defines=generated/glslang_tab.h --skeleton=yacc.c --output=generated/glslang_tab.cpp src/compiler/glslang.y
+Doing this on linux is preferred:
+
+  flex --noline --nounistd --outfile=generated/glslang.cpp src/compiler/glslang.l
+  bison --no-lines --defines=generated/glslang_tab.h --skeleton=yacc.c --output=generated/glslang_tab.cpp src/compiler/glslang.y
+
+or (win32) -- note the manual removal of unistd.h and the renaming of the bison generated file:
 
+  src/compiler/tools/flex.exe -L -ogenerated/glslang.cpp src/compiler/glslang.l
+# get rid of #include <unistd.h>
+  grep -v unistd generated/glslang.cpp > foo && mv foo generated/glslang.cpp
+  BISON_SIMPLE=src/compiler/tools/bison.simple src/compiler/tools/bison.exe --no-lines --defines --yacc --output=generated/glslang_tab.cpp src/compiler/glslang.y
+  mv generated/glslang_tab.cpp.h generated/glslang_tab.h
+
--- a/gfx/angle/angle-shared.patch
+++ b/gfx/angle/angle-shared.patch
@@ -1,26 +1,22 @@
-# HG changeset patch
-# User Vladimir Vukicevic <vladimir@pobox.com>
-# Date 1280525409 25200
-# Node ID d683bc8242ec4b6e19196fc6f6d090a6da2fa07d
-# Parent  3693726d10c60b8b2637407709d595151c191a64
-[mq]: angle-shared.patch
-
 diff --git a/gfx/angle/include/GLSLANG/ShaderLang.h b/gfx/angle/include/GLSLANG/ShaderLang.h
 --- a/gfx/angle/include/GLSLANG/ShaderLang.h
 +++ b/gfx/angle/include/GLSLANG/ShaderLang.h
-@@ -6,8 +6,24 @@
+@@ -1,16 +1,32 @@
+ //
+ // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ //
  #ifndef _COMPILER_INTERFACE_INCLUDED_
  #define _COMPILER_INTERFACE_INCLUDED_
  
 +#include "nscore.h"
 +
- #include "ResourceLimits.h"
- 
 +#ifdef WIN32
 +# if !defined(MOZ_ENABLE_LIBXUL) && !defined(MOZ_STATIC_BUILD)
 +#  ifdef ANGLE_BUILD
 +#   define ANGLE_API NS_EXPORT
 +#  else
 +#   define ANGLE_API NS_IMPORT
 +#  endif
 +# else
@@ -28,53 +24,213 @@ diff --git a/gfx/angle/include/GLSLANG/S
 +# endif
 +#else
 +# define ANGLE_API NS_EXTERNAL_VIS
 +#endif
 +
  //
  // This is the platform independent interface between an OGL driver
  // and the shading language compiler.
-@@ -20,11 +36,11 @@ extern "C" {
+ //
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -72,21 +88,21 @@ typedef enum {
+   SH_OBJECT_CODE         = 0x002,
+   SH_ATTRIBUTES_UNIFORMS = 0x004
+ } ShCompileOptions;
+ 
+ //
  // Driver must call this first, once, before doing any other
  // compiler operations.
  //
 -int ShInitialize();
 +ANGLE_API int ShInitialize();
  //
  // Driver should call this at shutdown.
  //
 -int ShFinalize();
 +ANGLE_API int ShFinalize();
+ 
  //
- // Types of languages the compiler can consume.
+ // Implementation dependent built-in resources (constants and extensions).
+ // The names for these resources has been obtained by stripping gl_/GL_.
  //
-@@ -70,8 +86,8 @@ typedef void* ShHandle;
+ typedef struct
+ {
+     // Constants.
+@@ -102,17 +118,17 @@ typedef struct
+     // Extensions.
+     // Set to 1 to enable the extension, else 0.
+     int OES_standard_derivatives;
+ } ShBuiltInResources;
+ 
+ //
+ // Initialize built-in resources with minimum expected values.
  //
+-void ShInitBuiltInResources(ShBuiltInResources* resources);
++ANGLE_API void ShInitBuiltInResources(ShBuiltInResources* resources);
+ 
+ //
+ // ShHandle held by but opaque to the driver.  It is allocated,
+ // managed, and de-allocated by the compiler. It's contents 
+ // are defined by and used by the compiler.
+ //
+ // If handle creation fails, 0 will be returned.
+ //
+@@ -122,19 +138,19 @@ typedef void* ShHandle;
  // Driver calls these to create and destroy compiler objects.
  //
--ShHandle ShConstructCompiler(EShLanguage, EShSpec, const TBuiltInResource*);
--void ShDestruct(ShHandle);
-+ANGLE_API ShHandle ShConstructCompiler(EShLanguage, EShSpec, const TBuiltInResource*);
-+ANGLE_API void ShDestruct(ShHandle);
+ // Returns the handle of constructed compiler.
+ // Parameters:
+ // type: Specifies the type of shader - SH_FRAGMENT_SHADER or SH_VERTEX_SHADER.
+ // spec: Specifies the language spec the compiler must conform to -
+ //       SH_GLES2_SPEC or SH_WEBGL_SPEC.
+ // resources: Specifies the built-in resources.
+-ShHandle ShConstructCompiler(ShShaderType type, ShShaderSpec spec,
++ANGLE_API ShHandle ShConstructCompiler(ShShaderType type, ShShaderSpec spec,
+                              const ShBuiltInResources* resources);
+-void ShDestruct(ShHandle handle);
++ANGLE_API void ShDestruct(ShHandle handle);
  
  //
- // The return value of ShCompile is boolean, indicating
-@@ -80,7 +96,7 @@ void ShDestruct(ShHandle);
- // The info-log should be written by ShCompile into 
- // ShHandle, so it can answer future queries.
+ // Compiles the given shader source.
+ // If the function succeeds, the return value is nonzero, else zero.
+ // Parameters:
+ // handle: Specifies the handle of compiler to be used.
+ // shaderStrings: Specifies an array of pointers to null-terminated strings
+ //                containing the shader source code.
+@@ -144,17 +160,17 @@ void ShDestruct(ShHandle handle);
+ // SH_INTERMEDIATE_TREE: Writes intermediate tree to info log.
+ //                       Can be queried by calling ShGetInfoLog().
+ // SH_OBJECT_CODE: Translates intermediate tree to glsl or hlsl shader.
+ //                 Can be queried by calling ShGetObjectCode().
+ // SH_ATTRIBUTES_UNIFORMS: Extracts attributes and uniforms.
+ //                         Can be queried by calling ShGetActiveAttrib() and
+ //                         ShGetActiveUniform().
  //
 -int ShCompile(
 +ANGLE_API int ShCompile(
-     const ShHandle,
+     const ShHandle handle,
      const char* const shaderStrings[],
      const int numStrings,
-@@ -92,8 +108,8 @@ int ShCompile(
- // All the following return 0 if the information is not
- // available in the object passed down, or the object is bad.
- //
--const char* ShGetInfoLog(const ShHandle);
--const char* ShGetObjectCode(const ShHandle);
-+ANGLE_API const char* ShGetInfoLog(const ShHandle);
-+ANGLE_API const char* ShGetObjectCode(const ShHandle);
+     int compileOptions
+     );
+ 
+ // Returns a parameter from a compiled shader.
+ // Parameters:
+@@ -170,53 +186,53 @@ int ShCompile(
+ //                                 variable name including the null
+ //                                 termination character.
+ // SH_ACTIVE_UNIFORMS: the number of active uniform variables.
+ // SH_ACTIVE_UNIFORM_MAX_LENGTH: the length of the longest active uniform
+ //                               variable name including the null
+ //                               termination character.
+ // 
+ // params: Requested parameter
+-void ShGetInfo(const ShHandle handle, ShShaderInfo pname, int* params);
++ANGLE_API void ShGetInfo(const ShHandle handle, ShShaderInfo pname, int* params);
+ 
+ // Returns nul-terminated information log for a compiled shader.
+ // Parameters:
+ // handle: Specifies the compiler
+ // infoLog: Specifies an array of characters that is used to return
+ //          the information log. It is assumed that infoLog has enough memory
+ //          to accomodate the information log. The size of the buffer required
+ //          to store the returned information log can be obtained by calling
+ //          ShGetInfo with SH_INFO_LOG_LENGTH.
+-void ShGetInfoLog(const ShHandle handle, char* infoLog);
++ANGLE_API void ShGetInfoLog(const ShHandle handle, char* infoLog);
+ 
+ // Returns null-terminated object code for a compiled shader.
+ // Parameters:
+ // handle: Specifies the compiler
+ // infoLog: Specifies an array of characters that is used to return
+ //          the object code. It is assumed that infoLog has enough memory to
+ //          accomodate the object code. The size of the buffer required to
+ //          store the returned object code can be obtained by calling
+ //          ShGetInfo with SH_OBJECT_CODE_LENGTH.
+-void ShGetObjectCode(const ShHandle handle, char* objCode);
++ANGLE_API void ShGetObjectCode(const ShHandle handle, char* objCode);
+ 
+ // Returns information about an active attribute variable.
+ // Parameters:
+ // handle: Specifies the compiler
+ // index: Specifies the index of the attribute variable to be queried.
+ // length: Returns the number of characters actually written in the string
+ //         indicated by name (excluding the null terminator) if a value other
+ //         than NULL is passed.
+ // size: Returns the size of the attribute variable.
+ // type: Returns the data type of the attribute variable.
+ // name: Returns a null terminated string containing the name of the
+ //       attribute variable. It is assumed that name has enough memory to
+ //       accomodate the attribute variable name. The size of the buffer
+ //       required to store the attribute variable name can be obtained by
+ //       calling ShGetInfo with SH_ACTIVE_ATTRIBUTE_MAX_LENGTH.
+-void ShGetActiveAttrib(const ShHandle handle,
++ANGLE_API void ShGetActiveAttrib(const ShHandle handle,
+                        int index,
+                        int* length,
+                        int* size,
+                        ShDataType* type,
+                        char* name);
+ 
+ // Returns information about an active uniform variable.
+ // Parameters:
+@@ -227,17 +243,17 @@ void ShGetActiveAttrib(const ShHandle ha
+ //         other than NULL is passed.
+ // size: Returns the size of the uniform variable.
+ // type: Returns the data type of the uniform variable.
+ // name: Returns a null terminated string containing the name of the
+ //       uniform variable. It is assumed that name has enough memory to
+ //       accomodate the uniform variable name. The size of the buffer required
+ //       to store the uniform variable name can be obtained by calling
+ //       ShGetInfo with SH_ACTIVE_UNIFORMS_MAX_LENGTH.
+-void ShGetActiveUniform(const ShHandle handle,
++ANGLE_API void ShGetActiveUniform(const ShHandle handle,
+                         int index,
+                         int* length,
+                         int* size,
+                         ShDataType* type,
+                         char* name);
  
  #ifdef __cplusplus
  }
+diff --git a/gfx/angle/include/GLSLANG/ShaderLang.h b/gfx/angle/include/GLSLANG/ShaderLang.h
+--- a/gfx/angle/include/GLSLANG/ShaderLang.h
++++ b/gfx/angle/include/GLSLANG/ShaderLang.h
+@@ -1,31 +1,35 @@
+ //
+ // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ //
+ #ifndef _COMPILER_INTERFACE_INCLUDED_
+ #define _COMPILER_INTERFACE_INCLUDED_
+ 
++#ifdef MOZILLA_VERSION
+ #include "nscore.h"
+ 
+ #ifdef WIN32
+ # if !defined(MOZ_ENABLE_LIBXUL) && !defined(MOZ_STATIC_BUILD)
+ #  ifdef ANGLE_BUILD
+ #   define ANGLE_API NS_EXPORT
+ #  else
+ #   define ANGLE_API NS_IMPORT
+ #  endif
+ # else
+ #  define ANGLE_API  /*nothing*/
+ # endif
+ #else
+ # define ANGLE_API NS_EXTERNAL_VIS
+ #endif
++#else
++#define ANGLE_API /*nothing*/
++#endif
+ 
+ //
+ // This is the platform independent interface between an OGL driver
+ // and the shading language compiler.
+ //
+ 
+ #ifdef __cplusplus
+ extern "C" {
--- a/gfx/angle/include/GLSLANG/ShaderLang.h
+++ b/gfx/angle/include/GLSLANG/ShaderLang.h
@@ -1,16 +1,36 @@
 //
 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 //
 #ifndef _COMPILER_INTERFACE_INCLUDED_
 #define _COMPILER_INTERFACE_INCLUDED_
 
+#ifdef MOZILLA_VERSION
+#include "nscore.h"
+
+#ifdef WIN32
+# if !defined(MOZ_ENABLE_LIBXUL) && !defined(MOZ_STATIC_BUILD)
+#  ifdef ANGLE_BUILD
+#   define ANGLE_API NS_EXPORT
+#  else
+#   define ANGLE_API NS_IMPORT
+#  endif
+# else
+#  define ANGLE_API  /*nothing*/
+# endif
+#else
+# define ANGLE_API NS_EXTERNAL_VIS
+#endif
+#else
+#define ANGLE_API /*nothing*/
+#endif
+
 //
 // This is the platform independent interface between an OGL driver
 // and the shading language compiler.
 //
 
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -72,21 +92,21 @@ typedef enum {
   SH_OBJECT_CODE         = 0x002,
   SH_ATTRIBUTES_UNIFORMS = 0x004
 } ShCompileOptions;
 
 //
 // Driver must call this first, once, before doing any other
 // compiler operations.
 //
-int ShInitialize();
+ANGLE_API int ShInitialize();
 //
 // Driver should call this at shutdown.
 //
-int ShFinalize();
+ANGLE_API int ShFinalize();
 
 //
 // Implementation dependent built-in resources (constants and extensions).
 // The names for these resources has been obtained by stripping gl_/GL_.
 //
 typedef struct
 {
     // Constants.
@@ -102,17 +122,17 @@ typedef struct
     // Extensions.
     // Set to 1 to enable the extension, else 0.
     int OES_standard_derivatives;
 } ShBuiltInResources;
 
 //
 // Initialize built-in resources with minimum expected values.
 //
-void ShInitBuiltInResources(ShBuiltInResources* resources);
+ANGLE_API void ShInitBuiltInResources(ShBuiltInResources* resources);
 
 //
 // ShHandle held by but opaque to the driver.  It is allocated,
 // managed, and de-allocated by the compiler. It's contents 
 // are defined by and used by the compiler.
 //
 // If handle creation fails, 0 will be returned.
 //
@@ -122,19 +142,19 @@ typedef void* ShHandle;
 // Driver calls these to create and destroy compiler objects.
 //
 // Returns the handle of constructed compiler.
 // Parameters:
 // type: Specifies the type of shader - SH_FRAGMENT_SHADER or SH_VERTEX_SHADER.
 // spec: Specifies the language spec the compiler must conform to -
 //       SH_GLES2_SPEC or SH_WEBGL_SPEC.
 // resources: Specifies the built-in resources.
-ShHandle ShConstructCompiler(ShShaderType type, ShShaderSpec spec,
+ANGLE_API ShHandle ShConstructCompiler(ShShaderType type, ShShaderSpec spec,
                              const ShBuiltInResources* resources);
-void ShDestruct(ShHandle handle);
+ANGLE_API void ShDestruct(ShHandle handle);
 
 //
 // Compiles the given shader source.
 // If the function succeeds, the return value is nonzero, else zero.
 // Parameters:
 // handle: Specifies the handle of compiler to be used.
 // shaderStrings: Specifies an array of pointers to null-terminated strings
 //                containing the shader source code.
@@ -144,17 +164,17 @@ void ShDestruct(ShHandle handle);
 // SH_INTERMEDIATE_TREE: Writes intermediate tree to info log.
 //                       Can be queried by calling ShGetInfoLog().
 // SH_OBJECT_CODE: Translates intermediate tree to glsl or hlsl shader.
 //                 Can be queried by calling ShGetObjectCode().
 // SH_ATTRIBUTES_UNIFORMS: Extracts attributes and uniforms.
 //                         Can be queried by calling ShGetActiveAttrib() and
 //                         ShGetActiveUniform().
 //
-int ShCompile(
+ANGLE_API int ShCompile(
     const ShHandle handle,
     const char* const shaderStrings[],
     const int numStrings,
     int compileOptions
     );
 
 // Returns a parameter from a compiled shader.
 // Parameters:
@@ -170,53 +190,53 @@ int ShCompile(
 //                                 variable name including the null
 //                                 termination character.
 // SH_ACTIVE_UNIFORMS: the number of active uniform variables.
 // SH_ACTIVE_UNIFORM_MAX_LENGTH: the length of the longest active uniform
 //                               variable name including the null
 //                               termination character.
 // 
 // params: Requested parameter
-void ShGetInfo(const ShHandle handle, ShShaderInfo pname, int* params);
+ANGLE_API void ShGetInfo(const ShHandle handle, ShShaderInfo pname, int* params);
 
 // Returns nul-terminated information log for a compiled shader.
 // Parameters:
 // handle: Specifies the compiler
 // infoLog: Specifies an array of characters that is used to return
 //          the information log. It is assumed that infoLog has enough memory
 //          to accomodate the information log. The size of the buffer required
 //          to store the returned information log can be obtained by calling
 //          ShGetInfo with SH_INFO_LOG_LENGTH.
-void ShGetInfoLog(const ShHandle handle, char* infoLog);
+ANGLE_API void ShGetInfoLog(const ShHandle handle, char* infoLog);
 
 // Returns null-terminated object code for a compiled shader.
 // Parameters:
 // handle: Specifies the compiler
 // infoLog: Specifies an array of characters that is used to return
 //          the object code. It is assumed that infoLog has enough memory to
 //          accomodate the object code. The size of the buffer required to
 //          store the returned object code can be obtained by calling
 //          ShGetInfo with SH_OBJECT_CODE_LENGTH.
-void ShGetObjectCode(const ShHandle handle, char* objCode);
+ANGLE_API void ShGetObjectCode(const ShHandle handle, char* objCode);
 
 // Returns information about an active attribute variable.
 // Parameters:
 // handle: Specifies the compiler
 // index: Specifies the index of the attribute variable to be queried.
 // length: Returns the number of characters actually written in the string
 //         indicated by name (excluding the null terminator) if a value other
 //         than NULL is passed.
 // size: Returns the size of the attribute variable.
 // type: Returns the data type of the attribute variable.
 // name: Returns a null terminated string containing the name of the
 //       attribute variable. It is assumed that name has enough memory to
 //       accomodate the attribute variable name. The size of the buffer
 //       required to store the attribute variable name can be obtained by
 //       calling ShGetInfo with SH_ACTIVE_ATTRIBUTE_MAX_LENGTH.
-void ShGetActiveAttrib(const ShHandle handle,
+ANGLE_API void ShGetActiveAttrib(const ShHandle handle,
                        int index,
                        int* length,
                        int* size,
                        ShDataType* type,
                        char* name);
 
 // Returns information about an active uniform variable.
 // Parameters:
@@ -227,17 +247,17 @@ void ShGetActiveAttrib(const ShHandle ha
 //         other than NULL is passed.
 // size: Returns the size of the uniform variable.
 // type: Returns the data type of the uniform variable.
 // name: Returns a null terminated string containing the name of the
 //       uniform variable. It is assumed that name has enough memory to
 //       accomodate the uniform variable name. The size of the buffer required
 //       to store the uniform variable name can be obtained by calling
 //       ShGetInfo with SH_ACTIVE_UNIFORMS_MAX_LENGTH.
-void ShGetActiveUniform(const ShHandle handle,
+ANGLE_API void ShGetActiveUniform(const ShHandle handle,
                         int index,
                         int* length,
                         int* size,
                         ShDataType* type,
                         char* name);
 
 #ifdef __cplusplus
 }
--- a/gfx/angle/src/ANGLE.sln
+++ b/gfx/angle/src/ANGLE.sln
@@ -1,11 +1,11 @@
 
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "libEGL\libEGL.vcproj", "{E746FCA9-64C3-433E-85E8-9A5A67AB7ED6}"
 	ProjectSection(ProjectDependencies) = postProject
 		{B5871A7A-968C-42E3-A33B-981E6F448E78} = {B5871A7A-968C-42E3-A33B-981E6F448E78}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGLESv2", "libGLESv2\libGLESv2.vcproj", "{B5871A7A-968C-42E3-A33B-981E6F448E78}"
 	ProjectSection(ProjectDependencies) = postProject
 		{5620F0E4-6C43-49BC-A178-B804E1A0C3A7} = {5620F0E4-6C43-49BC-A178-B804E1A0C3A7}
@@ -40,8 +40,9 @@ Global
 		{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD}.Debug|Win32.Build.0 = Debug|Win32
 		{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD}.Release|Win32.ActiveCfg = Release|Win32
 		{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD}.Release|Win32.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 EndGlobal
+obal
--- a/gfx/angle/src/compiler/translator_common.vcproj
+++ b/gfx/angle/src/compiler/translator_common.vcproj
@@ -1,474 +1,200 @@
 <?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="translator_common"
-	ProjectGUID="{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD}"
-	RootNamespace="compiler"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)\common"
-			ConfigurationType="4"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)../;$(ProjectDir)../../include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)\common"
-			ConfigurationType="4"
-			CharacterSet="0"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)../;$(ProjectDir)../../include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\Compiler.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\debug.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\glslang.l"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Executing flex on $(InputPath)"
-						CommandLine="@echo on&#x0D;&#x0A;if EXIST &quot;$(InputDir)Gen_glslang.cpp&quot; del &quot;$(InputDir)Gen_glslang.cpp&quot;&#x0D;&#x0A;&quot;$(InputDir)tools\flex.exe&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;rename &quot;$(InputDir)lex.yy.c&quot; Gen_$(InputName).cpp&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-						AdditionalDependencies="glslang_tab.h"
-						Outputs="$(InputDir)Gen_glslang.cpp"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Executing flex on $(InputPath)"
-						CommandLine="@echo on&#x0D;&#x0A;if EXIST &quot;$(InputDir)Gen_glslang.cpp&quot; del &quot;$(InputDir)Gen_glslang.cpp&quot;&#x0D;&#x0A;&quot;$(InputDir)tools\flex.exe&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;rename &quot;$(InputDir)lex.yy.c&quot; Gen_$(InputName).cpp&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-						AdditionalDependencies="glslang_tab.h"
-						Outputs="$(InputDir)Gen_glslang.cpp"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\glslang.y"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Executing Bison on $(InputPath)"
-						CommandLine="@echo on&#x0D;&#x0A;SET BISON_SIMPLE=tools\bison.simple&#x0D;&#x0A;SET BISON_HAIRY=tools\bison.simple&#x0D;&#x0A;if EXIST &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot; del &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot;&#x0D;&#x0A;tools\bison.exe -d -t -v $(InputName).y&#x0D;&#x0A;rename &quot;$(InputDir)$(InputName)_tab.c&quot; Gen_$(InputName)_tab.cpp&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-						Outputs="$(InputDir)Gen_$(InputName)_tab.cpp"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-						Description="Executing Bison on $(InputPath)"
-						CommandLine="@echo on&#x0D;&#x0A;SET BISON_SIMPLE=tools\bison.simple&#x0D;&#x0A;SET BISON_HAIRY=tools\bison.simple&#x0D;&#x0A;if EXIST &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot; del &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot;&#x0D;&#x0A;tools\bison.exe -d -t -v $(InputName).y&#x0D;&#x0A;rename &quot;$(InputDir)$(InputName)_tab.c&quot; Gen_$(InputName)_tab.cpp&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-						Outputs="$(InputDir)Gen_$(InputName)_tab.cpp"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\InfoSink.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Initialize.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\InitializeDll.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Intermediate.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\intermOut.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IntermTraverse.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ossource_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\parseConst.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ParseHelper.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\PoolAlloc.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\QualifierAlive.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\RemoveTree.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ShaderLang.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\SymbolTable.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\VariableInfo.cpp"
-				>
-			</File>
-			<Filter
-				Name="preprocessor"
-				>
-				<File
-					RelativePath=".\preprocessor\atom.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\cpp.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\cppstruct.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\memory.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\scanner.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\symbols.c"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\tokens.c"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="generated"
-				>
-				<File
-					RelativePath=".\Gen_glslang.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\Gen_glslang_tab.cpp"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\BaseTypes.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Common.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ConstantUnion.h"
-				>
-			</File>
-			<File
-				RelativePath=".\debug.h"
-				>
-			</File>
-			<File
-				RelativePath=".\InfoSink.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Initialize.h"
-				>
-			</File>
-			<File
-				RelativePath=".\InitializeDll.h"
-				>
-			</File>
-			<File
-				RelativePath=".\InitializeGlobals.h"
-				>
-			</File>
-			<File
-				RelativePath=".\InitializeParseContext.h"
-				>
-			</File>
-			<File
-				RelativePath=".\intermediate.h"
-				>
-			</File>
-			<File
-				RelativePath=".\localintermediate.h"
-				>
-			</File>
-			<File
-				RelativePath=".\MMap.h"
-				>
-			</File>
-			<File
-				RelativePath=".\osinclude.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ParseHelper.h"
-				>
-			</File>
-			<File
-				RelativePath=".\PoolAlloc.h"
-				>
-			</File>
-			<File
-				RelativePath=".\QualifierAlive.h"
-				>
-			</File>
-			<File
-				RelativePath=".\RemoveTree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\GLSLANG\ResourceLimits.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\GLSLANG\ShaderLang.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ShHandle.h"
-				>
-			</File>
-			<File
-				RelativePath=".\SymbolTable.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Types.h"
-				>
-			</File>
-			<File
-				RelativePath=".\unistd.h"
-				>
-			</File>
-			<File
-				RelativePath=".\VariableInfo.h"
-				>
-			</File>
-			<Filter
-				Name="preprocessor"
-				>
-				<File
-					RelativePath=".\preprocessor\atom.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\compile.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\cpp.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\memory.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\parser.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\preprocess.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\scanner.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\slglobals.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\symbols.h"
-					>
-				</File>
-				<File
-					RelativePath=".\preprocessor\tokens.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="generated"
-				>
-				<File
-					RelativePath=".\glslang_tab.h"
-					>
-				</File>
-			</Filter>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="translator_common" ProjectGUID="{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD}" RootNamespace="compiler" Keyword="Win32Proj" TargetFrameworkVersion="131072">
+  <Platforms>
+    <Platform Name="Win32" />
+  </Platforms>
+  <ToolFiles>
+  </ToolFiles>
+  <Configurations>
+    <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)\common" ConfigurationType="4" CharacterSet="0">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)../;$(ProjectDir)../../include" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="4" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLibrarianTool" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCPostBuildEventTool" />
+    </Configuration>
+    <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)\common" ConfigurationType="4" CharacterSet="0" WholeProgramOptimization="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="2" AdditionalIncludeDirectories="$(ProjectDir);$(ProjectDir)../;$(ProjectDir)../../include" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLibrarianTool" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCPostBuildEventTool" />
+    </Configuration>
+  </Configurations>
+  <References>
+  </References>
+  <Files>
+    <Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+      <File RelativePath=".\Compiler.cpp">
+      </File>
+      <File RelativePath=".\debug.cpp">
+      </File>
+      <File RelativePath=".\glslang.l">
+        <FileConfiguration Name="Debug|Win32">
+          <Tool Name="VCCustomBuildTool" Description="Executing flex on $(InputPath)" CommandLine="@echo on&#xD;&#xA;if EXIST &quot;$(InputDir)Gen_glslang.cpp&quot; del &quot;$(InputDir)Gen_glslang.cpp&quot;&#xD;&#xA;&quot;$(InputDir)tools\flex.exe&quot; &quot;$(InputPath)&quot;&#xD;&#xA;rename &quot;$(InputDir)lex.yy.c&quot; Gen_$(InputName).cpp&#xD;&#xA;@echo off&#xD;&#xA;" AdditionalDependencies="glslang_tab.h" Outputs="$(InputDir)Gen_glslang.cpp" />
+        </FileConfiguration>
+        <FileConfiguration Name="Release|Win32">
+          <Tool Name="VCCustomBuildTool" Description="Executing flex on $(InputPath)" CommandLine="@echo on&#xD;&#xA;if EXIST &quot;$(InputDir)Gen_glslang.cpp&quot; del &quot;$(InputDir)Gen_glslang.cpp&quot;&#xD;&#xA;&quot;$(InputDir)tools\flex.exe&quot; &quot;$(InputPath)&quot;&#xD;&#xA;rename &quot;$(InputDir)lex.yy.c&quot; Gen_$(InputName).cpp&#xD;&#xA;@echo off&#xD;&#xA;" AdditionalDependencies="glslang_tab.h" Outputs="$(InputDir)Gen_glslang.cpp" />
+        </FileConfiguration>
+      </File>
+      <File RelativePath=".\glslang.y">
+        <FileConfiguration Name="Debug|Win32">
+          <Tool Name="VCCustomBuildTool" Description="Executing Bison on $(InputPath)" CommandLine="@echo on&#xD;&#xA;SET BISON_SIMPLE=tools\bison.simple&#xD;&#xA;SET BISON_HAIRY=tools\bison.simple&#xD;&#xA;if EXIST &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot; del &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot;&#xD;&#xA;tools\bison.exe -d -t -v $(InputName).y&#xD;&#xA;rename &quot;$(InputDir)$(InputName)_tab.c&quot; Gen_$(InputName)_tab.cpp&#xD;&#xA;@echo off&#xD;&#xA;" Outputs="$(InputDir)Gen_$(InputName)_tab.cpp" />
+        </FileConfiguration>
+        <FileConfiguration Name="Release|Win32">
+          <Tool Name="VCCustomBuildTool" Description="Executing Bison on $(InputPath)" CommandLine="@echo on&#xD;&#xA;SET BISON_SIMPLE=tools\bison.simple&#xD;&#xA;SET BISON_HAIRY=tools\bison.simple&#xD;&#xA;if EXIST &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot; del &quot;$(InputDir)Gen_$(InputName)_tab.cpp&quot;&#xD;&#xA;tools\bison.exe -d -t -v $(InputName).y&#xD;&#xA;rename &quot;$(InputDir)$(InputName)_tab.c&quot; Gen_$(InputName)_tab.cpp&#xD;&#xA;@echo off&#xD;&#xA;" Outputs="$(InputDir)Gen_$(InputName)_tab.cpp" />
+        </FileConfiguration>
+      </File>
+      <File RelativePath=".\InfoSink.cpp">
+      </File>
+      <File RelativePath=".\Initialize.cpp">
+      </File>
+      <File RelativePath=".\InitializeDll.cpp">
+      </File>
+      <File RelativePath=".\Intermediate.cpp">
+      </File>
+      <File RelativePath=".\intermOut.cpp">
+      </File>
+      <File RelativePath=".\IntermTraverse.cpp">
+      </File>
+      <File RelativePath=".\ossource_win.cpp">
+      </File>
+      <File RelativePath=".\parseConst.cpp">
+      </File>
+      <File RelativePath=".\ParseHelper.cpp">
+      </File>
+      <File RelativePath=".\PoolAlloc.cpp">
+      </File>
+      <File RelativePath=".\QualifierAlive.cpp">
+      </File>
+      <File RelativePath=".\RemoveTree.cpp">
+      </File>
+      <File RelativePath=".\ShaderLang.cpp">
+      </File>
+      <File RelativePath=".\SymbolTable.cpp">
+      </File>
+      <File RelativePath=".\VariableInfo.cpp">
+      </File>
+      <Filter Name="preprocessor">
+        <File RelativePath=".\preprocessor\atom.c">
+        </File>
+        <File RelativePath=".\preprocessor\cpp.c">
+        </File>
+        <File RelativePath=".\preprocessor\cppstruct.c">
+        </File>
+        <File RelativePath=".\preprocessor\memory.c">
+        </File>
+        <File RelativePath=".\preprocessor\scanner.c">
+        </File>
+        <File RelativePath=".\preprocessor\symbols.c">
+        </File>
+        <File RelativePath=".\preprocessor\tokens.c">
+        </File>
+      </Filter>
+      <Filter Name="generated">
+        <File RelativePath=".\Gen_glslang.cpp">
+        </File>
+        <File RelativePath=".\Gen_glslang_tab.cpp">
+        </File>
+      </Filter>
+    </Filter>
+    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+      <File RelativePath=".\BaseTypes.h">
+      </File>
+      <File RelativePath=".\Common.h">
+      </File>
+      <File RelativePath=".\ConstantUnion.h">
+      </File>
+      <File RelativePath=".\debug.h">
+      </File>
+      <File RelativePath=".\InfoSink.h">
+      </File>
+      <File RelativePath=".\Initialize.h">
+      </File>
+      <File RelativePath=".\InitializeDll.h">
+      </File>
+      <File RelativePath=".\InitializeGlobals.h">
+      </File>
+      <File RelativePath=".\InitializeParseContext.h">
+      </File>
+      <File RelativePath=".\intermediate.h">
+      </File>
+      <File RelativePath=".\localintermediate.h">
+      </File>
+      <File RelativePath=".\MMap.h">
+      </File>
+      <File RelativePath=".\osinclude.h">
+      </File>
+      <File RelativePath=".\ParseHelper.h">
+      </File>
+      <File RelativePath=".\PoolAlloc.h">
+      </File>
+      <File RelativePath=".\QualifierAlive.h">
+      </File>
+      <File RelativePath=".\RemoveTree.h">
+      </File>
+      <File RelativePath="..\..\include\GLSLANG\ResourceLimits.h">
+      </File>
+      <File RelativePath="..\..\include\GLSLANG\ShaderLang.h">
+      </File>
+      <File RelativePath=".\ShHandle.h">
+      </File>
+      <File RelativePath=".\SymbolTable.h">
+      </File>
+      <File RelativePath=".\Types.h">
+      </File>
+      <File RelativePath=".\unistd.h">
+      </File>
+      <File RelativePath=".\VariableInfo.h">
+      </File>
+      <Filter Name="preprocessor">
+        <File RelativePath=".\preprocessor\atom.h">
+        </File>
+        <File RelativePath=".\preprocessor\compile.h">
+        </File>
+        <File RelativePath=".\preprocessor\cpp.h">
+        </File>
+        <File RelativePath=".\preprocessor\memory.h">
+        </File>
+        <File RelativePath=".\preprocessor\parser.h">
+        </File>
+        <File RelativePath=".\preprocessor\preprocess.h">
+        </File>
+        <File RelativePath=".\preprocessor\scanner.h">
+        </File>
+        <File RelativePath=".\preprocessor\slglobals.h">
+        </File>
+        <File RelativePath=".\preprocessor\symbols.h">
+        </File>
+        <File RelativePath=".\preprocessor\tokens.h">
+        </File>
+      </Filter>
+      <Filter Name="generated">
+        <File RelativePath=".\glslang_tab.h">
+        </File>
+      </Filter>
+    </Filter>
+  </Files>
+  <Globals>
+  </Globals>
+</VisualStudioProject>
\ No newline at end of file
--- a/gfx/angle/src/compiler/translator_hlsl.vcproj
+++ b/gfx/angle/src/compiler/translator_hlsl.vcproj
@@ -1,192 +1,68 @@
 <?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="translator_hlsl"
-	ProjectGUID="{5620F0E4-6C43-49BC-A178-B804E1A0C3A7}"
-	RootNamespace="CrossCompilerHLSL"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)\hlsl"
-			ConfigurationType="4"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="$(ProjectDir)../;$(ProjectDir)../../include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;NOMINMAX"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)\hlsl"
-			ConfigurationType="4"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="$(ProjectDir)../;$(ProjectDir)../../include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_SECURE_SCL=0"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\CodeGenHLSL.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\OutputHLSL.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\TranslatorHLSL.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\UnfoldSelect.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\OutputHLSL.h"
-				>
-			</File>
-			<File
-				RelativePath=".\TranslatorHLSL.h"
-				>
-			</File>
-			<File
-				RelativePath=".\UnfoldSelect.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="translator_hlsl" ProjectGUID="{5620F0E4-6C43-49BC-A178-B804E1A0C3A7}" RootNamespace="CrossCompilerHLSL" Keyword="Win32Proj" TargetFrameworkVersion="196613">
+  <Platforms>
+    <Platform Name="Win32" />
+  </Platforms>
+  <ToolFiles>
+  </ToolFiles>
+  <Configurations>
+    <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)\hlsl" ConfigurationType="4" CharacterSet="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)../;$(ProjectDir)../../include" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" DebugInformationFormat="4" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLibrarianTool" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCPostBuildEventTool" />
+    </Configuration>
+    <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)\hlsl" ConfigurationType="4" CharacterSet="1" WholeProgramOptimization="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="$(ProjectDir)../;$(ProjectDir)../../include" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_SECURE_SCL=0" RuntimeLibrary="0" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" WarningLevel="3" DebugInformationFormat="3" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLibrarianTool" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCPostBuildEventTool" />
+    </Configuration>
+  </Configurations>
+  <References>
+  </References>
+  <Files>
+    <Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+      <File RelativePath=".\CodeGenHLSL.cpp">
+      </File>
+      <File RelativePath=".\OutputHLSL.cpp">
+      </File>
+      <File RelativePath=".\TranslatorHLSL.cpp">
+      </File>
+      <File RelativePath=".\UnfoldSelect.cpp">
+      </File>
+    </Filter>
+    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+      <File RelativePath=".\OutputHLSL.h">
+      </File>
+      <File RelativePath=".\TranslatorHLSL.h">
+      </File>
+      <File RelativePath=".\UnfoldSelect.h">
+      </File>
+    </Filter>
+  </Files>
+  <Globals>
+  </Globals>
+</VisualStudioProject>
\ No newline at end of file
--- a/gfx/angle/src/libEGL/libEGL.vcproj
+++ b/gfx/angle/src/libEGL/libEGL.vcproj
@@ -1,252 +1,86 @@
 <?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="libEGL"
-	ProjectGUID="{E746FCA9-64C3-433E-85E8-9A5A67AB7ED6}"
-	RootNamespace="libEGL"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dxguid.lib"
-				LinkIncremental="2"
-				ModuleDefinitionFile="libEGL.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="dxguid.lib"
-				LinkIncremental="1"
-				ModuleDefinitionFile="libEGL.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\Config.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\Common\debug.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Display.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\libEGL.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\main.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Surface.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\Config.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Display.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\EGL\egl.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\EGL\eglext.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\EGL\eglplatform.h"
-				>
-			</File>
-			<File
-				RelativePath=".\main.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Surface.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\libEGL.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="libEGL" ProjectGUID="{E746FCA9-64C3-433E-85E8-9A5A67AB7ED6}" RootNamespace="libEGL" Keyword="Win32Proj" TargetFrameworkVersion="131072">
+  <Platforms>
+    <Platform Name="Win32" />
+  </Platforms>
+  <ToolFiles>
+  </ToolFiles>
+  <Configurations>
+    <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="4" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLinkerTool" AdditionalDependencies="dxguid.lib" LinkIncremental="2" ModuleDefinitionFile="libEGL.def" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCManifestTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCAppVerifierTool" />
+      <Tool Name="VCPostBuildEventTool" CommandLine="@echo on&#xD;&#xA;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;@echo off&#xD;&#xA;" />
+    </Configuration>
+    <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="1" WholeProgramOptimization="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="2" AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLinkerTool" AdditionalDependencies="dxguid.lib" LinkIncremental="1" ModuleDefinitionFile="libEGL.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCManifestTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCAppVerifierTool" />
+      <Tool Name="VCPostBuildEventTool" CommandLine="@echo on&#xD;&#xA;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;@echo off&#xD;&#xA;" />
+    </Configuration>
+  </Configurations>
+  <References>
+  </References>
+  <Files>
+    <Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+      <File RelativePath=".\Config.cpp">
+      </File>
+      <File RelativePath="..\Common\debug.cpp">
+      </File>
+      <File RelativePath=".\Display.cpp">
+      </File>
+      <File RelativePath=".\libEGL.cpp">
+      </File>
+      <File RelativePath=".\main.cpp">
+      </File>
+      <File RelativePath=".\Surface.cpp">
+      </File>
+    </Filter>
+    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+      <File RelativePath=".\Config.h">
+      </File>
+      <File RelativePath=".\Display.h">
+      </File>
+      <File RelativePath="..\..\include\EGL\egl.h">
+      </File>
+      <File RelativePath="..\..\include\EGL\eglext.h">
+      </File>
+      <File RelativePath="..\..\include\EGL\eglplatform.h">
+      </File>
+      <File RelativePath=".\main.h">
+      </File>
+      <File RelativePath=".\Surface.h">
+      </File>
+    </Filter>
+    <File RelativePath=".\libEGL.def">
+    </File>
+  </Files>
+  <Globals>
+  </Globals>
+</VisualStudioProject>
\ No newline at end of file
--- a/gfx/angle/src/libGLESv2/libGLESv2.vcproj
+++ b/gfx/angle/src/libGLESv2/libGLESv2.vcproj
@@ -1,373 +1,146 @@
 <?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="libGLESv2"
-	ProjectGUID="{B5871A7A-968C-42E3-A33B-981E6F448E78}"
-	RootNamespace="libGLESv2"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="D3dx9.lib"
-				LinkIncremental="2"
-				ModuleDefinitionFile="libGLESv2.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="D3dx9.lib"
-				LinkIncremental="1"
-				IgnoreAllDefaultLibraries="false"
-				ModuleDefinitionFile="libGLESv2.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-				CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\Blit.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Buffer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Context.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\common\debug.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Fence.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Framebuffer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\libGLESv2.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\main.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Program.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\RefCountObject.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Renderbuffer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\ResourceManager.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Shader.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Texture.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\utilities.cpp"
-				>
-			</File>
-			<Filter
-				Name="Geometry"
-				>
-				<File
-					RelativePath=".\geometry\backend.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\dx9.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\IndexDataManager.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\VertexDataManager.cpp"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\Blit.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Buffer.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Context.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Fence.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Framebuffer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\GLES2\gl2.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\GLES2\gl2ext.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\GLES2\gl2platform.h"
-				>
-			</File>
-			<File
-				RelativePath=".\main.h"
-				>
-			</File>
-			<File
-				RelativePath=".\mathutil.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Program.h"
-				>
-			</File>
-			<File
-				RelativePath=".\RefCountObject.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Renderbuffer.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ResourceManager.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Shader.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Texture.h"
-				>
-			</File>
-			<File
-				RelativePath=".\utilities.h"
-				>
-			</File>
-			<Filter
-				Name="Geometry"
-				>
-				<File
-					RelativePath=".\geometry\backend.h"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\dx9.h"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\IndexDataManager.h"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\vertexconversion.h"
-					>
-				</File>
-				<File
-					RelativePath=".\geometry\VertexDataManager.h"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<File
-			RelativePath=".\libGLESv2.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="libGLESv2" ProjectGUID="{B5871A7A-968C-42E3-A33B-981E6F448E78}" RootNamespace="libGLESv2" Keyword="Win32Proj" TargetFrameworkVersion="131072">
+  <Platforms>
+    <Platform Name="Win32" />
+  </Platforms>
+  <ToolFiles>
+  </ToolFiles>
+  <Configurations>
+    <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="4" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLinkerTool" AdditionalDependencies="D3dx9.lib" LinkIncremental="2" ModuleDefinitionFile="libGLESv2.def" GenerateDebugInformation="true" SubSystem="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCManifestTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCAppVerifierTool" />
+      <Tool Name="VCPostBuildEventTool" CommandLine="@echo on&#xD;&#xA;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;@echo off&#xD;&#xA;" />
+    </Configuration>
+    <Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" CharacterSet="1" WholeProgramOptimization="1">
+      <Tool Name="VCPreBuildEventTool" />
+      <Tool Name="VCCustomBuildTool" />
+      <Tool Name="VCXMLDataGeneratorTool" />
+      <Tool Name="VCWebServiceProxyGeneratorTool" />
+      <Tool Name="VCMIDLTool" />
+      <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="2" AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" />
+      <Tool Name="VCManagedResourceCompilerTool" />
+      <Tool Name="VCResourceCompilerTool" />
+      <Tool Name="VCPreLinkEventTool" />
+      <Tool Name="VCLinkerTool" AdditionalDependencies="D3dx9.lib" LinkIncremental="1" IgnoreAllDefaultLibraries="false" ModuleDefinitionFile="libGLESv2.def" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" EnableCOMDATFolding="2" RandomizedBaseAddress="1" DataExecutionPrevention="0" TargetMachine="1" />
+      <Tool Name="VCALinkTool" />
+      <Tool Name="VCManifestTool" />
+      <Tool Name="VCXDCMakeTool" />
+      <Tool Name="VCBscMakeTool" />
+      <Tool Name="VCFxCopTool" />
+      <Tool Name="VCAppVerifierTool" />
+      <Tool Name="VCPostBuildEventTool" CommandLine="@echo on&#xD;&#xA;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#xD;&#xA;@echo off&#xD;&#xA;" />
+    </Configuration>
+  </Configurations>
+  <References>
+  </References>
+  <Files>
+    <Filter Name="Source Files" Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+      <File RelativePath=".\Blit.cpp">
+      </File>
+      <File RelativePath=".\Buffer.cpp">
+      </File>
+      <File RelativePath=".\Context.cpp">
+      </File>
+      <File RelativePath="..\common\debug.cpp">
+      </File>
+      <File RelativePath=".\Fence.cpp">
+      </File>
+      <File RelativePath=".\Framebuffer.cpp">
+      </File>
+      <File RelativePath=".\libGLESv2.cpp">
+      </File>
+      <File RelativePath=".\main.cpp">
+      </File>
+      <File RelativePath=".\Program.cpp">
+      </File>
+      <File RelativePath=".\RefCountObject.cpp">
+      </File>
+      <File RelativePath=".\Renderbuffer.cpp">
+      </File>
+      <File RelativePath=".\ResourceManager.cpp">
+      </File>
+      <File RelativePath=".\Shader.cpp">
+      </File>
+      <File RelativePath=".\Texture.cpp">
+      </File>
+      <File RelativePath=".\utilities.cpp">
+      </File>
+      <Filter Name="Geometry">
+        <File RelativePath=".\geometry\backend.cpp">
+        </File>
+        <File RelativePath=".\geometry\dx9.cpp">
+        </File>
+        <File RelativePath=".\geometry\IndexDataManager.cpp">
+        </File>
+        <File RelativePath=".\geometry\VertexDataManager.cpp">
+        </File>
+      </Filter>
+    </Filter>
+    <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+      <File RelativePath=".\Blit.h">
+      </File>
+      <File RelativePath=".\Buffer.h">
+      </File>
+      <File RelativePath=".\Context.h">
+      </File>
+      <File RelativePath=".\Fence.h">
+      </File>
+      <File RelativePath=".\Framebuffer.h">
+      </File>
+      <File RelativePath="..\..\include\GLES2\gl2.h">
+      </File>
+      <File RelativePath="..\..\include\GLES2\gl2ext.h">
+      </File>
+      <File RelativePath="..\..\include\GLES2\gl2platform.h">
+      </File>
+      <File RelativePath=".\main.h">
+      </File>
+      <File RelativePath=".\mathutil.h">
+      </File>
+      <File RelativePath=".\Program.h">
+      </File>
+      <File RelativePath=".\RefCountObject.h">
+      </File>
+      <File RelativePath=".\Renderbuffer.h">
+      </File>
+      <File RelativePath=".\ResourceManager.h">
+      </File>
+      <File RelativePath=".\Shader.h">
+      </File>
+      <File RelativePath=".\Texture.h">
+      </File>
+      <File RelativePath=".\utilities.h">
+      </File>
+      <Filter Name="Geometry">
+        <File RelativePath=".\geometry\backend.h">
+        </File>
+        <File RelativePath=".\geometry\dx9.h">
+        </File>
+        <File RelativePath=".\geometry\IndexDataManager.h">
+        </File>
+        <File RelativePath=".\geometry\vertexconversion.h">
+        </File>
+        <File RelativePath=".\geometry\VertexDataManager.h">
+        </File>
+      </Filter>
+    </Filter>
+    <File RelativePath=".\libGLESv2.def">
+    </File>
+  </Files>
+  <Globals>
+  </Globals>
+</VisualStudioProject>
\ No newline at end of file