summaryrefslogtreecommitdiffstats
path: root/editor/editor_resource_preview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor_resource_preview.cpp')
-rw-r--r--editor/editor_resource_preview.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/editor/editor_resource_preview.cpp b/editor/editor_resource_preview.cpp
index a50b2f3dcc..4dca3b33af 100644
--- a/editor/editor_resource_preview.cpp
+++ b/editor/editor_resource_preview.cpp
@@ -131,7 +131,7 @@ Variant EditorResourcePreviewGenerator::DrawRequester::_post_semaphore() const {
}
bool EditorResourcePreview::is_threaded() const {
- return RSG::texture_storage->can_create_resources_async();
+ return RSG::rasterizer->can_create_resources_async();
}
void EditorResourcePreview::_thread_func(void *ud) {
@@ -414,6 +414,24 @@ void EditorResourcePreview::_update_thumbnail_sizes() {
}
}
+EditorResourcePreview::PreviewItem EditorResourcePreview::get_resource_preview_if_available(const String &p_path) {
+ PreviewItem item;
+ {
+ MutexLock lock(preview_mutex);
+
+ HashMap<String, EditorResourcePreview::Item>::Iterator I = cache.find(p_path);
+ if (!I) {
+ return item;
+ }
+
+ EditorResourcePreview::Item &cached_item = I->value;
+ item.preview = cached_item.preview;
+ item.small_preview = cached_item.small_preview;
+ }
+ preview_sem.post();
+ return item;
+}
+
void EditorResourcePreview::queue_edited_resource_preview(const Ref<Resource> &p_res, Object *p_receiver, const StringName &p_receiver_func, const Variant &p_userdata) {
ERR_FAIL_NULL(p_receiver);
ERR_FAIL_COND(!p_res.is_valid());