Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/effect.c:
static HRESULT WINAPI d3dx_effect_SetRawValue(ID3DXEffect *iface, D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes) { - FIXME("iface %p, parameter %p, data %p, byte_offset %u, bytes %u stub!\n", - iface, parameter, data, byte_offset, bytes); + struct d3dx_effect *effect = impl_from_ID3DXEffect(iface); + struct d3dx_parameter *param = get_valid_parameter(effect, parameter);
- return E_NOTIMPL; + TRACE("iface %p, parameter %p, data %p, byte_offset %u, bytes %u.\n", iface, parameter, data, byte_offset, bytes); + + if (!param) + { + WARN("Invalid parameter %p specified.\n", parameter); + return D3DERR_INVALIDCALL; + } Not that I expect any surprises here, but currently we don't seem to have a test for this.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7505#note_97219