Zebediah Figura : ddraw: Stop setting the device state when setting transforms.
Module: wine Branch: master Commit: b5c249faa1b8ec67fd2f247f30789e81df0d99f3 URL: https://source.winehq.org/git/wine.git/?a=commit;h=b5c249faa1b8ec67fd2f247f3... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Feb 27 18:48:44 2020 -0600 ddraw: Stop setting the device state when setting transforms. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ddraw/device.c | 19 ------------------- dlls/ddraw/viewport.c | 1 - 2 files changed, 20 deletions(-) diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index ee860d4010..4284109237 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -1359,28 +1359,16 @@ static HRESULT WINAPI d3d_device1_SetMatrix(IDirect3DDevice *iface, *m = *matrix; if (matrix_handle == device->world) - { wined3d_stateblock_set_transform(device->state, WINED3D_TS_WORLD_MATRIX(0), (struct wined3d_matrix *)matrix); - wined3d_device_set_transform(device->wined3d_device, - WINED3D_TS_WORLD_MATRIX(0), (struct wined3d_matrix *)matrix); - } if (matrix_handle == device->view) - { wined3d_stateblock_set_transform(device->state, WINED3D_TS_VIEW, (struct wined3d_matrix *)matrix); - wined3d_device_set_transform(device->wined3d_device, - WINED3D_TS_VIEW, (struct wined3d_matrix *)matrix); - } if (matrix_handle == device->proj) - { wined3d_stateblock_set_transform(device->state, WINED3D_TS_PROJECTION, (struct wined3d_matrix *)matrix); - wined3d_device_set_transform(device->wined3d_device, - WINED3D_TS_PROJECTION, (struct wined3d_matrix *)matrix); - } wined3d_mutex_unlock(); @@ -3135,8 +3123,6 @@ static HRESULT d3d_device7_SetTransform(IDirect3DDevice7 *iface, /* Note: D3DMATRIX is compatible with struct wined3d_matrix. */ wined3d_mutex_lock(); wined3d_stateblock_set_transform(device->update_state, wined3d_state, (const struct wined3d_matrix *)matrix); - if (!device->recording) - wined3d_device_set_transform(device->wined3d_device, wined3d_state, (const struct wined3d_matrix *)matrix); wined3d_mutex_unlock(); return D3D_OK; @@ -3179,8 +3165,6 @@ static HRESULT WINAPI d3d_device3_SetTransform(IDirect3DDevice3 *iface, multiply_matrix(&projection, &device->legacy_clipspace, (struct wined3d_matrix *)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); memcpy(&device->legacy_projection, matrix, sizeof(*matrix)); wined3d_mutex_unlock(); @@ -3350,8 +3334,6 @@ static HRESULT d3d_device7_MultiplyTransform(IDirect3DDevice7 *iface, wined3d_mutex_lock(); wined3d_stateblock_multiply_transform(device->state, wined3d_state, (struct wined3d_matrix *)matrix); - wined3d_device_multiply_transform(device->wined3d_device, - wined3d_state, (struct wined3d_matrix *)matrix); wined3d_mutex_unlock(); return D3D_OK; @@ -3391,7 +3373,6 @@ static HRESULT WINAPI d3d_device3_MultiplyTransform(IDirect3DDevice3 *iface, multiply_matrix(&tmp, &device->legacy_projection, (struct wined3d_matrix *)matrix); multiply_matrix(&projection, &device->legacy_clipspace, &tmp); wined3d_stateblock_set_transform(device->state, WINED3D_TS_PROJECTION, &projection); - wined3d_device_set_transform(device->wined3d_device, WINED3D_TS_PROJECTION, &projection); device->legacy_projection = tmp; wined3d_mutex_unlock(); diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c index 2f2515036d..ac56928e4f 100644 --- a/dlls/ddraw/viewport.c +++ b/dlls/ddraw/viewport.c @@ -39,7 +39,6 @@ static void update_clip_space(struct d3d_device *device, multiply_matrix(&projection, &clip_space, &device->legacy_projection); wined3d_stateblock_set_transform(device->state, WINED3D_TS_PROJECTION, &projection); - wined3d_device_set_transform(device->wined3d_device, WINED3D_TS_PROJECTION, &projection); device->legacy_clipspace = clip_space; }
participants (1)
-
Alexandre Julliard