HLSL Compiler and d3dcompiler_xx.dll

Stefan Dösinger stefandoesinger at gmx.at
Thu Apr 15 04:23:45 CDT 2010


Am 14.04.2010 um 20:45 schrieb Jason Green:
> FYI, we encountered a game a while back which used a few shaders that depended on being compiled with a particular version for d3dx9_##.dll.  There was a compiler bug which the game engine knew about and accounted for.  If you tried to use the compiled shader from a newer d3dx9_##.dll, then the rendering wouldn't look quite right on certain objects.
> 
> So, there's one argument for identical bytecode compatibility, but it's likely that very few apps will exhibit behavior like this.
I think it's only an argument that we may need some specific tests that check for identical bytecode. And by your description it sounds like the compiler bug can be detected by looking at the rendering output. I still think that having the majority of tests check the generated bytecode is a bad idea:

* It will be hard to implement the same compiler result
* It will make our own optimizations impossible(the MS compiler is very good optimization wise, so that point is mostly moot)
* It will be hard to maintain the tests when we're moving them to a newer MS compiler version
* There are things that can be translated into different bytecodes, and all are equally valid and optimal, like constants ordering.





More information about the wine-devel mailing list