diff options
author | Manuel Moos <z-man@users.sf.net> | 2020-01-30 22:22:36 +0100 |
---|---|---|
committer | Manuel Moos <z-man@users.sf.net> | 2021-03-21 14:45:38 +0100 |
commit | fc7333433b870fbc8961200f6689a7bf4ba6b90b (patch) | |
tree | 88e4d051527e3715f9317d01a7bb53547dd48c32 /servers | |
parent | 07f076fa4f2896415993bb8e3fb42128423de0d2 (diff) |
Remove redundant thread sync counter draw_pending
The functions that used it already use a threadsafe FIFO queue
to communicate between threads and a sync to have the main thread
wait for the render thread.
Fixes #35718
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/rendering_server_default.cpp | 7 | ||||
-rw-r--r-- | servers/rendering/rendering_server_default.h | 1 |
2 files changed, 1 insertions, 7 deletions
diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index c6fe6a07e0..67469f98cb 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -333,13 +333,10 @@ void RenderingServerDefault::_thread_exit() { } void RenderingServerDefault::_thread_draw(bool p_swap_buffers, double frame_step) { - if (!draw_pending.decrement()) { - _draw(p_swap_buffers, frame_step); - } + _draw(p_swap_buffers, frame_step); } void RenderingServerDefault::_thread_flush() { - draw_pending.decrement(); } void RenderingServerDefault::_thread_callback(void *_instance) { @@ -370,7 +367,6 @@ void RenderingServerDefault::_thread_loop() { void RenderingServerDefault::sync() { if (create_thread) { - draw_pending.increment(); command_queue.push_and_sync(this, &RenderingServerDefault::_thread_flush); } else { command_queue.flush_all(); //flush all pending from other threads @@ -379,7 +375,6 @@ void RenderingServerDefault::sync() { void RenderingServerDefault::draw(bool p_swap_buffers, double frame_step) { if (create_thread) { - draw_pending.increment(); command_queue.push(this, &RenderingServerDefault::_thread_draw, p_swap_buffers, frame_step); } else { _draw(p_swap_buffers, frame_step); diff --git a/servers/rendering/rendering_server_default.h b/servers/rendering/rendering_server_default.h index e82d5cc3f8..a581c6e67a 100644 --- a/servers/rendering/rendering_server_default.h +++ b/servers/rendering/rendering_server_default.h @@ -94,7 +94,6 @@ class RenderingServerDefault : public RenderingServer { SafeFlag draw_thread_up; bool create_thread; - SafeNumeric<uint64_t> draw_pending; void _thread_draw(bool p_swap_buffers, double frame_step); void _thread_flush(); |