Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/effect.c:
+ /* Clear our values first. */ + memset(tmp, 0, sizeof(tmp)); + hr = effect->lpVtbl->SetValue(effect, param, tmp, sizeof(tmp)); + ok(hr == D3D_OK, "Unexpected hr %#lx.\n", hr); + + hr = effect->lpVtbl->SetRawValue(effect, param, raw_value_tests[i].value.dword, raw_value_tests[i].value_offset, + raw_value_tests[i].value_bytes); + todo_wine_if(raw_value_tests[i].todo_hr) ok(hr == D3D_OK, "Unexpected hr %#lx.\n", hr); + if (SUCCEEDED(hr)) + { + unsigned int unexpected_values = 0; + + hr = effect->lpVtbl->GetValue(effect, param, tmp, sizeof(tmp)); + ok(hr == D3D_OK, "Unexpected hr %#lx.\n", hr); + + for (k = 0; k < (param_desc.Bytes / 4); ++k)
for (k = 0; k < (param_desc.Bytes / sizeof(*tmp)); ++k)
or something along those lines. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7505#note_97220