AVDVirglRenderer: Host-side 3D for cuttlefish
Initial implementation of libvirglrenderer for the cuttlefish AVD.
This replaces the host renderer part of the Virgil3D project. Control
messages are replaced with the goldfish-opengl protocol. QEMU needs to
be built with support for libvirglrenderer, then this library can either
replace the system copy of libvirglrenderer, or be LD_PRELOADed.
Code from the goldfish emulator has been extensively reused. The
protocol decoders are identical to those used by the external/qemu
emu-master-dev project. Additionally, the OpenGLESDispatch library
was taken and repurposed to allow an alternative EGL/GLES implementation
to be loaded and utilized by AVDVirglRenderer.
- OpenGL ES 1.1 and OpenGL ES 3.1 are supported.
- OpenGL ES 3.2 support is not planned.
- Vulkan support is not planned.
69 files changed