Add validation for GL_RED and GL_RG in glReadPixels.

EXT_texture_rg adds support for these readback formats but validation was
not added.

BUG=angle:609

Change-Id: Iddd94bb8d8cf3b244a0d8a59cd4445ffa2ae61fe
Reviewed-on: https://chromium-review.googlesource.com/195176
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/validationES2.cpp b/src/libGLESv2/validationES2.cpp
index 41246ee..342ee4e 100644
--- a/src/libGLESv2/validationES2.cpp
+++ b/src/libGLESv2/validationES2.cpp
@@ -1044,7 +1044,7 @@
 }
 
 // check for combinations of format and type that are valid for ReadPixels
-bool ValidES2ReadFormatType(GLenum format, GLenum type)
+bool ValidES2ReadFormatType(gl::Context *context, GLenum format, GLenum type)
 {
     switch (format)
     {
@@ -1068,6 +1068,21 @@
             return false;
         }
         break;
+      case GL_RG_EXT:
+      case GL_RED_EXT:
+        if (!context->supportsRGTextures())
+        {
+            return false;
+        }
+        switch (type)
+        {
+          case GL_UNSIGNED_BYTE:
+            break;
+          default:
+            return false;
+        }
+        break;
+
       default:
         return false;
     }