Blurry outputs during upscaling the buffer, is a generic problem of gfx 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 enables NN scaling on Intel display (ICL), when the upscaling ratio is integer. Shashank Sharma (2): drm/i915: Indicate integer up-scaling ratios drm/i915: Pick nearest-neighbor mode for integer scaling ratios drivers/gpu/drm/i915/display/intel_display.c | 97 ++++++++++++++++++- .../drm/i915/display/intel_display_types.h | 7 ++ drivers/gpu/drm/i915/i915_reg.h | 31 ++++++ 3 files changed, 134 insertions(+), 1 deletion(-) -- 2.17.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx