qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RfC PATCH 0/3] sdl2: add opengl rendering support


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RfC PATCH 0/3] sdl2: add opengl rendering support
Date: Thu, 11 Dec 2014 14:28:33 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0


On 11/12/2014 12:05, Gerd Hoffmann wrote:
>   Hi,
> 
> This series add support for screen rendering using opengl.  This only
> blits classic DisplaySurfaces to the screen using opengl, it does not
> (yet) enable gfx emulation use opengl for rendering.
> 
> It depends on the "sdl2: fixes, cleanups and opengl preparation"
> series just posted.
> 
> The big question mark (and the reason this is RfC) is how we are going
> to enable/disable opengl at runtime.  The options I see are:
> 
>  (1) make that a ui option, i.e. '-display sdl,opengl={on,off}'.
>  (2) make that a global option, i.e. -opengl={on,off}
> 
> I'd tend to go for (2).
> 
> First, because we have a initialization order issue once gfx emulation
> starts using opengl:  ui code is initialized after device code (and this
> can't be changed easily because devices need register displays before we
> init the ui).  Therefore with (1) the device emulation doesn't know at
> init time time whenever opengl is available or not.

Do you have a case in mind where the device emulation needs to know that?
As opposed to "always need opengl" or "never needs opengl".

If not, the semantics of (1) are easy to describe, though maybe not to
implement:

   device request        backend support     result
     no                    no                  no
     no                    yes                 yes
     no                    unspecified         no or yes, depends on backend
     yes                   no                  error
     yes                   yes                 yes
     yes                   unspecified         error or yes, depends on backend

> Second for the long term there will be 3d support in a number of UIs:
> I expect sdl2, gtk, egl (using render nodes, for headless) and spice.
> Having a global switch for them all looks easier.

But you'd still need to know the UI in order to have a decent default.  For
example should "-display vnc" should disable opengl by default (it's not
in your list above)?  "-display egl" probably should enable it.

Perhaps "-display" could be processed in two steps.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]