[Intel-gfx] [PATCH] drm/i915/skl: handle all pixel formats in skylake_update_primary_plane()
Damien Lespiau
damien.lespiau at intel.com
Mon Feb 16 06:22:20 PST 2015
On Tue, Feb 10, 2015 at 01:43:39PM +0200, Ville Syrjälä wrote:
> On Tue, Feb 10, 2015 at 01:15:49PM +0200, Jani Nikula wrote:
> > skylake_update_primary_plane() did not handle all pixel formats returned
> > by skl_format_to_fourcc(). Handle alpha similar to skl_update_plane().
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89052
> > Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> >
> > ---
> >
> > This is purely cargo culting to avoid the BUG.
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 3fe95982be93..cede05256d56 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -2751,10 +2751,19 @@ static void skylake_update_primary_plane(struct drm_crtc *crtc,
> > case DRM_FORMAT_XRGB8888:
> > plane_ctl |= PLANE_CTL_FORMAT_XRGB_8888;
> > break;
> > + case DRM_FORMAT_ARGB8888:
> > + plane_ctl |= PLANE_CTL_FORMAT_XRGB_8888;
> > + plane_ctl |= PLANE_CTL_ALPHA_SW_PREMULTIPLY;
>
> We don't do alpha blending yet properly so we should just ignore alpha
> for now. And someone should rip out that bit from skl_update_plane() as
> well.
We currently expose ARGB planes for VLV. Looking at the VLV Diplay
Cluster HAS the blending done in VLV (and so CHV I'm guessing?) is
src + (1 - src_a) * dst
Clearly suitable for pre-multiplied framebuffers (it's also stated so).
So, we already expose a default blendig mode suitable for pre-multiplied
FBs. This would be just doing the same and provide a (IMHO sensible)
default for fbs with alpha.
So we could go with this? maybe?
--
Damien
More information about the Intel-gfx
mailing list