Module: wine Branch: master Commit: 95545a6667178f0ae8db108a06f814c3d0e58e7b URL: https://source.winehq.org/git/wine.git/?a=commit;h=95545a6667178f0ae8db108a0...
Author: Zebediah Figura z.figura12@gmail.com Date: Thu Oct 24 13:43:08 2019 -0500
d3d9: Handle stateblocks in d3d9_device_SetTexture().
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
---
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 d96e7b7095..cd870c90a6 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -2489,13 +2489,16 @@ static HRESULT WINAPI d3d9_device_SetTexture(IDirect3DDevice9Ex *iface, DWORD st texture_impl = unsafe_impl_from_IDirect3DBaseTexture9(texture);
wined3d_mutex_lock(); - wined3d_device_set_texture(device->wined3d_device, stage, + wined3d_stateblock_set_texture(device->update_state, stage, texture_impl ? texture_impl->wined3d_texture : NULL); if (!device->recording) { unsigned int i = stage < 16 || (stage >= D3DVERTEXTEXTURESAMPLER0 && stage <= D3DVERTEXTEXTURESAMPLER3) ? stage < 16 ? stage : stage - D3DVERTEXTEXTURESAMPLER0 + 16 : ~0u;
+ wined3d_device_set_texture(device->wined3d_device, stage, + texture_impl ? texture_impl->wined3d_texture : NULL); + if (i < D3D9_MAX_TEXTURE_UNITS) { if (texture_impl && texture_impl->usage & D3DUSAGE_AUTOGENMIPMAP)