[PATCH xserver] present: disable page flip only when a slave crtc is active

Dave Airlie airlied at gmail.com
Wed Feb 1 01:31:46 UTC 2017


On 1 February 2017 at 11:21, Michel Dänzer <michel at daenzer.net> wrote:
> On 01/02/17 04:05 AM, David Airlie wrote:
>>> From: "Michel Dänzer" <michel at daenzer.net>
>>> On 26/01/17 07:13 PM, Qiang Yu wrote:
>>>>
>>>> @@ -145,7 +157,7 @@ present_check_flip(RRCrtcPtr    crtc,
>>>>          return FALSE;
>>>>
>>>>      /* Fail to flip if we have slave outputs */
>>>> -    if (screen->output_slaves)
>>>> +    if (screen->output_slaves &&
>>>> present_check_output_slaves_active(screen))
>>>>          return FALSE;
>>>>
>>>>      /* Make sure the window hasn't been redirected with Composite */
>>>>
>>>
>>> Actually, I'm not sure why we need to check for slave outputs here at
>>> all. Dave, did you run into an actual problem without the check, or was
>>> it just a theoretical concern? The commit log says:
>>
>> You don't get an output on USB without the fix.
>
> Hmm, why not? Flipping just replaces the screen pixmap's storage;
> copying from the screen pixmap to the shared pixmap should still work
> fine, and flips generate the damage needed to trigger it as well.

Hmm maybe it wasn't USB, it was reverse prime.

I can't recall the exact brokenness, I'd have to set up a reverse prime test box
and remove the line.

I don't think it was as simple as the damage getting lost.

Dave.


More information about the xorg-devel mailing list