The following was written with the assistance of Claude Code:
STEPS TO REPRODUCE:
On a GPU that cannot meet OIT's shader requirements (any pre-GCN AMD GPU or similarly old hardware), launch 26.3-snapshot-2.
Confirm options.txt has improvedTransparency:false.
Launch normally, vanilla, no mods.
EXPECTED RESULT:
Per the snapshot's own changelog, with improvedTransparency off the behavior should not meaningfully change from pre-OIT versions. The game should launch using legacy transparency, the same as it did on 26.2.
Separately, Mojang's own stated design intent for the broader Vulkan migration is: Vulkan is not supported by older hardware or drivers, OpenGL will be used as a fallback in those cases. The game should therefore either launch normally on OpenGL with legacy transparency, or at minimum fail gracefully with an informative message, rather than crash to desktop.
ACTUAL RESULT:
Crashes on Reload reason: initial while eagerly compiling all 34 oit_accumulate_* and oit_composite pipeline shaders, regardless of the improvedTransparency setting. Confirmed identical with and without a system Vulkan loader present (Graphics Backend: OpenGL both times) - this is a pure OpenGL-path failure, not Vulkan-specific.
CRASH LOG (java.lang.RuntimeException):
java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed to load required shader programs:
minecraft:pipeline/oit_accumulate_breeze_wind
minecraft:pipeline/oit_accumulate_world_border
minecraft:pipeline/oit_accumulate_entity_shadow
minecraft:pipeline/oit_accumulate_terrain
minecraft:pipeline/oit_accumulate_text_see_through
minecraft:pipeline/oit_accumulate_text_grayscale_see_through
minecraft:pipeline/oit_accumulate_lines_translucent
minecraft:pipeline/oit_accumulate_item_glint_special
minecraft:pipeline/oit_accumulate_text_grayscale_polygon_offset
minecraft:pipeline/oit_accumulate_text_polygon_offset
minecraft:pipeline/oit_accumulate_text_background_see_through
minecraft:pipeline/oit_accumulate_dragon_rays
minecraft:pipeline/oit_accumulate_eyes
minecraft:pipeline/oit_accumulate_debug_triangle_fan
minecraft:pipeline/oit_accumulate_item_glint
minecraft:pipeline/oit_accumulate_item
minecraft:pipeline/oit_accumulate_flat_clouds
minecraft:pipeline/oit_accumulate_weather
minecraft:pipeline/oit_accumulate_energy_swirl
minecraft:pipeline/oit_accumulate_lightning
minecraft:pipeline/oit_accumulate_text_background
minecraft:pipeline/oit_accumulate_entity_cull
minecraft:pipeline/oit_accumulate_particle
minecraft:pipeline/oit_accumulate_text_grayscale
minecraft:pipeline/oit_accumulate_clouds
minecraft:pipeline/oit_accumulate_debug_filled_box
minecraft:pipeline/oit_accumulate_text
minecraft:pipeline/oit_accumulate_entity_emissive
minecraft:pipeline/oit_composite
minecraft:pipeline/oit_accumulate_beacon_beam
minecraft:pipeline/oit_accumulate_translucent_block
minecraft:pipeline/oit_accumulate_debug_points
minecraft:pipeline/oit_accumulate_crumbling
minecraft:pipeline/oit_accumulate_debug_quads
minecraft:pipeline/oit_accumulate_entity
minecraft:pipeline/oit_accumulate_secondary_block_outline
at net.minecraft.client.renderer.ShaderManager.apply(ShaderManager.java:170)
at net.minecraft.client.renderer.ShaderManager.apply(ShaderManager.java:43)
at net.minecraft.server.packs.resources.SimplePreparableReloadListener.lambda$reload$1(SimplePreparableReloadListener.java:15)
RELEVANT CRASH REPORT FIELDS:
Reload number: 1
Reload reason: initial
Finished: No
Packs: vanilla, vanilla
Launched Version: 26.3-snapshot-2
Backend library: LWJGL version 3.4.1+2
Graphics Device: ATI Mobility Radeon HD 4300 Series
Graphics Backend: OpenGL
Graphics Vendor: ATI Technologies Inc.
Graphics Drivers: 3.3.11672 Core Profile Forward-Compatible Context
Graphics Device Type: OTHER
Graphics Device Features: DeviceFeatures[shaderDrawParameters=false, multiDrawDirectInterleaved=false, multiDrawDirectSeparate=true, multiDrawIndirect=false, drawIndirect=false, nonZeroFirstInstance=true, persistentMapping=false]
ADDITIONAL NOTES:
On the first reproduction, before a Vulkan loader was present on the system at all, the crash report additionally logged: Backend failure message: Vulkan loader library is missing, Backend failure reason: vulkan_loader_missing. This is a secondary diagnostic note about the Vulkan attempt, not the cause of the crash itself. After installing the official Vulkan Runtime (loader only, no GPU-side ICD), that note disappears but the crash and active backend, OpenGL, are identical, confirming the OIT shader compilation failure is independent of Vulkan availability.
This is on end-of-life hardware (TeraScale 1, AMD's last driver dated 2015) but the underlying bug, improvedTransparency not preventing OIT shader compilation at initial load, likely affects a much wider range of hardware that is merely too old for OIT but otherwise capable of running Minecraft's legacy transparency path, the same way it did on 26.2 and earlier.
Suggested fix direction: gate OIT pipeline shader compilation itself behind the improvedTransparency setting or a capability check at initial resource load, instead of compiling unconditionally and only branching on the setting at render time.
Environment
Win10 Home 10.0.19045 64-bit, Dell Inspiron 1564, Intel i5 M430 2.27GHz, ATI Mobility Radeon HD 4300 (TeraScale 1, driver 8.970.100.9001 2015-01-13, OpenGL 3.3, no Vulkan support), 8GB DDR3, Java 25.0.1 MS OpenJDK, LWJGL 3.4.1+2
Linked issues
is duplicated by 2
Attachments
Comments 7
After I got the first crash report I installed the vulcan libraries. I believe the 2nd crash report I have provided is after installing the libraries and setting improvedTransparency:false.
I think you need to install the last pilot update of your AMD processor, i did for mine and it worked fine, except language files were deleted for some reason
Hi Yoshibest58_2. Thank you for your reply.
My video card is a Radeon HD 4300, TeraScale 1, which is around a 2008 model, which physically can’t do vulkan. Do you have the same card or is yours newer? I haven’t tried updating drivers because the latest driver update is the 2015 one which predates Vulkan. Vulkan 1.0 requires GCN architecture which didn’t arrive until the HD 7000 series in 2012.
I have been consulting Claude AI extensively on this and your fix hinted that I might install the standalone LunarG Vulkan Runtime loader which drops in the vulkan-1.dll and might allow me to bypass the no loader crash and possibly get into the fallback to openGL path.
Ok, I tried the LunarG vulkan Runtime which worked as expected. I forgot I already tried something similar before but this time it revealed new information. Once a loader is present the game correctly falls back to OpenGL.
Now here’s the interesting thing, from what Claude is able to tell me, previously in snapshot 2 it failed to compile the new transparency (OIT) shaders because of an error: (#162) Wrong operand types … ‘highp float’ … ‘const int’. Which was a bug in Mojang’s shader source – a ternary mixing a float with an int literal (cond ? someFloat : 0) which is rejected by strict GLSL compilers such as my old OpenGL 3.3 compiler.
This time however, the game loaded. Mojang’s release notes for 26.3 Snapshot 5 list “Order-independent Transparency (OIT)-related shader changes”. There is no one specific bug fix which mentions it but before snapshot 5, MC handled the raw OIT GLSL straight from the GPU’s own OpenGL driver to compile, which on my machine rejected the float ? … :0 int/float ternary with error (#162).
From snapshot 5, MC compiles all shaders through ShaderC (Google’s host-side glslang>SPIR-v compiler, then cross-compiled to GLSL for the OpenGL backend). So the shaders are now compiled by the CPU instead which allows it to work.
So although this bug report is still valid, it no longer effects me.
Hey! Thanks for the report! Could you please attach the whole crash report as a file?