Thanks for the explanation Fabrice... I guess I am not sure how to swap the host pixel format without taking a performance penalty. So for now I just offer the patch I made in case anyone else finds it useful for their own needs. Maybe I'll revisit this in the future when I have more time and come up with something more general. Right now, it does the job with no performance hit for guests running on little Endian hosts, trying to blit on to Sun X servers in 24-bit mode.
I agree that the 8/15/16 bit stuff is probably not too relevant - I just implemented it since it was implemented in the original patch (written by someone else) that I adapted. - Leo Reiter Fabrice Bellard wrote: > Hi, > > I did not accept your patch for two reasons: > > 1) You changed the guest vga frame buffer format and I don't think this > is what you wanted (it can be useful to emulate VGA on big endian guests > though - the current implementation for ppc guests is a hack). What is > needed is to swap the host pixel format. > > 2) You added support for RGB swapping for 8/15/16 depths and I am not > sure this is useful. Endianness swapping would be more useful for 15/16 > depths. > > Fabrice. > > Leonardo E. Reiter wrote: > >> Ben, >> >> You can use the patch I posted here recently to get QEMU to fix the BGR >> problem internally. It doesn't have to be done at the VNC level - and >> in fact, this way, you can use it on the Solaris native X server (or >> even SunRays) in 24-bit color mode. I am attaching a new version of the >> patch, complete with the detection logic (to make it automatic), against >> today's CVS. >> >> My original post: >> >> http://lists.gnu.org/archive/html/qemu-devel/2006-04/msg00181.html >> >> The last (and fast) version: >> >> http://lists.gnu.org/archive/html/qemu-devel/2006-04/msg00195.html >> >> An additional hack to get SDL to configure this automatically, without >> needing the -bgr option on the command-line: >> >> http://lists.gnu.org/archive/html/qemu-devel/2006-04/msg00230.html >> >> Maybe Fabrice or Paul can commit this since I addressed all the original >> issues, but have yet to hear feedback on it. It's working fine for >> myself and for my customers using SunRays for several weeks now. The >> only issue is cirrus VGA in 16-bit mode seems to do some optimization >> that bypasses the swapping code. regular VGA or cirrus VGA in 24-bit >> mode (on the guest) works fine. >> >> Regards, >> >> Leo Reiter >> >> Ben Taylor wrote: > > > > _______________________________________________ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel -- Leonardo E. Reiter Vice President of Product Development, CTO Win4Lin, Inc. Virtual Computing that means Business Main: +1 512 339 7979 Fax: +1 512 532 6501 http://www.win4lin.com _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel