From: Siarhei Siamashka <[email protected]> Can be used as a fix for: https://bugs.freedesktop.org/show_bug.cgi?id=37421 But also has some potential for avoiding unnecessary performance hits for simple rotation, simple translation and possibly even downscaling with integer scale factors (this is not so certain) due to equivalent substitution of BILINEAR filter with NEAREST.
As it turns out, these changes are also likely exposing older bugs, potentially happening when using fixed point values which are close to 32K limit (this is something to be investigated later). Also there are likely some bugs when handling non-affine transforms which may show up as the use of uninitialized values in valgrind (if bit flipping part of the affine-test is also allowed to touch the lowest row of the transformation matrix). The same patches are also available here: http://cgit.freedesktop.org/~siamashka/pixman/log/?h=sent/20110522-unscaled-bilinear-fix Siarhei Siamashka (3): test: better coverage for BILINEAR->NEAREST filter optimization Optimize BILINEAR filter to NEAREST for identity transforms BILINEAR->NEAREST filter optimization for simple rotation and translation pixman/pixman-bits-image.c | 22 +++--------------- pixman/pixman-image.c | 53 +++++++++++++++++++++++++++++++++++++++++-- pixman/pixman-private.h | 4 +- pixman/pixman.c | 40 +++++++++++++++------------------ test/affine-test.c | 36 ++++++++++++++++++++++++----- 5 files changed, 104 insertions(+), 51 deletions(-) -- 1.7.3.4 _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
