浏览代码

Fixed double buffering bug when running in X

tags/mesa_3_1_beta_3
Jon Taylor 26 年前
父节点
当前提交
a43cfd71da
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5
    5
      src/mesa/drivers/ggi/ggimesa.c

+ 5
- 5
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);
}
}


正在加载...
取消
保存