So far embedded systems are typically using SoCs with GPU supporting OpenGL ES, a subset of the full fledge OpenGL API used in desktop computers and workstations. These royalty-free standards are defined by Khronos Group non-profit organization, and as features in the embedded space and traditional computers merge, the group has now revealed the next-generation OpenGL specs will be called Vulkan. The new API will run on GPUs supporting OpenGL ES 3.1 or greater, take less CPU resources than its predecessors, and support multiple command buffers that can be created in parallel.
More work will be required at the application level, but direct GPU control by the drivers will apparently result in less memory copies improving performance, or at least off-loading the CPU. It might be transparent to developers using game engines. GPU drivers will also be less complex.
Vulkan will also use the new SPIR-V language shared with OpenCL 2.1 for graphics and compute. A (possibly open source) GLSL shader source to SPIR-V translator / compiler will be provided for legacy code.
You’ll find more technical details, and some information about tools on Khronos Vulkan page.
I understand that Vulkan is still work-in-progress, but Imagination Technologies has already written alpha Vulkan compatible drivers for their PowerVR GPU, and run their Library demo on Android 5.0, so progress appears to be good, but it looks like more work has to be done to improve performance.
|Support CNX Software - Donate via PayPal or become a Patron on Patreon|