Unify three types of non-FIFO requests to the GPU thread around Common::Event and Common::Flag.

The only possible functionality change is that s_efbAccessRequested and
s_swapRequested are no longer reset at init and shutdown of the OGL
backend (only; this is the only interaction any files other than
MainBase.cpp have with them).  I am fairly certain this was entirely
vestigial.

Possible performance implications: efbAccessReady now uses an Event
rather than spinning, which might be slightly slower, but considering
the slow loop the flags are being checked in from the GPU thread, I
doubt it's noticeable.

Also, this uses sequentially consistent rather than release/acquire
memory order, which might be slightly slower, especially on ARM...
something to improve in Event/Flag, really.
This commit is contained in:
comex
2014-08-24 19:13:46 -04:00
parent de7294ecc1
commit e31d6feaa2
5 changed files with 38 additions and 60 deletions

View File

@ -189,10 +189,6 @@ void VideoBackend::Video_Prepare()
g_renderer = new Renderer;
s_efbAccessRequested = false;
s_FifoShuttingDown = false;
s_swapRequested = false;
CommandProcessor::Init();
PixelEngine::Init();
@ -230,9 +226,6 @@ void VideoBackend::Video_Cleanup()
{
if (g_renderer)
{
s_efbAccessRequested = false;
s_FifoShuttingDown = false;
s_swapRequested = false;
Fifo_Shutdown();
// The following calls are NOT Thread Safe