Only one dx9 rendertarget on the GFFX?

Neeyik said:
Just noticed something in that DX CAPS shot:

MaxTextureBlendStages 8
MaxSimultaneousTextures 8


Is that right? A GF4 is 8 & 4, but I thought the GFFX was supposed to show higher values than 8 & 8.

Oh and can somebody show the full listing for the DevCaps and DevCaps2?
That's for the fixed function pipeline only. The maximum allowed is 8 there.

With PS2.0, you can have 16 different textures bound with 8 sets of u,v coordinates or you can address those 16 textures however you want in the pixel shader with the 32 address instructions.
 
Availability of 4 128-bit rendertargets can be very useful for multi-pass rendering of long pixel shaders, that don't fit within the single pass resource limits. Depending on the shader, you'll need temporary locations to store your intermediate register values..Since all DX9 pixel math is done in floating point, you need the intermediate buffers to be float too. If you are limited to a single buffer - you may have to do more passes. Again, this depends on the actual shader and what resources this shader is short at.
 
Good point croc_mak.

And Chalnoth, before you argue about NV30 not needing to multipass due to longer shader length, remember that there may be conditions where you need more than 16 textures.

One example is the spherical harmonic lighting. In a paper I've been looking at, they need 25 RGB coefficients for a total of 25 textures, and they need to do a 25x25 matrix multiply for glossy lighting and some other math. It's possible they don't need to store so many intermediate values, but you get the idea.

Sorry if I'm being presumptuous.
 
Back
Top