Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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