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;
}