From e412ec2409a7db82272837ac3474defd3a1696b1 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 6 Jun 2026 18:11:20 -0500 Subject: [PATCH] Remove MemUtil references due to native crashing --- .../common/render/blaze/BlazeDebugWireframeRenderer.java | 5 ++--- .../blaze/wrappers/buffer/BlazeVertexBufferWrapper.java | 4 ---- .../wrappers/uniform/BlazeUniformBufferWrapper.java | 9 +-------- .../render/openGl/generic/GlGenericObjectRenderer.java | 9 ++++----- .../render/openGl/glObject/buffer/GLVertexBuffer.java | 2 -- .../render/openGl/glObject/buffer/GlQuadIndexBuffer.java | 2 -- .../render/openGl/postProcessing/GlScreenQuad.java | 6 +++--- coreSubProjects | 2 +- 8 files changed, 11 insertions(+), 28 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java index 5bf26a391..7baa0600b 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/BlazeDebugWireframeRenderer.java @@ -46,7 +46,6 @@ import com.seibel.distanthorizons.core.util.math.DhVec3d; import com.seibel.distanthorizons.core.util.math.DhVec3f; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition; -import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -174,10 +173,10 @@ public class BlazeDebugWireframeRenderer extends AbstractDebugWireframeRenderer // box vertices - ByteBuffer boxVerticesBuffer = MemoryUtil.memAlloc(BOX_VERTICES.length * Float.BYTES); + ByteBuffer boxVerticesBuffer = ByteBuffer.allocateDirect(BOX_VERTICES.length * Float.BYTES); + boxVerticesBuffer.order(ByteOrder.nativeOrder()); boxVerticesBuffer.asFloatBuffer().put(BOX_VERTICES); boxVerticesBuffer.rewind(); - MemoryUtil.memFree(boxVerticesBuffer); // upload vertex data { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/buffer/BlazeVertexBufferWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/buffer/BlazeVertexBufferWrapper.java index 0898b1f54..73783765b 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/buffer/BlazeVertexBufferWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/buffer/BlazeVertexBufferWrapper.java @@ -18,7 +18,6 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.render.RenderThreadTaskHandler; import com.seibel.distanthorizons.core.wrapperInterfaces.render.AbstractDhRenderApiDefinition; import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IVertexBufferWrapper; -import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicInteger; @@ -83,9 +82,6 @@ public class BlazeVertexBufferWrapper implements IVertexBufferWrapper GpuBufferSlice bufferSlice = new GpuBufferSlice(GLOBAL_INDEX_GPU_BUFFER, /*offset*/ 0, indexBuffer.capacity()); COMMAND_ENCODER.writeToBuffer(bufferSlice, indexBuffer); - - MemoryUtil.memFree(indexBuffer); - }); } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java index 97f0a52e8..d3ae59018 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/blaze/wrappers/uniform/BlazeUniformBufferWrapper.java @@ -17,7 +17,6 @@ import com.seibel.distanthorizons.common.render.blaze.util.BlazeUniformUtil; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.util.math.DhMat4f; -import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -132,14 +131,13 @@ public class BlazeUniformBufferWrapper implements AutoCloseable ByteBuffer oldBuffer = this.cpuBuffer; int size = calcBufferSize(this.uniformElementTypes); - this.cpuBuffer = MemoryUtil.memAlloc(size); + this.cpuBuffer = ByteBuffer.allocateDirect(size); this.cpuBuffer.order(ByteOrder.nativeOrder()); if (oldBuffer != null) { oldBuffer.position(0); this.cpuBuffer.put(oldBuffer); - MemoryUtil.memFree(oldBuffer); } this.bufferSize = size; @@ -210,11 +208,6 @@ public class BlazeUniformBufferWrapper implements AutoCloseable { this.gpuBuffer.close(); } - - if (this.cpuBuffer != null) - { - MemoryUtil.memFree(this.cpuBuffer); - } } //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java index aad4dd4a4..75f4a6551 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/generic/GlGenericObjectRenderer.java @@ -53,10 +53,10 @@ import com.seibel.distanthorizons.coreapi.ModInfo; import org.lwjgl.opengl.ARBInstancedArrays; import org.lwjgl.opengl.GL32; import org.lwjgl.opengl.GL33; -import org.lwjgl.system.MemoryUtil; import java.awt.*; import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -226,22 +226,21 @@ public class GlGenericObjectRenderer implements IDhGenericRenderer private void createBuffers() { // box vertices - ByteBuffer boxVerticesBuffer = MemoryUtil.memAlloc(BOX_VERTICES.length * Float.BYTES); + ByteBuffer boxVerticesBuffer = ByteBuffer.allocateDirect(BOX_VERTICES.length * Float.BYTES); + boxVerticesBuffer.order(ByteOrder.nativeOrder()); boxVerticesBuffer.asFloatBuffer().put(BOX_VERTICES); boxVerticesBuffer.rewind(); this.boxVertexBuffer = new GLVertexBuffer(false); this.boxVertexBuffer.bind(); this.boxVertexBuffer.uploadBuffer(boxVerticesBuffer, 8, EDhApiGpuUploadMethod.DATA, BOX_VERTICES.length * Float.BYTES); - MemoryUtil.memFree(boxVerticesBuffer); // box vertex indexes - ByteBuffer solidIndexBuffer = MemoryUtil.memAlloc(BOX_INDICES.length * Integer.BYTES); + ByteBuffer solidIndexBuffer = ByteBuffer.allocateDirect(BOX_INDICES.length * Integer.BYTES); solidIndexBuffer.asIntBuffer().put(BOX_INDICES); solidIndexBuffer.rewind(); this.boxIndexBuffer = new GLIndexBuffer(false); this.boxIndexBuffer.uploadBuffer(solidIndexBuffer, EDhApiGpuUploadMethod.DATA, BOX_INDICES.length * Integer.BYTES, GL32.GL_STATIC_DRAW); this.boxIndexBuffer.bind(); - MemoryUtil.memFree(solidIndexBuffer); } private void addGenericDebugObjects() { diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java index 13e4ceb6d..3b2a1482c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GLVertexBuffer.java @@ -31,7 +31,6 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.render.objects.IVertexB import org.lwjgl.opengl.GL32; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; -import org.lwjgl.system.MemoryUtil; /** * This is a container for a OpenGL @@ -87,7 +86,6 @@ public class GLVertexBuffer extends GLBuffer implements IVertexBufferWrapper ByteBuffer buffer = IndexBufferBuilder.createBuffer(maxQuadCount); GLOBAL_QUAD_IBO.upload(buffer, maxQuadCount); - MemoryUtil.memFree(buffer); }); } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java index 8944b5107..f176558b9 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/glObject/buffer/GlQuadIndexBuffer.java @@ -21,11 +21,9 @@ package com.seibel.distanthorizons.common.render.openGl.glObject.buffer; import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod; import com.seibel.distanthorizons.common.render.openGl.glObject.enums.GLEnums; -import com.seibel.distanthorizons.core.dataObjects.render.bufferBuilding.IndexBufferBuilder; import com.seibel.distanthorizons.core.logging.DhLogger; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import org.lwjgl.opengl.GL32; -import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java index 5441d59d9..fe7ab68c5 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/render/openGl/postProcessing/GlScreenQuad.java @@ -24,9 +24,9 @@ import com.seibel.distanthorizons.common.render.openGl.glObject.buffer.GLVertexB import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlAbstractVertexAttribute; import com.seibel.distanthorizons.common.render.openGl.glObject.vertexAttribute.GlVertexPointer; import org.lwjgl.opengl.GL32; -import org.lwjgl.system.MemoryUtil; import java.nio.ByteBuffer; +import java.nio.ByteOrder; /** * Renders a full-screen textured quad to the screen. @@ -76,14 +76,14 @@ public class GlScreenQuad } private void createBuffer() { - ByteBuffer buffer = MemoryUtil.memAlloc(BOX_VERTICES.length * Float.BYTES); + ByteBuffer buffer = ByteBuffer.allocateDirect(BOX_VERTICES.length * Float.BYTES); + buffer.order(ByteOrder.nativeOrder()); buffer.asFloatBuffer().put(BOX_VERTICES); buffer.rewind(); this.boxBuffer = new GLVertexBuffer(false); this.boxBuffer.bind(); this.boxBuffer.uploadBuffer(buffer, BOX_VERTICES.length, EDhApiGpuUploadMethod.DATA, BOX_VERTICES.length * Float.BYTES); - MemoryUtil.memFree(buffer); } //endregion diff --git a/coreSubProjects b/coreSubProjects index 4e99594a3..679f87178 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 4e99594a3f023900918c024d8e521624bb4f1d4e +Subproject commit 679f871788ff24aeb70ceaaa7cfe5ce92515f10c