Blocks in contraptions don't render when shaderpack real-time shadows are enabled
adueppen opened this issue ยท 10 comments
I'm using:
- Forge 47.1.0 on 1.20.1
- Create 0.5.1.d
- Oculus 1.6.4
- Rubidium 0.4.20
- Oculus Flywheel Compat 0.2.0
- Complementary Reimagined shaders
This is running on Linux, with an AMD RX 6800 XT GPU. When the real-time shadows in this or any other shaderpack are enabled, contraptions fail to render any ordinary blocks that are part of them. Disabling this mod fixes the issue, but at the expense of reasonable framerates.
this is still an issue with 0.2.1, at least on fabric
- fabric loader 0.14.24
- fabric api 0.90.4
- sodium 0.5.3
- iris 1.6.10
- create 0.5.1d from https://github.com/Treetrain1/Create
- iris flywheel compat 0.2.1
- complimentary reimagined (but is an issue with any shader)
also running on linux with a 6800 XT. did anyone either of you find a workaround?
I've been googling around for exactly the same Create Astral issue. I'm away from my home PC for a couple more days for the US holiday, but will test if disabling real-time shadows also fixes the issue for me.
EDIT: I should also be able to play around with RenderDoc a bit. If I have any luck fixing things I'll put up a PR
Happening on my end as well. RX 6800 XT on Linux. Currently playing the Create Astral modpack. Viewing a contraption while shaders are enabled brings my framerate down into single digits, gives me the GL_INVALID_OPERATION in glDrawElements
error repeatedly in my logs, and most blocks in the contraptions don't render.
Disabling real-time shadows does seem to fix it, at least in the Complimentary-based shaderpacks (I haven't tested any others yet).
Currently using:
- OS: Linux
- GPU: RX 6800 XT
- Minecraft version 1.18.2
- Fabric Loader 0.14.22
- Create 0.5.0.i
- Sodium 0.4.1
- Iris 1.6.10
- Iris Flywheel Compat 0.2.0
- Tested with Complimentary Reimagined, Complimentary Unbound, BSL, AstraLex, and MakeUp UltraFast. All of them have the same issue.
I was able to confirm that turning off real-time shadows fixes the issue for me. I was unfortunately not able to get any debugging done - both RenderDoc and ApiTrace cause java to crash immediately if I try to launch minecraft with them loaded.
If anybody can give me tips for running Minecraft in RenderDoc or ApiTrace on Linux, I'll happily spend more time debugging this. But unfortunately I am sort of stuck.
I got ApiTrace working, and managed to track this down ๐
The issue is that Create's ContraptionProgram
hardcodes one of its samplers, which causes a conflict with Iris.
I've tested rebuilding Create with that sampler set to 31
(just to get it way out of the range that Iris might use), and that got dynamic shadow working for me!
I think the correct fix for this is probably to try to use a Mixin to override the Iris list of reserved samplers, but that is far beyond my java skills to implement as a quick PR to this repo without doing a lot more learning about how Mixins work.
EDIT: On second thought, I think just modifying The builder method to always add 4
to the reserved list is probably more robust. Mixins are still dark magic that's outside of my java knowledge, but overriding methods seems better documented than replacing constants? If I can figure it out I'll put up a PR
Sorry for the issue update spam, but I dug through the Mixin docs and got this fixed!
The PR is in #86, but for anyone who feels like trusting a jar from a stranger on the internet, you can replace iris-flywheel-compat-1.18.2-0.2.0.jar
in your mods
folder with my version
My good friend, you're amazing.
I can confirm the fix is working on my end. I tested with the same set of shaders as last time, all are working fine even with realtime shadows re-enabled.
Sorry for the issue update spam, but I dug through the Mixin docs and got this fixed!
The PR is in #86, but for anyone who feels like trusting a jar from a stranger on the internet, you can replace
iris-flywheel-compat-1.18.2-0.2.0.jar
in yourmods
folder with my version
WIll this work as a replacement for the Oculus equivalent compatibility mod?