X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fclear.c;h=077c5fca3b75211a7071f8894db0273cd32ccbf7;hb=55cf320ed87f902d817dfea363e6612be0c3b675;hp=f0b525fa017fa47213e3362f62eae5ab21930692;hpb=03d848ea1003abefd8fe51a5b4a780527cd852af;p=mesa.git diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c index f0b525fa017..077c5fca3b7 100644 --- a/src/mesa/main/clear.c +++ b/src/mesa/main/clear.c @@ -179,7 +179,11 @@ _mesa_Clear( GLbitfield mask ) if (mask & GL_COLOR_BUFFER_BIT) { GLuint i; for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) { - bufferMask |= (1 << ctx->DrawBuffer->_ColorDrawBufferIndexes[i]); + GLint buf = ctx->DrawBuffer->_ColorDrawBufferIndexes[i]; + + if (buf >= 0) { + bufferMask |= 1 << buf; + } } } @@ -274,7 +278,7 @@ make_color_buffer_mask(struct gl_context *ctx, GLint drawbuffer) break; default: { - GLuint buf = ctx->DrawBuffer->_ColorDrawBufferIndexes[drawbuffer]; + GLint buf = ctx->DrawBuffer->_ColorDrawBufferIndexes[drawbuffer]; if (buf >= 0 && att[buf].Renderbuffer) { mask |= 1 << buf;