Implemented glTexStorage2DEXT.

TRAC #18730
Signed-off-by: Daniel Koch
Author: Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/trunk@857 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/utilities.cpp b/src/libGLESv2/utilities.cpp
index 160ae6d..1e48f88 100644
--- a/src/libGLESv2/utilities.cpp
+++ b/src/libGLESv2/utilities.cpp
@@ -374,6 +374,38 @@
     }
 }
 
+GLenum ExtractFormat(GLenum internalformat)
+{
+    switch (internalformat)
+    {
+      case GL_RGB565:                return GL_RGB;
+      case GL_RGBA4:                 return GL_RGBA;
+      case GL_RGB5_A1:               return GL_RGBA;
+      case GL_RGB8_OES:              return GL_RGB;
+      case GL_RGBA8_OES:             return GL_RGBA;
+      case GL_LUMINANCE8_ALPHA8_EXT: return GL_LUMINANCE_ALPHA;
+      case GL_LUMINANCE8_EXT:        return GL_LUMINANCE;
+      case GL_ALPHA8_EXT:            return GL_ALPHA;
+      default:                       return GL_NONE;   // Unsupported
+    }
+}
+
+GLenum ExtractType(GLenum internalformat)
+{
+    switch (internalformat)
+    {
+      case GL_RGB565:                return GL_UNSIGNED_SHORT_5_6_5;
+      case GL_RGBA4:                 return GL_UNSIGNED_SHORT_4_4_4_4;
+      case GL_RGB5_A1:               return GL_UNSIGNED_SHORT_5_5_5_1;
+      case GL_RGB8_OES:              return GL_UNSIGNED_BYTE;
+      case GL_RGBA8_OES:             return GL_UNSIGNED_BYTE;
+      case GL_LUMINANCE8_ALPHA8_EXT: return GL_UNSIGNED_BYTE;
+      case GL_LUMINANCE8_EXT:        return GL_UNSIGNED_BYTE;
+      case GL_ALPHA8_EXT:            return GL_UNSIGNED_BYTE;
+      default:                       return GL_NONE;   // Unsupported
+    }
+}
+
 bool IsColorRenderable(GLenum internalformat)
 {
     switch (internalformat)