diff options
-rw-r--r-- | src/gallium/state_trackers/nine/swapchain9.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gallium/state_trackers/nine/swapchain9.c b/src/gallium/state_trackers/nine/swapchain9.c index 803bd519a59..db3766063a5 100644 --- a/src/gallium/state_trackers/nine/swapchain9.c +++ b/src/gallium/state_trackers/nine/swapchain9.c @@ -778,17 +778,13 @@ NineSwapChain9_Present( struct NineSwapChain9 *This, D3DWindowBuffer *handle_temp; struct threadpool_task *task_temp; int i; - HRESULT hr = present(This, pSourceRect, pDestRect, - hDestWindowOverride, pDirtyRegion, dwFlags); + HRESULT hr; DBG("This=%p pSourceRect=%p pDestRect=%p hDestWindowOverride=%p " "pDirtyRegion=%p dwFlags=%d\n", This, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion,dwFlags); - if (hr == D3DERR_WASSTILLDRAWING) - return hr; - if (This->base.device->ex) { if (NineSwapChain9_GetOccluded(This)) { return S_PRESENT_OCCLUDED; @@ -803,6 +799,11 @@ NineSwapChain9_Present( struct NineSwapChain9 *This, } } + hr = present(This, pSourceRect, pDestRect, + hDestWindowOverride, pDirtyRegion, dwFlags); + if (hr == D3DERR_WASSTILLDRAWING) + return hr; + switch (This->params.SwapEffect) { case D3DSWAPEFFECT_FLIP: UNTESTED(4); |