Created attachment 137424 [details]
apitrace exposing the problem in realtime replay
This i observe on radeonsi with a Volcanic Islands R9 380 TONGA with one specific demo in my toolkit.
What the demo does is it renders between 1 and 5 textured quads on top of each other, each quad with the same texture, but different texture coordinates and "zoom". It uses alpha-blending with GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA to blend the layers together. All in an endless animation that creates an interesting "infinite zoom" effect.
Attached an apitrace of a few seconds of execution of the animation loop.
If the demo doesn't draw about more than 3 such quads per animation frame on top of each other, the animation looks correct. With 5 quads i get some weird dynamic noise in some parts of the displayed content, as if parts of the pixels would somehow overflow and wrap around.
If one steps through the apitrace, looking up state at swapbuffers, each rendered frame looks correct, but if one replays the trace in real-time, the visual artifacts show up, so it doesn't seem to be a rendering problem, but some kind of interaction with DCC?
If i set R600_DEBUG=nodccfb then all artifacts disappear.
Running on older Evergreen hw under r600 instead of radeonsi doesn't cause these artifacts.
The problem was already present in some earlier Mesa version (17.2 as shipping in Ubuntu 17.10), and is present in master.
Another way to reproduce is running the demo on a Debian/Ubuntu system via:
1. apt install octave-psychtoolbox-3
2. octave --eval ShepardZoomDemo
Source code of the demo under:
This appears to have been fixed at some point. Running on Mesa from git I no longer see the artifacts.
Marking as fixed. Feel free to reopen if you still have issues with a current version of Mesa.
*** Bug 102885 has been marked as a duplicate of this bug. ***