Achieving Integer Scaling through GPU composition

uday kiran pichika udaykiran.pichika at
Tue Jan 21 11:23:51 UTC 2020


Am working on achieving the *Integer Scaling *through GPU composition.

What is Integer Scaling ?
        It is an up-scaling technique that simply scales up the client's
Source data pixels by an integer multiplier using NN(Nearest Neighbor)
scaling filter. With Integer Scaling through NN filter, low resolution
pixel art games being scaled to high resolution displays(4k & 8k resolution
panels) with sharp edges. Explained below with an example  what we are
trying to achieve.
 EX: If the pixel art game is with a resolution of 640x480 which should
render on a 1920x1080 panel. To upscale 640x480 to an integer multiplier
resolution, it should upscale only to 1280x960 but not to 1920x1440 because
it is beyond the panel resolution. The up-scaled (1280*960) image should be
displayed on 1920x1080 panel. The remaining pixel beyond the 1280x960
should be greyed-out.

This is what we are trying to achieve by enabling Integer scaling only in
FULL SCREEN mode. And when IS is enabled, it should use only NN as its
scaling filter in GL Composition path.

What is present in Weston currently ?

 I know that there is scaling logic already present in the Weston
compositor in GL composition path.

*But just wanted to know whether it is Integer scaling as mentioned above ?
If not, does it possible to implement Integer Scaling in the compositor ?*

As i had a conversation in IRC, *Scaling needs to be done at Client itself*.
But it is not feasible for each and every app should do necessary code
changes to do so. Please suggest an approach to achieve this IS with in the
compositor itself.

Thanks in-advance


Uday Kiran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the wayland-devel mailing list