mirror of
https://github.com/stenzek/duckstation.git
synced 2026-02-04 05:04:33 +00:00
[PR #680] (libretro/Vulkan) Fix glslang shader-related crashes #80
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Original Pull Request: https://github.com/stenzek/duckstation/pull/680
State: closed
Merged: Yes
As reported in #672, the libretro core crashes when loading more than one item of content within a single session when running under Linux with an Intel integrated GPU.
There were actually 2 issues here:
glslang::FinalizeProcess()is attached viastd::atexit(). This does not work as intended when running duckstation as a dynamic shared object library... (it only gets called when RetroArch quits, not when the core is unloaded)With Linux + Intel iGPU, I was getting hit by the same 'mysterious' corruption issue that affected RetroArch itself some time ago, and which was fixed in this commit:
4437cd1eacThis PR ensures that
glslang::FinalizeProcess()is called when unloading the core (and not on RetroArch exit), and backports the changes in4437cd1eac. This fixes all crashing issues on my systems.This closes #672
@stenzek I am by no means an expert in this particular area, so please review this carefully before merging! :)