mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
f860f50b8a
In multi-process mode, we currently rely on dma-buf mmap() to map GPU buffers into the guest. We usually have to fix the Mesa driver, and maybe even the kernel to get to work. That's "kind of" fine for ChromeOS, which owns the entire stack. For their Virtual Graphics Interface (VGI) initiative, Android upstream has requested multi-process mode to work in a cross-platform, generic way. Using Vulkan is the only option that meets the rigorous, uncompromising, strict, meticulous and bone-crushing requirements of Android upstream. This has possible two benefits: 1) We can enable multi-process mode on Nvidia or other closed-source drivers, which is nice for Cuttlefish. 2) On open-source drivers, dma-buf memory is pinned to the GTT (amdgpu), even when ideally it can be moved into faster vram regions. This atleast gives the implementation the chance to do the smarter and faster option. We shouldn't run into any SELinux issues since the main crosvm process is not sandboxed. Incidentals: * Changes vulkano_gralloc to consider integrated GPUs and dGPUs. Metadata query is preferred done on the integrated GPU. * Update vulkano_gralloc to match top of tree vulkano. BUG=b:173630595 TEST=used Vulkano allocator and mapped memory into the guest Change-Id: I78b069c7478d11b3201397894dcccd13bdc61f2c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2792042 Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |