Fix memory leaks

This commit is contained in:
PepperCode1 2023-06-26 19:25:53 -07:00
parent 5ae96be11a
commit 0f4ebe1465
2 changed files with 9 additions and 0 deletions

View file

@ -54,6 +54,10 @@ public class BlockModel implements Model {
} }
public BlockModel(Pair<RenderedBuffer, Integer> pair, String name) { public BlockModel(Pair<RenderedBuffer, Integer> pair, String name) {
this(pair, name, true);
}
public BlockModel(Pair<RenderedBuffer, Integer> pair, String name, boolean releaseBuffer) {
this.name = name; this.name = name;
RenderedBuffer renderedBuffer = pair.first(); RenderedBuffer renderedBuffer = pair.first();
@ -66,6 +70,10 @@ public class BlockModel implements Model {
eboSupplier = () -> QuadConverter.getInstance() eboSupplier = () -> QuadConverter.getInstance()
.quads2Tris(vertexCount() / 4); .quads2Tris(vertexCount() / 4);
} }
if (releaseBuffer) {
renderedBuffer.release();
}
} }
@Override @Override

View file

@ -66,6 +66,7 @@ public class ModelUtil {
if (unshadedBuffer != null) { if (unshadedBuffer != null) {
// FIXME: Unshaded indices // FIXME: Unshaded indices
((BufferBuilderExtension) shadedBuilder).flywheel$appendBufferUnsafe(unshadedBuffer.vertexBuffer()); ((BufferBuilderExtension) shadedBuilder).flywheel$appendBufferUnsafe(unshadedBuffer.vertexBuffer());
unshadedBuffer.release();
} }
RenderedBuffer buffer = shadedBuilder.end(); RenderedBuffer buffer = shadedBuilder.end();
return Pair.of(buffer, unshadedStartVertex); return Pair.of(buffer, unshadedStartVertex);