From a43cfd71da2fddd6df201f64814d4a8a6d8e7eb9 Mon Sep 17 00:00:00 2001 From: Jon Taylor Date: Fri, 27 Aug 1999 21:06:30 +0000 Subject: [PATCH] Fixed double buffering bug when running in X --- src/mesa/drivers/ggi/ggimesa.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/ggi/ggimesa.c b/src/mesa/drivers/ggi/ggimesa.c index 5c5fd301721..7983c930c8f 100644 --- a/src/mesa/drivers/ggi/ggimesa.c +++ b/src/mesa/drivers/ggi/ggimesa.c @@ -373,7 +373,8 @@ int GGIMesaSetVisual(GGIMesaContext ctx, ggi_visual_t vis, } /* FIXME: Use separate buffers */ - ctx->lfb[1] = ctx->lfb[0]; + ctx->lfb[1] = malloc(ctx->stride * ctx->height); + ctx->bufsize = (ctx->stride * ctx->height); ctx->gl_ctx->Visual = ctx->gl_vis; ctx->gl_ctx->Pixel.ReadBuffer = @@ -424,13 +425,12 @@ GGIMesaContext GGIMesaGetCurrentContext(void) */ void GGIMesaSwapBuffers(void) { + gl_ggiDEBUG("GGIMesaSwapBuffers\n"); FLUSH_VB(GGIMesa->gl_ctx, "swap buffers"); + gl_ggiFlush(GGIMesa->gl_ctx); if (GGIMesa->gl_vis->DBflag) { - void *buftemp; - buftemp = GGIMesa->lfb[0]; - GGIMesa->lfb[0] = GGIMesa->lfb[1]; - GGIMesa->lfb[1] = buftemp; + memcpy(GGIMesa->lfb[0], GGIMesa->lfb[1], GGIMesa->bufsize); } } -- 2.30.2