[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