RWStructuredBuffer.IncrementCounter weirdness in pixel-shader
I'm experiencing occasionally incorrect values returned by IncrementCounter on a RWStructuredBuffer-object (seems to be the correct-value plus a small offset, usually in the range 1-8). This only happens when IncrementCounter is invoked in a pixel-shader on AMD hardware (Radeon 7850, works on GeForce GTX 660). If I replace the internal counter of the RWStructuredBuffer with an application-defined counter, that is incremented with InterlockedAdd, the pixel-shader works as expected. Is this a possible driver bug or are there any special considerations I need to account for when accessing a RWStructuredBuffer from a pixel-shader?