WIP: Resource create v2 sketch

I think we should start on the userspace for this.  The kernel side bug is being tracked here:

#119 (closed)

I added some Android guest userspace patches[1] based on my best recollection of the UAPI[2]. For the HOST_COHERENT_MEMORY type, the VMM injects the memory into the appropriate place in the PCI bar[3]. I imagine ARB_buffer_storage, Vulkan, SHARED_GUEST support will be added later. WDYT?

I want to collate all of our use cases in this development branch. One tricky aspect is virglrenderer/virv_renderer interop. When the RESOURCE_CREATE_V2 hypercall (or any other hyper-call) is sent, where should it go?  libvirglrenderer or libvirv_renderer? If we want to move to Vulkan only eventually, what's our transition strategy? I don't have solutions for this, just putting it out there. 

CC: @gerddie @airlied @olv @kraxel @dmorozov  

[1] crrev.com/c/1804914

[2] https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1629910/7/include/uapi/drm/virtgpu_drm.h

[3] https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1591463/14/devices/src/virtio/gpu/backend.rs#855

Edited by Gert Wollny

Merge request reports