Skip to content

Commit

Permalink
Revert "Memory Leaks fixes"
Browse files Browse the repository at this point in the history
This reverts commit 86850e3.

Caused native errors with JEmalloc
  • Loading branch information
Asek3 committed Sep 8, 2023
1 parent 0a0db8f commit b381462
Show file tree
Hide file tree
Showing 12 changed files with 3 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -175,13 +175,6 @@ public int getUsedSize() {
return size;
}

@Override
public void freeAndDeleteBuffer() {
for (SegmentedBufferBuilder builder : builders) {
builder.freeAndDeleteBuffer();
}
}

@Override
public void startGroup() {
renderOrderManager.startGroup();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@
public interface MemoryTrackingBuffer {
int getAllocatedSize();
int getUsedSize();
void freeAndDeleteBuffer();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ public interface MemoryTrackingRenderBuffers {
int getEntityBufferAllocatedSize();
int getMiscBufferAllocatedSize();
int getMaxBegins();
void freeAndDeleteBuffers();
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,4 @@ public int getAllocatedSize() {
public int getUsedSize() {
return ((MemoryTrackingBuffer) buffer).getUsedSize();
}

@Override
public void freeAndDeleteBuffer() {
((MemoryTrackingBuffer) buffer).freeAndDeleteBuffer();
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import java.nio.ByteBuffer;

import org.lwjgl.system.MemoryUtil;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

Expand All @@ -24,10 +23,4 @@ public int getAllocatedSize() {
public int getUsedSize() {
return buffer.position();
}

@Override
public void freeAndDeleteBuffer() {
MemoryUtil.memFree(buffer);
buffer = null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,4 @@ public int getUsedSize() {

return allocatedSize;
}

@Override
public void freeAndDeleteBuffer() {
((MemoryTrackingBuffer) builder).freeAndDeleteBuffer();

for (BufferBuilder builder : fixedBuffers.values()) {
((MemoryTrackingBuffer) builder).freeAndDeleteBuffer();
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package net.coderbot.batchedentityrendering.mixin;

import com.mojang.blaze3d.vertex.BufferBuilder;
import net.minecraft.client.renderer.*;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
Expand All @@ -15,8 +13,9 @@
import net.coderbot.batchedentityrendering.impl.MemoryTrackingBuffer;
import net.coderbot.batchedentityrendering.impl.MemoryTrackingRenderBuffers;
import net.coderbot.batchedentityrendering.impl.RenderBuffersExt;

import java.util.SortedMap;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.OutlineBufferSource;
import net.minecraft.client.renderer.RenderBuffers;

@Mixin(RenderBuffers.class)
public class MixinRenderBuffers implements RenderBuffersExt, MemoryTrackingRenderBuffers, DrawCallTrackingRenderBuffers {
Expand All @@ -36,14 +35,6 @@ public class MixinRenderBuffers implements RenderBuffersExt, MemoryTrackingRende
@Final
private MultiBufferSource.BufferSource bufferSource;

@Shadow
@Final
private ChunkBufferBuilderPack fixedBufferPack;

@Shadow
@Final
private SortedMap<RenderType, BufferBuilder> fixedBuffers;

@Inject(method = "bufferSource", at = @At("HEAD"), cancellable = true)
private void batchedentityrendering$replaceBufferSource(CallbackInfoReturnable<MultiBufferSource.BufferSource> cir) {
if (begins == 0) {
Expand Down Expand Up @@ -115,14 +106,6 @@ public int getMaxBegins() {
return maxBegins;
}

@Override
public void freeAndDeleteBuffers() {
buffered.freeAndDeleteBuffer();
((ChunkBufferBuilderPackAccessor) this.fixedBufferPack).getBuilders().values().forEach(bufferBuilder -> ((MemoryTrackingBuffer) bufferBuilder).freeAndDeleteBuffer());
fixedBuffers.values().forEach(bufferBuilder -> ((MemoryTrackingBuffer) bufferBuilder).freeAndDeleteBuffer());
((MemoryTrackingBuffer) ((OutlineBufferSourceAccessor) outlineBufferSource).getOutlineBufferSource()).freeAndDeleteBuffer();
}

@Override
public int getDrawCalls() {
return buffered.getDrawCalls();
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -853,10 +853,6 @@ public void destroy() {
shadowRenderTargets.destroy();
}

if(shadowRenderer != null) {
shadowRenderer.destroy();
}

// Destroy custom textures and the static samplers (normals, specular, and noise)
customTextureManager.destroy();
whitePixel.releaseId();
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/net/coderbot/iris/pipeline/ShadowRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.List;
import java.util.Objects;

import net.coderbot.batchedentityrendering.impl.MemoryTrackingRenderBuffers;
import org.lwjgl.opengl.ARBTextureSwizzle;
import org.lwjgl.opengl.GL20C;
import org.lwjgl.opengl.GL30C;
Expand Down Expand Up @@ -650,11 +649,6 @@ private String getBlockEntitiesDebugString() {
return shouldRenderBlockEntities ? (renderedShadowBlockEntities + "/" + Minecraft.getInstance().level.blockEntityList.size()) : "disabled by pack";
}

public void destroy() {
targets.destroy();
((MemoryTrackingRenderBuffers) buffers).freeAndDeleteBuffers();
}

private static class MipmapPass {
private final int texture;
private final int targetFilteringMode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
"package": "net.coderbot.batchedentityrendering.mixin",
"compatibilityLevel": "JAVA_8",
"client": [
"ChunkBufferBuilderPackAccessor",
"OutlineBufferSourceAccessor",
"MixinBufferBuilder",
"MixinBufferBuilder_SegmentRendering",
"MixinRenderBuffers",
Expand Down

0 comments on commit b381462

Please sign in to comment.