shaders/sampling: enable antiringing for EWA scalers
Based on a 12-tap design (dmax <= 1, which includes the 4 center texels as well as 8 texels orthogonally surrounding it). This seems to give the best results in practice and eliminates the issues with smaller kernels, though it's not perfect. Better than the status quo of "nothing". Users can always turn it off if they don't like it..
There are more possible designs we could use here:
-
Weigh the "surrounding" texels less strongly, i.e. instead of doing hi = max(hi, c), we could do hi = mix(hi, max(hi, c), str) where str is some kernel weight that goes down with distance.
-
In theory, we could even use the "true" weight from the actual pixel distance here.
More testing needed. Usefulness TBD.