mirror of
https://github.com/libretro/parallel-ps2.git
synced 2026-11-10 03:11:38 -10:00
GSRendererPGS.cpp declared g_pgs_renderer as a std::unique_ptr while GS.cpp defines it as a raw pointer. ELF links a C++ variable by its bare name, so Linux, Android and macOS built; MSVC's symbol spells out the type, and the Windows link failed on an unresolved external. It is now declared once, in GSRendererPGS.h, which GS.cpp includes, so the definition is checked against it. The Vulkan context the renderer keeps is a plain pointer freed in one place instead of a std::unique_ptr. tests/externs checks every variable declared extern in the core against the type it is defined with.