Zebediah Figura : ddraw: Reset the stateblock state before calling wined3d_device_reset().
Alexandre Julliard
julliard at winehq.org
Mon Oct 28 16:43:36 CDT 2019
Module: wine
Branch: master
Commit: 6c51a93b6378ed1ab0a8bcbc044d4f87bdfdac0b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6c51a93b6378ed1ab0a8bcbc044d4f87bdfdac0b
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Thu Oct 24 13:43:06 2019 -0500
ddraw: Reset the stateblock state before calling wined3d_device_reset().
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/surface.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 769b5a7576..89e5024c0e 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -6068,14 +6068,6 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
swapchain_desc.backbuffer_height = mode.height;
swapchain_desc.backbuffer_format = mode.format_id;
- if (FAILED(hr = wined3d_device_reset(ddraw->wined3d_device,
- &swapchain_desc, NULL, ddraw_reset_enum_callback, TRUE)))
- {
- ERR("Failed to reset device.\n");
- heap_free(texture);
- return hr_ddraw_from_wined3d(hr);
- }
-
if (ddraw->d3ddevice)
{
if (ddraw->d3ddevice->recording)
@@ -6083,6 +6075,15 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
ddraw->d3ddevice->recording = NULL;
ddraw->d3ddevice->update_state = ddraw->d3ddevice->state;
}
+ wined3d_stateblock_reset(ddraw->state);
+
+ if (FAILED(hr = wined3d_device_reset(ddraw->wined3d_device,
+ &swapchain_desc, NULL, ddraw_reset_enum_callback, TRUE)))
+ {
+ ERR("Failed to reset device.\n");
+ heap_free(texture);
+ return hr_ddraw_from_wined3d(hr);
+ }
wined3d_device_set_render_state(ddraw->wined3d_device, WINED3D_RS_ZENABLE,
!!swapchain_desc.enable_auto_depth_stencil);
More information about the wine-cvs
mailing list