mesa: add missing texture integer test in glTexSubImage()
If the texture format is integer, the incoming user data must also be integer (and similarly for non-integer textures). NOTE: This is a candidate for the stable branches. Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -1852,6 +1852,17 @@ subtexture_error_check2( struct gl_context *ctx, GLuint dimensions,
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->VersionMajor >= 3 || ctx->Extensions.EXT_texture_integer) {
|
||||
/* both source and dest must be integer-valued, or neither */
|
||||
if (_mesa_is_format_integer_color(destTex->TexFormat) !=
|
||||
_mesa_is_integer_format(format)) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glTexSubImage%dD(integer/non-integer format mismatch)",
|
||||
dimensions);
|
||||
return GL_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user