While Vulkan has been getting a lot of mindshare recently, OpenGL is still in active development. This release, OpenGL 4.6, adds a bunch of extensions into the core specification, making them more reliably available to engines. There’s a lot of them this time, many of which seem to borrow design elements from the work done on Vulkan.
The headlining feature is SPIR-V support as an ARB extension, which frees OpenGL programs from having their shaders written in GLSL. Many engines write their shaders in HLSL and use a transpiler to generate the corresponding GLSL, which may not support all features. The extension might also help titles target both OpenGL and Vulkan, although I’m not sure why we would see a driver that supports OpenGL 4.6 but not Vulkan.
Another extension is GL_KHR_no_error, which tells graphics drivers that they do not need to generate errors at runtime. This will save a bit of driver overhead. GL_ARB_indirect_parameters also helps with CPU overhead by allowing draws to pass parameters to other GPU-initiated draws, although this is a bit out of my domain. Also, if you’re not working in SPIR-V, GL_KHR_parallel_shader_compile will allow the driver to compile your GLSL shaders across multiple worker threads.
NVIDIA has a beta driver for developers, which is a couple of versions back compared to their consumer version, so you don’t want to install it unless you intend on developing OpenGL 4.6 applications. Mesa says that they shouldn’t be too far behind.
“although I’m not sure why we
“although I’m not sure why we would see a driver that supports OpenGL 4.6 but not Vulkan.”
I guess this Gives any OpenGL 4.6 user access to the GPU’s compute resuorces as SPIR-V is also what OpenCL generates. Also most GPU Driver packages will probably include the Vulkan drivers along with the OpenGL drivers. Nvidia is supposed be doing somthing towards using Vulkan from openGL(1).
Hey Scott, have you looked into this Khronos project (2)?
(1)
“Transitioning from OpenGL to Vulkan”
https://developer.nvidia.com/transitioning-opengl-vulkan
(2)
“Khronos Announces the Vulkan Portability Initiative”
https://www.khronos.org/blog/khronos-announces-the-vulkan-portability-initiative