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() { 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); } 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 -> {} } } 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) { 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); 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");