What was that about Cg *Not* favoring Nvidia Hardware?

Ty said:
The new UT has the NV slogan you refer to and it's not using CG afaik. One does not imply the other unless you have evidence of this in the licensing agreement?
There does not need to be a written agreement, and I am pretty sure there is no such thing. Its just common sense. Nv would have to be crazy to not *politely ask* devs that use Cg to put some sort of Nv recognition on the product. It would be an unbelievable advertising tool for Nv.

Of course some devs may not choose to comply with Nv's request, but the majority will. Seems logical... if you are using thier tools, and getting help from them, why not give them recognition?
 
nooneyouknow,

unfortunately, microsoft broke the ps backward compatibility. Some ps1.4 instructions(ie. phase) are missing from ps2. Ms had a backward comp. clause in dx8 docs but removed it in dx9 docs. It might be possible to run ps1.4 code in ps2.0 but some restrictions will be placed according to ms docs

"In a version 1_4 pixel shader, if the phase marker is not present, the shader is run as if it is running in phase 2. This is important because there are differences between phase 1 and 2 instructions and register availability. The differences are noted throughout the reference section."
 
Fuz said:
There does not need to be a written agreement, and I am pretty sure there is no such thing. Its just common sense. Nv would have to be crazy to not *politely ask* devs that use Cg to put some sort of Nv recognition on the product. It would be an unbelievable advertising tool for Nv.

Take a look at some of your game boxes now. Many will already have the Nvidia logo. Therefore I doubt using CG will actually make this worse. In addition is there anything preventing a developer from using logos from BOTH companies (Honest Question)?
 
In addition is there anything preventing a developer from using logos from BOTH companies (Honest Question)?

This is an interesting question.. and one ATI could have a field day with. :)

I think it could yield some interesting "Logo Wars" hehe.

Buy that new snazzy game and see the spinning logos:
NVIDIA- The way it was meant to be played!(tm)
quickly followed by spinning logo that says:
ATI- The REAL way it was meant to be played, seen, experienced and felt!(tm)

then out comes the sequel:
NVIDIA- No really, ours is better(tm)
followed by a logo that says:
ATI- Only if you are blind, dumb or on some form of narcotics. Just say NO!(tm)

And the next batch of games:
NVIDIA- Just try our card dammit, you'll see it's clearly superior(tm)
and the inevitable:
ATI- Jane, you ignorant slut. You couldn't tell 3D Graphics from a hole in the ground.(tm)
 
Kinda reminds me of that mac vs. pc gif animation in which pc pulls out a bat and hits the mac, the mac then goes flying. Imagine those put on an opening screen of a game:)
 
JD said:
nooneyouknow,

unfortunately, microsoft broke the ps backward compatibility. Some ps1.4 instructions(ie. phase) are missing from ps2. Ms had a backward comp. clause in dx8 docs but removed it in dx9 docs. It might be possible to run ps1.4 code in ps2.0 but some restrictions will be placed according to ms docs

"In a version 1_4 pixel shader, if the phase marker is not present, the shader is run as if it is running in phase 2. This is important because there are differences between phase 1 and 2 instructions and register availability. The differences are noted throughout the reference section."

What I meant was that if the game is trying to use a PS 1.4 Shader, a PS 2.0 GPU / VPU (its driver actually) is supposed to work. Hence, the driver will convert it to whatever native code that GPU / VPU understands.
 
martrox said:
Sorry....not meant as a putdown,nooneyouknow, just trying to make a point...... for the resident nVidia worshipers ;) ......

No prob Martox. I wasn't offended by what you said. Just wanted to clarify things. No worries. :)
 
nooneyouknow said:
Martox, I wasn't saying that. What I was saying is that if a developer makes PS 1.4 shaders, any PS 2.0 parts can understand it and it will work. CG doesn't make PS 1.4 Shaders...

I don't think that's true at all. We will find out, of course, once the GeForce FX actually ships, but it doesn't look like it will support PS 1.4 at all.

There are actually a number of instructions in PS 1.4 that are not in PS 2.0, so if there was support in the GeForce FX, it would be through emulation, which could defeat the purpose entirely (Remember that the primary benefit of PS 1.4, in the few cases today where it is beneficial today, is performance. With emulation, that performance benefit may well evaporate).
 
I do not know whether nvidia will be able to emulate ps1.4 with its ps/vs 2.0 extended shader hw. It will be interesting to see if it does. Currently CG ony spits out ps < 1.4 and vs1.1 in d3d world. However you can write asm ps1.4 and feed that to nvidia hw. Not sure if assembler will report error or not. Caps bits will report ver. 2 extended and according to old dx8 docs newer shaders supposedly have to support lower versions shaders. This has been omitted from dx9 docs, or at least I can't find it anywhere. Logic tells me that gffx will support ps1.4 by emulating it.
 
JD, I don't think the GF FX will support 1.4 shaders in any way. That would only give support tor an ATI specific ability - which nVidia will not do and is the whole point to this thread.
 
I know what you mean but consider this:

D3DCAPS9 caps;
g_pd3dDevice->GetDeviceCaps(&caps);

if(caps.PixelShaderVersion == D3DPS_VERSION(2,0))
assemble and run ps1.4 code

I wonder if ps1.4 code will be assembled w/o errors on gffx hw. The hw reports the highest ps/vs version it can support but it doesn't tell you if it supports lower versions like 1.4 as well. Dx8 docs said it would, but I can't find this in dx9 docs. There are no other caps that can tell you whether ps1.4 is supported I don't think. This is what nooneyouknow was also wondering about. Logically gffx must pass 2.0 check and if it does then it also must run ps1.4 otherwise this is a bug in gffx drivers. But logic might be wrong sometimes:)
 
If the card states it supports a certain pixel shader version, it must support ALL previous pixel shader versions.

Otherwise, the usefulness of DirectX9 would be diminished greatly. The only way it would work is if you couldn't use DX8 Pixel Shaders in DX9. If that is the case, then few developers are actually going to use DX9! Of course DirectX9 does indeed support all of the DX8.1 Pixel Shaders.

Here is a Link to MSDN about DirectX 9 Pixel Shader Support:
http://msdn.microsoft.com/library/d...grammable/pixelshaders/pixelshaderconfirm.asp

Note what it Says for the 'PixelShaderVersion' caps

Version of pixel shader supported by the hardware. Pixel shaders with version numbers equal to or less than this value are supported.

GeForce FX will support Pixel Shaders 1.4!

-Colourless
 
Colourless said:
Version of pixel shader supported by the hardware. Pixel shaders with version numbers equal to or less than this value are supported.
GeForce FX will support Pixel Shaders 1.4!

That is if GFFX is DX9 compliant, no? ;)
 
It's not a case of being Compliant or not.

Either you honestly believe that the GeForce FX will not support Pixel Shaders 2.0, or you beleive that Nvidia is so petty that they would risk WHQL certification for their drivers.

Both are completely unreasonable.
 
Chalnoth said:
nooneyouknow said:
Martox, I wasn't saying that. What I was saying is that if a developer makes PS 1.4 shaders, any PS 2.0 parts can understand it and it will work. CG doesn't make PS 1.4 Shaders...

I don't think that's true at all. We will find out, of course, once the GeForce FX actually ships, but it doesn't look like it will support PS 1.4 at all.

There are actually a number of instructions in PS 1.4 that are not in PS 2.0, so if there was support in the GeForce FX, it would be through emulation, which could defeat the purpose entirely (Remember that the primary benefit of PS 1.4, in the few cases today where it is beneficial today, is performance. With emulation, that performance benefit may well evaporate).


Yes it will. It will be through emulation. Remember, every shader, in essence, is emulated since the native shader code of the GPU / VPU is different than the instructions that DX has defined. The DX specification requires that any 2.0 part to be backward compatible. I got this directly from MS Direct X guys. This was true with PS 1.4 parts having to work with previous 1.3 and below shaders.

EDIT: Thank you Colourless for the MSDN link.
 
Colourless, that was more of a tongue in cheek style comment.

Though I am a bit curious as to the exact wording in DX9 of the PS-1.4 support. Previously in this thread, someone(s) mentioned that complete support of 1.4 is not needed or that only certain 1.4 instructions are viable -- ie: restrictions put on when PS-1.4 can/is useable. But you are saying that PS-1.4 support is absolutely required for DX9 and for WHQL certification, right?
 
Obviously there is something else nVidia could do.

They could just report, in that cap, support for PS 1.3. There are PS 2.0 caps elsewhere. I'm sure it would be a nuisance for some developers, but it would get around any problems with regard to WHQL certification (Assuming this is the only obstacle).
 
Chalnoth said:
They could just report, in that cap, support for PS 1.3. There are PS 2.0 caps elsewhere.

Hardly. If you want to see if you can use a certain shader version, such as 2.0, you query PixelShaderVersion, that's part of the spec that developers count on, and it's already used this way on games sitting in the shops. NVIDIA won't use a non-standard extension to expose their caps, nor will they need to; "emulating" 1.4 in 2.0 hardware is very straight-forward, the functionality maps almost directly forwards, it's just semantic differences, which the drivers take care of.
 
Yes, I agree that it wouldn't be a great move on nVidia's part, but I still don't see a reason as to why PS 1.4 must be supported.
 
If you spent thousands (maybe millions) and worked years to design a tool that helped me make something and sell it, wouldn't you expect some recognition?

Maybe..if it was necessary, or the *only* way to do something.. or even provably more USEFULL over what is already available..

Also Note.. what is Cg supposed to be *helping to sell*.. the game? or more Nvidia cards...

Bottom line... You simply dont need Cg, for *ANYTHING*... Its only purpose is to find ways to increase Nvidia's Mindshare and line their pockets with more cash. Compare that to Rendermonkey.. wich *IS* an honest non vendor specific tool that *Clearly* aids in the visual development of Shaders, and effecs, not offered by anyone else. Which will, if used, Not get plastered all over every Game that it was used to help create... Leading people to think thay need an ATi card to get optimum play....

One thing is sure from these threads.. It becomes readily clear who is actually for and open, ballanced industry.. and who only *pretends* to be. Once the rubber hits the road.. the true feelings and motives become apparent.
 
Back
Top