From: "Michel Dänzer" <michel-otUistvHUpPR7s880joybQ@public.gmane.org>
To: christian.koenig-5C7GfCeVMHo@public.gmane.org,
Nicholas Kazlauskas
<nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
Cc: daniel.vetter-/w4YWyX8dFk@public.gmane.org,
Marek.Olsak-5C7GfCeVMHo@public.gmane.org,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Alexander.Deucher-5C7GfCeVMHo@public.gmane.org
Subject: Re: [PATCH v5 2/4] drm: Add vrr_enabled property to drm CRTC
Date: Mon, 15 Oct 2018 12:06:52 +0200 [thread overview]
Message-ID: <ec5d531d-e91a-ba2f-7e8e-4a875b183e97@daenzer.net> (raw)
In-Reply-To: <c9afd2f9-c80c-3147-6458-14e386196fb7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On 2018-10-15 11:47 a.m., Christian König wrote:
> Am 15.10.2018 um 11:40 schrieb Michel Dänzer:
>> On 2018-10-13 7:38 p.m., Christian König wrote:
>>> Am 12.10.2018 um 18:44 schrieb Nicholas Kazlauskas:
>>>> This patch introduces the 'vrr_enabled' CRTC property to allow
>>>> dynamic control over variable refresh rate support for a CRTC.
>>>>
>>>> This property should be treated like a content hint to the driver -
>>>> if the hardware or driver is not capable of driving variable refresh
>>>> timings then this is not considered an error.
>>>>
>>>> Capability for variable refresh rate support should be determined
>>>> by querying the vrr_capable drm connector property.
>>>>
>>>> It is worth noting that while the property is intended for atomic use
>>>> it isn't filtered from legacy userspace queries. This allows for Xorg
>>>> userspace drivers to implement support.
>>> I'm honestly still not convinced that a per CRTC property is actually
>>> the right approach.
>>>
>>> What we should rather do instead is to implement a target timestamp for
>>> the page flip.
>> You'd have to be more specific about how the latter could completely
>> replace the former. I don't see how it could.
>
> Each flip request send by an application gets a timestamp when the flip
> should be displayed.
>
> If I'm not completely mistaken we already have something like that in
> both DRI2 as well as DRI3.
Certainly not DRI2, but for now we're not enabling VRR with that anyway.
While the X11 Present extension specifies PresentOptionUST for this,
support for it isn't implemented yet in xserver (as in setting the
option has no effect, the X server interprets the target value as an MSC
anyway).
So this couldn't work before the next major release of xserver, which
based on recent history could be at least about one year away.
In contrast, the CRTC property based solution for the gaming use-case
can work even with older xserver versions.
> So as far as I can see we only need to add an extra flag that those
> information are trust worth in the context of VRR as well.
>
> If we don't set this flag we always get the always working fallback
> behavior, e.g. VRR is disabled and we have a fixed refresh rate.
>
> If we set this flag and the timestamp is in the past we get the VRR
> behavior to display the next frame as soon as possible.
>
> If we set this flag and specific a specific timestamp then we get the
> VRR behavior to display the frame as close as possible to the specified
> timestamp.
Apart from the above, another issue is that this would give direct
control to the client on whether or not VRR should be used. But we want
to allow the user to disable VRR even if a client wants to use it, via
an RandR output property. This requires that the Xorg driver can control
whether or not VRR can actually be used, via the CRTC property added by
this patch.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-10-15 10:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 16:44 [PATCH v5 0/4] A DRM API for adaptive sync and variable refresh rate support Nicholas Kazlauskas
2018-10-12 16:44 ` [PATCH v5 1/4] drm: Add vrr_capable property to the drm connector Nicholas Kazlauskas
[not found] ` <20181012164458.12864-2-nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
2018-10-25 18:05 ` Wentland, Harry
2018-10-12 16:44 ` [PATCH v5 2/4] drm: Add vrr_enabled property to drm CRTC Nicholas Kazlauskas
2018-10-13 17:38 ` Christian König
[not found] ` <e1feafbe-2c37-d1ff-8a45-4672b4da1264-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-10-15 9:40 ` Michel Dänzer
[not found] ` <9811fdab-3efe-4701-92e1-0f53b323959d-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-10-15 9:47 ` Christian König
[not found] ` <c9afd2f9-c80c-3147-6458-14e386196fb7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-10-15 10:06 ` Michel Dänzer [this message]
[not found] ` <ec5d531d-e91a-ba2f-7e8e-4a875b183e97-otUistvHUpPR7s880joybQ@public.gmane.org>
2018-10-15 10:47 ` Koenig, Christian
2018-10-26 14:27 ` Pekka Paalanen
2018-10-25 18:08 ` Wentland, Harry
2018-10-12 16:44 ` [PATCH v5 3/4] drm: Document variable refresh properties Nicholas Kazlauskas
[not found] ` <20181012164458.12864-4-nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
2018-10-25 18:13 ` Wentland, Harry
2018-10-12 16:44 ` [PATCH v5 4/4] drm/amdgpu: Set FreeSync state using drm VRR properties Nicholas Kazlauskas
2018-10-25 18:22 ` Wentland, Harry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ec5d531d-e91a-ba2f-7e8e-4a875b183e97@daenzer.net \
--to=michel-otuistvhuppr7s880joybq@public.gmane.org \
--cc=Alexander.Deucher-5C7GfCeVMHo@public.gmane.org \
--cc=Marek.Olsak-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=christian.koenig-5C7GfCeVMHo@public.gmane.org \
--cc=daniel.vetter-/w4YWyX8dFk@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox