[PATCH 09/10] ddraw: Reset wined3d viewport on SetRenderTarget().
mbruni at codeweavers.com
Thu Mar 22 15:43:12 CDT 2018
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Generally the viewport is explicitly set again immediately after the
SetRenderTarget() so you wouldn't notice the difference. The ddraw7
test_viewport() does a Clear() before that though and, without this
patch, it crashes in surface_cpu_blt_colour_fill() when switching from
the 1280x960 to the 320x240 RT.
I guess another option is to fix this in wined3d (instead OR in
addition to this).
dlls/ddraw/device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 38fcc00e6b6..6858a1bb645 100644
@@ -1818,7 +1818,7 @@ static HRESULT d3d_device_set_render_target(struct d3d_device *device,
if (FAILED(hr = wined3d_device_set_rendertarget_view(device->wined3d_device,
- 0, ddraw_surface_get_rendertarget_view(target), FALSE)))
+ 0, ddraw_surface_get_rendertarget_view(target), TRUE)))
More information about the wine-devel