From c51080068e13f332d3373cfcedd981d22612ee70 Mon Sep 17 00:00:00 2001
From: Joshua Ashton <joshua@froggi.es>
Date: Thu, 20 May 2021 22:35:38 +0100
Subject: [PATCH] [dxgi] Handle DXGI_PRESENT_TEST and failures in
 GetFrameStatistics

---
 src/dxgi/dxgi_swapchain.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/dxgi/dxgi_swapchain.cpp b/src/dxgi/dxgi_swapchain.cpp
index 54ef286d..6bfeab8e 100644
--- a/src/dxgi/dxgi_swapchain.cpp
+++ b/src/dxgi/dxgi_swapchain.cpp
@@ -265,8 +265,10 @@ namespace dxvk {
     std::lock_guard<std::mutex> lockBuf(m_lockBuffer);
 
     try {
-      m_presentCount++;
-      return m_presenter->Present(SyncInterval, PresentFlags, nullptr);
+      HRESULT hr = m_presenter->Present(SyncInterval, PresentFlags, nullptr);
+      if (hr == S_OK && !(PresentFlags & DXGI_PRESENT_TEST))
+        m_presentCount++;
+      return hr;
     } catch (const DxvkError& err) {
       Logger::err(err.message());
       return DXGI_ERROR_DRIVER_INTERNAL_ERROR;