On Sat, Nov 28, 2015 at 05:17:22PM -0500, Ilia Mirkin wrote: > On Sat, Nov 28, 2015 at 1:14 PM, Eduardo Lima Mitev <el...@igalia.com> wrote: > > Patch is: > > > > Reviewed-by: Eduardo Lima Mitev <el...@igalia.com> > > Thanks! I realized that this should also return invalid for GLES 1... > I'm adding ctx->API == API_OPENGLES and pushing. >
For future reference, you could use !_mesa_has_EXT_texture_rg(ctx). -Nanley > > > > On 11/26/2015 04:57 PM, Ilia Mirkin wrote: > >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93126 > >> Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > >> Cc: "11.0 11.1" <mesa-sta...@lists.freedesktop.org> > >> --- > >> src/mesa/main/glformats.c | 8 +++++++- > >> src/mesa/main/glformats.h | 3 ++- > >> src/mesa/main/readpix.c | 2 +- > >> src/mesa/main/teximage.c | 2 +- > >> 4 files changed, 11 insertions(+), 4 deletions(-) > >> > >> diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c > >> index 2ed42ea..7b264eb 100644 > >> --- a/src/mesa/main/glformats.c > >> +++ b/src/mesa/main/glformats.c > >> @@ -2077,12 +2077,18 @@ _mesa_error_check_format_and_type(const struct > >> gl_context *ctx, > >> * \return error code, or GL_NO_ERROR. > >> */ > >> GLenum > >> -_mesa_es_error_check_format_and_type(GLenum format, GLenum type, > >> +_mesa_es_error_check_format_and_type(const struct gl_context *ctx, > >> + GLenum format, GLenum type, > >> unsigned dimensions) > >> { > >> GLboolean type_valid = GL_TRUE; > >> > >> switch (format) { > >> + case GL_RED: > >> + case GL_RG: > >> + if (!ctx->Extensions.ARB_texture_rg) > >> + return GL_INVALID_VALUE; > >> + /* fallthrough */ > >> case GL_ALPHA: > >> case GL_LUMINANCE: > >> case GL_LUMINANCE_ALPHA: > >> diff --git a/src/mesa/main/glformats.h b/src/mesa/main/glformats.h > >> index 92f4bc6..b366855 100644 > >> --- a/src/mesa/main/glformats.h > >> +++ b/src/mesa/main/glformats.h > >> @@ -127,7 +127,8 @@ _mesa_error_check_format_and_type(const struct > >> gl_context *ctx, > >> GLenum format, GLenum type); > >> > >> extern GLenum > >> -_mesa_es_error_check_format_and_type(GLenum format, GLenum type, > >> +_mesa_es_error_check_format_and_type(const struct gl_context *ctx, > >> + GLenum format, GLenum type, > >> unsigned dimensions); > >> > >> extern GLenum > >> diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c > >> index 81bb912..8cdc9fe 100644 > >> --- a/src/mesa/main/readpix.c > >> +++ b/src/mesa/main/readpix.c > >> @@ -1043,7 +1043,7 @@ _mesa_ReadnPixelsARB( GLint x, GLint y, GLsizei > >> width, GLsizei height, > >> _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); > >> + err = _mesa_es_error_check_format_and_type(ctx, format, type, 2); > >> if (err == GL_NO_ERROR) { > >> if (type == GL_FLOAT || type == GL_HALF_FLOAT_OES) { > >> err = GL_INVALID_OPERATION; > >> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c > >> index ac7599f..37dbe26 100644 > >> --- a/src/mesa/main/teximage.c > >> +++ b/src/mesa/main/teximage.c > >> @@ -1699,7 +1699,7 @@ texture_format_error_check_gles(struct gl_context > >> *ctx, GLenum format, > >> } > >> } > >> else { > >> - err = _mesa_es_error_check_format_and_type(format, type, > >> dimensions); > >> + err = _mesa_es_error_check_format_and_type(ctx, format, type, > >> dimensions); > >> if (err != GL_NO_ERROR) { > >> _mesa_error(ctx, err, "%s(format = %s, type = %s)", > >> callerName, _mesa_enum_to_string(format), > >> > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev