[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