libweston: Composition bypass of dmabuf buffer
This series adds a (at the time of speaking a not-really-available)
NO_GPU_IMPORT dmabuf flag to avoid importing the dmabuf into the GL-renderer. The flag will most likely suffer a name change to better reflect its purpose (like a no CPU/GPU interaction/touch over the buffer).
The series does the following
- perform a KMS import test if
NO_GPU_IMPORTflag is passed. If that fails we reject creation of a
- do not call into the renderer to create a EGL image if
- there is no GPU import/attach of the dmabuf when that flag is passed
- if there's no import the attach part will need to avoid touching any EGL
- in case the view will not reach one of the HW planes available (from various reason like damage tracking) we display a solid shader color
For linux-dmabuf protocol modifications are in one of my forks: marius.vlad0/wayland-protocols!3 (closed)
unstable/linux-dmabufflag in favor of a private weston extension. Assumes that
struct zwp_linux_buffer_params_v1has been created and it is being used in the
enablerequest. Protocol is very simple, with a simple request.
- identical to version 2: refuse to create a
enablerequest was sent and KMS import failed, placeholder is in-place in case the view assignment or damage tracking interferes with it.
- adds the client part of the protocol into
dmabuf-drm. Will adapt
dmabuf-v4lonce this get merged.
- posted protocol update on ML: https://lists.freedesktop.org/archives/wayland-devel/2019-November/040993.html
- addressing comments.
PS: squash is not activated!