On Wed, Aug 26, 2026 at 7:20 AM Melissa Wen <[email protected]> wrote: > > PREMULTI was the default DRM blend mode until 9813e158d13d > ("drm/drm_blend: allow blend mode property without PREMULTI") introduced > the possibility of exposing the blend mode property without PREMULTI > being supported. However, __drm_atomic_helper_plane_state_init() still > resets pixel_blend_mode to PREMULTI (hardcoded), ignoring the supported > mode in this property. In the same series, 860e748bddcc ("drm: ensure > blend mode supported if pixel format with alpha exposed") starts warning > drivers that supports alpha formats in a given planes but doesn't > support blend mode property, which includes AMD primary and cursor > planes. > > For AMD DCN families, overlay and primary planes support the three blend > modes, and therefore PREMULTI is still the default mode. So the warning > can be fixed by just creating blend mode properties for primary planes > too. PREMULTI is the default/unique mode for cursor planes in DCN and > DCE driver. However, looks like PIXEL_NONE is the unique blend mode > supported by DCE-generation driver. I don't have the hardware to check > it out, but looking at the code I understand that, even if the hardware > can do PREMULTI or COVERAGE, the way it programs registers doesn't make > these other blend modes actually available. > > Bearing this in mind, this series is organized as follow: > > - Patch 1 fixes the pixel_blend_mode reset when the blend mode property > is advertised without PREMULTI support. It's needed for AMD > DCE-generation (patch 3) and I think with this we can also remove a > workaround in nouveau nv50_wndw_default_state() caused by the > hardcoded PREMULTI default value [1]. > > - Patch 2 fixes the missing-blend-mode-property warning for DCN primary > plane and for DCN+DCE cursor plane. The alpha property keeps only on > overlay planes because looks like this is not supported by AMD primary > planes and it doesn't affect the blend mode warning we are targetting. > Enabling alpha properties to primary was also causing -EINVAL on IGT > alpha tests because it started testing primary planes and disabling it > (which is not allowed by the AMD display driver). > > - Patch 3 fixes the warning for DCE primary plane, but I detached this > solution from the previous patch because I don't have hardware to > validate if my assumption about PIXEL_NONE-only is correct. Also, I > added PREMULTI to the list of supported blend mode to avoid uAPI > regressions since it was the required/default mode for many years and, > without overlay plane, PIXEL_NONE and PREMULTI are equivalent for > primary on top of a black blackground. >
I presume you are planning to apply this directly to drm-misc for 7.3? Thanks, Alex > [1] > https://lore.kernel.org/dri-devel/[email protected]/ > > [v1]: > https://lore.kernel.org/dri-devel/[email protected]/ > Changes: > - new patch for pixel_blend_mode default value other than PREMULTI. > - remove DCE11 which supports per_pixel_alpha but doesn't support > DCN_UNIVERSAL_PLANE. > - new patch for the primary plane blend mode on DCE-generations > > [v2]: > https://lore.kernel.org/dri-devel/[email protected]/ > Changes: > - keep alpha property only for overlay planes (looks like primary plane > doesn't actually support it) - alpha prop in primary planes causes IGT > test failures with RX 7900 XT on a 4k60 HP U27 as reported by Daniel > Wheeler. > - improve readability of if conditions (Alex H) > - add Leandro's r-b tags. > > [v3]: > https://lore.kernel.org/dri-devel/[email protected]/ > Changes: > - add Daniel's, Mikhail's and Viktor's tested-by tag, accordingly > - add Alex H r-b tag > - add PREMULTI to the DCE list of supported blend modes to avoid > uAPI regression reported by Viktor. > > Best Regards, > > Melissa > > Melissa Wen (3): > drm/atomic-state-helper: set pixel_blend_mode to prop default on reset > drm/amd/display: fix missing blend-mode-prop warning for DCN > drm/amd/display: advertise PIXEL_NONE and PREMULTI blend mode for DCE > > .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 31 +++++++++++++++++-- > drivers/gpu/drm/drm_atomic_state_helper.c | 7 +++++ > 2 files changed, 35 insertions(+), 3 deletions(-) > > -- > 2.53.0 >
