r300: Call radeonSetCliprects from radeonMakeCurrent.

Based on a patch by Panagiotis Papadakos.

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.
This commit is contained in:
Michel Dänzer 2007-03-06 13:22:35 +01:00
parent 1c70cde888
commit 6f9b1afc86
3 changed files with 5 additions and 1 deletions

View file

@ -51,6 +51,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "radeon_macros.h"
#include "radeon_reg.h"
#include "radeon_state.h"
#include "r300_state.h"
#include "utils.h"
@ -279,6 +280,8 @@ GLboolean radeonMakeCurrent(__DRIcontextPrivate * driContextPriv,
r300UpdateWindow(radeon->glCtx);
r300UpdateViewportOffset(radeon->glCtx);
radeonSetCliprects(radeon);
}
_mesa_make_current(radeon->glCtx,

View file

@ -90,7 +90,6 @@ static void r300RegainedLock(radeonContextPtr radeon)
#else
radeonUpdateScissor(radeon->glCtx);
#endif
radeon->lastStamp = drawable->lastStamp;
}
if (sarea->ctx_owner != radeon->dri.hwContext) {

View file

@ -185,6 +185,8 @@ void radeonSetCliprects(radeonContextPtr radeon)
if (radeon->state.scissor.enabled)
radeonRecalcScissorRects(radeon);
radeon->lastStamp = drawable->lastStamp;
}