Rico Schüller : d3d10: Identify some more unknowns in parse_fx10.

Alexandre Julliard julliard at winehq.org
Thu Aug 27 10:31:43 CDT 2009


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

Author: Rico Schüller <kgbricola at web.de>
Date:   Wed Aug 26 22:30:32 2009 +0200

d3d10: Identify some more unknowns in parse_fx10.

---

 dlls/d3d10/d3d10_private.h |    8 +++++++-
 dlls/d3d10/effect.c        |   37 +++++++++++++++++++------------------
 2 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h
index 535a82d..6f95a96 100644
--- a/dlls/d3d10/d3d10_private.h
+++ b/dlls/d3d10/d3d10_private.h
@@ -114,15 +114,21 @@ struct d3d10_effect
     ID3D10Device *device;
     DWORD version;
     DWORD local_buffer_count;
-    DWORD localobjects_count;
+    DWORD variable_count;
+    DWORD object_count;
     DWORD sharedbuffers_count;
     DWORD sharedobjects_count;
     DWORD technique_count;
     DWORD index_offset;
+    DWORD texture_count;
     DWORD dephstencilstate_count;
     DWORD blendstate_count;
     DWORD rasterizerstate_count;
     DWORD samplerstate_count;
+    DWORD rendertargetview_count;
+    DWORD depthstencilview_count;
+    DWORD shader_call_count;
+    DWORD shader_compile_count;
 
     struct d3d10_effect_local_buffer *local_buffers;
     struct d3d10_effect_technique *techniques;
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index a5a32e1..d05d6a6 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -547,19 +547,18 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
     read_dword(&ptr, &e->local_buffer_count);
     TRACE("Local buffer count: %u.\n", e->local_buffer_count);
 
-    /* Number of variables in local buffers? */
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 0: %u\n", unknown);
+    read_dword(&ptr, &e->variable_count);
+    TRACE("Variable count: %u\n", e->variable_count);
 
-    read_dword(&ptr, &e->localobjects_count);
-    TRACE("Localobjects count: %u\n", e->localobjects_count);
+    read_dword(&ptr, &e->object_count);
+    TRACE("Object count: %u\n", e->object_count);
 
     read_dword(&ptr, &e->sharedbuffers_count);
     TRACE("Sharedbuffers count: %u\n", e->sharedbuffers_count);
 
     /* Number of variables in shared buffers? */
     read_dword(&ptr, &unknown);
-    FIXME("Unknown 1: %u\n", unknown);
+    FIXME("Unknown 0: %u\n", unknown);
 
     read_dword(&ptr, &e->sharedobjects_count);
     TRACE("Sharedobjects count: %u\n", e->sharedobjects_count);
@@ -571,9 +570,10 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
     TRACE("Index offset: %#x\n", e->index_offset);
 
     read_dword(&ptr, &unknown);
-    FIXME("Unknown 2: %u\n", unknown);
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 3: %u\n", unknown);
+    FIXME("Unknown 1: %u\n", unknown);
+
+    read_dword(&ptr, &e->texture_count);
+    TRACE("Texture count: %u\n", e->texture_count);
 
     read_dword(&ptr, &e->dephstencilstate_count);
     TRACE("Depthstencilstate count: %u\n", e->dephstencilstate_count);
@@ -587,16 +587,17 @@ static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, DWORD data_s
     read_dword(&ptr, &e->samplerstate_count);
     TRACE("Samplerstate count: %u\n", e->samplerstate_count);
 
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 4: %u\n", unknown);
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 5: %u\n", unknown);
+    read_dword(&ptr, &e->rendertargetview_count);
+    TRACE("Rendertargetview count: %u\n", e->rendertargetview_count);
 
-    /* Number of function calls in all passes? */
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 6: %u\n", unknown);
-    read_dword(&ptr, &unknown);
-    FIXME("Unknown 7: %u\n", unknown);
+    read_dword(&ptr, &e->depthstencilview_count);
+    TRACE("Depthstencilview count: %u\n", e->depthstencilview_count);
+
+    read_dword(&ptr, &e->shader_call_count);
+    TRACE("Shader call count: %u\n", e->shader_call_count);
+
+    read_dword(&ptr, &e->shader_compile_count);
+    TRACE("Shader compile count: %u\n", e->shader_compile_count);
 
     return parse_fx10_body(e, ptr, data_size - (ptr - data));
 }




More information about the wine-cvs mailing list