From eb0e1f429598dfd0fc8526273c0d71f25b5183a3 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 27 Jan 2006 09:13:03 +0000 Subject: [PATCH] add an overload which is called from the main thread, just before using the concurrent rendering thread --- stepmania/src/RageDisplay.h | 2 ++ stepmania/src/RageDisplay_OGL.cpp | 10 ++++++++++ stepmania/src/RageDisplay_OGL.h | 2 ++ stepmania/src/arch/LowLevelWindow/LowLevelWindow.h | 2 ++ 4 files changed, 16 insertions(+) diff --git a/stepmania/src/RageDisplay.h b/stepmania/src/RageDisplay.h index d2a760ac6b..41d845b1c0 100644 --- a/stepmania/src/RageDisplay.h +++ b/stepmania/src/RageDisplay.h @@ -159,6 +159,8 @@ public: // If threaded rendering is supported, these will be called from the rendering // thread before and after rendering. + virtual void BeginConcurrentRenderingMainThread() { } + virtual void EndConcurrentRenderingMainThread() { } virtual void BeginConcurrentRendering() { } virtual void EndConcurrentRendering() { } diff --git a/stepmania/src/RageDisplay_OGL.cpp b/stepmania/src/RageDisplay_OGL.cpp index 5c6d837eb9..22e99f3a8c 100644 --- a/stepmania/src/RageDisplay_OGL.cpp +++ b/stepmania/src/RageDisplay_OGL.cpp @@ -1615,6 +1615,16 @@ bool RageDisplay_OGL::SupportsThreadedRendering() return g_pWind->SupportsThreadedRendering(); } +void RageDisplay_OGL::BeginConcurrentRenderingMainThread() +{ + g_pWind->BeginConcurrentRenderingMainThread(); +} + +void RageDisplay_OGL::EndConcurrentRenderingMainThread() +{ + g_pWind->EndConcurrentRenderingMainThread(); +} + void RageDisplay_OGL::BeginConcurrentRendering() { g_pWind->BeginConcurrentRendering(); diff --git a/stepmania/src/RageDisplay_OGL.h b/stepmania/src/RageDisplay_OGL.h index 2643421ab9..5cfc06c018 100644 --- a/stepmania/src/RageDisplay_OGL.h +++ b/stepmania/src/RageDisplay_OGL.h @@ -16,6 +16,8 @@ public: const PixelFormatDesc *GetPixelFormatDesc(PixelFormat pf) const; bool SupportsThreadedRendering(); + void BeginConcurrentRenderingMainThread(); + void EndConcurrentRenderingMainThread(); void BeginConcurrentRendering(); void EndConcurrentRendering(); diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow.h b/stepmania/src/arch/LowLevelWindow/LowLevelWindow.h index 4d8f3823be..2ed4d6ee81 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow.h +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow.h @@ -27,6 +27,8 @@ public: virtual const VideoModeParams &GetActualVideoModeParams() const = 0; virtual bool SupportsThreadedRendering() { return false; } + virtual void BeginConcurrentRenderingMainThread() { } + virtual void EndConcurrentRenderingMainThread() { } virtual void BeginConcurrentRendering() { } virtual void EndConcurrentRendering() { } };