Oddity with Cg.

BoardBonobo

My hat is white(ish)!
Veteran
When I'm running the nVidia Cg browser v4.0 on a R8500 at work, the Bump Dot3 Diffuse Specular and Bump Dot3x2 Diffuse Specular effects both run much faster than they do on my Ti4400@home. Anybody got a clue as to why? Are these effects processor dependant?
 
I just fired those up, and it seems like they are running MUCH slower than they did previously under the 30.82 drivers. If you're using the new beta 40.41 driver set, you've probably just found a driver issue.

Edit: I just checked using NVEmulate, and it appears that both of those tests always use NV30 emulation, with the 40.41 driver set.
 
I kind of figured that something like that was going on. But even without the NV30 emulator engaged they still run like a one legged mule. Are the drivers defaulting to NV30 emulation? I've had a good poke around in the 40.41s now and have found some interesting references to bits and bobs including the NV30 ref code.
 
Well, it definitely looks like those two examples are defaulting to NV30 emulation. There is no apparent difference from enabling/disabling NV30 emulation (While there's a huge diff on other shaders....).

Interestingly, those shaders seem to run faster with emulation enabled than other shaders run with it enabled...
 
Ah, I think I got it. Notice the version numbers next to each shader? That's the required pixel shader version for running that shader properly in hardware.

In particular, I believe that the reason those won't run on pre-DX9 hardware is the self-shadowing bump maps.

Regardless, it should be pretty easy to pick out all of 'em that use software emulation, as it appears that the resolution is effectively decreased for those images (they look a heck of a lot more blocky).

Also, the self-shadowing bumps look quite different when run in hardware on previous drivers.

Now I just have to wonder...how was the fallback mode working with previous drivers?
 
But if the 2.0 means that they require PS\VS2.0 then that still doesn't explain why they fly like the wind on a R8500 and crawl like a snail on my Ti4400, with or without NV30 emulation on.

It's a definate oddity.
 
Well, it just means that NV30 emulation is always on when those shaders are executed, when it is available. On the Radeon 8500, NV30 emulation is quite obviously not available.

Try some older drivers and you'll see those shaders rendered in hardware on the GeForce4. However, if you look closely, you should be able to see differences, particularly in how the bump maps are rendered (aside from the higher resolution of the rendering).
 
Back
Top