Mesa (master): dri: Avoid swapbuffer throttling in glXCopySubBufferMESA
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Oct 5 13:20:01 UTC 2019
Module: Mesa
Branch: master
Commit: 396b41095944ea3675d30c0d47ca8c01db2b4c8f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=396b41095944ea3675d30c0d47ca8c01db2b4c8f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Oct 3 12:16:50 2019 -0400
dri: Avoid swapbuffer throttling in glXCopySubBufferMESA
We were supplying __DRI2_THROTTLE_SWAPBUFFER, rather than the obvious
choice of __DRI2_THROTTLE_COPYSUBBUFFER. This meant that we hit the
swap-based frame throttling. glXCopySubBuffer doesn't seem like it's
intended to be a frame boundary, so we'd like to avoid this throttling.
Tested-by: Michel Dänzer <mdaenzer at redhat.com> # DRI3 only
Reviewed-by: Michel Dänzer <mdaenzer at redhat.com>
---
src/glx/dri2_glx.c | 2 +-
src/loader/loader_dri3_helper.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index d2a9c881357..9c222d81312 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -599,7 +599,7 @@ __dri2CopySubBuffer(__GLXDRIdrawable *pdraw, int x, int y,
flags = __DRI2_FLUSH_DRAWABLE;
if (flush)
flags |= __DRI2_FLUSH_CONTEXT;
- dri2Flush(psc, ctx, priv, flags, __DRI2_THROTTLE_SWAPBUFFER);
+ dri2Flush(psc, ctx, priv, flags, __DRI2_THROTTLE_COPYSUBBUFFER);
region = XFixesCreateRegion(psc->base.dpy, &xrect, 1);
DRI2CopyRegion(psc->base.dpy, pdraw->xDrawable, region,
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index 90c55436cf7..be33575e1a8 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -763,7 +763,7 @@ loader_dri3_copy_sub_buffer(struct loader_dri3_drawable *draw,
if (flush)
flags |= __DRI2_FLUSH_CONTEXT;
- loader_dri3_flush(draw, flags, __DRI2_THROTTLE_SWAPBUFFER);
+ loader_dri3_flush(draw, flags, __DRI2_THROTTLE_COPYSUBBUFFER);
back = dri3_find_back_alloc(draw);
if (!back)
More information about the mesa-commit
mailing list