[PATCH 4/4] ddraw: Handle stateblocks in d3d_device7_SetClipPlane().

Zebediah Figura z.figura12 at gmail.com
Tue Oct 29 20:57:45 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ddraw/device.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 599e45c24f..182fc18ae6 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -6528,7 +6528,9 @@ static HRESULT d3d_device7_SetClipPlane(IDirect3DDevice7 *iface, DWORD idx, D3DV
     wined3d_plane = (struct wined3d_vec4 *)plane;
 
     wined3d_mutex_lock();
-    hr = wined3d_device_set_clip_plane(device->wined3d_device, idx, wined3d_plane);
+    hr = wined3d_stateblock_set_clip_plane(device->update_state, idx, wined3d_plane);
+    if (!device->recording)
+        hr = wined3d_device_set_clip_plane(device->wined3d_device, idx, wined3d_plane);
     if (idx < ARRAY_SIZE(device->user_clip_planes))
     {
         device->user_clip_planes[idx] = *wined3d_plane;
-- 
2.23.0




More information about the wine-devel mailing list