On Sat, 28 Sep 2013 00:42:12 +0200 [email protected] (Søren Sandmann) wrote:
> Siarhei Siamashka <[email protected]> writes: > > >> Somehow I missed the "case 16:" case. New patch below; also available in > >> the negative-strides branch of my repository on fd.o. > > > > Thanks, this works. I have just independently found the same problem, > > but was running some additional tests. > > Thanks for testing; I'll push the patch soon. Good. This should resolve "make check" problems on all platforms. Except for the reported VMX/Altivec issue on POWER7. > > By the way, print_image() does not behave in the same way on big and > > little endian systems, which makes debugging a little bit more > > difficult. > > On blitters-test, print_image() ends up being called before > endian-swapping, so it will produce different output on big vs little > endian. But in the other tests, it looks like the call is after the > swapping. > > If the problem is just blitters-test, then it's easy enough to fix; the > patch below should do it. I guess it might even make sense to add a > "verbose" argument to compute_crc32_for_image() and move the print code > there so that the order isn't accidentally reversed in new code. I was just considering to update print_image() function to actually take pixel color depth into account. And print something like this for a8r8g8b8 format: 01234567 89ABCDEF Instead of "67 45 23 01 EF CD AB 89" on little endian systems and "01 23 45 67 89 AB CD EF" on big endian systems. But there are still 1bpp and 4bpp formats, which either would be still printed differently on big and little endian systems. Or the printed dump would be misleading, because it does not match the actual data in memory produced by pixman_image_composite(). -- Best regards, Siarhei Siamashka _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
