Moves GL error check after SwapBuffers to decrease a possible synchronization during rendering process.
Comments By: Stan, elexis Differential Revision: https://code.wildfiregames.com/D2600 This was SVN commit r23462.
This commit is contained in:
parent
1fdcb80850
commit
ecc7d2913e
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2019 Wildfire Games.
|
||||
/* Copyright (C) 2020 Wildfire Games.
|
||||
* This file is part of 0 A.D.
|
||||
*
|
||||
* 0 A.D. is free software: you can redistribute it and/or modify
|
||||
@ -420,6 +420,8 @@ static void Frame()
|
||||
SDL_GL_SwapWindow(g_VideoMode.GetWindow());
|
||||
ogl_WarnIfError();
|
||||
}
|
||||
|
||||
g_Renderer.OnSwapBuffers();
|
||||
}
|
||||
|
||||
g_Profiler.Frame();
|
||||
|
@ -1456,17 +1456,16 @@ void CRenderer::EndFrame()
|
||||
m->Model.TranspUnskinned->EndFrame();
|
||||
|
||||
ogl_tex_bind(0, 0);
|
||||
|
||||
{
|
||||
PROFILE3("error check");
|
||||
int err = glGetError();
|
||||
if (err)
|
||||
{
|
||||
ONCE(LOGERROR("CRenderer::EndFrame: GL errors %s (%04x) occurred", ogl_GetErrorName(err), err));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CRenderer::OnSwapBuffers()
|
||||
{
|
||||
PROFILE3("error check");
|
||||
// We have to check GL errors after SwapBuffer to avoid possible
|
||||
// synchronizations during rendering.
|
||||
//if (GLenum err = glGetError())
|
||||
// ONCE(LOGERROR("GL error %s (0x%04x) occurred", ogl_GetErrorName(err), err));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// DisplayFrustum: debug displays
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2019 Wildfire Games.
|
||||
/* Copyright (C) 2020 Wildfire Games.
|
||||
* This file is part of 0 A.D.
|
||||
*
|
||||
* 0 A.D. is free software: you can redistribute it and/or modify
|
||||
@ -137,6 +137,11 @@ public:
|
||||
// signal frame end
|
||||
void EndFrame();
|
||||
|
||||
/**
|
||||
* Should be called after each SwapBuffers call.
|
||||
*/
|
||||
void OnSwapBuffers();
|
||||
|
||||
/**
|
||||
* Set simulation context for rendering purposes.
|
||||
* Must be called at least once when the game has started and before
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2019 Wildfire Games.
|
||||
/* Copyright (C) 2020 Wildfire Games.
|
||||
* This file is part of 0 A.D.
|
||||
*
|
||||
* 0 A.D. is free software: you can redistribute it and/or modify
|
||||
@ -231,6 +231,7 @@ void AtlasViewGame::Render()
|
||||
|
||||
::Render();
|
||||
Atlas_GLSwapBuffers((void*)g_AtlasGameLoop->glCanvas);
|
||||
g_Renderer.OnSwapBuffers();
|
||||
}
|
||||
|
||||
void AtlasViewGame::DrawCinemaPathTool()
|
||||
|
Loading…
Reference in New Issue
Block a user