Skip to content

MiracleLoader 1.3.0: the graphics backend

Choose a tag to compare

@Hronosin Hronosin released this 02 Oct 13:56

The loader now knows which graphics backend the game is going to use, before the game even starts. Mods for 1.2 work as they are.

  • Auto-detection from the game's own settings. The loader reads preferredGraphicsBackend from options.txt ("opengl", "vulkan" or "default") and logs it: Graphics: Vulkan (options.txt).
    • Versions before 26.2 have OpenGL only, whatever the file says.
    • Servers draw nothing: none.
  • The player's own word: -Dmiracle.backend=opengl|vulkan overrides the file.
  • For mods: Mods.graphicsBackend() returns what the game is set to use. Event Horizon 0.4.1 adds Lensing.backend(), which says what the game actually runs once started (that matters with "default").
  • Smarter raw-graphics warnings. A mod that calls OpenGL or Vulkan directly now gets a warning that says what that means here: "can work here", "won't work here", or "won't if the game picks the other". Servers are left out of the rule.

Checked

  • test.sh: 463 of 463, also with the loader as a Java agent.
  • The trial passes 30 of 30 on 26.3 on OpenGL, and again on the Vulkan backend (Mesa's software Vulkan). Shader translation, stacked post effects, uniforms from code and the broken-effect guard all work on Vulkan too.