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