[0.4.13] Avoid regressions CORE-14955 "Ddraw fullscreen crashes", CORE-15652
[reactos.git] / dll / directx / wine / d3d9 / swapchain.c
index d303f3f..dbb3f45 100644 (file)
 
 WINE_DEFAULT_DEBUG_CHANNEL(d3d9);
 
-static DWORD d3dpresentationinterval_from_wined3dswapinterval(enum wined3d_swap_interval interval)
-{
-    switch (interval)
-    {
-        case WINED3D_SWAP_INTERVAL_IMMEDIATE:
-            return D3DPRESENT_INTERVAL_IMMEDIATE;
-        case WINED3D_SWAP_INTERVAL_ONE:
-            return D3DPRESENT_INTERVAL_ONE;
-        case WINED3D_SWAP_INTERVAL_TWO:
-            return D3DPRESENT_INTERVAL_TWO;
-        case WINED3D_SWAP_INTERVAL_THREE:
-            return D3DPRESENT_INTERVAL_THREE;
-        case WINED3D_SWAP_INTERVAL_FOUR:
-            return D3DPRESENT_INTERVAL_FOUR;
-        default:
-            ERR("Invalid swap interval %#x.\n", interval);
-        case WINED3D_SWAP_INTERVAL_DEFAULT:
-            return D3DPRESENT_INTERVAL_DEFAULT;
-    }
-}
-
 static inline struct d3d9_swapchain *impl_from_IDirect3DSwapChain9Ex(IDirect3DSwapChain9Ex *iface)
 {
     return CONTAINING_RECORD(iface, struct d3d9_swapchain, IDirect3DSwapChain9Ex_iface);
@@ -158,7 +137,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_swapchain_Present(IDirect3DSwapChai
 
     wined3d_mutex_lock();
     hr = wined3d_swapchain_present(swapchain->wined3d_swapchain,
-            src_rect, dst_rect, dst_window_override, swapchain->swap_interval, flags);
+            src_rect, dst_rect, dst_window_override, 0, flags);
     wined3d_mutex_unlock();
 
     return hr;
@@ -272,15 +251,13 @@ static HRESULT WINAPI d3d9_swapchain_GetPresentParameters(IDirect3DSwapChain9Ex
 {
     struct d3d9_swapchain *swapchain = impl_from_IDirect3DSwapChain9Ex(iface);
     struct wined3d_swapchain_desc desc;
-    DWORD presentation_interval;
 
     TRACE("iface %p, parameters %p.\n", iface, parameters);
 
     wined3d_mutex_lock();
     wined3d_swapchain_get_desc(swapchain->wined3d_swapchain, &desc);
-    presentation_interval = d3dpresentationinterval_from_wined3dswapinterval(swapchain->swap_interval);
     wined3d_mutex_unlock();
-    present_parameters_from_wined3d_swapchain_desc(parameters, &desc, presentation_interval);
+    present_parameters_from_wined3d_swapchain_desc(parameters, &desc);
 
     return D3D_OK;
 }
@@ -367,13 +344,12 @@ static const struct wined3d_parent_ops d3d9_swapchain_wined3d_parent_ops =
 };
 
 static HRESULT swapchain_init(struct d3d9_swapchain *swapchain, struct d3d9_device *device,
-        struct wined3d_swapchain_desc *desc, unsigned int swap_interval)
+        struct wined3d_swapchain_desc *desc)
 {
     HRESULT hr;
 
     swapchain->refcount = 1;
     swapchain->IDirect3DSwapChain9Ex_iface.lpVtbl = &d3d9_swapchain_vtbl;
-    swapchain->swap_interval = swap_interval;
 
     wined3d_mutex_lock();
     hr = wined3d_swapchain_create(device->wined3d_device, desc, swapchain,
@@ -393,7 +369,7 @@ static HRESULT swapchain_init(struct d3d9_swapchain *swapchain, struct d3d9_devi
 }
 
 HRESULT d3d9_swapchain_create(struct d3d9_device *device, struct wined3d_swapchain_desc *desc,
-        unsigned int swap_interval, struct d3d9_swapchain **swapchain)
+        struct d3d9_swapchain **swapchain)
 {
     struct d3d9_swapchain *object;
     HRESULT hr;
@@ -401,7 +377,7 @@ HRESULT d3d9_swapchain_create(struct d3d9_device *device, struct wined3d_swapcha
     if (!(object = heap_alloc_zero(sizeof(*object))))
         return E_OUTOFMEMORY;
 
-    if (FAILED(hr = swapchain_init(object, device, desc, swap_interval)))
+    if (FAILED(hr = swapchain_init(object, device, desc)))
     {
         WARN("Failed to initialize swapchain, hr %#x.\n", hr);
         heap_free(object);