Excellent questions in your launch interview with Geoff Ballew, Dave. What I though was most interesting from that was that the shaders support three different data types natively:
This seems very different from the way ATI chose to do things, where everything in their shader runs at 96 bit floating point.
So how fast can the NV30 execute 32-bit shaders? Can it dispatch four (or more) instructions per cycle? This would seem to make shaders that are scores or hundreds of instructions long much more practical. At the same time, it wouldn't seem that necessary on older apps using the shorter DX8 shaders. Can anyone clarify?
Geoff Ballew said:We have native support for 32-bit integer, which is how we get the performance on the older apps. If we were to run them as FP16 then they wouldn't run as fast. So we have dedicated hardware with native support for 32-bit per pixel integer, 64-bit per pixel floating and 128-bit per pixel floating.
This seems very different from the way ATI chose to do things, where everything in their shader runs at 96 bit floating point.
So how fast can the NV30 execute 32-bit shaders? Can it dispatch four (or more) instructions per cycle? This would seem to make shaders that are scores or hundreds of instructions long much more practical. At the same time, it wouldn't seem that necessary on older apps using the shorter DX8 shaders. Can anyone clarify?