From: Ilia Mirkin Date: Mon, 2 Sep 2019 22:50:01 +0000 (-0400) Subject: teximage: ensure that Tex*SubImage* checks format X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=32d458fdff83454b9b3a9f77b9c34640e382b4f3;p=mesa.git teximage: ensure that Tex*SubImage* checks format We were previously not doing at least some of the checks. This uses the same logic that is used in glTexImage*. Signed-off-by: Ilia Mirkin Reviewed-by: Dave Airlie Reviewed-by: Marek Olšák --- diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index f90765f40fa..e55e435779f 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2205,6 +2205,15 @@ texsubimage_error_check(struct gl_context *ctx, GLuint dimensions, return GL_TRUE; } + if (!texture_formats_agree(texImage->InternalFormat, format)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "%s(incompatible internalFormat = %s, format = %s)", + callerName, + _mesa_enum_to_string(texImage->InternalFormat), + _mesa_enum_to_string(format)); + return GL_TRUE; + } + GLenum internalFormat = _mesa_is_gles(ctx) ? oes_float_internal_format(ctx, texImage->InternalFormat, type) : texImage->InternalFormat;