Inquire about dumb buffer and pixman renderer with buffer sync issue
Hi all, thanks for your help!!!
The background is I trying to use dumb buffer + pixel-man renderer API to do the full software rendering and display, use (Weston-simple-shm) client , desktop shell and drm-backend(compositor-drm.c).
And I found the buffer will be displayed with no synced issue.(I tried to add dma_sync_sg_for_device in kernel side, this issue can be fixed)
the calling sequence is:
drm_output_init_pixman
->
drm_fb_create_dumb
->
...render buffer ->
...display buffer
- I didn't see any dumb buffer sync operations in weston drm-backend. Did this mean for user(weston), it thinks this buffer will be synced by kernel driver itself?
- I also see some vendors' drm driver have ioctl api for user to do buffer sync logic, but there is no unified solution or the same function interface. like nouveau_gem_ioctl_cpu_fini https://elixir.bootlin.com/linux/v6.12.6/source/drivers/gpu/drm/nouveau/nouveau_drm.c#L1248
- Will weston developer consider adding a new function to call the vendor's sync ioctl to do the dumb buffer sync?
Feel free to point out if there's anything wrong with my expression and I'll update quickly! Thanks again!