Google Working On WebGL / OpenGL ES Over Vulkan
Google engineers are working on support for running OpenGL ES / WebGL over Vulkan drivers.
Google's long-standing ANGLE project (short for the "Almost Native Graphics Layer Engine") has worked on supporting WebGL / OpenGL ES over desktop OpenGL drivers as well as Direct3D 9 and Direct3D 11 on Windows. ANGLE translates OpenGL ES API calls into other hardware-supported APIs, namely for helping Windows users that may not have native OpenGL ES hardware driver support. ANGLE works on Linux and macOS too.
While there are already the OpenGL and D3D 9/11 back-ends for ANGLE, a Vulkan back-end is in development. Like the concept for the other back-ends, this is about translating OpenGL ES / WebGL calls into Vulkan for running atop Vulkan drivers. The code is still in its very early stages.
Seeing Vulkan dependencies for Chromium this week led me into the exploration. Sure enough, from the ANGLE GitHub is confirmation of the work on a Vulkan back-end. Currently their Vulkan code is Windows focused but they have planned support too for Linux, Chrome OS, and Android.
In the past few days have indeed been a number of Vulkan-related commits to ANGLE, but the code is in its early stages. Should be interesting to see where this goes in 2017. It won't be too useful for Linux users fundamentally since there is already widespread OpenGL ES support, but could be fun for comparing to see the overhead and performance difference between using OpenGL ES drivers and piping it through Vulkan. Or if anyone picks up this code and tries to take it to implementing desktop OpenGL over Vulkan, but alas now that there's OpenGL 4.5 in core Mesa, that isn't as useful as say layering D3D11/D3D12 over Vulkan.
Google's long-standing ANGLE project (short for the "Almost Native Graphics Layer Engine") has worked on supporting WebGL / OpenGL ES over desktop OpenGL drivers as well as Direct3D 9 and Direct3D 11 on Windows. ANGLE translates OpenGL ES API calls into other hardware-supported APIs, namely for helping Windows users that may not have native OpenGL ES hardware driver support. ANGLE works on Linux and macOS too.
While there are already the OpenGL and D3D 9/11 back-ends for ANGLE, a Vulkan back-end is in development. Like the concept for the other back-ends, this is about translating OpenGL ES / WebGL calls into Vulkan for running atop Vulkan drivers. The code is still in its very early stages.
Seeing Vulkan dependencies for Chromium this week led me into the exploration. Sure enough, from the ANGLE GitHub is confirmation of the work on a Vulkan back-end. Currently their Vulkan code is Windows focused but they have planned support too for Linux, Chrome OS, and Android.
In the past few days have indeed been a number of Vulkan-related commits to ANGLE, but the code is in its early stages. Should be interesting to see where this goes in 2017. It won't be too useful for Linux users fundamentally since there is already widespread OpenGL ES support, but could be fun for comparing to see the overhead and performance difference between using OpenGL ES drivers and piping it through Vulkan. Or if anyone picks up this code and tries to take it to implementing desktop OpenGL over Vulkan, but alas now that there's OpenGL 4.5 in core Mesa, that isn't as useful as say layering D3D11/D3D12 over Vulkan.
3 Comments