qemu-devel
[Top][All Lists]
Advanced

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

RE: [PATCH 00/11] Add support for Blob resources feature


From: Kasireddy, Vivek
Subject: RE: [PATCH 00/11] Add support for Blob resources feature
Date: Wed, 14 Apr 2021 21:26:15 +0000

Hi Gerd,

> 
> > Any other ideas as to how to eliminate that Blit cleanly?
> 
> Well, "cleanly" pretty much implies "supported by toolkit".
[Kasireddy, Vivek] I was kind of hoping you'd not draw that implication :)
> 
> gtk glarea for example sets up a framebuffer and expects the application 
> render to that
> framebuffer.  So qemu glarea code does a fb-to-fb blit.
[Kasireddy, Vivek] Right, that is how it works today but we'd like to not have 
that
blit and instead submit the Qemu application buffer (i.e Guest FB) directly to 
the
compositor  -- so that it can be placed on a hardware plane should the 
compositor
decide to do so. Only then it'd be absolute zero-copy but the compositor may 
decide
to composite it which would mean another blit that we cannot avoid. 

I am trying to make a concerted effort to accomplish this using GTK/GLArea:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3410

But I get a feeling that it is inadequate as GTK/GLArea does not manage the 
wl_buffers
submitted to the compositor -- EGL does. I suspect we either need to use a new 
GTK
mechanism -- that perhaps does not exist yet -- or not use GTK at all for this.

I do understand that adding a new purely Wayland backend would make it 
redundant given
that GTK, SDL, Spice, etc already support Wayland; however, I do not see any 
good options
available for eliminating that blit.

Thanks,
Vivek

> 
> Other reasons are scaling and cursor rendering.  Not all reasons apply to all 
> UIs.  I think
> when using spice qemu doesn't blit (not fully sure what happens inside 
> spice-server), but it
> could very well be that the spice-client does the blit instead, i.e. we just 
> shift the issue to
> another place ...
> 
> take care,
>   Gerd




reply via email to

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