[PATCH 00/10] Introduce drm sharpness property

Garg, Nemesa nemesa.garg at intel.com
Mon Jul 28 11:42:58 UTC 2025


Hello Harry, Sunpeng

We have added a new drm crtc property to expose the sharpness strength which user
can use to set the value of sharpness from 0 - 255.

Can you please let us know if this implementation looks good to you?

If so, kindly provide an Ack.

Got ack from Xaver Hugl.

Thanks and Regards,
Nemesa

> -----Original Message-----
> From: Garg, Nemesa <nemesa.garg at intel.com>
> Sent: Thursday, July 24, 2025 7:16 PM
> To: intel-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; intel-
> xe at lists.freedesktop.org
> Cc: Garg, Nemesa <nemesa.garg at intel.com>
> Subject: [PATCH 00/10] Introduce drm sharpness property
> 
>       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/
> 
> Nemesa Garg (10):
>   drm/drm-crtc: Introduce sharpness strength property
>   drm/i915/display: Introduce HAS_CASF for sharpness support
>   drm/i915/display: Add strength and winsize register
>   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
> 
>  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     |  24 ++
>  .../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  |   7 +
>  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     |  90 +++++-
>  drivers/gpu/drm/i915/display/skl_scaler.h     |   1 +
>  drivers/gpu/drm/xe/Makefile                   |   1 +
>  include/drm/drm_crtc.h                        |  17 +
>  15 files changed, 549 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.25.1



More information about the Intel-gfx mailing list