HLSL Compiler and d3dcompiler_xx.dll

Matijn Woudt tijnema at gmail.com
Wed Apr 14 06:08:48 CDT 2010


Hi,

I'm about to implement the HLSL compiler, but I want to make sure I'm
taking the right direction.
For the compiler:
preprocessor(wpp)->hlslparser/compiler(lex/bison)->bytecode
writer(same as for the shader assembler).
Now the question is where to implement the compiler. It can be called
from at least 3 places, d3dx9_xx, d3d10_xx and d3dcompiler_xx.
It seems to me that d3dx9_xx and d3d10_xx are forwarding their calls
to d3dcompiler_xx.
My proposal is:
1) Create the d3dcompiler_xx.dll structure in wine. Is it legal to use
a program like dll export viewer to get the exported functions for
each dll?
2) Move the assembler to d3dcompiler_xx.dll and forward calls from
d3dx9. This is needed because the assembler and compiler can share the
same bytecode writer this way.
3) Implement the compiler in d3dcompiler_xx.

Regards,

Matijn



More information about the wine-devel mailing list