Pixel Shader Fallback

Ante P

Veteran
When reading about the possibility to run the GF4 demos on a GF3, and having in mind that 3D Mark 2001 SE runs the Advanced Pixel Shader Test on non-DX8.1 hardware I got curious:
Is there and automatic fallback for applications that doesn't have the required Pixel Shader support?
I.e. scene is rendered but effects are done with less precision etc?

I assume that the calls made are specifically made to any version of Pixel Shaders 1.x, rather just Pixel Shaders?

Could someone please explain a bit further.
 
Nope it uses 1.4 for the advanced then if not detected falls back to a compatability mode to 1.1, so in other words the title should be called 'the not so advanced Pixel Shader Test' :rolleyes:

I see no reason why game engines could not do the same thing, codecult has done it.
 
Yes guys I know about the fallback. I was wondering how it works.

I.e. does the hardware translate it itself?
Or does it only utilize the range and precision that it can muster?

I mean since I assume that you don't call a specific shader version I would assume that the shader will work with whatever info is sent to it and that it will discard excessive information or render it in multiple passes.

I don't even know what I'm talking about here. :)
Maybe someone who has programmed a Pixel Shader demo or something could answer.
 
A few things to note:

1. There is no automatically fallback. The fallback has to be done manually (by the programmers, of course).

2. PS 1.4 provides more functions than PS1.3. Therefore, if you need some strange effects on PS1.4 but impossible on PS1.3, you may have to discard those strange effects on PS1.3/1.1 hardwares.
 
pcchen said:
A few things to note:

1. There is no automatically fallback. The fallback has to be done manually (by the programmers, of course).

2. PS 1.4 provides more functions than PS1.3. Therefore, if you need some strange effects on PS1.4 but impossible on PS1.3, you may have to discard those strange effects on PS1.3/1.1 hardwares.

I don't wanna open the doors to hell wide up with this request, but could anybody compare the image quality of the Advanced Pixel Shader in 3dmark 2001SE on a ATI 8500 and a GF3/GF4?

It might not be the best test we have, but the only one for now. :-?

Regards, LeStoffer
 
Ps 1.4 isn't really about effects, its about increasing the speed of the effects and making it easier to implement from my understanding.
I would gladly take a screen shot with my 8500 but I have no use for Madonion after the joke of a release in the second edition and never bothered downloading it, I already had lots of Technology DEMOS. :rolleyes:
I'm hoping codecult releases their demo and includes the 1.4 option as I DO NOT trust Madonion whatsoever anymore. o_O

THG: What's your view on NVIDIA's leaving out the (ATI) Pixel Shader of version 1.4?

Stefan Herget - Managing Director of Codecult: Thanks to its extremely modular and flexible architecture, the CODECREATURES engine is arbitrarily expandable and supports PS 1.4.
The game developer can implement special PS effects, therefore it depends on his decision whether version 1.4 or only 1.1 or 1.3 is supported. The library of prefabricated Shader effects provided by us will first be optimized for the common hardware base, and will thus use version 1.1 or 1.3, although the engine already supports 1.4. We will later extend our effect library directly for version 2.0.

http://www6.tomshardware.com/graphic/02q1/020206/geforce4-15.html

c-1.jpg
 
Doomtrooper said:
Ps 1.4 isn't really about effects, its about increasing the speed of the effects and making it easier to implement from my understanding.

I'd say that PS 1.4 is mainly about effects, more flexibility and possibilities, for instance the flexible DPR is really useful. To some limited extent you can use PS 1.4 to improve performance, but it's mainly about the effects that's possible that aren't without it.
 
Humus,

I've seen the advanced Pixel Shader tests running on both platforms and can honestly say either Madonion doesn't know what their doing or they are using that test just for a speed comparison as they both look identical.

I was basing my comments off Carmacks Plan quotes where he stated if they optimized for PS 1.4 they saw as much as 30% gain.

You would be more quailifed than me though in the techno babble :p
 
Doomtrooper - it's supposed to look the same in either PS1.0 or 1.4, the point of the test is two fold: (1) to really show off what pixel shaders can do and (2) show the potential performance difference between 1.0 and 1.4 by halving the required number of passes. The original PS test was pretty basic (cubic environmental bump mapping) whereas the "new" one covers a lot more - hence the "Advanced" name.
 
Well we have Humus a recognized coder say PS 1.4 is for effects and then we have Madonion use it to test speed, yet the speed doesn't account for anything on scoring so why not implement something into the 'not so advanced pixel shader test' to differeniate the two :-?
 
Humus my man, I know you could explain the fallback principle for me. :)

How hard is it to do it like madonion, you or the creators of codecult did?
 
LeStoffer said:
I don't wanna open the doors to hell wide up with this request, but could anybody compare the image quality of the Advanced Pixel Shader in 3dmark 2001SE on a ATI 8500 and a GF3/GF4?

It might not be the best test we have, but the only one for now. :-?

Regards, LeStoffer

Well its possible to limit the pixel shader version of the 8500 with a registry switch and it does give a slight difference in the test.

PS1.4 is here and 1.3 is here

The 1.4 image seems to be more banded in the dark areas under the rocks. Its more notiable on a moving shot though.
Scorewise PS1.4 gives 81.8fps and PS1.3-1.1 all give 70.7fps.
Now the 8500 suffers from banding in alpha stuff anyway so it would be interesting to see a shot from a gf3/4 as even the 1.3 image has some banding on my pc.

AFAIK (which isnt very far :)) you'd need to make a program for each PS version you were supporting.
 
Doomtrooper said:
Humus,

I've seen the advanced Pixel Shader tests running on both platforms and can honestly say either Madonion doesn't know what their doing or they are using that test just for a speed comparison as they both look identical.

I was basing my comments off Carmacks Plan quotes where he stated if they optimized for PS 1.4 they saw as much as 30% gain.

You would be more quailifed than me though in the techno babble :p

Well, PS 1.4 can certainly be used to improve performance too, in Carmacks case by collapsing many lights into a single pass, in madonions case by collapsing two passes into one. But the most important aspect of pixel shaders is not that it's possible to improve performance IMO, while performance increases are always nice it's much more interesting to create effects that's hard or impossible to do without it. Having a perpixel specular exponent draws my attention way more than even a 100% performance increase.
 
Ante P said:
Humus my man, I know you could explain the fallback principle for me. :)

How hard is it to do it like madonion, you or the creators of codecult did?

It's very easy. Just put an if-statement in the code sort of :)
Sort of like,

Code:
if (pixelShaaders >= 1.4){
   drawItVeryNiceWithPS1_4();
} else if (pixelShaders >= 1.3){
  drawItPrettyNiveWithPS1_3();
} else if (pixelShaders >= 1.1){
  drawItPrettyNiveWithPS1_1();
} else {
  drawItAsNiceAsPossibleWithoutShaders();
}

Or ... if it's not possible to make the effect at all without PS1.4 is would be like,

Code:
if (pixelShaaders >= 1.4){
   drawItVeryNiceWithPS1_4();
} else {
   drawItUgly();
}
 
Back
Top