[Intel-gfx] [PATCH 3/6] drm/i915: Fix overlay colorkey for 30bpp and 8bpp

Chris Wilson chris at chris-wilson.co.uk
Fri May 15 16:38:21 UTC 2020


Quoting Ville Syrjala (2019-10-28 11:30:33)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> As with the video sprites the colorkey is always specified
> as 8bpc.

> For 10bpc primary plane formats we just ignore the
> two lsbs of each component.

Sensible.

> For C8 we'll replicate the same
> key to each chanel, which is what the hardware wants.

Gray, ok.

> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_overlay.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c b/drivers/gpu/drm/i915/display/intel_overlay.c
> index 848ce07a8ec2..23829374f751 100644
> --- a/drivers/gpu/drm/i915/display/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/display/intel_overlay.c
> @@ -101,12 +101,15 @@
>  #define CLK_RGB24_MASK         0x0
>  #define CLK_RGB16_MASK         0x070307
>  #define CLK_RGB15_MASK         0x070707
> -#define CLK_RGB8I_MASK         0xffffff
>  
> +#define RGB30_TO_COLORKEY(c) \
> +       (((c & 0x3FC00000) >> 6) | ((c & 0x000FF000) >> 4) | ((c & 0x000003FC) >> 2))
             0x00ff00000               0x0000ff00                0x000000ff

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Intel-gfx mailing list