All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Introduce drm scaling filter property
@ 2020-08-03  4:29 ` Pankaj Bharadiya
  0 siblings, 0 replies; 28+ messages in thread
From: Pankaj Bharadiya @ 2020-08-03  4:29 UTC (permalink / raw)
  To: jani.nikula, daniel, intel-gfx, dri-devel, ville.syrjala,
	daniels, sameer.lattannavar
  Cc: pankaj.laxminarayan.bharadiya

Earlier, I kept this series on hold since we wanted to have a 
reference userspace implementation in place.

Now, Sameer has implemented Integer scaling in Kodi Retro gaming
framework which demonstrate how Integer scaling gives distinctive
look to pixel art games when played on higher resolution monitors. 

Kodi patches are almost reviewed and closer to merge now.
Here is the userspace patch series link:
https://github.com/xbmc/xbmc/pull/18194

Background on Integer scaling:

Integer scaling (IS) is a nearest-neighbor upscaling technique that
simply scales up the existing pixels by an integer (i.e., whole
number) multiplier. Nearest-neighbor (NN) interpolation works by
filling in the missing color values in the upscaled image with that of
the coordinate-mapped nearest source pixel value.

Both IS and NN preserve the clarity of the original image. In
contrast, traditional upscaling algorithms, such as bilinear or
bicubic interpolation, result in blurry upscaled images because they
employ interpolation techniques that smooth out the transition from
one pixel to another.  Therefore, integer scaling is particularly
useful for pixel art games that rely on sharp, blocky images to
deliver their distinctive look.

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/

* Changes in v5:
 - Rebase to latest drm-tip.

Pankaj Bharadiya (5):
  drm: Introduce plane and CRTC scaling filter properties
  drm/drm-kms.rst: Add plane and CRTC scaling filter property
    documentation
  drm/i915: Introduce scaling filter related registers and bit fields.
  drm/i915/display: Add Nearest-neighbor based integer scaling support
  drm/i915: Enable scaling filter for plane and CRTC

 Documentation/gpu/drm-kms.rst                 |  12 ++
 drivers/gpu/drm/drm_atomic_uapi.c             |   8 ++
 drivers/gpu/drm/drm_crtc.c                    |  48 +++++++
 drivers/gpu/drm/drm_crtc_internal.h           |   3 +
 drivers/gpu/drm/drm_plane.c                   |  90 ++++++++++++++
 .../gpu/drm/i915/display/intel_atomic_plane.c |   1 +
 drivers/gpu/drm/i915/display/intel_display.c  | 117 +++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_display.h  |   4 +
 .../drm/i915/display/intel_display_types.h    |   2 +
 drivers/gpu/drm/i915/display/intel_sprite.c   |  15 ++-
 drivers/gpu/drm/i915/i915_reg.h               |  22 ++++
 include/drm/drm_crtc.h                        |  16 +++
 include/drm/drm_plane.h                       |  21 ++++
 13 files changed, 355 insertions(+), 4 deletions(-)

-- 
2.23.0

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

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

end of thread, other threads:[~2020-08-25  7:22 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-03  4:29 [PATCH v5 0/5] Introduce drm scaling filter property Pankaj Bharadiya
2020-08-03  4:29 ` [Intel-gfx] " Pankaj Bharadiya
2020-08-03  4:29 ` [PATCH v5 1/5] drm: Introduce plane and CRTC scaling filter properties Pankaj Bharadiya
2020-08-03  4:29   ` [Intel-gfx] " Pankaj Bharadiya
2020-08-19  8:14   ` Shankar, Uma
2020-08-19  8:14     ` Shankar, Uma
2020-08-25  7:21     ` Laxminarayan Bharadiya, Pankaj
2020-08-25  7:21       ` Laxminarayan Bharadiya, Pankaj
2020-08-03  4:29 ` [PATCH v5 2/5] drm/drm-kms.rst: Add plane and CRTC scaling filter property documentation Pankaj Bharadiya
2020-08-03  4:29   ` [Intel-gfx] " Pankaj Bharadiya
2020-08-19  8:18   ` Shankar, Uma
2020-08-19  8:18     ` [Intel-gfx] " Shankar, Uma
2020-08-03  4:29 ` [PATCH v5 3/5] drm/i915: Introduce scaling filter related registers and bit fields Pankaj Bharadiya
2020-08-03  4:29   ` [Intel-gfx] " Pankaj Bharadiya
2020-08-19  8:22   ` Shankar, Uma
2020-08-19  8:22     ` [Intel-gfx] " Shankar, Uma
2020-08-03  4:29 ` [PATCH v5 4/5] drm/i915/display: Add Nearest-neighbor based integer scaling support Pankaj Bharadiya
2020-08-03  4:29   ` [Intel-gfx] " Pankaj Bharadiya
2020-08-19  8:34   ` Shankar, Uma
2020-08-19  8:34     ` Shankar, Uma
2020-08-03  4:29 ` [PATCH v5 5/5] drm/i915: Enable scaling filter for plane and CRTC Pankaj Bharadiya
2020-08-03  4:29   ` [Intel-gfx] " Pankaj Bharadiya
2020-08-19  8:45   ` Shankar, Uma
2020-08-19  8:45     ` [Intel-gfx] " Shankar, Uma
2020-08-03  5:07 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce drm scaling filter property (rev7) Patchwork
2020-08-03  5:08 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2020-08-03  5:26 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-08-03  6:41 ` [Intel-gfx] ✗ 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.