On Do, 2016-01-21 at 10:05 +0100, Paolo Bonzini wrote: > > On 21/01/2016 09:44, Dave Airlie wrote: > > I've hacked on this before, but only with SDL and it was pretty dirty, > > and it gave a fairly decent > > speed up. > > > > My thoughts are to use dataplane like design to process the queue in a > > separate thread, > > and then have some sort of channel between the UI and virtio-gpu > > thread to handle things like > > screen resize etc. > > > > http://cgit.freedesktop.org/~airlied/qemu/commit/?h=dave3d&id=fe22a0955255afef12b947c4a91efa57e7a7c429 > > is my previous horror patch. > > Instead of having a full-blown thread, are there things (such as the > TGSI->GLSL conversion) that could be simply offloaded to a userspace > thread pool, either in QEMU or in virglrenderer?
I think virglrenderer would have to do that. Unfortunaly opengl isn't very good at multithreading, so I'm not sure a thread pool would work well. Compiling shaders could be a special case where threading actually works because that isn't in the actual rendering workflow. Not fully sure though, Dave? cheers, Gerd