[PATCH v2] drm/sun4i: Enable output signal premultiplication for DE2/DE3

Maxime Ripard maxime at cerno.tech
Wed Jun 8 01:17:15 PDT 2022


On Mon, Jun 06, 2022 at 01:16:06PM +0300, Roman Stratiienko wrote:
> вс, 5 июн. 2022 г. в 23:23, Jernej Škrabec <jernej.skrabec at gmail.com>:
> >
> > Dne nedelja, 05. junij 2022 ob 11:40:18 CEST je Roman Stratiienko napisal(a):
> > > Otherwise alpha value is discarded, resulting incorrect pixel
> > > apperance on the display.
> > >
> > > This also fixes missing transparency for the most bottom layer.
> >
> > Can you explain that a bit more?
> 
> Well... I would recommend reading Bartosz Ciechanowski's blog
> https://ciechanow.ski/alpha-compositing/ or the Porter-Duff's 1984
> whitepaper itself.
> 
> HINT: That magic numbers from sun8i_mixer.h ( 0x03010301 ) corresponds
> to SOURCE OVER mode.
> 
> As you can see from the blending equation it outputs both pixel value
> and alpha value (non-premultiplied data mode).
> 
> Also single-layer non-premultiplied buffers may have for example
> (R255,G255,B255,A2) pixel value, which should be sent as {R2, G2, B2}
> through the physical display interface.
> 
> When OUTCTL.PREMULTI disabled pixel, the RGB values passes as is, and
> even 100% transparent data {R255, G255, B255, A0} will appear as 100%
> opaque white.

Without going into the full explanation about what alpha is, your commit
log must describe what the bug is exactly, and most importantly how do
you trigger it.

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20220608/58e601b3/attachment.sig>


More information about the linux-arm-kernel mailing list