On Thu, Dec 12, 2013 at 9:56 PM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote: > 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> Ready your canisters with gallons full of sore acid and raw hatred, maintainer party-crasher coming in: Where's the igt? Should be fairly simple to exercise with those fancy CRCs we have ... -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx