Merge pull request #12500 from AdmiralCurtiss/globals-fiforecorder
FifoRecorder: Move instance to System.
This commit is contained in:
10 files changed
+60
-38
No files matched your search
@@ -213,9 +213,11 @@ void FifoRecorder::FifoRecordAnalyzer::ProcessVertexComponent(
|
||||
m_owner->UseMemory(array_start, array_size, MemoryUpdate::Type::VertexStream);
|
||||
}
|
||||
|
||||
static FifoRecorder instance;
|
||||
FifoRecorder::FifoRecorder(Core::System& system) : m_system(system)
|
||||
{
|
||||
}
|
||||
|
||||
FifoRecorder::FifoRecorder() = default;
|
||||
FifoRecorder::~FifoRecorder() = default;
|
||||
|
||||
void FifoRecorder::StartRecording(s32 numFrames, CallbackFunc finishedCb)
|
||||
{
|
||||
@@ -235,8 +237,7 @@ void FifoRecorder::StartRecording(s32 numFrames, CallbackFunc finishedCb)
|
||||
// - Global variables suck
|
||||
// - Multithreading with the above two sucks
|
||||
//
|
||||
auto& system = Core::System::GetInstance();
|
||||
auto& memory = system.GetMemory();
|
||||
auto& memory = m_system.GetMemory();
|
||||
m_Ram.resize(memory.GetRamSize());
|
||||
m_ExRam.resize(memory.GetExRamSize());
|
||||
|
||||
@@ -272,7 +273,7 @@ void FifoRecorder::StartRecording(s32 numFrames, CallbackFunc finishedCb)
|
||||
RecordInitialVideoMemory();
|
||||
}
|
||||
|
||||
const auto& fifo = Core::System::GetInstance().GetCommandProcessor().GetFifo();
|
||||
const auto& fifo = m_system.GetCommandProcessor().GetFifo();
|
||||
EndFrame(fifo.CPBase.load(std::memory_order_relaxed),
|
||||
fifo.CPEnd.load(std::memory_order_relaxed));
|
||||
},
|
||||
@@ -356,8 +357,7 @@ void FifoRecorder::WriteGPCommand(const u8* data, u32 size)
|
||||
|
||||
void FifoRecorder::UseMemory(u32 address, u32 size, MemoryUpdate::Type type, bool dynamicUpdate)
|
||||
{
|
||||
auto& system = Core::System::GetInstance();
|
||||
auto& memory = system.GetMemory();
|
||||
auto& memory = m_system.GetMemory();
|
||||
|
||||
u8* curData;
|
||||
u8* newData;
|
||||
@@ -461,8 +461,3 @@ bool FifoRecorder::IsRecording() const
|
||||
{
|
||||
return m_IsRecording;
|
||||
}
|
||||
|
||||
FifoRecorder& FifoRecorder::GetInstance()
|
||||
{
|
||||
return instance;
|
||||
}
|
||||
@@ -12,12 +12,22 @@
|
||||
#include "Common/HookableEvent.h"
|
||||
#include "Core/FifoPlayer/FifoDataFile.h"
|
||||
|
||||
namespace Core
|
||||
{
|
||||
class System;
|
||||
}
|
||||
|
||||
class FifoRecorder
|
||||
{
|
||||
public:
|
||||
using CallbackFunc = std::function<void()>;
|
||||
|
||||
FifoRecorder();
|
||||
explicit FifoRecorder(Core::System& system);
|
||||
FifoRecorder(const FifoRecorder&) = delete;
|
||||
FifoRecorder(FifoRecorder&&) = delete;
|
||||
FifoRecorder& operator=(const FifoRecorder&) = delete;
|
||||
FifoRecorder& operator=(FifoRecorder&&) = delete;
|
||||
~FifoRecorder();
|
||||
|
||||
void StartRecording(s32 numFrames, CallbackFunc finishedCb);
|
||||
void StopRecording();
|
||||
@@ -46,7 +56,6 @@ public:
|
||||
|
||||
// Checked once per frame prior to callng EndFrame()
|
||||
bool IsRecording() const;
|
||||
static FifoRecorder& GetInstance();
|
||||
|
||||
private:
|
||||
class FifoRecordAnalyzer;
|
||||
@@ -77,4 +86,6 @@ private:
|
||||
std::vector<u8> m_ExRam;
|
||||
|
||||
Common::EventHook m_end_of_frame_event;
|
||||
|
||||
Core::System& m_system;
|
||||
};
|
||||
Reference in new issue
Block a user