glupload: Dirty cache line with UVC camera.
@ndufresne , I met UVC camera has dirty cache line issue. I run below command line:
gst-launch-1.0 v4l2src device=/dev/video2 ! queue ! glimagesink sync=false -v
UVC camera driver use queue->queue.mem_ops = &vb2_vmalloc_memops; But I don't see ret = dmabuf->ops->end_cpu_access(dmabuf, direction) implement in vb2_vmalloc_memops. So we haven't chance to flush cache.
v4l2src will output dmabuf. glupload will upload to GPU. if I remove _set_cached_eglimage (mems[i], dmabuf->eglimage[i], cache_id); , it works fine.
It doesn't help if I add if (ioctl (fd, DMA_BUF_IOCTL_SYNC, &sync) < 0) for every frame in gstglupload.c.
Do you have any suggestion? Where should do cache flush? I think GPU driver should do cache flush before GPU access the buffer.