Added support for compressed storage textures.

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

git-svn-id: https://angleproject.googlecode.com/svn/trunk@858 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/utilities.cpp b/src/libGLESv2/utilities.cpp
index 1e48f88..bc098d0 100644
--- a/src/libGLESv2/utilities.cpp
+++ b/src/libGLESv2/utilities.cpp
@@ -378,15 +378,19 @@
 {
     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
+      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;
+      case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:    return GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
+      case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:   return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
+      case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE: return GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE;
+      case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE: return GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE;
+      default:                                 return GL_NONE;   // Unsupported
     }
 }
 
@@ -394,15 +398,19 @@
 {
     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
+      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;
+      case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:    return GL_UNSIGNED_BYTE;
+      case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:   return GL_UNSIGNED_BYTE;
+      case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE: return GL_UNSIGNED_BYTE;
+      case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE: return GL_UNSIGNED_BYTE;
+      default:                                 return GL_NONE;   // Unsupported
     }
 }