d3d10/effect: Use case-insensitive comparison in GetMemberTypeBySemantic().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2021-09-03 12:30:04 +03:00 committed by Alexandre Julliard
parent a32a495012
commit af20f75f7c
2 changed files with 6 additions and 4 deletions

View File

@ -8277,7 +8277,7 @@ static struct ID3D10EffectType * STDMETHODCALLTYPE d3d10_effect_type_GetMemberTy
{
struct d3d10_effect_type_member *typem = &This->members[i];
if (typem->semantic && !strcmp(typem->semantic, semantic))
if (typem->semantic && !stricmp(typem->semantic, semantic))
{
TRACE("Returning type %p.\n", typem->type);
return &typem->type->ID3D10EffectType_iface;

View File

@ -390,11 +390,12 @@ static void test_effect_variable_type(void)
ok(type_desc.UnpackedSize == 0x8, "UnpackedSize is %#x, expected 0x8\n", type_desc.UnpackedSize);
ok(type_desc.Stride == 0x10, "Stride is %x, expected 0x10\n", type_desc.Stride);
for (i = 0; i < 3; ++i)
for (i = 0; i < 4; ++i)
{
if (i == 0) type3 = type2->lpVtbl->GetMemberTypeByIndex(type2, 0);
else if (i == 1) type3 = type2->lpVtbl->GetMemberTypeByName(type2, "f3");
else type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "SV_POSITION");
else if (i == 2) type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "SV_POSITION");
else type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "sv_POSITION");
hr = type3->lpVtbl->GetDesc(type3, &type_desc);
ok(SUCCEEDED(hr), "GetDesc failed (%x)\n", hr);
@ -413,7 +414,8 @@ static void test_effect_variable_type(void)
if (i == 0) type3 = type2->lpVtbl->GetMemberTypeByIndex(type2, 1);
else if (i == 1) type3 = type2->lpVtbl->GetMemberTypeByName(type2, "f4");
else type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "COLOR0");
else if (i == 2) type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "COLOR0");
else type3 = type2->lpVtbl->GetMemberTypeBySemantic(type2, "color0");
hr = type3->lpVtbl->GetDesc(type3, &type_desc);
ok(SUCCEEDED(hr), "GetDesc failed (%x)\n", hr);