diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index 33c891e248..08adde2fb3 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -1599,7 +1599,7 @@ void GLGSRender::InitDrawBuffers() } } -void GLGSRender::ExecCMD(u32 cmd) +void GLGSRender::Clear(u32 cmd) { assert(cmd == NV4097_CLEAR_SURFACE); @@ -1653,7 +1653,7 @@ void GLGSRender::ExecCMD(u32 cmd) WriteBuffers(); } -void GLGSRender::ExecCMD() +void GLGSRender::Draw() { //return; if (!LoadProgram()) diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.h b/rpcs3/Emu/RSX/GL/GLGSRender.h index 828a3bcf20..f1ea9cb83f 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.h +++ b/rpcs3/Emu/RSX/GL/GLGSRender.h @@ -194,8 +194,8 @@ protected: virtual void OnInitThread(); virtual void OnExitThread(); virtual void OnReset(); - virtual void ExecCMD(u32 cmd); - virtual void ExecCMD(); + virtual void Clear(u32 cmd) override; + virtual void Draw() override; virtual void Flip(); virtual void semaphorePGRAPHTextureReadRelease(u32 offset, u32 value) override; diff --git a/rpcs3/Emu/RSX/Null/NullGSRender.h b/rpcs3/Emu/RSX/Null/NullGSRender.h index 4644856b73..a68e70a44e 100644 --- a/rpcs3/Emu/RSX/Null/NullGSRender.h +++ b/rpcs3/Emu/RSX/Null/NullGSRender.h @@ -31,11 +31,11 @@ private: { } - virtual void ExecCMD(u32 cmd) + virtual void Clear(u32 cmd) override { } - virtual void ExecCMD() + virtual void Draw() override { } diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 04bbe9aaa0..e50f2ad5f2 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -847,7 +847,7 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const if (a0 & 0x80) m_clear_surface_color_a = m_clear_color_a; m_clear_surface_mask = a0; - ExecCMD(NV4097_CLEAR_SURFACE); + Clear(NV4097_CLEAR_SURFACE); break; } @@ -2416,7 +2416,7 @@ void RSXThread::Begin(u32 draw_mode) void RSXThread::End() { - ExecCMD(); + Draw(); for (auto &vdata : m_vertex_data) { diff --git a/rpcs3/Emu/RSX/RSXThread.h b/rpcs3/Emu/RSX/RSXThread.h index 7e2990ea0e..aa3f74e83f 100644 --- a/rpcs3/Emu/RSX/RSXThread.h +++ b/rpcs3/Emu/RSX/RSXThread.h @@ -646,8 +646,22 @@ protected: virtual void OnInitThread() = 0; virtual void OnExitThread() = 0; virtual void OnReset() = 0; - virtual void ExecCMD() = 0; - virtual void ExecCMD(u32 cmd) = 0; + + /** + * This member is called when the backend is expected to render a draw call, either + * indexed or not. + */ + virtual void Draw() = 0; + + /** + * This member is called when the backend is expected to clear a target surface. + */ + virtual void Clear(u32 cmd) = 0; + + /** + * This member is called when the backend is expected to present a target surface in + * either local or main memory. + */ virtual void Flip() = 0; /**