From c8c6f24b63e66938e4a9af6514681f4e17517e4a Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sun, 8 Jul 2018 15:53:30 +0200 Subject: [PATCH] [d3d11] Fix log spam when an application uses DiscardView We don't support this method, but we should only issue the warning once to prevent poor performance. --- src/d3d11/d3d11_context.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 3d728c730..1fdf030e0 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -62,18 +62,27 @@ namespace dxvk { } void STDMETHODCALLTYPE D3D11DeviceContext::DiscardResource(ID3D11Resource * pResource) { - Logger::err("D3D11DeviceContext::DiscardResource: Not implemented"); + static bool s_errorShown = false; + + if (!std::exchange(s_errorShown, true)) + Logger::err("D3D11DeviceContext::DiscardResource: Not implemented"); } void STDMETHODCALLTYPE D3D11DeviceContext::DiscardView(ID3D11View * pResourceView) { - Logger::err("D3D11DeviceContext::DiscardView: Not implemented"); + static bool s_errorShown = false; + + if (!std::exchange(s_errorShown, true)) + Logger::err("D3D11DeviceContext::DiscardView: Not implemented"); } void STDMETHODCALLTYPE D3D11DeviceContext::DiscardView1( ID3D11View* pResourceView, const D3D11_RECT* pRects, UINT NumRects) { - Logger::err("D3D11DeviceContext::DiscardView1: Not implemented"); + static bool s_errorShown = false; + + if (!std::exchange(s_errorShown, true)) + Logger::err("D3D11DeviceContext::DiscardView1: Not implemented"); } void STDMETHODCALLTYPE D3D11DeviceContext::SwapDeviceContextState(