dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Simon Ser <contact@emersion.fr>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: pierre-eric.pelloux-prayer@amd.com,
	"André Almeida" <andrealmeid@igalia.com>,
	"'Marek Olšák'" <maraeo@gmail.com>,
	"Michel Dänzer" <michel.daenzer@mailbox.org>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	xaver.hugl@gmail.com, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org,
	"Pekka Paalanen" <ppaalanen@gmail.com>,
	amd-gfx@lists.freedesktop.org, kernel-dev@igalia.com,
	alexander.deucher@amd.com, wayland-devel@lists.freedesktop.org,
	hwentlan@amd.com, christian.koenig@amd.com, joshua@froggi.es
Subject: Re: [PATCH v6 6/6] drm/doc: Define KMS atomic state set
Date: Mon, 16 Oct 2023 22:00:51 +0000	[thread overview]
Message-ID: <8NqDNz1Y8H5I_WhNhOj0ERarBH7nJhGQAsDHbmSnwzoOFtXPBPILwxLlF8-vDPKR06Uknp1BDSt7-6gTmHls62k79ETajXDfPRsmIP-cZN0=@emersion.fr> (raw)
In-Reply-To: <ZS1ST6XAUHilBg3d@intel.com>

On Monday, October 16th, 2023 at 17:10, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:

> On Mon, Oct 16, 2023 at 05:52:22PM +0300, Pekka Paalanen wrote:
> 
> > On Mon, 16 Oct 2023 15:42:16 +0200
> > André Almeida andrealmeid@igalia.com wrote:
> > 
> > > Hi Pekka,
> > > 
> > > On 10/16/23 14:18, Pekka Paalanen wrote:
> > > 
> > > > On Mon, 16 Oct 2023 12:52:32 +0200
> > > > André Almeida andrealmeid@igalia.com wrote:
> > > > 
> > > > > Hi Michel,
> > > > > 
> > > > > On 8/17/23 12:37, Michel Dänzer wrote:
> > > > > 
> > > > > > On 8/15/23 20:57, André Almeida wrote:
> > > > > > 
> > > > > > > From: Pekka Paalanen pekka.paalanen@collabora.com
> > > > > > > 
> > > > > > > Specify how the atomic state is maintained between userspace and
> > > > > > > kernel, plus the special case for async flips.
> > > > > > > 
> > > > > > > Signed-off-by: Pekka Paalanen pekka.paalanen@collabora.com
> > > > > > > Signed-off-by: André Almeida andrealmeid@igalia.com
> > > > > > > [...]
> > > > > > 
> > > > > > > +An atomic commit with the flag DRM_MODE_PAGE_FLIP_ASYNC is allowed to
> > > > > > > +effectively change only the FB_ID property on any planes. No-operation changes
> > > > > > > +are ignored as always. [...]
> > > > > > > During the hackfest in Brno, it was mentioned that a commit which re-sets the same FB_ID could actually have an effect with VRR: It could trigger scanout of the next frame before vertical blank has reached its maximum duration. Some kind of mechanism is required for this in order to allow user space to perform low frame rate compensation.
> > > > > 
> > > > > Xaver tested this hypothesis in a flipping the same fb in a VRR monitor
> > > > > and it worked as expected, so this shouldn't be a concern.
> > > > > Right, so it must have some effect. It cannot be simply ignored like in
> > > > > the proposed doc wording. Do we special-case re-setting the same FB_ID
> > > > > as "not a no-op" or "not ignored" or some other way?
> > > > > There's an effect in the refresh rate, the image won't change but it
> > > > > will report that a flip had happened asynchronously so the reported
> > > > > framerate will be increased. Maybe an additional wording could be like:
> > > 
> > > Flipping to the same FB_ID will result in a immediate flip as if it was
> > > changing to a different one, with no effect on the image but effecting
> > > the reported frame rate.
> > 
> > Re-setting FB_ID to its current value is a special case regardless of
> > PAGE_FLIP_ASYNC, is it not?
> 
> No. The rule has so far been that all side effects are observed
> even if you flip to the same fb. And that is one of my annoyances
> with this proposal. The rules will now be different for async flips
> vs. everything else.

Well with the patches the async page-flip case is exactly the same as
the non-async page-flip case. In both cases, if a FB_ID is included in
an atomic commit then the side effects are triggered even if the property
value didn't change. The rules are the same for everything.

  reply	other threads:[~2023-10-16 22:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-15 18:57 [PATCH v6 0/6] drm: Add support for atomic async page-flip André Almeida
2023-08-15 18:57 ` [PATCH v6 1/6] drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits André Almeida
2023-08-15 18:57 ` [PATCH v6 2/6] drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP André Almeida
2023-08-15 18:57 ` [PATCH v6 3/6] drm: introduce drm_mode_config.atomic_async_page_flip_not_supported André Almeida
2023-08-15 18:57 ` [PATCH v6 4/6] amd/display: indicate support for atomic async page-flips on DC André Almeida
2023-08-15 18:57 ` [PATCH v6 5/6] drm: Refuse to async flip with atomic prop changes André Almeida
2023-08-22  9:55   ` Sebastian Wick
2023-10-15 15:37   ` Simon Ser
2023-08-15 18:57 ` [PATCH v6 6/6] drm/doc: Define KMS atomic state set André Almeida
2023-08-17 10:37   ` Michel Dänzer
2023-08-17 10:48     ` Michel Dänzer
2023-08-21 20:02     ` André Almeida
2023-08-22 10:03       ` Michel Dänzer
2023-10-16 10:52     ` André Almeida
2023-10-16 12:18       ` Pekka Paalanen
2023-10-16 13:42         ` André Almeida
2023-10-16 14:52           ` Pekka Paalanen
2023-10-16 15:01             ` André Almeida
2023-10-16 15:10             ` Ville Syrjälä
2023-10-16 22:00               ` Simon Ser [this message]
2023-10-17 12:10                 ` Ville Syrjälä
2023-10-23  8:25                   ` Simon Ser
2023-11-13  9:18                     ` Simon Ser
2023-11-13  9:38                       ` Pekka Paalanen
2023-11-13  9:44                         ` Simon Ser
2023-11-13 10:15                           ` Pekka Paalanen
2023-11-13 10:18                             ` Simon Ser
2023-11-13  9:41                       ` Michel Dänzer
2023-11-13  9:47                         ` Simon Ser
2023-11-13  9:53                           ` Michel Dänzer

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='8NqDNz1Y8H5I_WhNhOj0ERarBH7nJhGQAsDHbmSnwzoOFtXPBPILwxLlF8-vDPKR06Uknp1BDSt7-6gTmHls62k79ETajXDfPRsmIP-cZN0=@emersion.fr' \
    --to=contact@emersion.fr \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andrealmeid@igalia.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hwentlan@amd.com \
    --cc=joshua@froggi.es \
    --cc=kernel-dev@igalia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maraeo@gmail.com \
    --cc=michel.daenzer@mailbox.org \
    --cc=pierre-eric.pelloux-prayer@amd.com \
    --cc=ppaalanen@gmail.com \
    --cc=rdunlap@infradead.org \
    --cc=ville.syrjala@linux.intel.com \
    --cc=wayland-devel@lists.freedesktop.org \
    --cc=xaver.hugl@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).