From 0f4ebe14655787174a7b24c28b35bcbba212f82a Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Mon, 26 Jun 2023 19:25:53 -0700 Subject: [PATCH] Fix memory leaks --- .../java/com/jozufozu/flywheel/core/model/BlockModel.java | 8 ++++++++ .../java/com/jozufozu/flywheel/core/model/ModelUtil.java | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java b/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java index 61df69354..86b1817e2 100644 --- a/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java +++ b/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java @@ -54,6 +54,10 @@ public class BlockModel implements Model { } public BlockModel(Pair pair, String name) { + this(pair, name, true); + } + + public BlockModel(Pair pair, String name, boolean releaseBuffer) { this.name = name; RenderedBuffer renderedBuffer = pair.first(); @@ -66,6 +70,10 @@ public class BlockModel implements Model { eboSupplier = () -> QuadConverter.getInstance() .quads2Tris(vertexCount() / 4); } + + if (releaseBuffer) { + renderedBuffer.release(); + } } @Override diff --git a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java index 4b58ba1e5..fc6499ad5 100644 --- a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java +++ b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java @@ -66,6 +66,7 @@ public class ModelUtil { if (unshadedBuffer != null) { // FIXME: Unshaded indices ((BufferBuilderExtension) shadedBuilder).flywheel$appendBufferUnsafe(unshadedBuffer.vertexBuffer()); + unshadedBuffer.release(); } RenderedBuffer buffer = shadedBuilder.end(); return Pair.of(buffer, unshadedStartVertex);