rpcsx/rpcs3/Emu/RSX/GSRender.h
Nekotekina 8e1991c1e1 semaphore_t, RSX fixes
1) GS_LOCK_WAIT_FLUSH semaphore eliminated
2) GS_LOCK_WAIT_FLIP semaphore left unused
3) cellRescSetWaitFlip/cellGcmSetWaitFlip purged: they don't wait for
flip, it's a nonsense, they only generate some RSX command
4) Semaphores rewritten
2015-08-01 14:38:57 +03:00

38 lines
483 B
C++

#pragma once
#include "Emu/RSX/RSXThread.h"
struct GSRender : public RSXThread
{
virtual ~GSRender() override
{
if (joinable())
{
throw EXCEPTION("Thread not joined");
}
}
virtual void Close()=0;
};
enum GSLockType
{
GS_LOCK_NOT_WAIT,
GS_LOCK_WAIT_FLIP,
};
struct GSLock
{
private:
GSRender& m_renderer;
GSLockType m_type;
public:
GSLock(GSRender& renderer, GSLockType type);
~GSLock();
};
struct GSLockCurrent : GSLock
{
GSLockCurrent(GSLockType type);
};