Zebediah Figura : d3d9: Handle stateblocks in d3d9_device_SetTexture().

Alexandre Julliard julliard at winehq.org
Mon Oct 28 16:43:36 CDT 2019


Module: wine
Branch: master
Commit: 95545a6667178f0ae8db108a06f814c3d0e58e7b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=95545a6667178f0ae8db108a06f814c3d0e58e7b

Author: Zebediah Figura <z.figura12 at 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 at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)




More information about the wine-cvs mailing list