Module: wine Branch: master Commit: 37b7de2bfd936146df11b68aad2899b98185a1bc URL: http://source.winehq.org/git/wine.git/?a=commit;h=37b7de2bfd936146df11b68aad...
Author: Rico Schüller kgbricola@web.de Date: Sun Jan 24 14:26:54 2010 +0100
d3d10: Add D3D10_EOO_PARSED_OBJECT_INDEX in parse_fx10_object().
---
dlls/d3d10/d3d10_private.h | 1 + dlls/d3d10/effect.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h index 4d80241..e2ad432 100644 --- a/dlls/d3d10/d3d10_private.h +++ b/dlls/d3d10/d3d10_private.h @@ -49,6 +49,7 @@ enum d3d10_effect_object_operation { D3D10_EOO_VALUE = 1, D3D10_EOO_PARSED_OBJECT = 2, + D3D10_EOO_PARSED_OBJECT_INDEX = 3, D3D10_EOO_ANONYMOUS_SHADER = 7, };
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c index e5240e6..9249c11 100644 --- a/dlls/d3d10/effect.c +++ b/dlls/d3d10/effect.c @@ -965,6 +965,17 @@ static HRESULT parse_fx10_object(struct d3d10_effect_object *o, const char **ptr hr = S_OK; break;
+ case D3D10_EOO_PARSED_OBJECT_INDEX: + /* This is a local object, we've parsed in parse_fx10_local_object, which has an array index. */ + data_ptr = data + offset; + read_dword(&data_ptr, &offset); + read_dword(&data_ptr, &o->index); + TRACE("Shader = %s[%u].\n", data + offset, o->index); + + o->data = e->lpVtbl->GetVariableByName(e, data + offset); + hr = S_OK; + break; + case D3D10_EOO_ANONYMOUS_SHADER: TRACE("Anonymous shader\n");