From: Oliver Gerlich <olig9@gmx.de>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] PATCH: fix bgr color mapping on qemu on Solaris/SPARC
Date: Thu, 11 May 2006 16:57:44 +0200 [thread overview]
Message-ID: <446350E8.2040300@gmx.de> (raw)
In-Reply-To: <44633670.2040203@medsci.uu.se>
Dan Sandberg wrote:
> Paul Brook wrote:
>
>> On Wednesday 10 May 2006 23:05, Fabrice Bellard wrote:
>>
>>
>>> In order to stop the release of incomplete BGR patches, I am
>>> implementing a more complete patch. I am just adding depth = 32 with BGR
>>> instead of RGB. If other pixel formats are wanted, you should signal it
>>> now.
>>>
>>
>>
>> I don't have any paticular favourite pixel formats, but qemu now has
>> [at least] 3 different sets of low-level pixel conversion routines
>> (vga, tcx and pl110). If you're feeling really enthusiastic it would
>> be nice if they could be unified :-) It's one of the things I've been
>> meaning to look at when I've nothing better to do, but haven't got
>> round to yet..
>>
>> Paul
>>
>>
>>
>> _______________________________________________
>> Qemu-devel mailing list
>> Qemu-devel@nongnu.org
>> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>>
>>
>>
Hi,
some comments on your suggestions:
> Just curious...
>
> Are you using an OpenGL directdraw surface for the graphics emulation in
> Qemu?
> If not, then consider the benefits:
> 1. It is much faster than any native graphics 2D/3D primitives like
> Windows GDI
Not sure how much faster it is on Windows; currently Qemu uses plain SDL
for drawing which probably uses DirectDraw under Windows. However, AFAIK
under Linux SDL is not hardware accelerated in most cases, while OpenGL
could give hardware acceleration.
> 2: It gives full control over things like window or fullscreen mode in
> any (almost) resolution and color depth.
AFAIK the windowing/fullscreen stuff is not done by OpenGL itself, but
by some external library; SDL offers this functionality, GLUT is another
possibility, and apparently the GlScene lib you mentioned does this as well.
> 3. It is operating system independent.
> 4. It handles things like RGB, BGR, 24bit, 15bit, 16bit, 8bit, alpha
> channel etc in hardware, all you have to do is select the pixelformat
> you like to use for the buffer and OpenGL does the rest - lightning
> fast, minimum CPU-load.
Basically, that sounds like a good idea to me.
>
> My suggestion would be to write a frontend similar to VMware's for Qemu
> in Lazarus. Why Lazarus?
> 1. The fantastic GLscene is available for Lazarus making
> OpenGL-programming easy. Try: http://www.skinhat.com/3dpack/
> 2. With Lazarus a RAD graphic frontend based on OpenGL can be made and
> directly compileable for most operating systems without need for
> modifications.
>
> Hope someone likes the idea, otherwise I will have to do it myself if I
> can find some spare time.
>
> Dan
Before you start working on this, I have some suggestions as well:
Is the drawing part really a performance bottleneck? And will this
really be improved by changing the drawing functions, or wouldn't a
better graphics card emulation give much more improvements? What does a
profiler say about this?
I seem to recall that in most cases, SDL doesn't slow down performance
in Qemu. It might be interesting to see how much the new RGB<->BGR
conversions costs, though.
Another thing that I think is important is that not all computers have
OpenGL acceleration. And at least on Linux, software OpenGL rendering is
quite slow, so a port to OpenGL would probably be a huge drawback for
some people. If OpenGL is really worth the trouble, one could add OpenGL
rendering so that people can still use the "old" way of drawing if no
hardware acceleration is available.
A GUI frontend would be quite nice, I think. So far several people have
submitted (quite useful) patches for this, but nothing more has happened
in that direction. Not sure what is required for a GUI that will be
integrated into Qemu finally...
Thanks,
Oliver
next prev parent reply other threads:[~2006-05-11 14:57 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-10 18:16 [Qemu-devel] PATCH: fix bgr color mapping on qemu on Solaris/SPARC Ben Taylor
2006-05-10 18:32 ` Anthony Liguori
2006-05-10 22:07 ` Leonardo E. Reiter
2006-05-10 21:30 ` Paul Brook
2006-05-10 22:21 ` Julian Seward
2006-05-10 22:05 ` Fabrice Bellard
2006-05-11 0:33 ` Paul Brook
2006-05-11 13:04 ` Dan Sandberg
2006-05-11 14:57 ` Jan Marten Simons
2006-05-11 15:48 ` Jim C. Brown
2006-05-11 14:57 ` Oliver Gerlich [this message]
2006-05-11 17:50 ` Anthony Liguori
2006-05-11 21:39 ` Fabrice Bellard
2006-05-12 8:36 ` Dan Sandberg
2006-05-12 13:26 ` Jamie Lokier
2006-05-12 15:36 ` Dan Sandberg
2006-05-12 15:53 ` Jamie Lokier
2006-05-12 16:40 ` Dan Sandberg
2006-05-12 16:54 ` Paul Brook
-- strict thread matches above, loose matches on Subject: below --
2006-05-11 0:14 Ben Taylor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=446350E8.2040300@gmx.de \
--to=olig9@gmx.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).