d3d10: Add D3D10_EOO_PARSED_OBJECT_INDEX in parse_fx10_object().

This commit is contained in:
Rico Schüller 2010-01-24 14:26:54 +01:00 committed by Alexandre Julliard
parent 7a12bf9841
commit 37b7de2bfd
2 changed files with 12 additions and 0 deletions

View File

@ -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,
};

View File

@ -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");