[Intel-gfx] [PATCH 1/7] drm/i915: Don't disable primary when color keying is used
Daniel Vetter
daniel at ffwll.ch
Thu Dec 12 21:58:25 CET 2013
On Thu, Dec 12, 2013 at 9:56 PM, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Thu, 17 Oct 2013 22:53:13 +0300
> ville.syrjala at linux.intel.com wrote:
>
>> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>>
>> 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 at linux.intel.com>
>> ---
>> 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 at virtuousgeek.org>
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
More information about the Intel-gfx
mailing list