Does gbm_bo_map() implicitly synchronise?
Michel Dänzer
michel.daenzer at mailbox.org
Tue Jun 18 07:51:47 UTC 2024
On 2024-06-17 19:18, Pierre Ossman wrote:
> On 17/06/2024 18:09, Michel Dänzer wrote:
>>>
>>> Can I know whether it is needed or not? Or should I be cautious and always do it?
>>
>> Assuming GBM in the X server uses the GPU HW driver, I'd say it shouldn't be needed.
Let me revise that statement: It shouldn't be needed, period. If llvmpipe needs it, it should happen as part of gbm_bo_map. (Not sure this is implemented at this time, I'd argue it's a Mesa bug if not though)
> It does not (except the driver libgbm loads). We're trying to use this in Xvnc, so it's all CPU.
Mesa's GBM backend (built into libgbm) is essentially a frontend for Gallium drivers. It initializes a suitable driver for the DRM fd passed to gbm_create_device. This could be the GPU HW driver, which might explain why the contents from gnome-shell are displayed correctly (eventually).
> We're just trying to make sure the applications can use the full power of the GPU to render their stuff before handing it over to the X server. :)
A note on architecture:
Mutter supports running as a headless Wayland compositor, and supports remote desktop (including remote login as of GNOME 46) via gnome-remote-desktop and RDP. This allows both Wayland and X (via Xwayland) clients to run with full HW acceleration.
--
Earthling Michel Dänzer | https://redhat.com
Libre software enthusiast | Mesa and Xwayland developer
More information about the mesa-dev
mailing list