From: Alan Hourihane Date: Thu, 22 Mar 2007 14:26:49 +0000 (+0000) Subject: Ensure we have a valid ReadBuffer for CopyTexSubImage, and X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=985a2eff82111e81f70b6dea9d9b3184dd0061d3;p=mesa.git Ensure we have a valid ReadBuffer for CopyTexSubImage, and if not bail accordingly. Previously we'd only do this test on compressed textures. --- diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 543d6efc984..706d3466955 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2061,12 +2061,6 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, } if (teximage->IsCompressed) { - if (!_mesa_source_buffer_exists(ctx, teximage->_BaseFormat)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glCopyTexSubImage%dD(missing readbuffer)", dimensions); - return GL_TRUE; - } - if (target != GL_TEXTURE_2D) { _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexSubImage%d(target)", dimensions); @@ -2096,6 +2090,12 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, return GL_TRUE; } + if (!_mesa_source_buffer_exists(ctx, teximage->_BaseFormat)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glCopyTexSubImage%dD(missing readbuffer)", dimensions); + return GL_TRUE; + } + if (teximage->_BaseFormat == GL_DEPTH_COMPONENT) { if (!ctx->ReadBuffer->_DepthBuffer) { _mesa_error(ctx, GL_INVALID_OPERATION,