From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> According to the spec color keying is not supported with fp16 pixel formats on skl+. Reject that combo. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_sprite.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index cc9e5c9668b1..d6cd46e3f738 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -1689,6 +1689,19 @@ vlv_sprite_check(struct intel_crtc_state *crtc_state, return 0; } +static bool format_is_fp16(u32 format) +{ + switch (format) { + case DRM_FORMAT_XRGB16161616F: + case DRM_FORMAT_XBGR16161616F: + case DRM_FORMAT_ARGB16161616F: + case DRM_FORMAT_ABGR16161616F: + return true; + default: + return false; + } +} + static int skl_plane_check_fb(const struct intel_crtc_state *crtc_state, const struct intel_plane_state *plane_state) { @@ -1760,6 +1773,11 @@ static int skl_plane_check_fb(const struct intel_crtc_state *crtc_state, return -EINVAL; } + if (plane_state->ckey.flags && format_is_fp16(fb->format->format)) { + DRM_DEBUG_KMS("Color keying not supported with fp16 formats\n"); + return -EINVAL; + } + return 0; } -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx