[Mesa-dev] gallium + r600 hardware atomic counter support

Dave Airlie airlied at gmail.com
Thu Nov 2 05:42:40 UTC 2017


Until now we only implement ARB_shader_atomic_counters using SSBO
atomics, however this extension was originally designed for exposing
hardware that was faster than ssbo atomics. Evergreen and Cayman hw
have append/consume hardware intended for this purpose.

This series adds support to glsl to add a unique hw counter index
to all atomic counters at link time, since these resources need to
be allocated across all shaders, and the unique values are required at
compile time.

I've experimented with a number of ways of adding these, and they all
had ups and downs, this is where I ended up.

There is no compute shader support in this yet as r600 doesn't have
compute shaders yet.

I'm also not sure if this will work for the radeonsi GDS atomics
if AMD decide to use them but it should be closer to what they want,
I think some of the limits might be a bit low.

Dave.



More information about the mesa-dev mailing list