From: Eric Anholt Date: Wed, 24 Mar 2010 03:52:06 +0000 (-0700) Subject: i965: Stop abusing ctx->NewState flags for storing driver internal changes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d99e990c078f3e1096e7d09bc686643e71d5681;p=mesa.git i965: Stop abusing ctx->NewState flags for storing driver internal changes. We're still abusing the flags by putting them where our driver stores ctx->NewState changes. Making them into more restricted state change flags would be a project for later. Fixes a failure where calling intel_draw_buffer() too often would trip up Mesa assertions about when Mesa state could get changed, when it hadn't. Bug #27034. --- diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c index b10693050a9..0480770ba1d 100644 --- a/src/mesa/drivers/dri/intel/intel_buffers.c +++ b/src/mesa/drivers/dri/intel/intel_buffers.c @@ -226,7 +226,7 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb) * only changes with _NEW_STENCIL (which seems sensible). So flag it * here since this is the _NEW_BUFFERS path. */ - ctx->NewState |= (_NEW_DEPTH | _NEW_STENCIL); + intel->NewGLState |= (_NEW_DEPTH | _NEW_STENCIL); } intel->vtbl.set_draw_region(intel, colorRegions, depthRegion, @@ -236,7 +236,7 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb) #ifdef I915 intelCalcViewport(ctx); #else - ctx->NewState |= _NEW_VIEWPORT; + intel->NewGLState |= _NEW_VIEWPORT; #endif /* Set state we know depends on drawable parameters: */ @@ -256,7 +256,7 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb) if (ctx->Driver.FrontFace) ctx->Driver.FrontFace(ctx, ctx->Polygon.FrontFace); else - ctx->NewState |= _NEW_POLYGON; + intel->NewGLState |= _NEW_POLYGON; }