diff options
Diffstat (limited to 'src/gallium/state_trackers/dri')
-rw-r--r-- | src/gallium/state_trackers/dri/common/dri_drawable.c | 2 | ||||
-rw-r--r-- | src/gallium/state_trackers/dri/drm/dri2.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.c b/src/gallium/state_trackers/dri/common/dri_drawable.c index ee4d11d1495..2ea54781d17 100644 --- a/src/gallium/state_trackers/dri/common/dri_drawable.c +++ b/src/gallium/state_trackers/dri/common/dri_drawable.c @@ -441,6 +441,8 @@ dri_flush(__DRIcontext *cPriv, flush_flags = 0; if (flags & __DRI2_FLUSH_CONTEXT) flush_flags |= ST_FLUSH_FRONT; + if (reason == __DRI2_THROTTLE_SWAPBUFFER) + flush_flags |= ST_FLUSH_END_OF_FRAME; /* Flush the context and throttle if needed. */ if (dri_screen(ctx->sPriv)->throttling_enabled && diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index 7f4f2f00c77..f8d311ca8fa 100644 --- a/src/gallium/state_trackers/dri/drm/dri2.c +++ b/src/gallium/state_trackers/dri/drm/dri2.c @@ -420,7 +420,7 @@ dri2_flush_frontbuffer(struct dri_context *ctx, struct pipe_context *pipe = ctx->st->pipe; dri_msaa_resolve(ctx, drawable, ST_ATTACHMENT_FRONT_LEFT); - pipe->flush(pipe, NULL); + pipe->flush(pipe, NULL, 0); } if (loader->flushFrontBuffer) { |