From 3ba16d36c988a1c7b31c7fe44c1b6a24d9d8227d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Tue, 10 Dec 2019 15:45:14 -0500 Subject: [PATCH] st/dri: do FLUSH_VERTICES before calling flush_resource --- src/gallium/state_trackers/dri/dri2.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c index e6f0e40..e1d87ee 100644 --- a/src/gallium/state_trackers/dri/dri2.c +++ b/src/gallium/state_trackers/dri/dri2.c @@ -445,10 +445,8 @@ dri2_allocate_textures(struct dri_context *ctx, /* Flush the texture before unreferencing, so that other clients can * see what the driver has rendered. */ - if (i != ST_ATTACHMENT_DEPTH_STENCIL && drawable->textures[i]) { - struct pipe_context *pipe = ctx->st->pipe; - pipe->flush_resource(pipe, drawable->textures[i]); - } + if (i != ST_ATTACHMENT_DEPTH_STENCIL && drawable->textures[i]) + ctx->st->flush_resource(ctx->st, drawable->textures[i]); pipe_resource_reference(&drawable->textures[i], NULL); } @@ -1517,11 +1515,11 @@ dri2_blit_image(__DRIcontext *context, __DRIimage *dst, __DRIimage *src, pipe->blit(pipe, &blit); if (flush_flag == __BLIT_FLAG_FLUSH) { - pipe->flush_resource(pipe, dst->texture); + ctx->st->flush_resource(ctx->st, dst->texture); ctx->st->flush(ctx->st, 0, NULL, NULL, NULL); } else if (flush_flag == __BLIT_FLAG_FINISH) { screen = dri_screen(ctx->sPriv)->base.screen; - pipe->flush_resource(pipe, dst->texture); + ctx->st->flush_resource(ctx->st, dst->texture); ctx->st->flush(ctx->st, 0, &fence, NULL, NULL); (void) screen->fence_finish(screen, NULL, fence, PIPE_TIMEOUT_INFINITE); screen->fence_reference(screen, &fence, NULL); -- 2.7.4