Add a new internal enum for shader type, instead of re-using GL enums.

TRAC #22412

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1783 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index b4df14a..8e3c376 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -1652,7 +1652,7 @@
     ptr += vertexShaderSize;
 
     mPixelExecutable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(pixelShaderFunction),
-                                                 pixelShaderSize, GL_FRAGMENT_SHADER);
+                                                 pixelShaderSize, rx::SHADER_PIXEL);
     if (!mPixelExecutable)
     {
         infoLog.append("Could not create pixel shader.");
@@ -1660,7 +1660,7 @@
     }
 
     mVertexExecutable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(vertexShaderFunction),
-                                                  vertexShaderSize, GL_VERTEX_SHADER);
+                                                  vertexShaderSize, rx::SHADER_VERTEX);
     if (!mVertexExecutable)
     {
         infoLog.append("Could not create vertex shader.");
@@ -1807,8 +1807,8 @@
     }
 
     bool success = true;
-    mVertexExecutable = mRenderer->compileToExecutable(infoLog, vertexHLSL.c_str(), GL_VERTEX_SHADER);
-    mPixelExecutable = mRenderer->compileToExecutable(infoLog, pixelHLSL.c_str(), GL_FRAGMENT_SHADER);
+    mVertexExecutable = mRenderer->compileToExecutable(infoLog, vertexHLSL.c_str(), rx::SHADER_VERTEX);
+    mPixelExecutable = mRenderer->compileToExecutable(infoLog, pixelHLSL.c_str(), rx::SHADER_PIXEL);
 
     if (!mVertexExecutable || !mPixelExecutable)
     {
diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libGLESv2/renderer/Renderer.h
index a2ae433..242308e 100644
--- a/src/libGLESv2/renderer/Renderer.h
+++ b/src/libGLESv2/renderer/Renderer.h
@@ -80,6 +80,12 @@
     float depthFront[4];
 };
 
+enum ShaderType
+{
+    SHADER_VERTEX,
+    SHADER_PIXEL
+};
+
 class Renderer
 {
   public:
@@ -187,8 +193,8 @@
     virtual RenderTarget *createRenderTarget(int width, int height, GLenum format, GLsizei samples, bool depth) = 0;
 
     // Shader operations
-    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type) = 0;
-    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type) = 0;
+    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type) = 0;
+    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type) = 0;
 
     // Image operations
     virtual Image *createImage() = 0;
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp
index 522d838..1d4ae88 100644
--- a/src/libGLESv2/renderer/Renderer11.cpp
+++ b/src/libGLESv2/renderer/Renderer11.cpp
@@ -2376,13 +2376,13 @@
     return renderTarget;
 }
 
-ShaderExecutable *Renderer11::loadExecutable(const void *function, size_t length, GLenum type)
+ShaderExecutable *Renderer11::loadExecutable(const void *function, size_t length, rx::ShaderType type)
 {
     ShaderExecutable11 *executable = NULL;
 
     switch (type)
     {
-      case GL_VERTEX_SHADER:
+      case rx::SHADER_VERTEX:
         {
             ID3D11VertexShader *vshader = NULL;
             HRESULT result = mDevice->CreateVertexShader(function, length, NULL, &vshader);
@@ -2394,7 +2394,7 @@
             }
         }
         break;
-      case GL_FRAGMENT_SHADER:
+      case rx::SHADER_PIXEL:
         {
             ID3D11PixelShader *pshader = NULL;
             HRESULT result = mDevice->CreatePixelShader(function, length, NULL, &pshader);
@@ -2414,16 +2414,16 @@
     return executable;
 }
 
-ShaderExecutable *Renderer11::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type)
+ShaderExecutable *Renderer11::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type)
 {
     const char *profile = NULL;
 
     switch (type)
     {
-      case GL_VERTEX_SHADER:
+      case rx::SHADER_VERTEX:
         profile = "vs_4_0";
         break;
-      case GL_FRAGMENT_SHADER:
+      case rx::SHADER_PIXEL:
         profile = "ps_4_0";
         break;
       default:
diff --git a/src/libGLESv2/renderer/Renderer11.h b/src/libGLESv2/renderer/Renderer11.h
index ce730b7..4b4b89c 100644
--- a/src/libGLESv2/renderer/Renderer11.h
+++ b/src/libGLESv2/renderer/Renderer11.h
@@ -150,8 +150,8 @@
     virtual RenderTarget *createRenderTarget(int width, int height, GLenum format, GLsizei samples, bool depth);
 
     // Shader operations
-    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type);
-    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type);
+    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type);
+    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type);
 
     // Image operations
     virtual Image *createImage();
diff --git a/src/libGLESv2/renderer/Renderer9.cpp b/src/libGLESv2/renderer/Renderer9.cpp
index fea254d..4a1dc02 100644
--- a/src/libGLESv2/renderer/Renderer9.cpp
+++ b/src/libGLESv2/renderer/Renderer9.cpp
@@ -2981,13 +2981,13 @@
     return renderTarget;
 }
 
-ShaderExecutable *Renderer9::loadExecutable(const void *function, size_t length, GLenum type)
+ShaderExecutable *Renderer9::loadExecutable(const void *function, size_t length, rx::ShaderType type)
 {
     ShaderExecutable9 *executable = NULL;
 
     switch (type)
     {
-      case GL_VERTEX_SHADER:
+      case rx::SHADER_VERTEX:
         {
             IDirect3DVertexShader9 *vshader = createVertexShader((DWORD*)function, length);
             if (vshader)
@@ -2996,7 +2996,7 @@
             }
         }
         break;
-      case GL_FRAGMENT_SHADER:
+      case rx::SHADER_PIXEL:
         {
             IDirect3DPixelShader9 *pshader = createPixelShader((DWORD*)function, length);
             if (pshader)
@@ -3013,16 +3013,16 @@
     return executable;
 }
 
-ShaderExecutable *Renderer9::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type)
+ShaderExecutable *Renderer9::compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type)
 {
     const char *profile = NULL;
 
     switch (type)
     {
-      case GL_VERTEX_SHADER:
+      case rx::SHADER_VERTEX:
         profile = getMajorShaderModel() >= 3 ? "vs_3_0" : "vs_2_0";
         break;
-      case GL_FRAGMENT_SHADER:
+      case rx::SHADER_PIXEL:
         profile = getMajorShaderModel() >= 3 ? "ps_3_0" : "ps_2_0";
         break;
       default:
diff --git a/src/libGLESv2/renderer/Renderer9.h b/src/libGLESv2/renderer/Renderer9.h
index f1c1b61..2f271fb 100644
--- a/src/libGLESv2/renderer/Renderer9.h
+++ b/src/libGLESv2/renderer/Renderer9.h
@@ -180,8 +180,8 @@
     virtual RenderTarget *createRenderTarget(int width, int height, GLenum format, GLsizei samples, bool depth);
 
     // Shader operations
-    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type);
-    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type);
+    virtual ShaderExecutable *loadExecutable(const void *function, size_t length, rx::ShaderType type);
+    virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, rx::ShaderType type);
 
     // Image operations
     virtual Image *createImage();