From 32d458fdff83454b9b3a9f77b9c34640e382b4f3 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Mon, 2 Sep 2019 18:50:01 -0400 Subject: [PATCH] teximage: ensure that Tex*SubImage* checks format MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/mesa/main/teximage.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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; -- 2.30.2