Mario Kleiner <mario.kleiner...@gmail.com> writes: > Restores proper immediate tearing swap behaviour for > OpenGL bufferswap under DRI3/Present. > > Cc: "10.3 10.4" <mesa-sta...@lists.freedesktop.org> > > v2: Add Frank Binns signed off by for his original earlier > patch from April 2014, which is identical to this one, and > Chris Wilsons reviewed tag from May 2014 for that patch, ergo > also for this one. > > Signed-off-by: Frank Binns <frank.bi...@imgtec.com> > Signed-off-by: Mario Kleiner <mario.kleiner...@gmail.com> > Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk> > --- > src/glx/dri3_glx.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c > index 5796491..c53be1b 100644 > --- a/src/glx/dri3_glx.c > +++ b/src/glx/dri3_glx.c > @@ -1518,6 +1518,7 @@ dri3_swap_buffers(__GLXDRIdrawable *pdraw, int64_t > target_msc, int64_t divisor, > xcb_connection_t *c = XGetXCBConnection(dpy); > struct dri3_buffer *back; > int64_t ret = 0; > + uint32_t options = XCB_PRESENT_OPTION_NONE; > > unsigned flags = __DRI2_FLUSH_DRAWABLE; > if (flush) > @@ -1557,6 +1558,9 @@ dri3_swap_buffers(__GLXDRIdrawable *pdraw, int64_t > target_msc, int64_t divisor, > if (target_msc == 0) > target_msc = priv->msc + priv->swap_interval * (priv->send_sbc - > priv->recv_sbc); >
I'd add: /* From the GLX_EXT_swap_control spec: * * "If <interval> is set to a value of 0, buffer swaps are not * synchronized to a video frame." */ Other than that, Reviewed-by: Eric Anholt <e...@anholt.net> > + if (priv->swap_interval == 0) > + options |= XCB_PRESENT_OPTION_ASYNC; > + > back->busy = 1; > back->last_swap = priv->send_sbc; > xcb_present_pixmap(c, > @@ -1570,7 +1574,7 @@ dri3_swap_buffers(__GLXDRIdrawable *pdraw, int64_t > target_msc, int64_t divisor, > None, /* > target_crtc */ > None, > back->sync_fence, > - XCB_PRESENT_OPTION_NONE, > + options, > target_msc, > divisor, > remainder, 0, NULL); > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev