summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/attrib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/attrib.c')
-rw-r--r--src/mesa/main/attrib.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 50b65c413e5..3c12fd6824d 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1005,11 +1005,16 @@ _mesa_PopAttrib(void)
* user FBO bound, GL_FRONT will be illegal and we'll need
* to record that error. Per OpenGL ARB decision.
*/
- if (multipleBuffers)
- _mesa_DrawBuffers(ctx->Const.MaxDrawBuffers,
- color->DrawBuffer);
- else
+ if (multipleBuffers) {
+ GLenum buffers[MAX_DRAW_BUFFERS];
+
+ for (unsigned i = 0; i < ctx->Const.MaxDrawBuffers; i++)
+ buffers[i] = color->DrawBuffer[i];
+
+ _mesa_DrawBuffers(ctx->Const.MaxDrawBuffers, buffers);
+ } else {
_mesa_DrawBuffer(color->DrawBuffer[0]);
+ }
}
_mesa_set_enable(ctx, GL_ALPHA_TEST, color->AlphaEnabled);
_mesa_AlphaFunc(color->AlphaFunc, color->AlphaRefUnclamped);