How do R300 and NV30 resolve integer arithmetic on fp units?

The R300 seems to be compatible with all of today's integer pixel calculations, although it has full floating point hardware. How is this possible, through emulation? I'm guessing it could be done without the need for a separate integer pipeline, can it?
 
As long as your floating point format has more mantissa bits than the older integer computation, you won't need to emulate it. Of course, since older integer computation has smaller limits (-8 to +8, for example), you'll need a saturation control to simulate these limits.
 
That's a good question on the R-300...

As for the NV30:

http://www.beyond3d.com/previews/nvidia/nv30launch/index.php?p=2

B3D: I assume that anything available currently using the the 32-bit format will be run in FP16 mode?

nVidia: Actually, no. 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.
 
I imagine that that statement was a little...off...in this context.

It seems natural that the 8888 format would just use the FP16 hardware, though it obviously wouldn't read/write at full 16-bit precision.
 
Back
Top