Legitimizing shader replacement.

Are it's developers too stupid to write correct shaders? Doubtfull...
And if they are, why not just give them the better shaders, and let them patch the game?


I wouldnt go so far as to say they are stupid. But they may not have the time or resources to really get shaders to their fullest on the given hardware. Think basic software development. You are trying to make the software compatible with the greatest amount of hardware. Thus you usually compile the software with the least amount of optimizations. I would expect GPUs to get a little more attention but how much we can only speculate.

Let's make excuses for what is, with little arguement, a poor implementation of DX9 in hardware. IF, the hardware in question would have been designed with DX9 compliancy, then this would be a non dicussion, period. And, if you think not, just wait till the new cards by said manufacturer comes out, and see just how much support thes "old" cards get - they wiill be considered DX8 compliant only.........

I can create assembly for x86 chips that use a lot of shifts and it will make the P4 crumble compared to the Athlon or Pentium III. Does that mean Intel didnt design the P4 to the x86 standards? Hardly, it just means the CPU is very sensitive to shifts. The same thing appears to be happening with the GPUs. Where we had something like a V2 that had the CPU do a lot of the rendering to the current crop of chips that are very complex I think in the future performance will only become more and more dependent on shader code being designed to work with the hardware.

That still does not explain why you you put the replacement shader in the driver, and not simply patch the game. What do they have to hide?


Probably because it is easier for the IHV to release it in the driver than the game designer to release a patch. When the IHV releases their next patch it will include a large sum of shader replacements that are reachable for many games in one download vs making everybody download multiple patches for multiple games.

The best solution IMO is for the IHV and ISV to get together and work on a plan where the IHV creates the replacement and the ISV approves it.

This will take the burden off the ISV and allow the IHV to create said replacement with the intimate knowledge of the hardware.

If I can get 50% boost in performance for a minor IQ loss and have the choice I will take it 99% of the time. Letting us have the choice is the key and having both the IHV and ISV work together is the other key.
 
Jodi said:
Right, this thread is annoying me.

1) I don't care what IHVs replace shaders with, as long as the output is the SAME!
2) Only when IHVs replace shaders that DO NOT give the same output as the input shader, is it a bad thing to do
Hear Hear! Well said.
To make an analogy, if you write C code, and compile it with GCC, would you be cheating if you compiled it with MSVC instead? No, because they both produces the same result.
Well.. one can wish that I suppose :)
 
Simon F said:
Jodi said:
To make an analogy, if you write C code, and compile it with GCC, would you be cheating if you compiled it with MSVC instead? No, because they both produces the same result.
Well.. one can wish that I suppose :)

Heh, MSVC doesn't cheat unless you turn on specific optimisations...hmm, sounds familiar...
 
Back
Top