The State of Compute Shaders For Gallium3D Drivers
Since last month Intel has offered compute shader support via their open-source Linux graphics driver. The ARB_compute_shader support is needed for OpenGL 4.3 but so far Intel is the only Mesa/Gallium3D driver having support for this important extension.
The matter of compute shaders for other Gallium3D drivers like Radeon and Nouveau were brought up this week in this forum thread.
AMD's John Bridgman commented about the support, "If you look at GL 4.3 you'll see that compute shaders are one of a handful of remaining features that need to be supported in order to claim GL 4.3 support. In addition I believe there is at least one recently released Linux game which requires them (I think there are two but not sure) so it will help there as well. Support for compute shaders was recently added to the Intel driver (you can see the 2015-12-10 date stamps), and IIRC other folks have been working on the radeon/nouveau drivers... generally once the first driver has a feature working the other drivers pick it up fairly quickly afterwards."
Additionally, AMD's Alex Deucher provided a bit more as to the current state, "The shader compiler and [hardware] setup is already implemented for clover [the OpenCL Gallium3D state tracker]. It just needs to be plumbed up to the GL compute extensions. That said, it's not particularly useful until shader buffer and image support is implemented. Most of that has to be done in gallium and can be shared between gallium drivers."
On the Nouveau side, there's this active GitHub branch where ARB_compute_shader support is being worked on for the Nouveau NVC0 driver. That Nouveau compute effort is being led by prolific contributor Ilia Mirkin. Correction: Most of the Nouveau compute shader work is being done by Samuel Pitoiset and there is more of his work on this OpenGL extension via this Git repository.
If you are unfamiliar with compute shaders, you can learn all the fun details via the OpenGL.org Wiki.
The matter of compute shaders for other Gallium3D drivers like Radeon and Nouveau were brought up this week in this forum thread.
AMD's John Bridgman commented about the support, "If you look at GL 4.3 you'll see that compute shaders are one of a handful of remaining features that need to be supported in order to claim GL 4.3 support. In addition I believe there is at least one recently released Linux game which requires them (I think there are two but not sure) so it will help there as well. Support for compute shaders was recently added to the Intel driver (you can see the 2015-12-10 date stamps), and IIRC other folks have been working on the radeon/nouveau drivers... generally once the first driver has a feature working the other drivers pick it up fairly quickly afterwards."
Additionally, AMD's Alex Deucher provided a bit more as to the current state, "The shader compiler and [hardware] setup is already implemented for clover [the OpenCL Gallium3D state tracker]. It just needs to be plumbed up to the GL compute extensions. That said, it's not particularly useful until shader buffer and image support is implemented. Most of that has to be done in gallium and can be shared between gallium drivers."
On the Nouveau side, there's this active GitHub branch where ARB_compute_shader support is being worked on for the Nouveau NVC0 driver. That Nouveau compute effort is being led by prolific contributor Ilia Mirkin. Correction: Most of the Nouveau compute shader work is being done by Samuel Pitoiset and there is more of his work on this OpenGL extension via this Git repository.
If you are unfamiliar with compute shaders, you can learn all the fun details via the OpenGL.org Wiki.
10 Comments