summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/nine/swapchain9.c11
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);