[PATCH 2/4] ddraw: Update the primary stateblock in d3d_device3_SetTransform() and d3d_device3_MultiplyTransform().

Zebediah Figura z.figura12 at gmail.com
Wed Jan 29 19:24:45 CST 2020


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

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index f19d81ccea..69a2767f90 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -3193,6 +3193,8 @@ static HRESULT WINAPI d3d_device3_SetTransform(IDirect3DDevice3 *iface,
 
         wined3d_mutex_lock();
         multiply_matrix(&projection, &device->legacy_clipspace, matrix);
+        wined3d_stateblock_set_transform(device->state,
+                WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
         wined3d_device_set_transform(device->wined3d_device,
                 WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
         device->legacy_projection = *matrix;
@@ -3404,6 +3406,8 @@ static HRESULT WINAPI d3d_device3_MultiplyTransform(IDirect3DDevice3 *iface,
         wined3d_mutex_lock();
         multiply_matrix(&tmp, &device->legacy_projection, matrix);
         multiply_matrix(&projection, &device->legacy_clipspace, &tmp);
+        wined3d_stateblock_set_transform(device->state,
+                WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
         wined3d_device_set_transform(device->wined3d_device,
                 WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
         device->legacy_projection = tmp;
-- 
2.25.0




More information about the wine-devel mailing list