All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add scaling filters in DRM layer
@ 2019-10-22  9:59 Shashank Sharma
  2019-10-22  9:59 ` [PATCH 1/3] drm: Introduce scaling filter mode property Shashank Sharma
                   ` (6 more replies)
  0 siblings, 7 replies; 38+ messages in thread
From: Shashank Sharma @ 2019-10-22  9:59 UTC (permalink / raw)
  To: dri-devel, intel-gfx

Blurry outputs during upscaling the video buffer, is a generic problem
of graphics industry. One of the major reason behind this blurriness is
the interpolation of pixel values used by most of the upscaling hardwares.

Nearest-neighbor is a scaling mode, which works by filling in the missing
color values in the upscaled image with that of the coordinate-mapped
nearest source pixel value.

Nearest-neighbor can produce (almost) non-blurry scaling outputs when
the scaling ratio is complete integer. For example:
- input buffer resolution: 1280x720(HD)
- output buffer resolution: 3840x2160(UHD/4K)
- scaling ratio (h) = 3840/1280 = 3  
- scaling ratio (v) = 2160/720 = 3

In such scenarios, we should try to pick Nearest-neighbor as scaling
method when possible.

Many gaming communities have been asking for integer-mode scaling
support, some links and background:
https://software.intel.com/en-us/articles/integer-scaling-support-on-intel-graphics
http://tanalin.com/en/articles/lossless-scaling/
https://community.amd.com/thread/209107
https://www.nvidia.com/en-us/geforce/forums/game-ready-drivers/13/1002/feature-request-nonblurry-upscaling-at-integer-rat/

This patch series adds support for programmable scaling filters, which
can help a user to pick and enables NN scaling on Intel display hardware
(ICL onwards). There is also one option to pick NN only when the scaling
ratios are integer, to achieve Integer scaling, without(alsmost) any side effets.

there was an RFC series published for the same, which can be seen here: 
https://patchwork.freedesktop.org/series/66175/ 

Shashank Sharma (3):
  drm: Introduce scaling filter mode property
  drm/i915: Add support for scaling filters
  drm/i915: Handle nearest-neighbor scaling filter

 drivers/gpu/drm/drm_atomic_uapi.c             |   4 +
 drivers/gpu/drm/i915/display/intel_display.c  | 161 +++++++++++++++++-
 .../drm/i915/display/intel_display_types.h    |   3 +
 drivers/gpu/drm/i915/i915_reg.h               |  31 ++++
 include/drm/drm_crtc.h                        |  26 +++
 include/drm/drm_mode_config.h                 |   6 +
 6 files changed, 230 insertions(+), 1 deletion(-)

-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2019-10-24 12:23 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-22  9:59 [PATCH 0/3] Add scaling filters in DRM layer Shashank Sharma
2019-10-22  9:59 ` [PATCH 1/3] drm: Introduce scaling filter mode property Shashank Sharma
2019-10-22 10:08   ` [Intel-gfx] " Daniel Vetter
2019-10-22 10:12     ` Sharma, Shashank
2019-10-22 12:25       ` Ville Syrjälä
2019-10-23 12:44     ` Jani Nikula
2019-10-23 12:44       ` [Intel-gfx] " Jani Nikula
2019-10-23 12:44       ` Jani Nikula
2019-10-24 12:06       ` Daniel Vetter
2019-10-24 12:06         ` Daniel Vetter
2019-10-24 12:12         ` Jani Nikula
2019-10-24 12:12           ` Jani Nikula
2019-10-24 12:14           ` Daniel Vetter
2019-10-24 12:14             ` Daniel Vetter
2019-10-24 12:23             ` Jani Nikula
2019-10-24 12:23               ` [Intel-gfx] " Jani Nikula
2019-10-24 12:23               ` Jani Nikula
2019-10-22 12:20   ` Ville Syrjälä
2019-10-22 14:06     ` Harry Wentland
2019-10-22 15:28       ` Sharma, Shashank
2019-10-22 15:42       ` Ville Syrjälä
2019-10-22 15:18     ` Sharma, Shashank
2019-10-23  7:34       ` Pekka Paalanen
2019-10-23 12:41         ` Ville Syrjälä
2019-10-23 12:41           ` [Intel-gfx] " Ville Syrjälä
2019-10-23 12:41           ` Ville Syrjälä
2019-10-22 12:26   ` Ville Syrjälä
2019-10-22 15:21     ` Sharma, Shashank
2019-10-22 15:38       ` Ville Syrjälä
2019-10-22 13:26   ` Mihail Atanassov
2019-10-22 13:32     ` Mihail Atanassov
2019-10-22 15:25     ` Sharma, Shashank
2019-10-22  9:59 ` [PATCH 2/3] drm/i915: Add support for scaling filters Shashank Sharma
2019-10-22  9:59 ` [PATCH 3/3] drm/i915: Handle nearest-neighbor scaling filter Shashank Sharma
2019-10-22 13:18 ` ✗ Fi.CI.CHECKPATCH: warning for Add scaling filters in DRM layer Patchwork
2019-10-22 13:21 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-10-22 13:50 ` ✓ Fi.CI.BAT: success " Patchwork
2019-10-22 23:06 ` ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.