PS2.0b & DX9.0c

And the X800's are getting about the same performance increase that the 6800's are, in Farcry with the 1.2 patch with it vs. PS3.0,
 
fallguy said:
And the X800's are getting about the same performance increase that the 6800's are, in Farcry with the 1.2 patch with it vs. PS3.0,

Yes they are .

Though we may see a diffrence in games built around both p.s 2.0b and p.s 3.0

It could just be that farcry doesn't show enough diffrence.
 
PS2.0b is a "version" of PS2.0 Extended; just like the NV3x's PS2.0a was a version of it too. It's just that there was no HLSL profile for the ATI version in DirectX 9.0b.
 
PowerK said:
Wasn't PS 2.0b supported in DirectX 9.0b ?? I thought DirectX 9.0c was mainly for PS 3.0 ?

No, DirectX 9.0b had PS 2.0a, which was for GeForceFX cards. PS 2.0b is for the X800, and wasn't relevant at the time.
 
PS2.0a is a superset of PS2.0b, so NV3x should have no issues with PS2.0b, however PS2.0b is different from straight PS2.0 and hardware changes were required between R300 and R420 class generations - in other words R300 can't support PS2.0b.
 
It reduces the number of passes, so it should bring a noticeable increase.

I do wonder, though, with the longer instruction lengths (and other freedoms) of the NV3x hardware, is it possible that it will be able to run more lights in one pass than the R420? I suppose it probably won't, considering it most likely will be limited by the ability to pass data from the vertex shader to the pixel shader.
 
Why would PS_2_0b path increase performance of NVIDIA cards if it is written for ATI?

PS_2_0b and PS_2_0a have the same instruction count limits...
 
MDolenc said:
Why would PS_2_0b path increase performance of NVIDIA cards if it is written for ATI?
Well, the PS_2_0b path would compile just as well to PS_2_0a, and thus should still increase performance due to the reduction in the number of passes.

PS_2_0b and PS_2_0a have the same instruction count limits...
Correct, but PS_2_0b has other limits on shaders that PS_2_0a does not.
 
Ardrid said:
Ok, so there is a PS2.0b profile in DX9.0c then? And it's simply up to the game devs if they want to support that profile as opposed to just supporting PS2.0 and PS3.0, correct? Also, if there is a PS2.0b profile included, what's the deal with this:

http://www.theinquirer.net/?article=18119
You're paying attention to the Inquirer? Why?

Yes, there is certainly a PS 2.0b profile for DirectX 9.0c. It is a profile to which DX9 HLSL compiles that is tailored to R4xx hardware.
 
I suspect the question being asked is, if MS added 2.0b for ATI, why does supporting instancing cause ATI to fail the test.

The short answer is that Instancing has no specific cap, for whatever reason it's a feature that is tied directly to SM3.0. No 3.0 = no instancing.

ATI were working around this by exposing a 4CC format, to indicate that you could use instancing on their cards even though they don't support 3.0.

I guess MS consider the fact that you can use it, even though querying the intended way says you can't is enough to fail the driver.
 
PS2.0b is certainly there in Dx9.0c but the docs forget to mention it in places...

We target PS2.0, PS2.0b and PS3.0, must of our PS3.0 shader works just as well in PS2.0b.
Lack of VS3.0 proves to be a far bigger problem than lack of PS3.0, for me anyway.

The things that tend to catch you out from PS2.0b and PS3.0 are the little things. No fog and no COLOR vertex interpolants in PS3.0 (no COLOR vertex interpolants seems to confuse HLSL...) are things to watch for..

Bad news (if true) about ATI Geometry instancing being off on WHQL drivers (thats about 90% of all drivers in use...)
 
ERP said:
I suspect the question being asked is, if MS added 2.0b for ATI, why does supporting instancing cause ATI to fail the test.

The short answer is that Instancing has no specific cap, for whatever reason it's a feature that is tied directly to SM3.0. No 3.0 = no instancing.

ATI were working around this by exposing a 4CC format, to indicate that you could use instancing on their cards even though they don't support 3.0.

I guess MS consider the fact that you can use it, even though querying the intended way says you can't is enough to fail the driver.

You nailed it. Thanks for the reply.
 
Back
Top