Rico Schüller : d3d10: Add D3D10_EOO_PARSED_OBJECT_INDEX in parse_fx10_object().

Alexandre Julliard julliard at winehq.org
Mon Jan 25 11:21:13 CST 2010


Module: wine
Branch: master
Commit: 37b7de2bfd936146df11b68aad2899b98185a1bc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=37b7de2bfd936146df11b68aad2899b98185a1bc

Author: Rico Schüller <kgbricola at 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");
 




More information about the wine-cvs mailing list