Add a new backend to enable using native driver in a VM guest, via a new virtgpu context type which (indirectly) makes host kernel interface available in guest and handles the details of mapping buffers to guest, etc. Note that fence-fd's are currently a bit awkward, in that they get signaled by the guest kernel driver (drm/virtio) once virglrenderer in the host has processed the execbuf, not when host kernel has signaled the submit fence. For passing buffers to the host (virtio-wl) the egl context in virglrenderer is used to create a fence on the host side. But use of out-fence-fd's in guest could have slightly unexpected results. For this reason we limit all submitqueues to default priority (so they cannot be preepmted by host egl context). AFAICT virgl and venus have a similar problem, which will eventually be solveable once we have RESOURCE_CREATE_SYNC. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900>
7.0 KiB
7.0 KiB