Skip to content

Test build: AMD Vulkan crash (512 MB memory windows)

Pre-release
Pre-release

Choose a tag to compare

@Hexveil404 Hexveil404 released this 04 Nov 22:02

Experimental, not the main version. Play on v0.1.16 if you don't have an AMD card.

A test build for the AMD Vulkan crash (VK_ERROR_DEVICE_LOST / r failed: -4 (runtime/nvn/vulkan/record.c:578)), reported in #154, #159, #161 and #162.

What it tests
In those reports, the card stops right after three of the game's crowd compute shaders run. There's no bad memory address: the GPU stays busy for more than 2 seconds and Windows resets the driver. On DirectX 12 (Dozen) the same three shaders used to loop forever, because part of the game's memory read back as 0 to them. Splitting that memory into 512 MB windows fixed it there. This build does the same on AMD cards with Vulkan.

Please test

  • Play on Vulkan (F1 > Display > Graphics API) and go where it used to crash.
  • Whether it crashes or not, attach logs/play.log to your issue. The line starting with [vk] guest memory: should say 7 windows of 512 MB.
  • To compare with the old behaviour, start the game with LARECOMP_VK_GMEM_CHUNK_MB=0.

Also in this build (coming in the next version)

  • Characters no longer disappear on AMD after "return to the start screen" (#157).
  • No more NVIDIA driver crash on the start screen after "return to the start screen" (#142).
  • On GPUs whose storage buffers can't reach the game's whole memory (Intel, #153), the same 512 MB windows.
  • Fewer hitches and less memory growth in long sessions (compute shader table).
  • Rebuilding the game code no longer fails with "Access denied" in .gamebuild (#141).
  • If DirectX 12 can't start, the game switches back to Vulkan on its own (#159).
  • Smooth distant animation on game version 2.0.2 (F1, thanks @lucabravi - #143).
  • DirectX 12 from the test-dx12 build is included.

Known issues

  • The game code is recompiled once when you start this build (10-30 min), because the generator changed (#143).
  • Not tested on an AMD card yet: that's what this build is for.
  • The version still shows v0.1.16, and "Update now" won't offer this build.