Comment 11 for bug 90169

Revision history for this message
In , Marc Dietrich (marvin24) wrote :

michael: can you also patch r200 please. I tried it myself, but seems my patch was so poor, that it crashed the application :-(

was something like that:

diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index fc6eb93..25e697e 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -680,6 +680,8 @@ r200MakeCurrent( __DRIcontextPrivate *dr

         r200UpdateWindow( newCtx->glCtx );
         r200UpdateViewportOffset( newCtx->glCtx );
+
+ r200SetCliprects(newCtx, GL_BACK_LEFT);
       }

       _mesa_make_current( newCtx->glCtx,
diff --git a/src/mesa/drivers/dri/r200/r200_lock.c b/src/mesa/drivers/dri/r200/r200_lock.c
index bcc0c91..8eec3c6 100644
--- a/src/mesa/drivers/dri/r200/r200_lock.c
+++ b/src/mesa/drivers/dri/r200/r200_lock.c
@@ -98,7 +98,7 @@ void r200GetLock( r200ContextPtr rmesa,
          r200SetCliprects( rmesa, GL_FRONT_LEFT );
       r200UpdateViewportOffset( rmesa->glCtx );
       driUpdateFramebufferSize(rmesa->glCtx, drawable);
- rmesa->lastStamp = drawable->lastStamp;
+// rmesa->lastStamp = drawable->lastStamp;
    }

    R200_STATECHANGE( rmesa, ctx );
diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c
index bdb487f..2856b75 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -1889,6 +1889,8 @@ void r200SetCliprects( r200ContextPtr rm

    if (rmesa->state.scissor.enabled)
       r200RecalcScissorRects( rmesa );
+
+ rmesa->lastStamp = drawable->lastStamp;
 }