Iris Shaders

Iris Shaders

36M Downloads

Severe chunk loading issues in some cases due to the wrong vertex format being used for terrain

Luminous-Journey opened this issue · 15 comments

commented

What happened?

When changing servers on hypixel with Complementary Shaders the block textures do not load

Screenshots

2022-03-19_19 38 19
2022-03-19_19 38 26
2022-03-19_19 38 36

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

commented

I found a temporary solution to this, you can press "F3 and T" to reload the shaderpack every time you join a lobby

commented

Just pressing K twice is enough.

commented

we’re not sure of the cause though

commented

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"

commented

This isn’t a texture issue, the vertex positions themselves are being corrupted for an unknown reason.

commented

Nor is it hypixel specific, I've reproduced this on a different bungeecoord server too.

commented

Thanks for the shortcut, reloading shader on joining a new server could be a temporary solution, togglable in the settings

commented

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

commented

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

commented

ik just for now it works tho

commented

Reloading the shader is a lot better than that fix

commented

Same issue happening to me as well, although I only reload all chunks with F3+A , and it fixed the situation fast every time

commented

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:?]
commented

Definitely still present in the latest version of the 1.18.2 branch, reproduced in singleplayer. It can happen when loading a world or changing settings.

image

commented

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.