diff --git a/src/core/gpu.cpp b/src/core/gpu.cpp index cd48ec9a6..f6455e79c 100644 --- a/src/core/gpu.cpp +++ b/src/core/gpu.cpp @@ -1211,6 +1211,7 @@ void GPU::WriteGP1(u32 value) SynchronizeCRTC(); m_crtc_state.regs.display_address_start = new_value; UpdateCRTCDisplayParameters(); + OnBufferSwapped(); } } break; @@ -2704,6 +2705,10 @@ void GPU::DrawRendererStats() { } +void GPU::OnBufferSwapped() +{ +} + void GPU::GetStatsString(SmallStringBase& str) { if (IsHardwareRenderer()) diff --git a/src/core/gpu.h b/src/core/gpu.h index bbfe4e6eb..9bbfa4448 100644 --- a/src/core/gpu.h +++ b/src/core/gpu.h @@ -317,6 +317,7 @@ protected: virtual void DispatchRenderCommand(); virtual void UpdateDisplay(); virtual void DrawRendererStats(); + virtual void OnBufferSwapped(); ALWAYS_INLINE void AddDrawTriangleTicks(s32 x1, s32 y1, s32 x2, s32 y2, s32 x3, s32 y3, bool shaded, bool textured, bool semitransparent) diff --git a/src/core/gpu_hw.cpp b/src/core/gpu_hw.cpp index a92698366..9f7fe9fbf 100644 --- a/src/core/gpu_hw.cpp +++ b/src/core/gpu_hw.cpp @@ -3251,6 +3251,11 @@ void GPU_HW::UpdateDisplay() RestoreDeviceContext(); } +void GPU_HW::OnBufferSwapped() +{ + GL_INS("OnBufferSwapped()"); +} + void GPU_HW::DownsampleFramebuffer(GPUTexture* source, u32 left, u32 top, u32 width, u32 height) { if (m_downsample_mode == GPUDownsampleMode::Adaptive) diff --git a/src/core/gpu_hw.h b/src/core/gpu_hw.h index 22b41aaeb..5d989b9e1 100644 --- a/src/core/gpu_hw.h +++ b/src/core/gpu_hw.h @@ -176,6 +176,7 @@ private: void DispatchRenderCommand() override; void FlushRender() override; void DrawRendererStats() override; + void OnBufferSwapped() override; bool BlitVRAMReplacementTexture(const TextureReplacementTexture* tex, u32 dst_x, u32 dst_y, u32 width, u32 height);