ARB_shader_clock & ARB_shader_group_vote For RadeonSI
Nicolai Hähnle has been working on support for some newer OpenGL extensions not currently implemented in the RadeonSI driver.
Coming out today from this AMD developer is RadeonSI support for ARB_shader_clock and ARB_shader_group_vote.
Nicolai referred to ARB_shader_clock as a "pretty trivial extension" but that it could be useful for micro-benchmarks and analyzing shader performance. ARB_shader_clock was added with the OpenGL 2015 update and basically adds a way to get a 64-bit representation of the current execution clock time. The time increases as instructions are executed, but the unit of time is not defined nor needs to be constant.
The other extension tackled by Nicolai today is ARB_shader_group_vote, which is already supported by Nouveau's NVC0 driver. For comparing values across shader invocations and a way of handling branching in OpenGL.
From a quick look at the features.txt, there still are about two dozen OpenGL extensions not found in a current core release up to OpenGL 4.5 that have yet to be implemented by RadeonSI. Some of these extensions are more important than others, but a majority of the useful ones appear implemented.
Coming out today from this AMD developer is RadeonSI support for ARB_shader_clock and ARB_shader_group_vote.
Nicolai referred to ARB_shader_clock as a "pretty trivial extension" but that it could be useful for micro-benchmarks and analyzing shader performance. ARB_shader_clock was added with the OpenGL 2015 update and basically adds a way to get a 64-bit representation of the current execution clock time. The time increases as instructions are executed, but the unit of time is not defined nor needs to be constant.
The other extension tackled by Nicolai today is ARB_shader_group_vote, which is already supported by Nouveau's NVC0 driver. For comparing values across shader invocations and a way of handling branching in OpenGL.
From a quick look at the features.txt, there still are about two dozen OpenGL extensions not found in a current core release up to OpenGL 4.5 that have yet to be implemented by RadeonSI. Some of these extensions are more important than others, but a majority of the useful ones appear implemented.
3 Comments