NVIDIA CineFX Architecture (NV30)

They basically give away some of the Nv30 specs in this article. Or at least confirm a few we we're guessing at. :LOL:
 
So, based on this limited information, any functional difference betwwen nVidia's and ATI's implementation of the DX9 pipeline?
 
Ooooh! Very cool!

Well, the SXX instructions should give you almost the same power as branches would -- you just compute both sides of the branch, and then use the SXX instruction to set the result you want.

(Obviously this is slower, because you have to compute both sides of the branch, but there you go.)

Presumably the big implementation benefit of avoiding branches is that it makes it trivial to schedule instructions.

Overall, cinefx seems like a very cool architecture! I wonder how fast the pixel shaders are?

They say they're fetching pixel shaders from video memory, to make it cheaper to load them. That's interesting. I wonder why they don't do the same thing for vertex shaders?

I also wonder how DDX and DDY work -- I see derivitives used in Renderman shaders, so I guess they're useful.

And what's the RFL instruction do? (Render Fixed Light?)
 
Shatters existing limitations: the number of instructions supported is increased
from 128 to 65,536 through the use of data-dependent branching and more
instructions, registers, and constants.

Provides greater flow control: dynamic loops and branches provide for forward and
backward changes in flow; call and return functions have been introduced, and
vertex processing can also invoke an early exit on program termination.

Introduces new capabilities: per-component condition codes and write masks.
Evolves to an advanced instruction set: new instructions and capabilities including
branching (BRA), high-precision trigonometric functions (COS, SIN), and high-precision
exponentiation and logarithm functions (EX2, LG2, and others).
 
DirectX8 already included SLT, SGE were already available in DX8 VS, and you can do the similar ops in pixel shaders via CND/CMP. The new instructions just round out the useful list of boolean conditions.

The real new condition construct is BRA which I assume can branch not only based on a constant register (static branching) but also via any register/conditional variable.


I wonder if CALL/RET maintains a real stack, or if the call depth is fixed at 1 nested procedure call as it is in the DX9 beta I saw.
 
BTW, this presentation says almost nothing about the NV30 architecture, it just lists marketitecture features. We don't know if it has 256-bit bus, or is a tiler, or supports new kinds of AA/AF, etc.
 
Great pickup. Dated 7/21/2002. Scotches the 16bit fp info. I wondered when we'd see some leaked info - but this is official...& I thought CineFX was Nvidia's version of FullStream...
 
Wow, any thoughts of not waiting for the NV30 just totally vanished.

NV30 is going to kick ass!!!!

heh, I don't think they are playing catch up at all. ATI is first to market with a Dx9 part but, first isn't always best.

:)
 
NV30 is going to kick ass!!!!

While the NV3x product(s) look extremely promising, we don't know if their first product will implement all of the features suggested, let alone what it's architecture is. The first incarnation may not be a 400MHz, 256bit databus, 8 pipeline part. I hope it is...
 
Yeah, I saw that, in the siggraph presentation

http://developer.nvidia.com/view.asp?IO=IO_20020721_4874



I suppose that the per-primitive processor is a myth since neither of the siggraph presentations mention it. You would think that such a substantial feature would make it into the CineFX presentation. Then again, they mention displacement mapping and HOS as a side checkbox and don't go into detail. Perhaps it will be a separate presentation.
 
So my question would be - if Nvidia has exceeded DX9 specs. for their next part, why would deveopers use the extra features? ATI suffered from the same issue with PS1.4 in that no one used it, so why won't NVidia suffer the same fate?

Would it be safe to say that Cg was developed to aid developers in using these features without too much extra work? Sort of making the features too easy to impliment to resist?
 
Both ATI and NVidia go beyond the DX9 specs, and they both have tools to address the compatibility problems: Cg and RenderMonkey. I think their primary market for the extended capabilities is the workstation/DCC market. People who want to visualize 3D Studio/Maya/etc scenes in realtime.

In that regard, ATI and NVidia will produce plugins or get Kinetix/etc to produce plugins to generate the neccessary code.

As for games supporting the new features, only Carmack and Sweeney will probably do the extra code paths for the NV30 and R300 since it is interesting research for them. Everyone else will stick to DX8. (yes, 8, not 9) No one is going to support DX9 features until DX8 makes it into the value market.

Most people are still DX5/DX7 at this point.
 
Thanks for the link, MrSingh!

This is interesting indeed. We can now see why Cg will be so important for nVidia to drive support for the NV3x-architecture. But while nVidia can expose all of the +functions in OpenGL with their GL-extentions the question remain how the extras is going to be exposed with DX9.0? Maybe the rumors about a DX9.1 isn't wrong after all. nVidia and Microsoft did work together to form the Cg in accordance to Microsoft's HLSL. Hmm.....

These are happy times as the Radeon 9700 is already a superb part!

BTW: With this greatly expanded host of new instructions etc the processing power of the NV30 has to make a leap forward from the NV25. I wonder what architecture they have in store to make this a reality, but I have a feeling that it'll take a refresh part - NV3x - before the chip is well-balanced in terms of performance.
 
Back
Top