All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Simon Ser <contact@emersion.fr>
Cc: "Pekka Paalanen" <ppaalanen@gmail.com>,
	"Liviu Dudau" <liviu.dudau@arm.com>,
	"Haneen Mohammed" <hamohammed.sa@gmail.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Linux Doc Mailing List" <linux-doc@vger.kernel.org>,
	"Xinliang Liu" <xinliang.liu@linaro.org>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Edmund Dea" <edmund.j.dea@intel.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Russell King" <linux@armlinux.org.uk>,
	"Melissa Wen" <melissa.srw@gmail.com>,
	"Tomi Valkeinen" <tomba@kernel.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Benjamin Gaignard" <benjamin.gaignard@linaro.org>,
	"Anitha Chrisanthus" <anitha.chrisanthus@intel.com>,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Steven Price" <steven.price@arm.com>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	"Jyri Sarha" <jyri.sarha@iki.fi>,
	"Jerome Brunet" <jbrunet@baylibre.com>,
	"Marek Vasut" <marex@denx.de>,
	"Joonyoung Shim" <jy0922.shim@samsung.com>,
	"Qiang Yu" <yuq825@gmail.com>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Kevin Hilman" <khilman@baylibre.com>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"Alyssa Rosenzweig" <alyssa.rosenzweig@collabora.com>,
	"Xinwei Kong" <kong.kongxinwei@hisilicon.com>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"David Airlie" <airlied@linux.ie>,
	"Ludovic Desroches" <ludovic.desroches@microchip.com>,
	"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
	"VMware Graphics" <linux-graphics-maintainer@vmware.com>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Chun-Kuang Hu" <chunkuang.hu@kernel.org>,
	"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
	"Chen Feng" <puck.chen@hisilicon.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Alison Wang" <alison.wang@nxp.com>,
	"Roland Scheidegger" <sroland@vmware.com>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Maxime Ripard" <maxime@cerno.tech>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Chen-Yu Tsai" <wens@csie.org>, "Sean Paul" <sean@poorly.run>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Paul Cercueil" <paul@crapouillou.net>,
	"Jernej Skrabec" <jernej.skrabec@siol.net>,
	"Rodrigo Siqueira" <rodrigosiqueiramelo@gmail.com>,
	"Hyun Kwon" <hyun.kwon@xilinx.com>,
	"Boris Brezillon" <bbrezillon@kernel.org>,
	"Andrew Jeffery" <andrew@aj.id.au>,
	"Huang Rui" <ray.huang@amd.com>,
	"Yannick Fertr e" <yannick.fertre@foss.st.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Seung-Woo Kim" <sw0312.kim@samsung.com>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Joel Stanley" <joel@jms.id.au>,
	"Tomeu Vizoso" <tomeu.vizoso@collabora.com>,
	"Kyungmin Park" <kyungmin.park@samsung.com>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"Philippe Cornu" <philippe.cornu@foss.st.com>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Tian Tao" <tiantao6@hisilicon.com>,
	"Oleksandr Andrushchenko" <oleksandr_andrushchenko@epam.com>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>
Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties
Date: Tue, 15 Jun 2021 12:45:57 +0300	[thread overview]
Message-ID: <YMh21WBrADbZDcbp@pendragon.ideasonboard.com> (raw)
In-Reply-To: <ouNaZaqkV1d_wPRESVBQHxvMhmJ53xIrgtPfDs8mB88AN3FEWt7cq031k8ZqCva1Ob0TCNTnsWqNDS0l5NXfejXIL7YUky3XGdjmh1_hefk=@emersion.fr>

On Tue, Jun 15, 2021 at 07:15:18AM +0000, Simon Ser wrote:
> On Tuesday, June 15th, 2021 at 09:03, Pekka Paalanen <ppaalanen@gmail.com> wrote:
> 
> > indeed it will, but what else could one do to test userspace KMS
> > clients in generic CI where all you can have is virtual hardware? Maybe
> > in the long run VKMS needs to loop back to a userspace daemon that
> > implements all the complex processing and returns the writeback result
> > via VKMS again? That daemon would then need a single upstream, like the
> > kernel, where it is maintained and correctness verified.
> 
> The complex processing must be implemented even without write-back, because
> user-space can ask for CRCs of the CRTC.
> 
> > Or an LD_PRELOAD that hijacks all KMS ioctls and implements virtual
> > stuff in userspace? Didn't someone already have something like that?
> > It would need to be lifted to be a required part of kernel UAPI
> > submissions, I suppose like IGT is nowadays.
> 
> FWIW, I have a mock libdrm [1] for libliftoff. This is nowhere near a full
> software implementation with write-back connectors, but allows to expose
> virtual planes and check atomic commits in CI.
> 
> [1]: https://github.com/emersion/libliftoff/blob/master/test/libdrm_mock.c
> 
> > For compositor developers like me knowing the exact formulas would be a huge
> > benefit as it would allow me to use KMS to off-load precision-sensitive
> > operations (e.g.  professional color management). Otherwise, compositors
> > probably need a switch: "high quality color management? Then do not use KMS
> > features."
> 
> I think for alpha blending there are already rounding issues depending on the
> hardware. I wouldn't keep my hopes up for any guarantee that all hw uses the
> exact same formulae for color management stuff.

Good, because otherwise you would be very quickly disappointed :-)

For scaling we would also need to replicate the exact same filter taps,
which are often not documented.

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Simon Ser <contact@emersion.fr>
Cc: "Ludovic Desroches" <ludovic.desroches@microchip.com>,
	"Haneen Mohammed" <hamohammed.sa@gmail.com>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Linux Doc Mailing List" <linux-doc@vger.kernel.org>,
	"Xinliang Liu" <xinliang.liu@linaro.org>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Liviu Dudau" <liviu.dudau@arm.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	"Sandy Huang" <hjc@rock-chips.com>,
	"Melissa Wen" <melissa.srw@gmail.com>,
	"Andrzej Hajda" <a.hajda@samsung.com>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Benjamin Gaignard" <benjamin.gaignard@linaro.org>,
	"Anitha Chrisanthus" <anitha.chrisanthus@intel.com>,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Jonathan Hunter" <jonathanh@nvidia.com>,
	"Sam Ravnborg" <sam@ravnborg.org>,
	"Jerome Brunet" <jbrunet@baylibre.com>,
	"Marek Vasut" <marex@denx.de>, "Jonathan Corbet" <corbet@lwn.net>,
	"Joonyoung Shim" <jy0922.shim@samsung.com>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Kevin Hilman" <khilman@baylibre.com>,
	"Neil Armstrong" <narmstrong@baylibre.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Steven Price" <steven.price@arm.com>,
	"David Airlie" <airlied@linux.ie>,
	"Xinwei Kong" <kong.kongxinwei@hisilicon.com>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"VMware Graphics" <linux-graphics-maintainer@vmware.com>,
	"Alyssa Rosenzweig" <alyssa.rosenzweig@collabora.com>,
	"Chen Feng" <puck.chen@hisilicon.com>,
	"Hyun Kwon" <hyun.kwon@xilinx.com>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Chun-Kuang Hu" <chunkuang.hu@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Jonas Karlman" <jonas@kwiboo.se>,
	"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
	"Edmund Dea" <edmund.j.dea@intel.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Alison Wang" <alison.wang@nxp.com>,
	"Roland Scheidegger" <sroland@vmware.com>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Ben Skeggs" <bskeggs@redhat.com>,
	"Maxime Ripard" <maxime@cerno.tech>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Chen-Yu Tsai" <wens@csie.org>, "Sean Paul" <sean@poorly.run>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Paul Cercueil" <paul@crapouillou.net>,
	"Jernej Skrabec" <jernej.skrabec@siol.net>,
	"Rodrigo Siqueira" <rodrigosiqueiramelo@gmail.com>,
	"Tomi Valkeinen" <tomba@kernel.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Andrew Jeffery" <andrew@aj.id.au>,
	"Huang Rui" <ray.huang@amd.com>,
	"Yannick Fertr e" <yannick.fertre@foss.st.com>,
	"Boris Brezillon" <bbrezillon@kernel.org>,
	"Seung-Woo Kim" <sw0312.kim@samsung.com>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Robert Foss" <robert.foss@linaro.org>,
	"Joel Stanley" <joel@jms.id.au>,
	"Tomeu Vizoso" <tomeu.vizoso@collabora.com>,
	"Kyungmin Park" <kyungmin.park@samsung.com>,
	"Kieran Bingham" <kieran.bingham+renesas@ideasonboard.com>,
	"Qiang Yu" <yuq825@gmail.com>,
	"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Tian Tao" <tiantao6@hisilicon.com>,
	"Oleksandr Andrushchenko" <oleksandr_andrushchenko@epam.com>,
	"Philippe Cornu" <philippe.cornu@foss.st.com>,
	"Jyri Sarha" <jyri.sarha@iki.fi>,
	"Christian König" <christian.koenig@amd.com>
Subject: Re: [PATCH v3] Documentation: gpu: Mention the requirements for new properties
Date: Tue, 15 Jun 2021 12:45:57 +0300	[thread overview]
Message-ID: <YMh21WBrADbZDcbp@pendragon.ideasonboard.com> (raw)
In-Reply-To: <ouNaZaqkV1d_wPRESVBQHxvMhmJ53xIrgtPfDs8mB88AN3FEWt7cq031k8ZqCva1Ob0TCNTnsWqNDS0l5NXfejXIL7YUky3XGdjmh1_hefk=@emersion.fr>

On Tue, Jun 15, 2021 at 07:15:18AM +0000, Simon Ser wrote:
> On Tuesday, June 15th, 2021 at 09:03, Pekka Paalanen <ppaalanen@gmail.com> wrote:
> 
> > indeed it will, but what else could one do to test userspace KMS
> > clients in generic CI where all you can have is virtual hardware? Maybe
> > in the long run VKMS needs to loop back to a userspace daemon that
> > implements all the complex processing and returns the writeback result
> > via VKMS again? That daemon would then need a single upstream, like the
> > kernel, where it is maintained and correctness verified.
> 
> The complex processing must be implemented even without write-back, because
> user-space can ask for CRCs of the CRTC.
> 
> > Or an LD_PRELOAD that hijacks all KMS ioctls and implements virtual
> > stuff in userspace? Didn't someone already have something like that?
> > It would need to be lifted to be a required part of kernel UAPI
> > submissions, I suppose like IGT is nowadays.
> 
> FWIW, I have a mock libdrm [1] for libliftoff. This is nowhere near a full
> software implementation with write-back connectors, but allows to expose
> virtual planes and check atomic commits in CI.
> 
> [1]: https://github.com/emersion/libliftoff/blob/master/test/libdrm_mock.c
> 
> > For compositor developers like me knowing the exact formulas would be a huge
> > benefit as it would allow me to use KMS to off-load precision-sensitive
> > operations (e.g.  professional color management). Otherwise, compositors
> > probably need a switch: "high quality color management? Then do not use KMS
> > features."
> 
> I think for alpha blending there are already rounding issues depending on the
> hardware. I wouldn't keep my hopes up for any guarantee that all hw uses the
> exact same formulae for color management stuff.

Good, because otherwise you would be very quickly disappointed :-)

For scaling we would also need to replicate the exact same filter taps,
which are often not documented.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2021-06-15  9:46 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-10 17:47 [PATCH v3] Documentation: gpu: Mention the requirements for new properties Maxime Ripard
2021-06-10 17:47 ` Maxime Ripard
2021-06-10 18:14 ` Liviu Dudau
2021-06-10 18:14   ` Liviu Dudau
2021-06-10 19:09 ` Rodrigo Vivi
2021-06-10 19:09   ` Rodrigo Vivi
2021-06-10 21:00 ` Daniel Vetter
2021-06-10 21:00   ` Daniel Vetter
2021-06-11  5:54   ` Maxime Ripard
2021-06-11  5:54     ` Maxime Ripard
2021-06-11  6:53     ` Tomi Valkeinen
2021-06-11  6:53       ` Tomi Valkeinen
2021-06-11 15:26       ` Daniel Vetter
2021-06-11 15:26         ` Daniel Vetter
2021-06-14 14:27     ` Pekka Paalanen
2021-06-14 16:14     ` Laurent Pinchart
2021-06-14 16:14       ` Laurent Pinchart
2021-06-11  8:14   ` Simon Ser
2021-06-11  8:14     ` Simon Ser
2021-06-11 12:03     ` Liviu Dudau
2021-06-11 12:03       ` Liviu Dudau
2021-06-11 12:56       ` Alyssa Rosenzweig
2021-06-11 12:56         ` Alyssa Rosenzweig
2021-06-11 13:34         ` Liviu Dudau
2021-06-11 13:34           ` Liviu Dudau
2021-06-14 16:23           ` Laurent Pinchart
2021-06-14 16:23             ` Laurent Pinchart
2021-06-14 14:49       ` Pekka Paalanen
2021-06-14 14:49         ` Pekka Paalanen
2021-06-14 15:24         ` Liviu Dudau
2021-06-14 15:24           ` Liviu Dudau
2021-06-14 16:33           ` Laurent Pinchart
2021-06-14 16:33             ` Laurent Pinchart
2021-06-15  7:03             ` Pekka Paalanen
2021-06-15  7:03               ` Pekka Paalanen
2021-06-15  7:15               ` Simon Ser
2021-06-15  7:15                 ` Simon Ser
2021-06-15  9:45                 ` Laurent Pinchart [this message]
2021-06-15  9:45                   ` Laurent Pinchart
2021-06-15 10:16                   ` Pekka Paalanen
2021-06-15 10:16                     ` Pekka Paalanen
2021-06-15 12:08                     ` Simon Ser
2021-06-15 12:08                       ` Simon Ser
2021-06-16 20:39                       ` Daniel Vetter
2021-06-16 20:39                         ` Daniel Vetter
2021-06-16 21:05                     ` Laurent Pinchart
2021-06-16 21:05                       ` Laurent Pinchart
2021-06-17  7:27                       ` Pekka Paalanen
2021-06-17  7:27                         ` Pekka Paalanen
2021-06-17 10:29                         ` Laurent Pinchart
2021-06-17 10:29                           ` Laurent Pinchart
2021-06-17 11:33                           ` Pekka Paalanen
2021-06-17 11:33                             ` Pekka Paalanen
2021-06-17 13:37                             ` Laurent Pinchart
2021-06-17 13:37                               ` Laurent Pinchart
2021-06-18  8:55                               ` Pekka Paalanen
2021-06-18  8:55                                 ` Pekka Paalanen
2021-06-18  9:58                                 ` Laurent Pinchart
2021-06-18  9:58                                   ` Laurent Pinchart
2021-06-18 11:32                                   ` Pekka Paalanen
2021-06-18 11:32                                     ` Pekka Paalanen
2021-06-18 12:19                                     ` Laurent Pinchart
2021-06-18 12:19                                       ` Laurent Pinchart
2021-06-21  8:21                                       ` Pekka Paalanen
2021-06-21  8:21                                         ` Pekka Paalanen

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=YMh21WBrADbZDcbp@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alison.wang@nxp.com \
    --cc=alyssa.rosenzweig@collabora.com \
    --cc=andrew@aj.id.au \
    --cc=anitha.chrisanthus@intel.com \
    --cc=bbrezillon@kernel.org \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bskeggs@redhat.com \
    --cc=christian.koenig@amd.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=contact@emersion.fr \
    --cc=corbet@lwn.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=edmund.j.dea@intel.com \
    --cc=hamohammed.sa@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=hjc@rock-chips.com \
    --cc=hyun.kwon@xilinx.com \
    --cc=jbrunet@baylibre.com \
    --cc=jernej.skrabec@siol.net \
    --cc=joel@jms.id.au \
    --cc=jonas@kwiboo.se \
    --cc=jonathanh@nvidia.com \
    --cc=jy0922.shim@samsung.com \
    --cc=jyri.sarha@iki.fi \
    --cc=kernel@pengutronix.de \
    --cc=khilman@baylibre.com \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=kraxel@redhat.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-graphics-maintainer@vmware.com \
    --cc=linux-imx@nxp.com \
    --cc=linux@armlinux.org.uk \
    --cc=liviu.dudau@arm.com \
    --cc=ludovic.desroches@microchip.com \
    --cc=marex@denx.de \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=matthias.bgg@gmail.com \
    --cc=maxime@cerno.tech \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=melissa.srw@gmail.com \
    --cc=narmstrong@baylibre.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=noralf@tronnes.org \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=paul@crapouillou.net \
    --cc=philippe.cornu@foss.st.com \
    --cc=ppaalanen@gmail.com \
    --cc=puck.chen@hisilicon.com \
    --cc=ray.huang@amd.com \
    --cc=robert.foss@linaro.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=rodrigosiqueiramelo@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sam@ravnborg.org \
    --cc=sean@poorly.run \
    --cc=shawnguo@kernel.org \
    --cc=sroland@vmware.com \
    --cc=steven.price@arm.com \
    --cc=sw0312.kim@samsung.com \
    --cc=thierry.reding@gmail.com \
    --cc=tiantao6@hisilicon.com \
    --cc=tomba@kernel.org \
    --cc=tomeu.vizoso@collabora.com \
    --cc=tzimmermann@suse.de \
    --cc=wens@csie.org \
    --cc=xinliang.liu@linaro.org \
    --cc=yannick.fertre@foss.st.com \
    --cc=yuq825@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 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.