FP32 vs. FP24
FiringSquad: Can you give us maybe a little background on why you guys decided on FP32 versus FP24?
Kirk: I think that’s a very interesting question. If you go back to how DX9 was developed it wasn’t clear as we were doing our development and Microsoft was doing their development and ATI was doing their development what the target precision was going to be for DirectX. If you look at processors FP24 doesn’t exist anywhere else in the world except on ATI processors and I think it’s a temporary thing. Bytes happens in twos and fours and eights -- they happen in powers of two. They don’t happen in threes and it’s just kind of a funny place to be.
FP24 is too much precision for pure color calculations and its not enough precision for geometry, normal vectors or directions or any kind of real arithmetic work like reflections or shadows or anything like that.
I think what ended up happening was during the course of DX9 development and discussions between the various parties the targeted precision changed several times and we took a snapshot when the precision being discussed was 32 and ATI took a snapshot when the precision was 24. In fact DX9 was released without any guidelines as to precision and a clarification was made later and the clarification that was made was very timed to ATI in that it did not make a statement that 24 was not enough.
Certainly one of the choices that Microsoft could have made is that it has to be 32 or nothing. They could have also made the choice that it has to be 16 or nothing. So it’s just kind of unfortunate for the whole industry, people really want to have predictable precision and predictable results and since the precision was under specified there was an opportunity for us and for ATI and for Microsoft to all make different choices and as you look forward you can ask ATI, you can ask Microsoft I think that you won’t see FP24 long term. I think that just like with CPUs you’ll see that 32-bit floating point as being the main calculation mode.
FiringSquad: Do you feel like you guys are at a disadvantage because of the fact that you don’t have a native 24-bit mode?
Kirk: I personally think 24-bit is the wrong answer. I think that through a combination of 16 and 32, we can get better results and higher performance.