From 334e4880b33fe2a1bc79a7738c335b599517c0a9 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 1 Oct 2019 20:03:52 -0500 Subject: [PATCH] d3d9: Handle stateblocks in d3d9_device_SetPixelShaderConstantF(). Signed-off-by: Zebediah Figura Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3d9/device.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 90882f0f924..539af97fbb5 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -3815,8 +3815,11 @@ static HRESULT WINAPI d3d9_device_SetPixelShaderConstantF(IDirect3DDevice9Ex *if TRACE("iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx, data, count); wined3d_mutex_lock(); - hr = wined3d_device_set_ps_consts_f(device->wined3d_device, + hr = wined3d_stateblock_set_ps_consts_f(device->update_state, reg_idx, count, (const struct wined3d_vec4 *)data); + if (SUCCEEDED(hr) && !device->recording) + hr = wined3d_device_set_ps_consts_f(device->wined3d_device, + reg_idx, count, (const struct wined3d_vec4 *)data); wined3d_mutex_unlock(); return hr;