X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fpanfrost%2Fpan_drm.c;h=4b8c197be0e5e2d0d1fe36364ae1430707c085dc;hb=b19d1a1e639cb7cce2eb4d0856317512aca6e01b;hp=887bf19148e7f05222b1cb2f3fbfdba107b7c273;hpb=53ab8122307eb8387c7fde2f149ebba80038af2f;p=mesa.git diff --git a/src/gallium/drivers/panfrost/pan_drm.c b/src/gallium/drivers/panfrost/pan_drm.c index 887bf19148e..4b8c197be0e 100644 --- a/src/gallium/drivers/panfrost/pan_drm.c +++ b/src/gallium/drivers/panfrost/pan_drm.c @@ -296,6 +296,13 @@ panfrost_drm_force_flush_fragment(struct panfrost_context *ctx, struct pipe_fence_handle **fence) { struct pipe_context *gallium = (struct pipe_context *) ctx; + struct panfrost_screen *screen = pan_screen(gallium->screen); + struct panfrost_drm *drm = (struct panfrost_drm *)screen->driver; + + if (!screen->last_fragment_flushed) { + drmSyncobjWait(drm->fd, &ctx->out_sync, 1, INT64_MAX, 0, NULL); + screen->last_fragment_flushed = true; + } if (fence) { struct panfrost_fence *f = panfrost_fence_create(ctx);