Fixed a bug that allowed reading to an integer format from a non-integer frame buffer.
TRAC #23276
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Geoff Lang
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 5a34f04..d5b5e5b 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -1587,7 +1587,16 @@
switch (type)
{
case GL_INT:
+ if (!gl::IsSignedIntegerFormat(internalFormat, 3))
+ {
+ return false;
+ }
+ break;
case GL_UNSIGNED_INT:
+ if (!gl::IsUnsignedIntegerFormat(internalFormat, 3))
+ {
+ return false;
+ }
break;
default:
return false;