diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 7b9be1fc46d..7224c31e6e6 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -2158,7 +2158,9 @@ static HRESULT WINAPI d3d9_device_SetMaterial(IDirect3DDevice9Ex *iface, const D /* Note: D3DMATERIAL9 is compatible with struct wined3d_material. */ wined3d_mutex_lock(); - wined3d_device_set_material(device->wined3d_device, (const struct wined3d_material *)material); + wined3d_stateblock_set_material(device->update_state, (const struct wined3d_material *)material); + if (!device->recording) + wined3d_device_set_material(device->wined3d_device, (const struct wined3d_material *)material); wined3d_mutex_unlock(); return D3D_OK;