>-----Original Message-----
>From: Ville Syrjala [mailto:[email protected]]
>Sent: Tuesday, February 19, 2019 1:02 AM
>To: [email protected]
>Cc: Shankar, Uma <[email protected]>; Roper, Matthew D
><[email protected]>
>Subject: [PATCH 3/7] drm/i915: Extract ilk_csc_limited_range()
>
>From: Ville Syrjälä <[email protected]>
>
>Extract a helper which determines if we need to use the pipe CSC for limited 
>range
>RGB output.
>
>Signed-off-by: Ville Syrjälä <[email protected]>
>---
> drivers/gpu/drm/i915/intel_color.c | 22 ++++++++++++++--------
> 1 file changed, 14 insertions(+), 8 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/intel_color.c 
>b/drivers/gpu/drm/i915/intel_color.c
>index 93428d86510a..ddc48c0d45ac 100644
>--- a/drivers/gpu/drm/i915/intel_color.c
>+++ b/drivers/gpu/drm/i915/intel_color.c
>@@ -161,22 +161,28 @@ static void ilk_load_ycbcr_conversion_matrix(struct
>intel_crtc *crtc)
>       }
> }
>
>+static bool ilk_csc_limited_range(const struct intel_crtc_state
>+*crtc_state) {
>+      struct drm_i915_private *dev_priv =
>+to_i915(crtc_state->base.crtc->dev);
>+
>+      /*
>+       * FIXME if there's a gamma LUT after the CSC, we should
>+       * do the range compression using the gamma LUT instead.
>+       */
>+      return crtc_state->limited_color_range &&
>+              (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv) ||
>+               IS_GEN_RANGE(dev_priv, 9, 10));

We should include Gen8 also to this list. Is it intentional to drop that ?
With this fixed or justified reasoning, 
Reviewed-by: Uma Shankar <[email protected]>

>+}
>+
> static void ilk_load_csc_matrix(const struct intel_crtc_state *crtc_state)  {
>       struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
>       struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>-      bool limited_color_range = false;
>+      bool limited_color_range = ilk_csc_limited_range(crtc_state);
>       enum pipe pipe = crtc->pipe;
>       u16 coeffs[9] = {};
>       int i;
>
>-      /*
>-       * FIXME if there's a gamma LUT after the CSC, we should
>-       * do the range compression using the gamma LUT instead.
>-       */
>-      if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv))
>-              limited_color_range = crtc_state->limited_color_range;
>-
>       if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
>           crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) {
>               ilk_load_ycbcr_conversion_matrix(crtc);
>--
>2.19.2

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to