Commit 1727a0ae by Geoff Lang

Add a flag to ANGLE to force immediate swap.

R=shannonwoods@chromium.org Review URL: https://codereview.appspot.com/14529045
parent 7d3fecf8
...@@ -12,6 +12,10 @@ ...@@ -12,6 +12,10 @@
#include "common/angleutils.h" #include "common/angleutils.h"
#if !defined(ANGLE_FORCE_VSYNC_OFF)
#define ANGLE_FORCE_VSYNC_OFF 0
#endif
namespace rx namespace rx
{ {
......
...@@ -670,7 +670,12 @@ EGLint SwapChain11::swapRect(EGLint x, EGLint y, EGLint width, EGLint height) ...@@ -670,7 +670,12 @@ EGLint SwapChain11::swapRect(EGLint x, EGLint y, EGLint width, EGLint height)
// Draw // Draw
deviceContext->Draw(4, 0); deviceContext->Draw(4, 0);
#if ANGLE_FORCE_VSYNC_OFF
result = mSwapChain->Present(0, 0);
#else
result = mSwapChain->Present(mSwapInterval, 0); result = mSwapChain->Present(mSwapInterval, 0);
#endif
if (result == DXGI_ERROR_DEVICE_REMOVED) if (result == DXGI_ERROR_DEVICE_REMOVED)
{ {
......
...@@ -71,6 +71,9 @@ void SwapChain9::release() ...@@ -71,6 +71,9 @@ void SwapChain9::release()
static DWORD convertInterval(EGLint interval) static DWORD convertInterval(EGLint interval)
{ {
#if ANGLE_FORCE_VSYNC_OFF
return D3DPRESENT_INTERVAL_IMMEDIATE;
#else
switch(interval) switch(interval)
{ {
case 0: return D3DPRESENT_INTERVAL_IMMEDIATE; case 0: return D3DPRESENT_INTERVAL_IMMEDIATE;
...@@ -82,6 +85,7 @@ static DWORD convertInterval(EGLint interval) ...@@ -82,6 +85,7 @@ static DWORD convertInterval(EGLint interval)
} }
return D3DPRESENT_INTERVAL_DEFAULT; return D3DPRESENT_INTERVAL_DEFAULT;
#endif
} }
EGLint SwapChain9::resize(int backbufferWidth, int backbufferHeight) EGLint SwapChain9::resize(int backbufferWidth, int backbufferHeight)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment