[PATCH 3/5] d3d10/effect: Use case-insensitive comparison in GetVariableBySemantic().

Nikolay Sivov nsivov at codeweavers.com
Fri Sep 3 04:30:03 CDT 2021


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

diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index 6e429c32b2d..5efeb2901c0 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -3322,7 +3322,7 @@ static struct ID3D10EffectVariable * STDMETHODCALLTYPE d3d10_effect_GetVariableB
         {
             struct d3d10_effect_variable *v = &l->members[j];
 
-            if (v->semantic && !strcmp(v->semantic, semantic))
+            if (v->semantic && !stricmp(v->semantic, semantic))
             {
                 TRACE("Returning variable %p.\n", v);
                 return &v->ID3D10EffectVariable_iface;
@@ -3334,7 +3334,7 @@ static struct ID3D10EffectVariable * STDMETHODCALLTYPE d3d10_effect_GetVariableB
     {
         struct d3d10_effect_variable *v = &This->local_variables[i];
 
-        if (v->semantic && !strcmp(v->semantic, semantic))
+        if (v->semantic && !stricmp(v->semantic, semantic))
         {
             TRACE("Returning variable %p.\n", v);
             return &v->ID3D10EffectVariable_iface;
diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c
index df9777491b6..a448ba83714 100644
--- a/dlls/d3d10/tests/effect.c
+++ b/dlls/d3d10/tests/effect.c
@@ -3850,6 +3850,9 @@ static void test_effect_get_variable_by(void)
     variable = effect->lpVtbl->GetVariableBySemantic(effect, "SV_POSITION");
     ok(variable_by_index == variable, "GetVariableBySemantic got %p, expected %p\n", variable, variable_by_index);
 
+    variable = effect->lpVtbl->GetVariableBySemantic(effect, "sv_POSITION");
+    ok(variable_by_index == variable, "GetVariableBySemantic got %p, expected %p\n", variable, variable_by_index);
+
     /* variable f2 */
     variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 1);
     ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index);
@@ -3860,6 +3863,9 @@ static void test_effect_get_variable_by(void)
     variable = effect->lpVtbl->GetVariableBySemantic(effect, "COLOR0");
     ok(variable_by_index == variable, "GetVariableBySemantic got %p, expected %p\n", variable, variable_by_index);
 
+    variable = effect->lpVtbl->GetVariableBySemantic(effect, "color0");
+    ok(variable_by_index == variable, "GetVariableBySemantic got %p, expected %p\n", variable, variable_by_index);
+
     /* variable f3 */
     variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 2);
     ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index);
-- 
2.33.0




More information about the wine-devel mailing list