Zebediah Figura : ddraw: Track the viewport and scissor rect in the primary stateblock.
Alexandre Julliard
julliard at winehq.org
Mon Nov 25 16:41:56 CST 2019
Module: wine
Branch: master
Commit: ddec23013e39b563a3a50c0fe42c2ae8b518d538
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ddec23013e39b563a3a50c0fe42c2ae8b518d538
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Wed Nov 20 10:30:11 2019 -0600
ddraw: Track the viewport and scissor rect in the primary stateblock.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ddraw/device.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 4ad1fdb7f5..ffa029321c 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -6961,6 +6961,17 @@ enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device
return WINED3D_ZB_TRUE;
}
+static void ddraw_reset_viewport_state(struct ddraw *ddraw)
+{
+ struct wined3d_viewport vp;
+ RECT rect;
+
+ wined3d_device_get_viewports(ddraw->wined3d_device, NULL, &vp);
+ wined3d_stateblock_set_viewport(ddraw->state, &vp);
+ wined3d_device_get_scissor_rects(ddraw->wined3d_device, NULL, &rect);
+ wined3d_stateblock_set_scissor_rect(ddraw->state, &rect);
+}
+
static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
struct ddraw_surface *target, IUnknown *rt_iface, UINT version, IUnknown *outer_unknown)
{
@@ -7039,6 +7050,7 @@ static HRESULT d3d_device_init(struct d3d_device *device, struct ddraw *ddraw,
IDirect3DDevice3_SetRenderState(&device->IDirect3DDevice3_iface,
D3DRENDERSTATE_TEXTUREMAPBLEND, D3DTBLEND_MODULATE);
}
+ ddraw_reset_viewport_state(ddraw);
return D3D_OK;
}
More information about the wine-cvs
mailing list