Originally posted by StealthHawk
Are these two things actually functionally and mathematically equivalent? Because they do not do the same thing. Although with your explantion they do have the same output. But to my understanding, have the same output DOES NOT make two things functionally or mathematically equivalent.
Here's what ATI said about their instruction shuffling:
1) it produces the same output as Futuremark's original code.
2) it is functionally equivalent to Futuremark's code.
3) it is mathematically equivalent to Futuremark's code.
To me, that implies that they are not skipping any steps.
What you are proposing is that they are putting a spin on the truth. If that is your opinion, then that is your opinion.
OR, are you actually saying that your code examples are both functionally and mathematically equivalent. If you are saying that, then please provide the basis for what definitions of functional equivalence and mathematical equivalence are.
I mean, for example, if you know the output of something is 4 you could caluclate it one of several ways.
1) 2+2 = 4
2) 2^2 = 4
3) cube root(64) = 4
The output of all 3 methods are the same, but I would not consider any of them to be functionally or mathematically equivalent. Maybe I don't know the definition.
i knew you would question it, i was trying to say both programs were identical only in a particular case.
if i could just re-order some of the order-non-critical instructions to gain 8% performance boost that works in every case, i just got a better implementation of the same program, but now ati wouldnt use a better implementation in next driver because people think its a cheat!?! this is where i cant believe it, ati is unbelievable, ati should have used a better implementation and prove it to the public and say it is a better revised PS2 shader.
but removing it only makes me think it only works on GT4 sky and water, yes they are mathematically, functionally and visually identical to futuremark's, but only on GT4 sky and water.