[Mesa-dev] [PATCH v2 16/18] readpix: allow implementation format/type

Jordan Justen jordan.l.justen at intel.com
Sat Jan 12 20:11:06 PST 2013


For GLES2/3 allow reading of pixels with format/type based on:
 * GL_IMPLEMENTATION_COLOR_READ_FORMAT
 * GL_IMPLEMENTATION_COLOR_READ_TYPE

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
---
 src/mesa/main/readpix.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
index 994e589..6b07563 100644
--- a/src/mesa/main/readpix.c
+++ b/src/mesa/main/readpix.c
@@ -773,7 +773,12 @@ _mesa_ReadnPixelsARB( GLint x, GLint y, GLsizei width, GLsizei height,
     * combination is, and Mesa can handle anything valid.  Just work instead.
     */
    if (_mesa_is_gles(ctx)) {
-      if (ctx->Version < 30) {
+      if (ctx->API == API_OPENGLES2 &&
+          _mesa_is_color_format(format) &&
+          _mesa_get_color_read_format(ctx) == format &&
+          _mesa_get_color_read_type(ctx) == type) {
+         err = GL_NO_ERROR;
+      } else if (ctx->Version < 30) {
          err = _mesa_es_error_check_format_and_type(format, type, 2);
          if (err == GL_NO_ERROR) {
             if (type == GL_FLOAT || type == GL_HALF_FLOAT_OES) {
-- 
1.7.10.4



More information about the mesa-dev mailing list