[PATCH 3/6] d3d10/effect: Store explicit bind point value for constant buffers and object variables.

Nikolay Sivov nsivov at codeweavers.com
Thu Aug 26 00:32:13 CDT 2021


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/d3d10/d3d10_private.h | 1 +
 dlls/d3d10/effect.c        | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h
index 751c39dc895..5e406110988 100644
--- a/dlls/d3d10/d3d10_private.h
+++ b/dlls/d3d10/d3d10_private.h
@@ -199,6 +199,7 @@ struct d3d10_effect_variable
     DWORD annotation_count;
     DWORD flag;
     DWORD data_size;
+    DWORD explicit_bind_point;
     struct d3d10_effect *effect;
     struct d3d10_effect_variable *elements;
     struct d3d10_effect_variable *members;
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index fe494e952d6..acc7199138b 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -1165,6 +1165,8 @@ static HRESULT parse_fx10_variable_head(const char *data, size_t data_size,
     }
     set_variable_vtbl(v);
 
+    v->explicit_bind_point = ~0u;
+
     return copy_variableinfo_from_type(v);
 }
 
@@ -1927,7 +1929,8 @@ static HRESULT parse_fx10_local_variable(const char *data, size_t data_size,
     }
     TRACE("Variable semantic: %s.\n", debugstr_a(v->semantic));
 
-    skip_dword_unknown("local variable", ptr, 1);
+    read_dword(ptr, &v->explicit_bind_point);
+    TRACE("Variable explicit bind point %#x.\n", v->explicit_bind_point);
 
     switch (v->type->basetype)
     {
@@ -2191,7 +2194,8 @@ static HRESULT parse_fx10_local_buffer(const char *data, size_t data_size,
     read_dword(ptr, &l->type->member_count);
     TRACE("Local buffer member count: %#x.\n", l->type->member_count);
 
-    skip_dword_unknown("local buffer", ptr, 1);
+    read_dword(ptr, &l->explicit_bind_point);
+    TRACE("Local buffer explicit bind point: %#x.\n", l->explicit_bind_point);
 
     read_dword(ptr, &l->annotation_count);
     TRACE("Local buffer has %u annotations.\n", l->annotation_count);
-- 
2.32.0




More information about the wine-devel mailing list