[PATCH 01/10] d3d10/effect: Do not use internal value types.

Nikolay Sivov nsivov at codeweavers.com
Thu Oct 14 01:42:14 CDT 2021


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

diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h
index e5659507eeb..11b3b4e9482 100644
--- a/dlls/d3d10/d3d10_private.h
+++ b/dlls/d3d10/d3d10_private.h
@@ -40,19 +40,6 @@
  */
 #define D3DERR_INVALIDCALL 0x8876086c
 
-enum d3d10_effect_object_type
-{
-    D3D10_EOT_RASTERIZER_STATE = 0x0,
-    D3D10_EOT_DEPTH_STENCIL_STATE = 0x1,
-    D3D10_EOT_BLEND_STATE = 0x2,
-    D3D10_EOT_VERTEXSHADER = 0x6,
-    D3D10_EOT_PIXELSHADER = 0x7,
-    D3D10_EOT_GEOMETRYSHADER = 0x8,
-    D3D10_EOT_STENCIL_REF = 0x9,
-    D3D10_EOT_BLEND_FACTOR = 0xa,
-    D3D10_EOT_SAMPLE_MASK = 0xb,
-};
-
 enum d3d10_effect_object_type_flags
 {
     D3D10_EOT_FLAG_GS_SO = 0x1,
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index 71ad3f64a05..bd104465222 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -1485,36 +1485,34 @@ static HRESULT parse_fx10_annotations(const char *data, size_t data_size, const
     return hr;
 }
 
-static HRESULT parse_fx10_anonymous_shader(struct d3d10_effect *e, struct d3d10_effect_anonymous_shader *s,
-    enum d3d10_effect_object_type otype)
+static HRESULT parse_fx10_anonymous_shader(struct d3d10_effect *e, D3D_SHADER_VARIABLE_TYPE basetype,
+        struct d3d10_effect_anonymous_shader *s)
 {
     struct d3d10_effect_variable *v = &s->shader;
     struct d3d10_effect_type *t = &s->type;
-    const char *shader = NULL;
+    const char *name = NULL;
 
-    switch (otype)
+    switch (basetype)
     {
-        case D3D10_EOT_VERTEXSHADER:
-            shader = "vertexshader";
-            t->basetype = D3D10_SVT_VERTEXSHADER;
+        case D3D10_SVT_VERTEXSHADER:
+            name = "vertexshader";
             break;
 
-        case D3D10_EOT_PIXELSHADER:
-            shader = "pixelshader";
-            t->basetype = D3D10_SVT_PIXELSHADER;
+        case D3D10_SVT_PIXELSHADER:
+            name = "pixelshader";
             break;
 
-        case D3D10_EOT_GEOMETRYSHADER:
-            shader = "geometryshader";
-            t->basetype = D3D10_SVT_GEOMETRYSHADER;
+        case D3D10_SVT_GEOMETRYSHADER:
+            name = "geometryshader";
             break;
 
         default:
-            FIXME("Unhandled object type %#x.\n", otype);
+            WARN("Unhandled shader type %#x.\n", basetype);
             return E_FAIL;
     }
+    t->basetype = basetype;
 
-    if (!copy_name(shader, &t->name))
+    if (!copy_name(name, &t->name))
     {
         ERR("Failed to copy name.\n");
         return E_OUTOFMEMORY;
@@ -1918,8 +1916,8 @@ static HRESULT parse_fx10_property_assignment(const char *data, size_t data_size
 
             TRACE("Effect object starts at offset %#x.\n", value_offset);
 
-            if (FAILED(hr = parse_fx10_anonymous_shader(effect,
-                    &effect->anonymous_shaders[effect->anonymous_shader_current], property_info->id)))
+            if (FAILED(hr = parse_fx10_anonymous_shader(effect, property_info->type,
+                    &effect->anonymous_shaders[effect->anonymous_shader_current])))
                 return hr;
 
             variable = &effect->anonymous_shaders[effect->anonymous_shader_current].shader;
@@ -1938,17 +1936,17 @@ static HRESULT parse_fx10_property_assignment(const char *data, size_t data_size
                 TRACE("Stream output declaration: %s.\n", debugstr_a(variable->u.shader.stream_output_declaration));
             }
 
-            switch (property_info->id)
+            switch (property_info->type)
             {
-                case D3D10_EOT_VERTEXSHADER:
-                case D3D10_EOT_PIXELSHADER:
-                case D3D10_EOT_GEOMETRYSHADER:
+                case D3D10_SVT_VERTEXSHADER:
+                case D3D10_SVT_PIXELSHADER:
+                case D3D10_SVT_GEOMETRYSHADER:
                     if (FAILED(hr = parse_fx10_shader(data, data_size, value_offset, variable)))
                         return hr;
                     break;
 
                 default:
-                    FIXME("Unhandled object type %#x\n", property_info->id);
+                    WARN("Unexpected shader type %#x.\n", property_info->type);
                     return E_FAIL;
             }
 
-- 
2.33.0




More information about the wine-devel mailing list