Skip to content

Commit 5ac6e3b

Browse files
committed
Small fix for CRenderItemManager::SaveReadableDepthBuffer
1 parent c69bfa0 commit 5ac6e3b

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

Client/core/Graphics/CRenderItemManager.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
#include <game/CSettings.h>
1414
#include "CRenderItem.EffectCloner.h"
1515

16+
extern bool g_bInMTAScene;
17+
extern bool g_bInGTAScene;
18+
1619
// Type of vertex used to emulate StretchRect for SwiftShader bug
1720
struct SRTVertex
1821
{
@@ -1241,9 +1244,15 @@ void CRenderItemManager::SaveReadableDepthBuffer()
12411244
}
12421245

12431246
// Additional sync point for GPU driver
1244-
// Force immediate execution of depth buffer state changes
1245-
m_pDevice->BeginScene();
1246-
m_pDevice->EndScene();
1247+
// Force immediate execution of depth buffer state changes when we can safely begin a scene
1248+
if (!g_bInMTAScene && !g_bInGTAScene)
1249+
{
1250+
const HRESULT hBeginScene = m_pDevice->BeginScene();
1251+
if (SUCCEEDED(hBeginScene))
1252+
{
1253+
m_pDevice->EndScene();
1254+
}
1255+
}
12471256
}
12481257
}
12491258

0 commit comments

Comments
 (0)