mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-18 13:20:24 +01:00
mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93126 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
9e5e702cfb
commit
0396eaaf80
4 changed files with 11 additions and 4 deletions
|
|
@ -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->API == API_OPENGLES || !ctx->Extensions.ARB_texture_rg)
|
||||
return GL_INVALID_VALUE;
|
||||
/* fallthrough */
|
||||
case GL_ALPHA:
|
||||
case GL_LUMINANCE:
|
||||
case GL_LUMINANCE_ALPHA:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue