mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 04:26:38 +00:00
... which does not require virglrenderer (or any renderer). This will allow the Cuttlefish team to use minigbm as its gralloc implementation when both hardware acceleration is available and unavailable. Adds a GPU `Backend` trait with all of the existing methods of the current backend and converts the existing `Backend` into `Virtio3DBackend` which implements the new trait. Adds a `Virtio2DBackend` which creates resources with byte vectors on the host and implements transfers via the old code from gpu_buffer/src/lib.rs. Adds a runtime flag to select between 2D and 3D mode with 3D mode as the default. Moves the process_resource_bridge() function to the `Frontend` and instead expose a export_resource() function on the `Backend` to avoid some code duplication. BUG=b:123764798 TEST=build + launch cuttlefish w/ 2D mode (minigbm + custom hwcomposer) TEST=built + launch cuttlefish w/ 2D mode (minigbm + drm_hwcomposer) TEST=built + launch cuttlefish w/ 3D mode (minigbm + drm_hwcomposer) Change-Id: Ie5b7a6f80f7e0da72a910644ba42d2f34b246be8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1993913 Commit-Queue: Jason Macnak <natsu@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com> |
||
---|---|---|
.. | ||
examples | ||
protocol | ||
src | ||
build.rs | ||
Cargo.toml |