HRESULT RSManager::redirectPresent(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion) { prePresent(false); storeRenderState(); HRESULT hr = d3ddev->Present(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion); restoreRenderState(); cpuFrameTimer.start(); perfMonitor->start(); return hr; }
HRESULT RSManagerDX9::redirectPresent(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion) { prePresent(false); storeRenderState(); genericPrePresent(); HRESULT hr = d3ddev->Present(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion); genericPostPresent(); restoreRenderState(); return hr; }
HRESULT RSManager::redirectPresentEx(CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) { SDLOG(1, "- PresentEx flags: %s\n", D3DPresentExFlagsToString(dwFlags).c_str()); prePresent((dwFlags & D3DPRESENT_DONOTFLIP) != 0); storeRenderState(); HRESULT hr = ((IDirect3DDevice9Ex*)d3ddev)->PresentEx(pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion, dwFlags); restoreRenderState(); cpuFrameTimer.start(); perfMonitor->start(); return hr; }