Commit Graph
13 Commits
Author SHA1 Message Date
libretroadmin b570567b88 Give the Vulkan allocator one owning thread
Readback buffers are allocated when the readback is recorded rather than on the render thread,
so only the thread that records frames touches VMA. The allocator is created externally
synchronized, and VMA is built with no-op mutexes and plain counters instead of std::mutex and
std::atomic.

Headless runs Vulkan offscreen in builds without SDL too, and CI runs the headless tests on
lavapipe, skipping the pixel tests a hardware backend doesn't match the software references on.
sleep_ms and sleep_us go, with the thread manager test waiting on an event instead, and so does
the unused portable-file-dialogs header.
2026-10-09 07:37:57 +02:00
Henrik Rydgård e90a32d09b Upgrade VMA (Vulkan Memory Allocator) to 3.4.0
Keeps the PPSSPP hacks block at the top of the header.
2026-09-30 17:24:44 -06:00
Henrik RydgårdandClaude Sonnet 5 bb6164e799 Move ten inline vendor libraries out of root CMakeLists.txt into ext/
gason, vma, cityhash, 7zip (ext/lzma-sdk), basis_universal, pugixml,
kirk (ext/libkirk), sfmt19937, xbrz, and xxhash were each defined with
a small add_library() block directly in the root CMakeLists.txt, even
though ext/CMakeLists.txt already exists and handles every other vendor
library (freetype, imgui, naett, discord-rpc, libchdr, zstd, miniupnp,
armips, glew, snappy, ...) via add_subdirectory(). Gave each one its
own ext/<name>/CMakeLists.txt to match that established pattern; xxhash
stays a loose file pair in ext/ (it never had its own directory) so its
add_library() lives directly in ext/CMakeLists.txt instead.

ext/libkirk/CMakeLists.txt already existed but was dead - nothing
add_subdirectory()'d it, and its source list was stale (missing
amctrl.c/.h, which the live inline definition in root had). Replaced
its contents with the current, correct list instead of leaving two
diverging definitions around.

Dropped several target_include_directories()/include_directories()
calls that came along with these (e.g. cityhash, kirk, xbrz, xxhash,
and the lzma-sdk one for 7zip): traced their actual consumers and found
each library's own sources resolve their sibling headers via the
default same-directory quote-include rule, and every external consumer
already uses the full "ext/<name>/..." path resolved through the global
root include - so these were dead weight regardless of position.

Replaced two single-value alias variables (LIB7ZIP_LIBRARY, always
"7zip"; BASISU_LIBRARIES, always "basis_universal") with their target
names directly in Common/CMakeLists.txt, rather than trying to carry
them across the new add_subdirectory boundary - plain set() variables
don't propagate back up out of a child scope without PARENT_SCOPE, so
keeping them as-was would have silently broken Common's link line.

Verified with a fully clean rebuild (removed build/ entirely), a
HEADLESS=ON UNITTEST=ON build, and a LIBRETRO=ON build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PSNaZnHCjmryS3ziVN9gZU
2026-07-24 20:16:07 +02:00
Henrik Rydgård ffa1471bee Upgrade VMA to latest (3.3.0) 2025-05-17 13:40:43 +02:00
Henrik Rydgård f9f5051c6f VMA (vulkan memory allocator): Update to latest to avoid wrong assert with Vulkan 1.4 2025-03-01 19:21:46 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 59af0e5b07 Vulkan: Update to the latest version of VMA
See https://gpuopen.com/vulkan-memory-allocator/

Will merge this after I've gotten a stable-ish iOS build out.
2024-05-28 20:31:45 +02:00
Henrik Rydgård 1bff3c12b4 Update VMA (Vulkan Memory Allocator) to the latest 2024-04-07 01:47:17 +02:00
Andreas Stieger 822592c6b1 Fix build with GCC13: various standard includes 2023-04-05 00:20:14 +02:00
Unknown W. Brackets 559fdd167f armips: Also update UWP and ARM64, etc. 2022-09-30 20:16:34 -07:00
Unknown W. Brackets 3c9f63e297 Vulkan: Update to latest VMA. 2022-09-04 23:54:15 -07:00
Henrik Rydgård 8f29d9542c Buildfixes 2021-11-22 19:53:00 +01:00
Henrik Rydgård eceb691f92 Add VMA to ext/ (AMD's Vulkan Memory Allocator) 2021-11-22 18:54:08 +01:00