Vulkan VirGL Ends The Summer Being Able To Execute A Compute Shader
One of the most interesting projects we've seen attempted for Google Summer of Code 2018 was adding Vulkan support to VirGL for allowing Vulkan access within guest virtual machines.
The VirGL stack has been getting into great shape with its OpenGL 4 support while up until this summer there wasn't much effort on getting the Vulkan graphics/compute API handled by this stack that leverages Mesa, VirtIO-GPU, and the "virglrenderer" component to make all of this magic happen.
Student developer Nathan Gauër took up the effort to start on the Vulkan support in VirGL this summer. He was successful in getting the effort going, but it's not yet in a state for end-users. Vulkan VirGL with currently branched code is capable of running a sample Vulkan compute application, reading/writing data to/from the server, and executing a basic compute shader. This is done with his forks of the virglrenderer, Mesa, and a Vulkan test application. There are pull requests pending for some of the Virglrenderer bits but not yet merged.
So far just the basics needed for compute shaders are supported by this stack and not the entire Vulkan API, including the graphics portions. Those interested in the basic work achieved can find the details via this Gist on GitHub.
The VirGL stack has been getting into great shape with its OpenGL 4 support while up until this summer there wasn't much effort on getting the Vulkan graphics/compute API handled by this stack that leverages Mesa, VirtIO-GPU, and the "virglrenderer" component to make all of this magic happen.
Student developer Nathan Gauër took up the effort to start on the Vulkan support in VirGL this summer. He was successful in getting the effort going, but it's not yet in a state for end-users. Vulkan VirGL with currently branched code is capable of running a sample Vulkan compute application, reading/writing data to/from the server, and executing a basic compute shader. This is done with his forks of the virglrenderer, Mesa, and a Vulkan test application. There are pull requests pending for some of the Virglrenderer bits but not yet merged.
So far just the basics needed for compute shaders are supported by this stack and not the entire Vulkan API, including the graphics portions. Those interested in the basic work achieved can find the details via this Gist on GitHub.
3 Comments