summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorACB <ansas.bogdan@rwth-aachen.de>2024-02-11 13:12:21 +0100
committerACB <ansas.bogdan@rwth-aachen.de>2024-02-11 17:23:00 +0100
commit09d2c09434efba4d37c603d4fe67a643de70f92e (patch)
tree4cbbdd708437950d63ee0eba8780974227a73ebd
parent4e990cd7e51d17cf24f854cc33b2715eaa27200f (diff)
downloadredot-engine-09d2c09434efba4d37c603d4fe67a643de70f92e.tar.gz
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for gles3
-rw-r--r--drivers/gles3/storage/texture_storage.h4
-rw-r--r--servers/rendering/renderer_rd/storage_rd/texture_storage.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gles3/storage/texture_storage.h b/drivers/gles3/storage/texture_storage.h
index 83f31d122c..91bb676711 100644
--- a/drivers/gles3/storage/texture_storage.h
+++ b/drivers/gles3/storage/texture_storage.h
@@ -404,8 +404,8 @@ private:
RID_Owner<CanvasTexture, true> canvas_texture_owner;
/* Texture API */
-
- mutable RID_Owner<Texture> texture_owner;
+ // Textures can be created from threads, so this RID_Owner is thread safe.
+ mutable RID_Owner<Texture, true> texture_owner;
Ref<Image> _get_gl_image_and_format(const Ref<Image> &p_image, Image::Format p_format, Image::Format &r_real_format, GLenum &r_gl_format, GLenum &r_gl_internal_format, GLenum &r_gl_type, bool &r_compressed, bool p_force_decompress) const;
diff --git a/servers/rendering/renderer_rd/storage_rd/texture_storage.h b/servers/rendering/renderer_rd/storage_rd/texture_storage.h
index c665b02e14..1304b284d5 100644
--- a/servers/rendering/renderer_rd/storage_rd/texture_storage.h
+++ b/servers/rendering/renderer_rd/storage_rd/texture_storage.h
@@ -172,7 +172,7 @@ private:
void cleanup();
};
- //textures can be created from threads, so this RID_Owner is thread safe
+ // Textures can be created from threads, so this RID_Owner is thread safe.
mutable RID_Owner<Texture, true> texture_owner;
Texture *get_texture(RID p_rid) { return texture_owner.get_or_null(p_rid); };