Does gbm_bo_map() implicitly synchronise?

Pierre Ossman ossman at cendio.se
Tue Jun 18 05:01:15 UTC 2024


On 17/06/2024 20:18, Christian König wrote:
> Am 17.06.24 um 19:18 schrieb Pierre Ossman:
>> 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.
>>>
>>
>> It does not (except the driver libgbm loads). We're trying to use this 
>> in Xvnc, so it's all CPU. 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. :)
> 
> That whole approach won't work.
> 
> When you don't have a HW driver loaded or at least tell the client that 
> it should render into a linear buffer somehow then the data in the 
> buffer will be tilled in a hw specific format.
> 
> As far as I know you can't read that vendor agnostic with the CPU, you 
> need the hw driver for that.
> 

I'm confused. What's the goal of the GBM abstraction and specifically 
gbm_bo_map() if it's not a hardware-agnostic way of accessing buffers?

In practice, we are getting linear buffers. At least on Intel and AMD 
GPUs. Nvidia are being a bit difficult getting GBM working, so we 
haven't tested that yet.

I see there is the GBM_BO_USE_LINEAR flag. We have not used it yet, as 
we haven't seen a need for it. What is the effect of that? Would it 
guarantee what we are just lucky to see at the moment?

Regards
-- 
Pierre Ossman           Software Development
Cendio AB		http://cendio.com
Teknikringen 8		http://twitter.com/ThinLinc
583 30 Linköping	http://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?



More information about the mesa-dev mailing list