[PATCH xserver 3/3] present: Only requeue if target MSC is not reached after an unflip
Martin Peres
martin.peres at linux.intel.com
Thu Mar 10 09:21:10 UTC 2016
On 05/03/16 06:20, Michel Dänzer wrote:
>
> [ Sorry for the late followup; I was down with the flu ]
>
> On 01.03.2016 20:26, Martin Peres wrote:
>> On 25/02/16 17:28, Adam Jackson wrote:
>>> On Thu, 2016-02-25 at 09:49 +0000, Chris Wilson wrote:
>>>> On Wed, Feb 24, 2016 at 04:52:59PM +0900, Michel Dänzer wrote:
>>>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>>>
>>>>> While present_pixmap decrements target_msc by 1 for
>>>>> present_queue_vblank,
>>>>> it leaves the original vblank->target_msc intact. So incrementing the
>>>>> latter for requeueing resulted in the requeued presentation being
>>>>> executed too late.
>>>> My mistake. Yes, the local target_msc is decremented but after
>>>> vblank->target_msc is assigned.
>>>>
>>>>> Also, no need to requeue if the target MSC is already reached.
>>>>>
>>>>> This further reduces stutter when a popup menu appears on top of a
>>>>> flipping fullscreen window.
>>>>>
>>>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>>>> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
>>>> -Chris
>>> Series merged:
>>>
>>> remote: I: patch #74919 updated using rev
>>> 1a9f8c4623c4e6b6955cb6d5f44d29c244dfd32a.
>>> remote: I: patch #74915 updated using rev
>>> e7a35b9e16aa12970908f5d55371bb1b862f8f24.
>>> remote: I: patch #74910 updated using rev
>>> b4ac7b142fa3c536e9b283cfd34b94d82c03aac6.
>>> remote: I: 3 patch(es) updated to state Accepted.
>>> To ssh://git.freedesktop.org/git/xorg/xserver
>>> 0461bca..b4ac7b1 master -> master
>>>
>>
>> For some reason, this patch prevents kde from starting.
>
> I can't seem to reproduce that. Which option are you using for KWin's
> "Tearing prevention" setting?
Hey, sorry for the delay.
Unfortunately, I set it to automatic, I will check with different settings.
>
>
>> I will provide an xtrace for this as soon as I can, but I wanted to
>> provide you with a heads'up!
>
> FWIW, it'll be interesting to see the values of vblank->target_msc,
> crtc_msc and ust in present_execute when it decides not to call
> present_queue_vblank although vblank->requeue was set.
What would be the best way for me to trace that?
More information about the xorg-devel
mailing list