summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Sizov <11782833+YuriSizov@users.noreply.github.com>2023-07-20 16:28:47 +0200
committerGitHub <noreply@github.com>2023-07-20 16:28:47 +0200
commitdd05012122f77a915e4ba9dd6b43bae878667fbc (patch)
tree5b16f4e8322344799824de06a958ec33bb3b5b69
parente8af22d3de637e59f5cf1c75cb89f725b6cfd713 (diff)
parent0a64abe891a3c0d1379c2c23c0f968dba643a324 (diff)
downloadredot-engine-dd05012122f77a915e4ba9dd6b43bae878667fbc.tar.gz
Merge pull request #79528 from univeous/video_adapter_fix
Fix crash when calling `get_video_adapter_*` in a thread
-rw-r--r--servers/rendering/rendering_server_default.cpp12
-rw-r--r--servers/rendering/rendering_server_default.h31
2 files changed, 17 insertions, 26 deletions
diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp
index 65bdb94c9f..ff6bf3a6ba 100644
--- a/servers/rendering/rendering_server_default.cpp
+++ b/servers/rendering/rendering_server_default.cpp
@@ -258,22 +258,10 @@ uint64_t RenderingServerDefault::get_rendering_info(RenderingInfo p_info) {
return RSG::utilities->get_rendering_info(p_info);
}
-String RenderingServerDefault::get_video_adapter_name() const {
- return RSG::utilities->get_video_adapter_name();
-}
-
-String RenderingServerDefault::get_video_adapter_vendor() const {
- return RSG::utilities->get_video_adapter_vendor();
-}
-
RenderingDevice::DeviceType RenderingServerDefault::get_video_adapter_type() const {
return RSG::utilities->get_video_adapter_type();
}
-String RenderingServerDefault::get_video_adapter_api_version() const {
- return RSG::utilities->get_video_adapter_api_version();
-}
-
void RenderingServerDefault::set_frame_profiling_enabled(bool p_enable) {
RSG::utilities->capturing_timestamps = p_enable;
}
diff --git a/servers/rendering/rendering_server_default.h b/servers/rendering/rendering_server_default.h
index 797fe73ba0..340eb7394b 100644
--- a/servers/rendering/rendering_server_default.h
+++ b/servers/rendering/rendering_server_default.h
@@ -946,9 +946,26 @@ public:
#undef server_name
#undef ServerName
+ /* STATUS INFORMATION */
+#define ServerName RendererUtilities
+#define server_name RSG::utilities
+ FUNC0RC(String, get_video_adapter_name)
+ FUNC0RC(String, get_video_adapter_vendor)
+ FUNC0RC(String, get_video_adapter_api_version)
+#undef server_name
+#undef ServerName
#undef WRITE_ACTION
#undef SYNC_DEBUG
+ virtual uint64_t get_rendering_info(RenderingInfo p_info) override;
+ virtual RenderingDevice::DeviceType get_video_adapter_type() const override;
+
+ virtual void set_frame_profiling_enabled(bool p_enable) override;
+ virtual Vector<FrameProfileArea> get_frame_profile() override;
+ virtual uint64_t get_frame_profile_frame() override;
+
+ virtual RID get_test_cube() override;
+
/* FREE */
virtual void free(RID p_rid) override {
@@ -970,20 +987,6 @@ public:
virtual void init() override;
virtual void finish() override;
- /* STATUS INFORMATION */
-
- virtual uint64_t get_rendering_info(RenderingInfo p_info) override;
- virtual String get_video_adapter_name() const override;
- virtual String get_video_adapter_vendor() const override;
- virtual RenderingDevice::DeviceType get_video_adapter_type() const override;
- virtual String get_video_adapter_api_version() const override;
-
- virtual void set_frame_profiling_enabled(bool p_enable) override;
- virtual Vector<FrameProfileArea> get_frame_profile() override;
- virtual uint64_t get_frame_profile_frame() override;
-
- virtual RID get_test_cube() override;
-
/* TESTING */
virtual double get_frame_setup_time_cpu() const override;