diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 1c3057957f5..3d960f962d4 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -1124,7 +1124,11 @@ _mesa_PopAttrib(void) AlphaToCoverageDitherControlNV); } - ctx->PopAttribState = attr->OldPopAttribStateMask; + /* Restore the previous PopAttribStateMask as well as any modified state + * that was not restored in the current pop. + */ + ctx->PopAttribState = attr->OldPopAttribStateMask | + (ctx->PopAttribState & ~attr->Mask); }