LVC21F-218 De-mystifying GFX-virtualization with VirGL
Date: Thursday September 9th
VirGL is a software-based approach to GFX virtualization that comes in two main pieces of software, on the host side virglrenderer, that interfaces with the host OpenGL and/or Vulkan driver, and in the guest Mesa3D provides either OpenGL (via virgl), or Vulkan (via Venus). VirGL offers an OpenGL virtualization that works on all host system that provide a working OpenGL driver. For example, the guest supports up to OpenGL 4.5 and up to OpenGL ES 3.2 if the host supports the according feature set. Similarly, Venus provides the Vulkan implementation based on the features the host Vulkan driver offers. Here, we will take a deep dive into how virglrenderer handles virtualization. discuss advantages and drawbacks of this purely software-based approach, and point out the similarities and differences between the OpenGL and Vulkan virtualizations. Looking ahead, we will also discuss how Zink, a Mesa3D driver providing OpenGL via Vulkan, could possibly help to improve the performance of the OpenGL virtualization by making use of Venus.
LVC21F-308 Universal opensource gralloc for Android. Concepts from the GloDroid team.
Date: Thursday September 10th
Level: Intermediate Introduction. Graphic buffer layout. How can simple memory allocation become a complex task? Some ideas and sketches turning minigbm into general-purpose gralloc based on dma-heaps API. Mapper v4 metadata API or new degree of freedom for vendors provided by Google. Can proprietary and opensource GLES/Vulkan blobs use single gralloc implementation?