d3d10: Improve parse_fx10.
This commit is contained in:
parent
55b51f3b1e
commit
99a4287f5d
|
@ -90,9 +90,15 @@ struct d3d10_effect
|
|||
LONG refcount;
|
||||
|
||||
ID3D10Device *device;
|
||||
DWORD version;
|
||||
DWORD localbuffers_count;
|
||||
DWORD localobjects_count;
|
||||
DWORD technique_count;
|
||||
DWORD index_offset;
|
||||
DWORD dephstencilstate_count;
|
||||
DWORD blendstate_count;
|
||||
DWORD rasterizerstate_count;
|
||||
DWORD samplerstate_count;
|
||||
struct d3d10_effect_technique *techniques;
|
||||
};
|
||||
|
||||
|
|
|
@ -448,19 +448,26 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
|
|||
const char *ptr = data;
|
||||
DWORD unknown;
|
||||
|
||||
/* 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);
|
||||
|
||||
read_dword(&ptr, &e->localbuffers_count);
|
||||
TRACE("Localbuffers count: %u\n", e->localbuffers_count);
|
||||
|
||||
/* Number of variables in local buffers? */
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 0: %u\n", unknown);
|
||||
|
||||
read_dword(&ptr, &e->localobjects_count);
|
||||
TRACE("Localobjects count: %u\n", e->localobjects_count);
|
||||
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 1: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 2: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 3: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 4: %u\n", unknown);
|
||||
|
||||
read_dword(&ptr, &e->technique_count);
|
||||
TRACE("Technique count: %u\n", e->technique_count);
|
||||
|
@ -468,28 +475,33 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
|
|||
read_dword(&ptr, &e->index_offset);
|
||||
TRACE("Index offset: %#x\n", e->index_offset);
|
||||
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 4: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 5: %u\n", unknown);
|
||||
|
||||
read_dword(&ptr, &e->dephstencilstate_count);
|
||||
TRACE("Depthstencilstate count: %u\n", e->dephstencilstate_count);
|
||||
|
||||
read_dword(&ptr, &e->blendstate_count);
|
||||
TRACE("Blendstate count: %u\n", e->blendstate_count);
|
||||
|
||||
read_dword(&ptr, &e->rasterizerstate_count);
|
||||
TRACE("Rasterizerstate count: %u\n", e->rasterizerstate_count);
|
||||
|
||||
read_dword(&ptr, &e->samplerstate_count);
|
||||
TRACE("Samplerstate count: %u\n", e->samplerstate_count);
|
||||
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 6: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 7: %u\n", unknown);
|
||||
|
||||
read_dword(&ptr, &e->blendstate_count);
|
||||
TRACE("Blendstate count: %u\n", e->blendstate_count);
|
||||
|
||||
/* Number of function calls in all passes? */
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 8: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 9: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 10: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 11: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 12: %u\n", unknown);
|
||||
read_dword(&ptr, &unknown);
|
||||
FIXME("Unknown 13: %u\n", unknown);
|
||||
|
||||
return parse_fx10_body(e, ptr, data_size - (ptr - data));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue