d3d8: Handle stateblocks in d3d8_device_SetTextureStageState().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-10-19 12:24:00 -05:00 committed by Alexandre Julliard
parent cc2750b161
commit 65f7fab050
1 changed files with 10 additions and 2 deletions

View File

@ -2226,9 +2226,17 @@ static HRESULT WINAPI d3d8_device_SetTextureStageState(IDirect3DDevice8 *iface,
wined3d_mutex_lock();
if (l->sampler_state)
wined3d_device_set_sampler_state(device->wined3d_device, stage, l->u.sampler_state, value);
{
wined3d_stateblock_set_sampler_state(device->update_state, stage, l->u.sampler_state, value);
if (!device->recording)
wined3d_device_set_sampler_state(device->wined3d_device, stage, l->u.sampler_state, value);
}
else
wined3d_device_set_texture_stage_state(device->wined3d_device, stage, l->u.texture_state, value);
{
wined3d_stateblock_set_texture_stage_state(device->update_state, stage, l->u.texture_state, value);
if (!device->recording)
wined3d_device_set_texture_stage_state(device->wined3d_device, stage, l->u.texture_state, value);
}
wined3d_mutex_unlock();
return D3D_OK;