From 7a49d20e755d003af676586d938ad9466494dffe Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Sun, 29 Oct 2023 23:57:42 +0100 Subject: [PATCH] dynamic texture array: upload if thread is rendering thread --- .../system/base/texture/dynamic/DynamicTextureArray.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/dynamic/DynamicTextureArray.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/dynamic/DynamicTextureArray.kt index 7afb64bc3..4edd8b42c 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/dynamic/DynamicTextureArray.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/dynamic/DynamicTextureArray.kt @@ -72,7 +72,11 @@ abstract class DynamicTextureArray( val data = creator.invoke() this.data = MipmapTextureData(data.size, data.buffer) - context.queue += { upload(index, this) } + if (Thread.currentThread() == context.thread) { + upload(index, this) + } else { + context.queue += { upload(index, this) } + } } fun pushRaw(identifier: Any, async: Boolean = true, creator: () -> ByteArray): DynamicTexture {