Message ID | 20201020161427.6941-1-pankaj.laxminarayan.bharadiya@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce drm scaling filter property | expand |
On Tue, 20 Oct 2020, Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com> wrote: > Kodi patches are reviewed and accepted for merge now. > > Here is the userspace patch series link: > https://github.com/xbmc/xbmc/pull/18567 > > 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/ Thanks for the patches and review, pushed to dinq with Daniel's IRC ack to merge via drm-intel. BR, Jani. > > changes since v6: > * Move property doc to existing "Standard CRTC Properties" and > "Plane Composition Properties" doc comments (Simon) > * Drop 0002 patch > > Pankaj Bharadiya (4): > drm: Introduce plane and CRTC scaling filter properties > 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 > > drivers/gpu/drm/drm_atomic_uapi.c | 8 ++ > drivers/gpu/drm/drm_blend.c | 13 ++ > drivers/gpu/drm/drm_crtc.c | 40 ++++++ > drivers/gpu/drm/drm_crtc_internal.h | 3 + > drivers/gpu/drm/drm_plane.c | 73 +++++++++++ > .../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, 331 insertions(+), 4 deletions(-)