d3d10: Improve parse_fx10.

Henri Verbeet hverbeet at gmail.com
Sat May 30 11:00:33 CDT 2009


2009/5/30 Stefan Dösinger <stefandoesinger at gmx.at>:
>
> Am 30.05.2009 um 07:24 schrieb Dmitry Timoshkov:
>
>> "Rico Schüller" <kgbricola at web.de> wrote:
>>
>>> -    /* version info? */
>>> -    skip_dword_unknown(&ptr, 2);
>>> +    /* Compiled target version (e.g. fx_4_0=0xfeff1001,
>>> fx_4_1=0xfeff1011). */
>>> +    read_dword(&ptr, &e->version);
>>> +    TRACE("Target: %#x\n", e->version);
>>
>> 0xfeff/0xfffe is a unicode byte order mark, could it serve the same
>> purpose here?
>
> On top of my head I think it is the shader type marker - pixel shader,
> vertex shader, geometry shader. I don't have the headers atm, so I can't
> check to be sure.
>
Yes, but for effects. SM1-3 version tokens are 0xfffexxyy/0xffffxxyy
for vertex and pixel shaders resp. SM4 version tokens look like
0x000000xy/0x000100xy/0x000200xy for PS/VS/GS. I don't remember what
the version token for d3d9 effects looks like, but this is consistent
with MS's general scheme for D3D/shader file formats.



More information about the wine-devel mailing list