v0.8.1-beta
Pre-releaseChanged
- The link under an empty pack folder opens the CurseForge shader search. It used to open
the shader page on Modrinth, where this mod is not published.
Fixed
-
The game no longer crashes when resources reload with a pack loaded. Moving
Anisotropic Filtering or Texture Filtering under Video Settings, switching resource packs
and pressing F3 + T all reload every resource, and any of them took a world with a
shaderpack on straight to the crash screen, on "Pipeline is not valid".
The sky is drawn first in the frame and was the piece that fell over, but nothing the pack
draws was safe. The reload now costs what it always should have, a few frames while the
programs compile again. -
A pack swapped while the engine was still warming up could kill the worker that compiles
the leftover programs ahead of their first draw. Those programs then paid for themselves
at the first frame that needed them, which is a stutter where there had been none. -
Mellow draws again. Since 0.7.5-beta the pack loaded, laid out its settings and then
drew nothing at all, the game's own picture staying on screen. One of its fullscreen
passes was refused at compile, and a pack one of whose passes does not compile draws
nothing at all. What that pass builds its outline from is a number its own settings fix
before anything is compiled, and the engine was treating it as one that could still
change. Any pack that writes a constant that way was open to the same. -
E-LITE compiles whole. Twenty of its programs were refused, because one value the
engine supplies reached the shader a second time where the pack had already named it
itself. A line that names several values at once is now read to its end, so nothing is
supplied over a name the pack wrote. -
A pack could come up with something wrong smeared across the picture, and stay that way
until it was loaded again. Not a flicker and not a glitch that passes: a patch of colour
or noise that is simply there, on a machine where it happens and never on the one next to
it. What was behind it: the images a pack draws into are wiped once when they are built, at
every pack load and again whenever the window changes size, and that wipe was ticked off
the list the moment it was scheduled instead of when it happened. One frame that drew none
of the pack lost it, and the seconds a pack spends compiling are exactly those frames. The
images a pack carries from one frame to the next are never scheduled again after that, so
they kept whatever the graphics driver had left lying in them.