From a6c72b67f6d48d6fdc7f1cf908f026a7db03c666 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 3 Jul 2006 13:17:00 +0000 Subject: fix clipping bug on context change (Martijn van Oosterhout) --- src/mesa/drivers/dri/r128/r128_state.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/mesa') diff --git a/src/mesa/drivers/dri/r128/r128_state.c b/src/mesa/drivers/dri/r128/r128_state.c index 3a1d71d2154..05ab3890d2c 100644 --- a/src/mesa/drivers/dri/r128/r128_state.c +++ b/src/mesa/drivers/dri/r128/r128_state.c @@ -1132,6 +1132,15 @@ void r128EmitHwStateLocked( r128ContextPtr rmesa ) R128_UPLOAD_WINDOW | R128_UPLOAD_CORE) ) { memcpy( &sarea->context_state, regs, sizeof(sarea->context_state) ); + + if( rmesa->dirty & R128_UPLOAD_CONTEXT ) + { + /* One possible side-effect of uploading a new context is the + * setting of the R128_GMC_AUX_CLIP_DIS bit, which causes all + * auxilliary cliprects to be disabled. So the next command must + * upload them again. */ + rmesa->dirty |= R128_UPLOAD_CLIPRECTS; + } } if ( (rmesa->dirty & R128_UPLOAD_TEX0) && t0 ) { -- cgit v1.2.3