Hello,

On Sat Nov 27 22:47:59 2004 UTC, there was a big commit into Mesa CVS by
brianp, with the following comment:

> Remove _mesa_ResizeBuffersMESA() call from _mesa_set_viewport().
> Now, the driver's Viewport routine should call _mesa_ResizeBuffersMESA()
> if necessary.

The r200 driver fails to do that. Thls leads e.g. to the buildings outside
the bottom-left 800x600 rectangle disappearing in bzflag, and screenshots
showing only that rectangle. The fix (stolen from the "radeon" directory)
is attached, please apply.

Unfortunately, I can't test anything except r200, but please check the
"i915" and "x11" directories for the same type of a bug.

-- 
Alexander E. Patrakov
diff -ur Mesa.orig/src/mesa/drivers/dri/r200/r200_state.c Mesa/src/mesa/drivers/dri/r200/r200_state.c
--- Mesa.orig/src/mesa/drivers/dri/r200/r200_state.c	2005-02-08 16:30:32.000000000 +0500
+++ Mesa/src/mesa/drivers/dri/r200/r200_state.c	2005-02-08 16:34:41.000000000 +0500
@@ -40,6 +40,7 @@
 #include "enums.h"
 #include "colormac.h"
 #include "light.h"
+#include "buffers.h"
 
 #include "swrast/swrast.h"
 #include "array_cache/acache.h"
@@ -1631,6 +1632,8 @@
 static void r200Viewport( GLcontext *ctx, GLint x, GLint y,
 			    GLsizei width, GLsizei height )
 {
+   /* update size of Mesa/software ancillary buffers */
+   _mesa_ResizeBuffersMESA();
    /* Don't pipeline viewport changes, conflict with window offset
     * setting below.  Could apply deltas to rescue pipelined viewport
     * values, or keep the originals hanging around.

Reply via email to