[3/4] d3dx9: Implement D3DXAssembleShader function, really basic shader assembler.

Matteo Bruni matteo.mystral at gmail.com
Tue Dec 29 15:43:35 CST 2009

2009/12/29 Henri Verbeet <hverbeet at gmail.com>:
> 2009/12/29 Matteo Bruni <matteo.mystral at gmail.com>:
>> I added the fake parser for two reasons: because I have to initialize
>> an asm_parser structure anyway in the create_xxxx_parser functions
>> (and I prefer to use parser_fake for the unimplemented shader versions
>> instead of parser_vs_3) and I want to avoid having some tests for the
>> other shader versions pass "by chance" inside the todo_wine (this is
>> accomplished by the asmparser_end_fake function... probably this can
>> be seen as a hack).
>> Agreed on the structure fields.
> Can't you just let the parser fail when it encounters an unsupported
> shader version? That's more or less what happens anyway, but I don't
> think you have to wait until after parsing all the instructions for
> that.
Yep, you are right. I believe previously I had found no way to halt
the parser early, so I simply let it go until the end and I needed the
fake backend to cope with that. Seems like the YYABORT macro does just
what I need...

More information about the wine-devel mailing list