Severe chunk loading issues in some cases due to the wrong vertex format being used for terrain
Luminous-Journey opened this issue · 15 comments
What happened?
When changing servers on hypixel with Complementary Shaders the block textures do not load
Screenshots
Relevant log output
No response
Minecraft Version
1.18.2
Iris Version
1.2.2-build.32
Sodium Version
0.4.1+build.15
Operating System
Windows 11
What is your GPU?
NVIDIA GeForce GTX 1650 Ti
Java Version
Java 17
Additional context
No response
I found a temporary solution to this, you can press "F3 and T" to reload the shaderpack every time you join a lobby
I'm having the same problem but instead of some textures loading all of the textures just simply doesn't load. And the world also has some weird black and rgb square things.
The game log jumps out something like this: "null:1:1: error: Unknown preprocessor directive"
This isn’t a texture issue, the vertex positions themselves are being corrupted for an unknown reason.
Nor is it hypixel specific, I've reproduced this on a different bungeecoord server too.
Thanks for the shortcut, reloading shader on joining a new server could be a temporary solution, togglable in the settings
if in the Sodium options you go to "Advanced" and change Async to Swap it seems to fix it but it makes it more laggy
if in the Sodium options you go to "Advanced" and change Async to Swap it seems to fix it but it makes it more laggy
You shouldn't relate on that since swap is not going to be in the next sodium version
Same issue happening to me as well, although I only reload all chunks with F3+A , and it fixed the situation fast every time
This seems to still be an issue, but just way less common / consistent. More investigation is needed.
[16:36:53] [main/FATAL] (Minecraft) Unreported exception thrown!
java.lang.NullPointerException: No attribute exists for BLOCK_ID
at me.jellysquid.mods.sodium.client.gl.attribute.GlVertexFormat.getAttribute(GlVertexFormat.java:37) ~[sodium-mc1.16.5-0.2.0.jar:?]
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.modify$bbb001$iris$addAdditionalBindings(MultidrawChunkRenderBackend.java:535) ~[sodium-mc1.16.5-0.2.0.jar:?]
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.createRegionTessellation(MultidrawChunkRenderBackend.java:181) ~[sodium-mc1.16.5-0.2.0.jar:?]
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.upload(MultidrawChunkRenderBackend.java:162) ~[sodium-mc1.16.5-0.2.0.jar:?]
at me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderManager.updateChunks(ChunkRenderManager.java:453) ~[sodium-mc1.16.5-0.2.0.jar:?]
at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.updateChunks(SodiumWorldRenderer.java:201) ~[sodium-mc1.16.5-0.2.0.jar:?]
at net.minecraft.client.renderer.LevelRenderer.setupRender(LevelRenderer.java:5100) ~[1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.renderer.LevelRenderer.renderLevel(LevelRenderer.java:890) ~[1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.renderer.GameRenderer.renderLevel(GameRenderer.java:572) ~[1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:415) ~[1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:906) ~[1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:599) [1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at net.minecraft.client.main.Main.main(Main.java:197) [1.16.5-TRv0.8.1-named-A9C53A3A0133ED7E5D09837EE837ED8DCFA7D2BB7050FE14F51CA54906A5AAE6.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_292]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_292]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_292]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.13.3.jar:?]
This should finally be fully fixed now. Even after the previous fix it was still possible to reproduce this by triggering a shader reload while in a world at the right time, but now that code path has been fixed up & I've audited that there shouldn't be any other code paths to trigger this behavior. Nevertheless, the vertex format code has been modified so that even if for some reason the problematic code that triggered this previously were still active, it would not break like this.