[PATCH 3/5] d3d8: Handle stateblocks in d3d8_device_SetStreamSource().

Zebediah Figura z.figura12 at gmail.com
Mon Nov 11 19:56:00 CST 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/d3d8/device.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 5f2235fb72c..00539fdd07f 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -3347,13 +3347,17 @@ static HRESULT WINAPI d3d8_device_SetStreamSource(IDirect3DDevice8 *iface,
     else
         wined3d_buffer = buffer_impl->wined3d_buffer;
 
-    hr = wined3d_device_set_stream_source(device->wined3d_device, stream_idx, wined3d_buffer, 0, stride);
+    hr = wined3d_stateblock_set_stream_source(device->update_state, stream_idx, wined3d_buffer, 0, stride);
     if (SUCCEEDED(hr) && !device->recording)
     {
-        if (buffer_impl && buffer_impl->draw_buffer)
-            device->sysmem_vb |= (1u << stream_idx);
-        else
-            device->sysmem_vb &= ~(1u << stream_idx);
+        hr = wined3d_device_set_stream_source(device->wined3d_device, stream_idx, wined3d_buffer, 0, stride);
+        if (SUCCEEDED(hr))
+        {
+            if (buffer_impl && buffer_impl->draw_buffer)
+                device->sysmem_vb |= (1u << stream_idx);
+            else
+                device->sysmem_vb &= ~(1u << stream_idx);
+        }
     }
 
     wined3d_mutex_unlock();
-- 
2.23.0




More information about the wine-devel mailing list