[Intel-gfx] [RFC 0/2] Enable Nearest-neighbor for Integer mode scaling

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Sep 3 17:20:57 UTC 2019


On Tue, Sep 03, 2019 at 10:22:25PM +0530, Shashank Sharma wrote:
> 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.

I think we'd probably want a property for this sort of stuff. igt
could perhaps also use it to enable crc based scaling tests.

Another problem is that we currently don't expose the panel fitter
for external displays so this would be limited to eDP/DSI only.
I have a branch that implements borders (for underscan) for DP/HDMI
which is at least moving the code a little bit into a direction where
we could consider exposing the panel fitter for external displays.

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list