From: Ian Romanick Date: Wed, 8 Jan 2014 03:12:16 +0000 (-0800) Subject: mesa: Restore all the viewports in _mesa_PopAttrib X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=562f353434878844e3aca4d75d049d5f17242aa8;p=mesa.git mesa: Restore all the viewports in _mesa_PopAttrib Signed-off-by: Ian Romanick Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index db659ad8dc8..7b7cf0ef3d1 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -1357,10 +1357,15 @@ _mesa_PopAttrib(void) break; case GL_VIEWPORT_BIT: { + unsigned i; const struct gl_viewport_attrib *vp; vp = (const struct gl_viewport_attrib *) attr->data; - _mesa_Viewport(vp->X, vp->Y, vp->Width, vp->Height); - _mesa_DepthRange(vp->Near, vp->Far); + + for (i = 0; i < ctx->Const.MaxViewports; i++) { + _mesa_set_viewport(ctx, i, vp[i].X, vp[i].Y, vp[i].Width, + vp[i].Height); + _mesa_set_depth_range(ctx, i, vp[i].Near, vp[i].Far); + } } break; case GL_MULTISAMPLE_BIT_ARB: