diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c index a9426df..0918537 100644 --- a/src/gallium/drivers/nouveau/nouveau_screen.c +++ b/src/gallium/drivers/nouveau/nouveau_screen.c @@ -166,7 +166,8 @@ nouveau_screen_fence_finish(struct pipe_screen *screen, struct pipe_fence_handle *pfence, unsigned flags) { - return 0; + struct nouveau_screen *ns = nouveau_screen(screen); + return nouveau_channel_wait(ns->channel); } diff --git a/src/gallium/drivers/nvfx/nvfx_context.c b/src/gallium/drivers/nvfx/nvfx_context.c index 6c8934d..046ad84 100644 --- a/src/gallium/drivers/nvfx/nvfx_context.c +++ b/src/gallium/drivers/nvfx/nvfx_context.c @@ -24,8 +24,11 @@ nvfx_flush(struct pipe_context *pipe, unsigned flags, } FIRE_RING(chan); +/* Gallium only checks if *fence is non-zero on return. fence here is null when called + * from glFlush, non-null when called from glFinish. The real fence lives only in the kernel. + */ if (fence) - *fence = NULL; + *fence = 1; } static void _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev