Make software fallbacks work again:
authorNicolai Haehnle <prefect_@gmx.net>
Fri, 13 May 2005 21:29:17 +0000 (21:29 +0000)
committerNicolai Haehnle <prefect_@gmx.net>
Fri, 13 May 2005 21:29:17 +0000 (21:29 +0000)
We need to plug in swsetup functions into the TNL module's callbacks.
Also, resize the framebuffer size when the drawable size changes.

src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/r300/radeon_lock.c

index a1dff1177da4f1b8792a6300ce66fdb3c7e1d679..bcfbe2b6c8d8e817167c8fc494f3a39d2f152645 100644 (file)
@@ -299,6 +299,7 @@ GLboolean r300CreateContext(const __GLcontextModes * glVisual,
        _ac_CreateContext(ctx);
        _tnl_CreateContext(ctx);
        _swsetup_CreateContext(ctx);
+       _swsetup_Wakeup(ctx);
        _ae_create_context(ctx);
 
        /* Install the customized pipeline:
index 8f9fd8e388dad68a92ab56356e6ed7bbbec7335d..3c7fc72a426496ed9464e3ac90a44fe9200b0541 100644 (file)
@@ -40,6 +40,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "radeon_ioctl.h"
 #include "radeon_state.h"
 
+#include "framebuffer.h"
+
 #if DEBUG_LOCKING
 char *prevLockFile = NULL;
 int prevLockLine = 0;
@@ -102,6 +104,10 @@ static void r300RegainedLock(radeonContextPtr radeon)
        __DRIdrawablePrivate *dPriv = radeon->dri.drawable;
 
        if (radeon->lastStamp != dPriv->lastStamp) {
+               _mesa_resize_framebuffer(radeon->glCtx,
+                       (GLframebuffer*)dPriv->driverPrivate,
+                       dPriv->w, dPriv->h);
+
                radeonUpdatePageFlipping(radeon);
 
                if (radeon->glCtx->DrawBuffer->_ColorDrawBufferMask[0] == BUFFER_BIT_BACK_LEFT)