summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_server_default.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/rendering/rendering_server_default.h')
-rw-r--r--servers/rendering/rendering_server_default.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/servers/rendering/rendering_server_default.h b/servers/rendering/rendering_server_default.h
index c79d3a64cf..9ad2175332 100644
--- a/servers/rendering/rendering_server_default.h
+++ b/servers/rendering/rendering_server_default.h
@@ -97,6 +97,8 @@ class RenderingServerDefault : public RenderingServer {
void _free(RID p_rid);
+ void _call_on_render_thread(const Callable &p_callable);
+
public:
//if editor is redrawing when it shouldn't, enable this and put a breakpoint in _changes_changed()
//#define DEBUG_CHANGES
@@ -627,6 +629,7 @@ public:
FUNC2(viewport_remove_canvas, RID, RID)
FUNC3(viewport_set_canvas_transform, RID, RID, const Transform2D &)
FUNC2(viewport_set_transparent_background, RID, bool)
+ FUNC2(viewport_set_use_hdr_2d, RID, bool)
FUNC2(viewport_set_snap_2d_transforms_to_pixel, RID, bool)
FUNC2(viewport_set_snap_2d_vertices_to_pixel, RID, bool)
@@ -991,6 +994,15 @@ public:
virtual void init() override;
virtual void finish() override;
+ virtual void call_on_render_thread(const Callable &p_callable) override {
+ if (Thread::get_caller_id() == server_thread) {
+ command_queue.flush_if_pending();
+ _call_on_render_thread(p_callable);
+ } else {
+ command_queue.push(this, &RenderingServerDefault::_call_on_render_thread, p_callable);
+ }
+ }
+
/* TESTING */
virtual double get_frame_setup_time_cpu() const override;