I don’t like to complain but this is getting very frustrating.
I’ve discovered a bug on my ATI X850 XT on all Catalyst versions higher than 5.4 (excluded).
It seems to corrupt some registers while doing arithmetic operations done in an ARB_fragment_program shader.
Basically, i have two registers, R1 and R2. When i output them to the screen separately, both at correct. However, as soon as i do an operation between them, like an ADD or a MAD, the result is corrupted: random blocks of pixels appear, which are flickering.
It does not happen on Catalyst 5.4 or less, or on NVidia cards.
Here are two images:
http://www.fl-tw.com/opengl/ati_correct.jpg (correct version)
http://www.fl-tw.com/opengl/ati_bug.jpg (buggued version)
You can download the binary here:
http://www.fl-tw.com/opengl/ati_bug.zip
So, why am i frustrated ? Well, for two reasons:
-
Since it was working before Catalyst 5.4, the logic conclusion is that ATI introduced a bug in their recent drivers. I tested them all until 5.9 and all of them suffer from the problem.
-
I emailed their developper support immediately after i discovered the bug, and have been completely ignored. And i am a registered ATI developer.
I just do not understand. I’ve been working in cooperation with ATI to solve some bugs many times in the past, and i always found them to be responsive and helpful. But since approximately one year, i found that their behavior changed. I already tried to submit a bug report before and was already ignored, although it was a minor one, so it didn’t bother me too much at that time.
But here this is not the case. The bug demonstrated here is in a major area of my code and i cannot release my program without it.
If somebody has an idea or can have a look at the problem (Humus maybe?), i’d be very thankful.
Sorry for the rant.
Y.