Bug #6772 caused a new operation to happen on my desktop, which is gtk's x8b8g8r8 IN a8b8g8r8 Over Dst that's used for doing the premultiplication of gdk pixmaps. The Radeon render accel code for EXA is doing this format wrong somehow -- my icons end up all red. You can find code to expose this in the more-formats branch of rendercheck. That branch hasn't been merged yet because reports issues I haven't tracked down yet, but if you can get the *8b8g8r8 tests working, that would be enough for this bug.
Created attachment 6100 [details] [review] Proposed fix I notice that the code for these source formats currently relies on the TXO_ENDIAN_BYTE_SWAP bits. Back when I was fixing R100 DRI for big endian, I noticed that these bits don't seem to have any effect. Luckily, the R200 3D engine supports an ABGR texture format, but I'm afraid these source formats can't be accelerated with R100. So this patch attempts to fix the problem by changing the R200 code to use the ABGR texture format and by removing R100 support for these source formats. This fixes the rendercheck failures here with an M9. I'll be on vacation for two weeks; if you agree with this approach, feel free to push it and finally push the patch from bug 6772.
Eric, what do you think?
Ahh, I thought I'd talked to you in IRC. This patch sounds good to me, and you certainly know more about the endian issues in Radeon than I do :)
Pushed to xf86-video-ati git.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.