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