Show Your Support: Did you know that you can get Phoronix Premium for under $4 per month? Try it today to view our site ad-free, multi-page articles on a single page, and more while the proceeds allow us to write more Linux hardware reviews. At the very least, please disable your ad-blocker.
Microsoft's Mesa D3D12 Gallium3D Code Adds Support For OpenGL SSBOs
The latest big ticket addition to this Mesa D3D12 code that is just of benefit to Windows is implementing OpenGL Shader Storage Buffer Objects (SSBOs). Shader Storage Buffer Objects are used for storing and retrieving data within GLSL while being more versatile than Uniform Buffer Objects. The functionality is defined by the ARB_shader_storage_buffer_object extension mandated by OpenGL 4.3.
The Mesa D3D12 code right now still only has full support up to OpenGL 3.3 with many extensions left to tackle across all OpenGL 4.x revisions, but at least SSBO now in place is another practical step forward. As part of this enablement changes were made to the DXIL code for working with GL NIR in addition to SPIR-V.
This work is all part of Microsoft's effort for getting OpenGL (and OpenCL) working atop Direct3D 12 for use on Windows when lacking native OpenGL/OpenCL driver support as well as with use under WSL. More details within this merge request that on Monday made it into Mesa 22.0.