Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/effect.c:
+ float f[32]; + DWORD dword[32]; + } expected_value; + BOOL todo_hr; + } raw_value_tests[] = + { + { NULL, 0, 4, + { .f = { 1.0f } }, + { .f = { 1.0f } }, + .todo_hr = TRUE + }, + { "_2", 0, 8, + { .f = { 1.0f, 2.0f } }, + { .f = { 1.0f, 0.0f } }, + .todo_hr = TRUE + }, FWIW, I added one more test here before reading further (test 6 basically covers the same):
{ "_2", 0, 8,
{ .f = { 1.0f, 2.0f } },
{ .f = { 1.0f, 0.0f } },
.todo_hr = TRUE
},
{ "_2", 0, 20,
{ .f = { 1.0f, 2.0f, 0.0f, 0.0f, 3.0f } },
{ .f = { 1.0f, 3.0f, 0.0f, 0.0f, 0.0f } },
.todo_hr = TRUE
},
I also changed the code below to have the `memcmp()` go for `param_desc.Rows * 4 * param_desc.Elements` DWORDs and cleared `tmp` before each iteration. I don't think adding this test is particularly necessary, or even a good idea. Same WRT changing the inner `for` loop end condition. I'll come back to the other change below. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7505#note_97216