mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-31 21:04:40 +01:00
39 lines
504 B
C++
39 lines
504 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_FLUSH,
|
|
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);
|
|
}; |