Re: [PATCH 1/7] drm/i915: Don't disable primary when color keying is used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 17 Oct 2013 22:53:13 +0300
ville.syrjala@xxxxxxxxxxxxxxx wrote:

> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> When color keying is used, the primary may not be invisible even though
> the sprite fully covers it. So check for color keying before deciding to
> disable the primary plane.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 07b13dc..74f6bd4 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -643,6 +643,15 @@ format_is_yuv(uint32_t format)
>  	}
>  }
>  
> +static bool colorkey_enabled(struct intel_plane *intel_plane)
> +{
> +	struct drm_intel_sprite_colorkey key;
> +
> +	intel_plane->get_colorkey(&intel_plane->base, &key);
> +
> +	return key.flags != I915_SET_COLORKEY_NONE;
> +}
> +
>  static int
>  intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
>  		   struct drm_framebuffer *fb, int crtc_x, int crtc_y,
> @@ -828,7 +837,7 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
>  	 * If the sprite is completely covering the primary plane,
>  	 * we can disable the primary and save power.
>  	 */
> -	disable_primary = drm_rect_equals(&dst, &clip);
> +	disable_primary = drm_rect_equals(&dst, &clip) && !colorkey_enabled(intel_plane);
>  	WARN_ON(disable_primary && !visible && intel_crtc->active);
>  
>  	mutex_lock(&dev->struct_mutex);

Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

-- 
Jesse Barnes, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux