Re: Does gbm_bo_map() implicitly synchronise?

Christian König <[email protected]>
Newsgroups gmane.comp.video.mesa3d.devel
Message-ID <[email protected]>
Am 17.06.24 um 16:50 schrieb Michel Dänzer:
> On 2024-06-17 12:29, Pierre Ossman wrote:
>> Just to avoid any uncertainty, are both of these things done implicitly by gbm_bo_map()/gbm_bo_unmap()?
>>
>> I did test adding those steps just in case, but unfortunately did not see an improvement. My order was:
>>
>> 1. gbm_bo_import(GBM_BO_USE_RENDERING)
>> 2. gbm_bo_get_fd()
>> 3. Wait for client to request displaying the buffer
>> 4. gbm_bo_map(GBM_BO_TRANSFER_READ)
>> 5. select(fd+1, &fds, NULL, NULL, NULL)
> *If* select() is needed, it needs to be before gbm_bo_map(), because the latter may perform a blit from the real BO to a staging one for CPU access.

But don't you then need to wait for the blit to finish?

Regards,
Christian.

>
>
>> 6. ioctl(DMA_BUF_IOCTL_SYNC, &{ .flags = DMA_BUF_SYNC_START | DMA_BUF_SYNC_READ })
> gbm_bo_map() should do this internally if needed.
>
>
>> 7. pixman_blt()
>> 8. gbm_bo_unmap()
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.