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/validationES3.cpp b/src/libGLESv2/validationES3.cpp
index 326e5aa..ad1bde7 100644
--- a/src/libGLESv2/validationES3.cpp
+++ b/src/libGLESv2/validationES3.cpp
@@ -729,7 +729,7 @@
     return true;
 }
 
-bool ValidES3ReadFormatType(GLenum internalFormat, GLenum format, GLenum type)
+bool ValidES3ReadFormatType(gl::Context *context, GLenum internalFormat, GLenum format, GLenum type)
 {
     switch (format)
     {
@@ -784,6 +784,20 @@
             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;
     }