From: Michel Dänzer <[email protected]> Fixes the following problem:
With DRI3 enabled, run glxgears with LIBGL_DRI3_DISABLE=1, make it fullscreen and press Escape while it's still fullscreen. This could result in dri2_flipping not getting cleared, spuriously preventing apps using DRI3 from flipping. (Ported from radeon commit e87365117acbd80b7d80fbb5eb30890ef7153291) Signed-off-by: Michel Dänzer <[email protected]> --- src/amdgpu_dri2.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amdgpu_dri2.c b/src/amdgpu_dri2.c index bcb5dae..6867959 100644 --- a/src/amdgpu_dri2.c +++ b/src/amdgpu_dri2.c @@ -526,6 +526,9 @@ xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled) static void amdgpu_dri2_flip_event_abort(ScrnInfoPtr scrn, void *event_data) { + AMDGPUInfoPtr info = AMDGPUPTR(scrn); + + info->drmmode.dri2_flipping = FALSE; free(event_data); } @@ -533,7 +536,6 @@ static void amdgpu_dri2_flip_event_handler(ScrnInfoPtr scrn, uint32_t frame, uint64_t usec, void *event_data) { - AMDGPUInfoPtr info = AMDGPUPTR(scrn); DRI2FrameEventPtr flip = event_data; unsigned tv_sec, tv_usec; DrawablePtr drawable; @@ -578,7 +580,6 @@ amdgpu_dri2_flip_event_handler(ScrnInfoPtr scrn, uint32_t frame, uint64_t usec, DRI2SwapComplete(flip->client, drawable, frame, tv_sec, tv_usec, DRI2_FLIP_COMPLETE, flip->event_complete, flip->event_data); - info->drmmode.dri2_flipping = FALSE; break; default: xf86DrvMsg(scrn->scrnIndex, X_WARNING, -- 2.7.0 _______________________________________________ xorg-driver-ati mailing list [email protected] https://lists.x.org/mailman/listinfo/xorg-driver-ati
