NVIDIA Lands Another New OpenGL Extension In 2019 Around Multi-GPU/SLI
Back in July I wrote about new OpenGL extensions for multi-GPU rendering that at the time were about exposing explicit controls over multi-cast rendering, the progress fence extension for coordinating operations between multiple GPU command streams, and a WGL-catered extension for creating contexts in a multi-GPU environment.
Merged today into the OpenGL registry is a new Linux/GLX extension for that latter extension. Complementing the WGL_NV_multigpu_context extension from July is now the GLX_NV_multigpu_context extension catering to Linux GLX windowing system users (though at this time no EGL extension for Wayland).
This GLX extension is for creating an OpenGL context in a multi-GPU environment while being able to specify the multi-GPU strategy (SLI mode) at context-creation time to override any global driver settings for handling multi-GPU rendering behavior. These NVIDIA multigpu_context extensions can specify to either use a single GPU, SLI alternate frame rendering (AFR), multi-cast rendering, or multi-display multi-cast rendering as the desired mode for the particular GL context.
Like the recent multi-cast OpenGL extensions and the WGL extension, the GLX extension has now been merged into the OpenGL registry.
It's interesting these additions to OpenGL are coming in 2019 even as most new engines and software is catering to Vulkan (or Direct3D 12). Obviously for existing OpenGL software needs to be adapted to make use of the new extensions. Though with the bits around multi-display multi-cast it's possible the aim here by NVIDIA is more for workstation/professional user use-cases as opposed to trying to better the OpenGL SLI rendering support for gaming at this late stage. A lot of workstation/professional software is still making heavy use of OpenGL with generally slow to move to new standards, but hopefully the Vulkan transition will eventually happen and at least for now OpenGL improvements continue.