Re: [PATCH] drm: add capability DRM_CAP_ASYNC_UPDATE

From: Michel DÃnzer
Date: Thu Dec 20 2018 - 12:17:00 EST


On 2018-12-20 6:09 p.m., Daniel Vetter wrote:
> On Thu, Dec 20, 2018 at 6:03 PM Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
>> On Thu, Dec 20, 2018 at 11:54 AM Daniel Vetter <daniel@xxxxxxxx> wrote:
>
>>> Not sure about the gamma thing since we had opposite bugs on i915
>>> about gamma not being vsynced and tearing terribly. Cursor is special
>>> since it tends to be too small to notice tearing.
>>
>> Our cursor hw (and possibly gamma as well Nicholas? Harry?) is double
>> buffered, so we can update it any time for the most part and the
>> changes won't take affect until the next vupdate period.
>
> Hm, I guess we could make the gamma update optionally async, and let
> drivers deal. The issue is that the current async helper stuff won't
> cope with gamma updates (it's aimed at plane updates only, not at crtc
> property updates). Or we get userspace to do proper atomic updates. Or
> we do some faking in the kernel, e.g. waiting with the gamma update
> until the next atomic update happens. But that kinda breaks
> ->atomic_check.

Would it be possible to merge gamma changes into a pending commit, if
there is one, and create a new commit otherwise?

Otherwise the atomic API just moves this same problem to be solved by
userspace.


--
Earthling Michel DÃnzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer