From 0ad8f8b7f1880f3a24fe0a880fd0d2ef5cf3dad1 Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:23:58 +0000 Subject: [PATCH 1/6] Update GLSLParser to advance token with parameter for version check --- .../java/net/vulkanmod/vulkan/shader/converter/GLSLParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/vulkanmod/vulkan/shader/converter/GLSLParser.java b/src/main/java/net/vulkanmod/vulkan/shader/converter/GLSLParser.java index 036d05657..9727bfd85 100644 --- a/src/main/java/net/vulkanmod/vulkan/shader/converter/GLSLParser.java +++ b/src/main/java/net/vulkanmod/vulkan/shader/converter/GLSLParser.java @@ -146,7 +146,7 @@ private void parseVersion() { throw new IllegalStateException("First glsl line must contain #version"); } - advanceToken(); + advanceToken(true); if (!currentToken.value.startsWith("version")) { throw new IllegalStateException("First glsl line must contain #version"); From ecb488d1a3bf30a4bbf7ec5a8aa6d48cfc850c71 Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:25:07 +0000 Subject: [PATCH 2/6] Refactor segment freeing logic in RenderSection to use freeSegment method --- src/main/java/net/vulkanmod/render/chunk/RenderSection.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/net/vulkanmod/render/chunk/RenderSection.java b/src/main/java/net/vulkanmod/render/chunk/RenderSection.java index 2714af9ad..20880aa03 100644 --- a/src/main/java/net/vulkanmod/render/chunk/RenderSection.java +++ b/src/main/java/net/vulkanmod/render/chunk/RenderSection.java @@ -298,8 +298,7 @@ public void resetDrawParameters(TerrainRenderType renderType) { AreaBuffer areaBuffer = drawBuffers.getAreaBuffer(renderType); int vertexOffset = DrawParametersBuffer.getVertexOffset(ptr); if (areaBuffer != null && vertexOffset != -1) { - int segmentOffset = vertexOffset * drawBuffers.vertexSize; - areaBuffer.setSegmentFree(segmentOffset); + areaBuffer.freeSegment(vertexOffset); } DrawParametersBuffer.resetParameters(ptr); From 4b81c54cebfca315341cec8383211730cc348f46 Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:26:14 +0000 Subject: [PATCH 3/6] Improve framebuffer deletion logic to handle null checks and cleanup more safely --- .../java/net/vulkanmod/gl/VkGlFramebuffer.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/vulkanmod/gl/VkGlFramebuffer.java b/src/main/java/net/vulkanmod/gl/VkGlFramebuffer.java index a021c3fb9..86bcee911 100644 --- a/src/main/java/net/vulkanmod/gl/VkGlFramebuffer.java +++ b/src/main/java/net/vulkanmod/gl/VkGlFramebuffer.java @@ -90,13 +90,17 @@ public static void deleteFramebuffer(int id) { return; } - boundFramebuffer = map.remove(id); + VkGlFramebuffer glFramebuffer = map.remove(id); - if (boundFramebuffer == null) - throw new NullPointerException("bound framebuffer is null"); - - boundFramebuffer.cleanUp(true); - boundFramebuffer = null; + if (glFramebuffer != null) { + if (boundFramebuffer == glFramebuffer) { + boundFramebuffer = null; + } + if (readFramebuffer == glFramebuffer) { + readFramebuffer = null; + } + glFramebuffer.cleanUp(true); + } } public static void framebufferTexture2D(int target, int attachment, int texTarget, int texture, int level) { From 7ef77ea864aea7366f952e8841546f2fb2f64e0a Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:27:20 +0000 Subject: [PATCH 4/6] Remove exception throwing for unexpected buffer target in glBindBuffer method --- src/main/java/net/vulkanmod/gl/VkGlBuffer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/vulkanmod/gl/VkGlBuffer.java b/src/main/java/net/vulkanmod/gl/VkGlBuffer.java index 1a2d6b4d5..89e4495fc 100644 --- a/src/main/java/net/vulkanmod/gl/VkGlBuffer.java +++ b/src/main/java/net/vulkanmod/gl/VkGlBuffer.java @@ -41,7 +41,7 @@ public static void glBindBuffer(int target, int buffer) { case GL32.GL_PIXEL_PACK_BUFFER -> pixelPackBufferBound = glBuffer; case GL32.GL_PIXEL_UNPACK_BUFFER -> pixelUnpackBufferBound = glBuffer; case GL32.GL_ARRAY_BUFFER -> arrayBufferBound = glBuffer; - default -> throw new IllegalStateException("Unexpected value: " + target); + default -> {} } } From b32f5703a700b185b095775665678136721b671d Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:28:27 +0000 Subject: [PATCH 5/6] Fix isWindows method to correctly identify Windows platform --- src/main/java/net/vulkanmod/config/Platform.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/vulkanmod/config/Platform.java b/src/main/java/net/vulkanmod/config/Platform.java index 81c305708..5b038c501 100644 --- a/src/main/java/net/vulkanmod/config/Platform.java +++ b/src/main/java/net/vulkanmod/config/Platform.java @@ -73,7 +73,7 @@ private static String determineDE() { } public static boolean isWindows() { - return OS == Util.OS.LINUX; + return OS == Util.OS.WINDOWS; } public static boolean isLinux() { From 546de1f24fe11873a07768e0f5661100ad552abf Mon Sep 17 00:00:00 2001 From: Spagles <106791090+Spagles@users.noreply.github.com> Date: Thu, 30 Jul 2026 05:29:29 +0000 Subject: [PATCH 6/6] Fix BGRAtoRGBA_buffer method to correctly convert colors by adjusting bitwise operations --- src/main/java/net/vulkanmod/gl/GlUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/vulkanmod/gl/GlUtil.java b/src/main/java/net/vulkanmod/gl/GlUtil.java index fe8edea75..b23b64f1b 100644 --- a/src/main/java/net/vulkanmod/gl/GlUtil.java +++ b/src/main/java/net/vulkanmod/gl/GlUtil.java @@ -53,7 +53,7 @@ public static ByteBuffer BGRAtoRGBA_buffer(ByteBuffer in) { for (int i = 0; i < outSize ; i += 4) { int color = MemoryUtil.memGetInt(srcPtr + i); - color = (color << 24) & 0xFF000000 | (color >> 8) & 0xFFFFFF; + color = (color & 0xFF00FF00) | ((color & 0x00FF0000) >>> 16) | ((color & 0x000000FF) << 16); MemoryUtil.memPutInt(ptr + i, color); }