ddraw: Update the primary stateblock in d3d_device3_SetTransform() and d3d_device3_MultiplyTransform().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-01-29 19:24:45 -06:00 committed by Alexandre Julliard
parent 703a290fcf
commit b41af695c3
1 changed files with 4 additions and 0 deletions

View File

@ -3193,6 +3193,8 @@ static HRESULT WINAPI d3d_device3_SetTransform(IDirect3DDevice3 *iface,
wined3d_mutex_lock(); wined3d_mutex_lock();
multiply_matrix(&projection, &device->legacy_clipspace, matrix); 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_device_set_transform(device->wined3d_device,
WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection); WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
device->legacy_projection = *matrix; device->legacy_projection = *matrix;
@ -3404,6 +3406,8 @@ static HRESULT WINAPI d3d_device3_MultiplyTransform(IDirect3DDevice3 *iface,
wined3d_mutex_lock(); wined3d_mutex_lock();
multiply_matrix(&tmp, &device->legacy_projection, matrix); multiply_matrix(&tmp, &device->legacy_projection, matrix);
multiply_matrix(&projection, &device->legacy_clipspace, &tmp); 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_device_set_transform(device->wined3d_device,
WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection); WINED3D_TS_PROJECTION, (struct wined3d_matrix *)&projection);
device->legacy_projection = tmp; device->legacy_projection = tmp;