From: Marc Date: Tue, 6 Mar 2007 12:22:35 +0000 (+0100) Subject: r200: Call radeonSetCliprects from radeonMakeCurrent. Bugzilla-Url: https://bugs.freedesktop.org/show_bug.cgi?id=9876#c11 r200: Call radeonSetCliprects from radeonMakeCurrent. Based on a patch by Panagiotis Papadakos and Michel Dänzer. Adapted to Mesa 6.5.2 (ubuntu) by Treviño Among other things, this makes sure the framebuffer object associated with the drawable has the correct size when _mesa_make_current is called, so the default viewport is set up correctly. Also update radeon->lastStamp in radeonSetCliprects. ### diff -ur a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c --- a/src/mesa/drivers/dri/r200/r200_context.c 2006-11-15 20:54:40.000000000 +0100 +++ b/src/mesa/drivers/dri/r200/r200_context.c 2007-03-07 20:17:51.000000000 +0100 @@ -694,6 +694,8 @@ r200UpdateWindow( newCtx->glCtx ); r200UpdateViewportOffset( newCtx->glCtx ); + + r200SetCliprects(newCtx, GL_BACK_LEFT); } _mesa_make_current( newCtx->glCtx, diff -ur a/src/mesa/drivers/dri/r200/r200_lock.c b/src/mesa/drivers/dri/r200/r200_lock.c --- a/src/mesa/drivers/dri/r200/r200_lock.c 2006-11-15 20:54:40.000000000 +0100 +++ b/src/mesa/drivers/dri/r200/r200_lock.c 2007-03-07 20:18:25.000000000 +0100 @@ -98,7 +98,7 @@ 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 -ur a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c --- a/src/mesa/drivers/dri/r200/r200_state.c 2006-11-15 20:54:40.000000000 +0100 +++ b/src/mesa/drivers/dri/r200/r200_state.c 2007-03-07 21:05:16.000000000 +0100 @@ -1890,6 +1890,8 @@ if (rmesa->state.scissor.enabled) r200RecalcScissorRects( rmesa ); + + rmesa->lastStamp = drawable->lastStamp; }