[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