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; }
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 drivers/ dri/r200/ r200_context. c drivers/ dri/r200/ r200_context. c
index fc6eb93..25e697e 100644
--- a/src/mesa/
+++ b/src/mesa/
@@ -680,6 +680,8 @@ r200MakeCurrent( __DRIcontextPrivate *dr
+
+ r200SetCliprect
}
diff --git a/src/mesa/
index bcc0c91..8eec3c6 100644
--- a/src/mesa/
+++ b/src/mesa/
@@ -98,7 +98,7 @@ void r200GetLock( r200ContextPtr rmesa,
- rmesa->lastStamp = drawable-
+// rmesa->lastStamp = drawable-
}
R200_ STATECHANGE( rmesa, ctx ); drivers/ dri/r200/ r200_state. c b/src/mesa/ drivers/ dri/r200/ r200_state. c drivers/ dri/r200/ r200_state. c drivers/ dri/r200/ r200_state. c
diff --git a/src/mesa/
index bdb487f..2856b75 100644
--- a/src/mesa/
+++ b/src/mesa/
@@ -1889,6 +1889,8 @@ void r200SetCliprects( r200ContextPtr rm
if (rmesa- >state. scissor. enabled)
r200RecalcSciss orRects( rmesa ); >lastStamp;
+
+ rmesa->lastStamp = drawable-
}