[virglrenderer-devel] Guest chosen host context types

Jakob Bornecrantz jakob at collabora.com
Fri Jul 6 16:03:20 UTC 2018

Hello Dave et al,

So currently we have a couple of bugs and a fairly big pile of code 
related to various texture formats that are not supported by the core GL 
context but is needed to support GLES and compatibility GL. For instance 
alpha and luminescence.

So my thought was that he guest could mark a context as a GLES context 
and the host would then create GLES context on the host and have those 
formats supported without any workarounds.

Now I'm guessing there are several things that will go wrong with trying 
to mix GLES and D-GL (Desktop GL) in virgl. Sharing textures will need 
to be worked around. Format table and some have_foo needs to be 
per-context. Caps will probably be made per context type. And a whole 
bunch of other things might explode.

That said a lot of these things will probably have to be solved if we 
ever want to do vulkan virgl. So maybe we can do a bunch of ground work 
and experiment with GLES vs D-GL without having to deal with Vulkan on 
top of all that.

Initially just opening a Vulkan Device, allocating all resources from it 
and importing them into D-GL and GLES would enable sharing between the 
different profiles at least. And be something we could build Vulkan 
support on top of.

Thoughts and comments, please?

Cheers, Jakob.

More information about the virglrenderer-devel mailing list