Vulkan, the next OpenGL
A few days ago the Khronos Group released some documents regarding the intentions in the design of the graphics library of the future. OpenGL is obsolete in many ways, and even if the revered graphics library is known to yield better performance than the Microsoft specific counterpart, there is not much performance to be milked out of it anymore.
So I really liked to see the improvement plans for the next generation OpenGL, which will be called Vulkan for some reason. The current specifications, or intention drafts, as I would like to call them, were presented at the GDC (Game Developers Conference).
I think that their ideas are bold. I’m not sure if they are doable, but it’s obvious that it’s worth the try, and with an effort from IHVs and ISVs as well it will be possible. Also, I like seeing the SPIR-V pushed forward, which means, pretty much, the move from GLSL compilers in graphic cards (text translated to internal commands) to implementing interpreters for an intermediate language, which will be definitely faster than simply sending text to the graphics card. It’s an idea quite close to what I was saying regarding the HTTP/2 protocol: making things binary and aiming to squeeze the last ounce of performance out of your hardware. Another important thing and (finally, I’d say) adapted to the needs of current day hardware development, is the support for multithreading, even if the submission line will continue to remain serial.
So I salute the new Vulkan API and the commitment of the Khronos Group to the open-source community and to openness in general. I could make that Live Long and Prosper thing, but I won’t. Instead, I’ll leave you to delight in the comparison I liked the most in their letter of intent: