Flywheel (Legacy)

Flywheel (Legacy)

40M Downloads

Crash: #extension directive is not allowed in the middle of a shader

FreeFull opened this issue ยท 5 comments

commented

Describe the Bug

I've been able to avoid the crash by deleting this section of code from the shaders inside the Create and Flywheel .jars:

// optimize discard usage
#if defined(ALPHA_DISCARD)
#if defined(GL_ARB_conservative_depth)
#extension GL_ARB_conservative_depth : enable
layout (depth_greater) out float gl_FragDepth;
#endif
#endif

The issue seems to be that Mesa3D does not like #extension being in the middle of a shader, rather than at the top.

Reproduction Steps

  1. Try launching minecraft with latest Create and Flywheel for 1.18.1
  2. The game crashes

Expected Result

Minecraft wouldn't crash.

Screenshots and Videos

No response

Crash Report or Log

https://gist.github.com/FreeFull/345e51d460c8c4067d9244cbdfad45e6

Operating System

Arch Linux

Mod Version

0.4.1

Minecraft Version

1.18.1

Forge Version

39.0.0

Other Mods

No response

Additional Context

No response

commented

The files that contain the problematic code are Flywheel/src/main/resources/assets/flywheel/flywheel/shaders/context/world.glsl and Create/src/main/resources/assets/create/flywheel/shaders/context/contraption.glsl

commented

The work-around works for me.

commented

I am also encountering this issue on Ubuntu 21.10 running the KDE Plasma desktop.

commented

Thank you, the work around worked for my friend running Fedora 35 with an AMD gpu.

commented

Fixed in latest versions of Create and Flywheel.