All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michel Dänzer" <michel-otUistvHUpPR7s880joybQ@public.gmane.org>
To: "Christian König"
	<deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>,
	"Dave Airlie" <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Hawking Zhang" <Hawking.Zhang-5C7GfCeVMHo@public.gmane.org>
Cc: amd-gfx mailing list
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH] Add freesync ioctl interface
Date: Mon, 8 Aug 2016 16:43:41 +0900	[thread overview]
Message-ID: <a2e669ae-88a3-4734-3e7f-5aceccfc43d7@daenzer.net> (raw)
In-Reply-To: <618bb6d0-bca5-e709-227c-08c99bd6843e-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>

On 04.08.2016 17:22, Christian König wrote:
> Am 04.08.2016 um 08:41 schrieb Michel Dänzer:
>> On 03.08.2016 10:04, Dave Airlie wrote:
>>> On 2 August 2016 at 12:26, Hawking Zhang <Hawking.Zhang@amd.com> wrote:
>>>>
>>>> @@ -706,4 +708,17 @@ struct drm_amdgpu_virtual_range {
>>>>          uint64_t start;
>>>>          uint64_t end;
>>>>   };
>>>> +
>>>> +/*
>>>> + * Definition of free sync enter and exit signals
>>>> + * We may have more options in the future
>>>> + */
>>>> +#define AMDGPU_FREESYNC_FULLSCREEN_ENTER                1
>>>> +#define AMDGPU_FREESYNC_FULLSCREEN_EXIT                 2
>>>> +
>>>> +struct drm_amdgpu_freesync {
>>>> +        __u32 op;                       /*
>>>> AMDGPU_FREESYNC_FULLSCREEN_ENTER or */
>>>> +                                        /*
>>>> AMDGPU_FREESYNC_FULLSCREEN_ENTER */
>>>> +        __u32 spare[7];
>>>> +};
>>>>   #endif
>>> Isn't freesync meant to be a generic non-driver useful thing?
>>>
>>> This should be integrated with atomic modesetting API or just the KMS
>>> APIs.
>> I don't see that as required or even particularly useful until there's
>> an API which apps can use to control variable refresh rate.
> 
> VDPAU already does this quite well [...]

By explicitly specifying the earliest presentation time for each frame
AFAICT? While that seems very flexible, I'm not sure it's particularly
good for smooth and stable playback. Seems like overriding the refresh
rate to (a multiple of) the video frame rate might be better for that.


>> The goal
>> here is merely to allow running existing apps with variable refresh
>> rate, which just requires some kind of toggle(s) to enable/disable it.
>>
>>
>> That said, I also see some issues with this patch:
>>
>> There's a bit of a conflation between "FreeSync" and "fullscreen"
>> concepts. I think at this point it's really about a sort of an "is
>> FreeSync allowed?" state rather than about fullscreen.
> 
> I would say we first of all need a new flag for drm_mode_modeinfo to
> note if a certain mode is a freesync mode or not and what the min/max
> parameters are.
> 
>>
>> It might be nice to track the "is FreeSync allowed?" state per-CRTC, as
>> I wonder if FreeSync might be useful e.g. for smoother TearFree
>> operation.
>>
>> And if it's just a per-CRTC state, something like an output property
>> might be more appropriate than a dedicated ioctl.
> 
> That will obvious work as well, but essentially freesync is a parameter
> of the video mode in use if I'm not completely mistaken.

Hmm, that's an interesting point. Enabling FreeSync via special modes
sounds quite natural from a user POV. Unfortunately, games tend to only
let the user choose a resolution, not a specific mode.


-- 
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

  parent reply	other threads:[~2016-08-08  7:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02  2:26 [PATCH] Add freesync ioctl interface Hawking Zhang
     [not found] ` <1470104760-30612-1-git-send-email-Hawking.Zhang-5C7GfCeVMHo@public.gmane.org>
2016-08-02  3:10   ` Michel Dänzer
     [not found]     ` <11f584d2-7d40-4318-7725-672816b9cd9c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-02  3:12       ` Zhang, Hawking
     [not found]         ` <BN6PR12MB120484B42FE46271D494A73EFC050-/b2+HYfkarSdTuMsQheahAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-02  3:32           ` Michel Dänzer
     [not found]             ` <09948c72-7214-5863-5af8-a60dc481371c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-02  4:14               ` Zhang, Hawking
     [not found]                 ` <BN6PR12MB1204C7FDE82DB11764D57AC3FC050-/b2+HYfkarSdTuMsQheahAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-02 13:54                   ` Deucher, Alexander
2016-08-02  3:23       ` Zhang, Hawking
2016-08-03  1:04   ` Dave Airlie
     [not found]     ` <CAPM=9twBgjLJNZ4F5xzoAk6zw-8=7ck7xfTnQOczr1TVNLnMTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-03 11:16       ` Christian König
2016-08-04  6:41       ` Michel Dänzer
     [not found]         ` <918642dc-f72c-5403-cf38-eead279d4a97-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-04  8:22           ` Christian König
     [not found]             ` <618bb6d0-bca5-e709-227c-08c99bd6843e-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-08  7:43               ` Michel Dänzer [this message]
     [not found]                 ` <a2e669ae-88a3-4734-3e7f-5aceccfc43d7-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-08  9:55                   ` Christian König
     [not found]                     ` <1c54f1c3-130f-f858-e08b-14d70d17817d-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09  2:44                       ` Michel Dänzer
     [not found]                         ` <7b758b9a-7ee3-7809-4e23-76828ee23a0c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09  8:12                           ` Christian König
     [not found]                             ` <ad9f2301-1d4c-388e-f3c2-d12872f7940a-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09  8:27                               ` Michel Dänzer
     [not found]                                 ` <cf663a26-afd2-0878-2822-fe375905fbfc-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09  9:31                                   ` Christian König
     [not found]                                     ` <7ffe528b-d207-3948-a850-a289bcc76c43-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09 10:03                                       ` Michel Dänzer
     [not found]                                         ` <7bdf1ec7-d257-9855-2f24-21f86efa459f-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09 10:44                                           ` Christian König
     [not found]                                             ` <0919aff9-cccd-ba2a-2077-3dbd2bea769f-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-10  3:19                                               ` Michel Dänzer
     [not found]                                                 ` <142d748c-11be-e454-551f-e9098a53a848-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-10  7:49                                                   ` Michel Dänzer
     [not found]                                                     ` <75f1d134-b1f4-c24f-be3f-a886c95e5ced-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-10  8:25                                                       ` Ernst Sjöstrand
     [not found]                                                         ` <CAD=4a=U+p+Aza+z-hj03HNrOPp9hC1r=nV0Aw1UjzyRBLxm1yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-10 21:22                                                           ` Deucher, Alexander
2016-08-10 10:02                                                   ` Christian König

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=a2e669ae-88a3-4734-3e7f-5aceccfc43d7@daenzer.net \
    --to=michel-otuistvhuppr7s880joybq@public.gmane.org \
    --cc=Hawking.Zhang-5C7GfCeVMHo@public.gmane.org \
    --cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=deathsimple-ANTagKRnAhcb1SvskN2V4Q@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.