[Intel-gfx] [PATCH] drm/i915: Fix skl srckey mask bits
Matt Roper
matthew.d.roper at intel.com
Wed Jan 30 18:25:22 UTC 2019
On Tue, Jan 29, 2019 at 04:49:19PM +0200, Ville Syrjälä wrote:
> On Tue, Jan 29, 2019 at 04:33:15PM +0200, Ville Syrjälä wrote:
> > On Fri, Jan 25, 2019 at 01:54:47PM -0800, Matt Roper wrote:
> > > On Fri, Jan 25, 2019 at 08:38:46PM +0200, Ville Syrjala wrote:
> > > > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > >
> > > > We're incorrectly masking off the R/V channel enable bit from
> > > > KEYMSK. Fix it up.
> > > >
> > > > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > > > Cc: Matt Roper <matthew.d.roper at intel.com>
> > > > Fixes: b20815255693 ("drm/i915: Add plane alpha blending support, v2.")
> > > > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > >
> > > The "srckey" terminology in the headline is a bit confusing since the
> > > channel mask applies to both "destination colorkey" and "source
> > > colorkey" behavior.
> >
> > Does it? IIRC it used to be only for source keying. I guess I'll have to
> > try it for reals.
>
> Still seems to affect only the source key.
Hmm, strange. I don't see any mention of this only applying to source
color key in the bspec (neither PLANE_KEYVAL or PLANE_KEYMSK
descriptions mention it). I also notice that SNA explicitly sets the
channel mask (including the 0x7 << 24 bits), even though it only uses
destination color keying.
Is this documented somewhere that we're overlooking, or should we file a
bspec defect to get it added?
Matt
>
> >
> > > Otherwise,
> > >
> > > Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> > >
> > > Out of curiousity, has there ever been a userspace consumer of source
> > > colorkey? I know SNA uses destination colorkey (for Xv), but not source
> > > colorkey. And afaik, UXA never did any colorkeying through the sprite
> > > interface at all.
> >
> > No, I don't think we have any userspace for this.
> >
> > >
> > >
> > > Matt
> > >
> > > > ---
> > > > drivers/gpu/drm/i915/intel_sprite.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> > > > index b02d3d9809e3..cd42e81f8a90 100644
> > > > --- a/drivers/gpu/drm/i915/intel_sprite.c
> > > > +++ b/drivers/gpu/drm/i915/intel_sprite.c
> > > > @@ -493,7 +493,7 @@ skl_program_plane(struct intel_plane *plane,
> > > >
> > > > keymax = (key->max_value & 0xffffff) | PLANE_KEYMAX_ALPHA(alpha);
> > > >
> > > > - keymsk = key->channel_mask & 0x3ffffff;
> > > > + keymsk = key->channel_mask & 0x7ffffff;
> > > > if (alpha < 0xff)
> > > > keymsk |= PLANE_KEYMSK_ALPHA_ENABLE;
> > > >
> > > > --
> > > > 2.19.2
> > > >
> > >
> > > --
> > > Matt Roper
> > > Graphics Software Engineer
> > > IoTG Platform Enabling & Development
> > > Intel Corporation
> > > (916) 356-2795
> >
> > --
> > Ville Syrjälä
> > Intel
>
> --
> Ville Syrjälä
> Intel
--
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795
More information about the Intel-gfx
mailing list