On Tue, Oct 28, 2025 at 05:37:36PM +0530, Ankit Nautiyal wrote:
> This is a resend of the patch series [1] originally submitted by
> Nemesa Garg <[email protected]> to:
> - [email protected]
> - [email protected]
> - [email protected]
> 
> One of the patches was missed by Patchwork, which caused the xe CI to skip
> running tests for the full series. To ensure proper CI coverage and
> results, I’ve applied the series on top of the latest tree and regenerated
> it using `git format-patch`.
> 
> [1] https://patchwork.freedesktop.org/series/138754/
> 
> 
> --- Original cover letter follows ---
> 
> Many a times images are blurred or upscaled content is also not as
> crisp as original rendered image. Traditional sharpening techniques often
> apply a uniform level of enhancement across entire image, which sometimes
> result in over-sharpening of some areas and potential loss of natural details.
> 
> Intel has come up with Display Engine based adaptive sharpening filter
> with minimal power and performance impact. From LNL onwards, the Display
> hardware can use one of the pipe scaler for adaptive sharpness filter.
> This can be used for both gaming and non-gaming use cases like photos,
> image viewing. It works on a region of pixels depending on the tap size.
> 
> This is an attempt to introduce an adaptive sharpness solution which
> helps in improving the image quality. For this new CRTC property is added.
> The user can set this property with desired sharpness strength value with
> 0-255. A value of 1 representing minimum sharpening strength and 255
> representing maximum sharpness strength. A strength value of 0 means no
> sharpening or sharpening feature disabled.
> It works on a region of pixels depending on the tap size. The coefficients
> are used to generate an alpha value which is used to blend the sharpened
> image to original image.
> 
> Middleware MR link: 
> https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3665
> IGT patchwork link: https://patchwork.freedesktop.org/series/130218/
> 
> Continuing discussions from:  https://patchwork.freedesktop.org/series/129888/
> 
> https://invent.kde.org/plasma/kwin/-/merge_requests/7689
> Got ack from kwin maintainer on the UAPI patch.
> 
> Nemesa Garg (10):
>   drm/drm_crtc: Introduce sharpness strength property
>   drm/i915/display: Introduce HAS_CASF for sharpness support
>   drm/i915/display: Add CASF strength and winsize
>   drm/i915/display: Add filter lut values
>   drm/i915/display: Compute the scaler coefficients
>   drm/i915/display: Add and compute scaler parameter
>   drm/i915/display: Configure the second scaler
>   drm/i915/display: Set and get the casf config
>   drm/i915/display: Enable/disable casf
>   drm/i915/display: Expose sharpness strength property

The i915 part of this needs a rewrite:
- it needs to properly integrated into skl_scaler.c
  instead of reimplementing half of it
- for some reason it's doing stuff in the pre/post
  plane update hooks instead of from the vblank evade
  critical section, which means the updates won't be
  atomic and also can't be executed via DSB
- the state computation is in the wrong place. It should
  be part of compute_config() but now it's somewhere later
  where it's screwing up the prefill stuff again (I can't
  land the final prefill fixes now because this laded in the
  meantime).

> 
>  drivers/gpu/drm/drm_atomic_uapi.c             |   4 +
>  drivers/gpu/drm/drm_crtc.c                    |  35 +++
>  drivers/gpu/drm/i915/Makefile                 |   1 +
>  drivers/gpu/drm/i915/display/intel_casf.c     | 293 ++++++++++++++++++
>  drivers/gpu/drm/i915/display/intel_casf.h     |  22 ++
>  .../gpu/drm/i915/display/intel_casf_regs.h    |  33 ++
>  drivers/gpu/drm/i915/display/intel_crtc.c     |   3 +
>  .../drm/i915/display/intel_crtc_state_dump.c  |   5 +
>  drivers/gpu/drm/i915/display/intel_display.c  |  37 ++-
>  .../drm/i915/display/intel_display_device.h   |   1 +
>  .../drm/i915/display/intel_display_types.h    |  15 +
>  drivers/gpu/drm/i915/display/skl_scaler.c     |  91 +++++-
>  drivers/gpu/drm/i915/display/skl_scaler.h     |   2 +
>  drivers/gpu/drm/xe/Makefile                   |   1 +
>  include/drm/drm_crtc.h                        |  18 ++
>  15 files changed, 548 insertions(+), 13 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_casf.c
>  create mode 100644 drivers/gpu/drm/i915/display/intel_casf.h
>  create mode 100644 drivers/gpu/drm/i915/display/intel_casf_regs.h
> 
> -- 
> 2.45.2

-- 
Ville Syrjälä
Intel

Reply via email to