mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-07 17:20:14 +01:00
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
38 lines
483 B
C++
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);
|
|
}; |