Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Pierre Ossman
On 15/06/2024 13:35, Marek Olšák wrote: It's probably driver-specific. Some drivers might need glFlush before you use gbm_bo_map because gbm might only wait for work that has been flushed. That would be needed on the "writing" side, right? So if I'm seeing issues when mapping for reading, the

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
Am 17.06.24 um 09:32 schrieb Pierre Ossman: On 15/06/2024 13:35, Marek Olšák wrote: It's probably driver-specific. Some drivers might need glFlush before you use gbm_bo_map because gbm might only wait for work that has been flushed. That would be needed on the "writing" side, right? So if I'm

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Pierre Ossman
On 17/06/2024 10:13, Christian König wrote: Let me try to clarify a couple of things: The DMA_BUF_IOCTL_SYNC function is to flush and invalidate caches so that the GPU can see values written by the CPU and the CPU can see values written by the GPU. But that IOCTL does *not* wait for any async

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
Am 17.06.24 um 12:29 schrieb Pierre Ossman: On 17/06/2024 10:13, Christian König wrote: Let me try to clarify a couple of things: The DMA_BUF_IOCTL_SYNC function is to flush and invalidate caches so that the GPU can see values written by the CPU and the CPU can see values written by the GPU.

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
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:

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread 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_R

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
Am 17.06.24 um 16:55 schrieb Michel Dänzer: On 2024-06-17 16:52, Christian König wrote: 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 add

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Michel Dänzer
On 2024-06-17 16:52, Christian König wrote: > 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,

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Pierre Ossman
On 17/06/2024 16:50, Michel Dänzer wrote: 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:

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Michel Dänzer
On 2024-06-17 17:27, Pierre Ossman wrote: > On 17/06/2024 16:50, Michel Dänzer wrote: >> 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,

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread 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,

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
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 lib

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Pierre Ossman
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 n

Re: Does gbm_bo_map() implicitly synchronise?

2024-06-17 Thread Christian König
Am 18.06.24 um 07:01 schrieb Pierre Ossman: 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