Module: wine Branch: master Commit: d0b404052189492ed52748f26592db983210fe93 URL: https://gitlab.winehq.org/wine/wine/-/commit/d0b404052189492ed52748f26592db9...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sun Apr 7 19:23:31 2024 +0200
d2d1/tests: Use distinct types for vector and matrix values.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
---
dlls/d2d1/tests/d2d1.c | 57 +++++++++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 24 deletions(-)
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index 15a9eeb00ab..7eaeddda341 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -11726,20 +11726,26 @@ static void test_effect_properties(BOOL d3d11) UINT32 i, min_inputs, max_inputs, integer, index, size; ID2D1EffectContext *effect_context; D2D1_BUFFER_PRECISION precision; - float vec2[2], vec3[3], vec4[4]; ID2D1Properties *subproperties; D2D1_PROPERTY_TYPE prop_type; struct d2d1_test_context ctx; + D2D_MATRIX_3X2_F mat3x2; + D2D_MATRIX_4X3_F mat4x3; + D2D_MATRIX_4X4_F mat4x4; + D2D_MATRIX_5X4_F mat5x4; ID2D1Factory1 *factory; ID2D1Effect *effect; UINT32 count, data; + D2D_VECTOR_2F vec2; + D2D_VECTOR_3F vec3; + D2D_VECTOR_4F vec4; WCHAR buffer[128]; BYTE value[128]; - float mat[20]; - INT32 val; CLSID clsid; BOOL cached; HRESULT hr; + float *ptr; + INT32 val;
static const WCHAR *effect_author = L"The Wine Project"; static const WCHAR *effect_category = L"Test"; @@ -11890,9 +11896,10 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Vec2Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_VECTOR2, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR2, (BYTE *)vec2, sizeof(vec2)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR2, (BYTE *)&vec2, sizeof(vec2)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - ok(vec2[0] == 3.0f && vec2[1] == 4.0f, "Unexpected vector (%.8e,%.8e).\n", vec2[0], vec2[1]); + ok(vec2.x == 3.0f, "Unexpected value %.8e.\n", vec2.x); + ok(vec2.y == 4.0f, "Unexpected value %.8e.\n", vec2.y);
/* Vector3 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Vec3Prop"); @@ -11901,10 +11908,11 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Vec3Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_VECTOR3, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR3, (BYTE *)vec3, sizeof(vec3)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR3, (BYTE *)&vec3, sizeof(vec3)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - ok(vec3[0] == 5.0f && vec3[1] == 6.0f && vec3[2] == 7.0f, "Unexpected vector (%.8e,%.8e,%.8e).\n", - vec3[0], vec3[1], vec3[2]); + ok(vec3.x == 5.0f, "Unexpected value %.8e.\n", vec3.x); + ok(vec3.y == 6.0f, "Unexpected value %.8e.\n", vec3.y); + ok(vec3.z == 7.0f, "Unexpected value %.8e.\n", vec3.z);
/* Vector4 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Vec4Prop"); @@ -11913,10 +11921,12 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Vec4Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_VECTOR4, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR4, (BYTE *)vec4, sizeof(vec4)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_VECTOR4, (BYTE *)&vec4, sizeof(vec4)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - ok(vec4[0] == 8.0f && vec4[1] == 9.0f && vec4[2] == 10.0f && vec4[3] == 11.0f, - "Unexpected vector (%.8e,%.8e,%.8e,%.8e).\n", vec4[0], vec4[1], vec4[2], vec4[3]); + ok(vec4.x == 8.0f, "Unexpected value %.8e.\n", vec4.x); + ok(vec4.y == 9.0f, "Unexpected value %.8e.\n", vec4.y); + ok(vec4.z == 10.0f, "Unexpected value %.8e.\n", vec4.z); + ok(vec4.w == 11.0f, "Unexpected value %.8e.\n", vec4.w);
/* Matrix3x2 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Mat3x2Prop"); @@ -11925,11 +11935,10 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Mat3x2Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_MATRIX_3X2, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_3X2, (BYTE *)mat, 6 * sizeof(float)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_3X2, (BYTE *)&mat3x2, sizeof(mat3x2)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - ok(mat[0] == 1.0f && mat[1] == 2.0f && mat[2] == 3.0f && mat[3] == 4.0f && mat[4] == 5.0f && mat[5] == 6.0f, - "Unexpected matrix (%.8e,%.8e,%.8e,%.8e,%.8e,%.8e).\n", - mat[0], mat[1], mat[2], mat[3], mat[4], mat[5]); + for (i = 0, ptr = (float *)&mat3x2; i < sizeof(mat3x2) / sizeof(*ptr); ++i, ++ptr) + ok(*ptr == 1.0f + i, "Unexpected value %.8e.\n", *ptr);
/* Matrix4x3 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Mat4x3Prop"); @@ -11938,10 +11947,10 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Mat4x3Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_MATRIX_4X3, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_4X3, (BYTE *)mat, 12 * sizeof(float)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_4X3, (BYTE *)&mat4x3, sizeof(mat4x3)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - for (i = 0; i < 12; ++i) - ok(mat[i] == 1.0f + i, "Unexpected matrix element %u.\n", i); + for (i = 0, ptr = (float *)&mat4x3; i < sizeof(mat4x3) / sizeof(*ptr); ++i, ++ptr) + ok(*ptr == 1.0f + i, "Unexpected value %.8e.\n", *ptr);
/* Matrix4x4 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Mat4x4Prop"); @@ -11950,10 +11959,10 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Mat4x4Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_MATRIX_4X4, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_4X4, (BYTE *)mat, 16 * sizeof(float)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_4X4, (BYTE *)&mat4x4, sizeof(mat4x4)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - for (i = 0; i < 16; ++i) - ok(mat[i] == 1.0f + i, "Unexpected matrix element %u.\n", i); + for (i = 0, ptr = (float *)&mat4x4; i < sizeof(mat4x4) / sizeof(*ptr); ++i, ++ptr) + ok(*ptr == 1.0f + i, "Unexpected value %.8e.\n", *ptr);
/* Matrix5x4 property. */ index = ID2D1Effect_GetPropertyIndex(effect, L"Mat5x4Prop"); @@ -11962,10 +11971,10 @@ static void test_effect_properties(BOOL d3d11) ok(!wcscmp(buffer, L"Mat5x4Prop"), "Unexpected name %s.\n", wine_dbgstr_w(buffer)); prop_type = ID2D1Effect_GetType(effect, index); ok(prop_type == D2D1_PROPERTY_TYPE_MATRIX_5X4, "Unexpected type %u.\n", prop_type); - hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_5X4, (BYTE *)mat, 20 * sizeof(float)); + hr = ID2D1Effect_GetValue(effect, index, D2D1_PROPERTY_TYPE_MATRIX_5X4, (BYTE *)&mat5x4, sizeof(mat5x4)); ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - for (i = 0; i < 20; ++i) - ok(mat[i] == 1.0f + i, "Unexpected matrix element %u.\n", i); + for (i = 0, ptr = (float *)&mat5x4; i < sizeof(mat5x4) / sizeof(*ptr); ++i, ++ptr) + ok(*ptr == 1.0f + i, "Unexpected value %.8e.\n", *ptr);
ID2D1Effect_Release(effect);