From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, nemesa.garg@intel.com
Subject: Re: [RESEND 00/10] Introduce drm sharpness property
Date: Mon, 10 Nov 2025 20:25:10 +0200 [thread overview]
Message-ID: <aRIuBqnYeIhsemHD@intel.com> (raw)
In-Reply-To: <20251028120747.3027332-1-ankit.k.nautiyal@intel.com>
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 <nemesa.garg@intel.com> to:
> - intel-gfx@lists.freedesktop.org
> - dri-devel@lists.freedesktop.org
> - intel-xe@lists.freedesktop.org
>
> 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
next prev parent reply other threads:[~2025-11-10 18:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-28 12:07 [RESEND 00/10] Introduce drm sharpness property Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 01/10] drm/drm_crtc: Introduce sharpness strength property Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 02/10] drm/i915/display: Introduce HAS_CASF for sharpness support Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 03/10] drm/i915/display: Add CASF strength and winsize Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 04/10] drm/i915/display: Add filter lut values Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 05/10] drm/i915/display: Compute the scaler coefficients Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 06/10] drm/i915/display: Add and compute scaler parameter Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 07/10] drm/i915/display: Configure the second scaler Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 08/10] drm/i915/display: Set and get the casf config Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 09/10] drm/i915/display: Enable/disable casf Ankit Nautiyal
2025-10-28 12:07 ` [RESEND 10/10] drm/i915/display: Expose sharpness strength property Ankit Nautiyal
2025-10-28 12:38 ` ✗ CI.checkpatch: warning for Introduce drm sharpness property Patchwork
2025-10-28 12:40 ` ✓ CI.KUnit: success " Patchwork
2025-10-28 12:55 ` ✗ CI.checksparse: warning " Patchwork
2025-10-28 13:17 ` ✓ Xe.CI.BAT: success " Patchwork
2025-10-28 18:55 ` ✗ Xe.CI.Full: failure " Patchwork
2025-11-10 18:25 ` Ville Syrjälä [this message]
2025-11-11 7:36 ` [RESEND 00/10] " Nautiyal, Ankit K
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aRIuBqnYeIhsemHD@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=ankit.k.nautiyal@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=nemesa.garg@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox