From e89b2d1cddb7129f38ac6178da331adb9e900a33 Mon Sep 17 00:00:00 2001 From: psucien Date: Mon, 10 Jun 2024 17:20:49 +0200 Subject: [PATCH] Added Tracy profiler --- .gitmodules | 3 +++ .reuse/dep5 | 1 + CMakeLists.txt | 2 +- externals/CMakeLists.txt | 8 ++++++++ externals/tracy | 1 + src/common/debug.h | 2 ++ 6 files changed, 16 insertions(+), 1 deletion(-) create mode 160000 externals/tracy diff --git a/.gitmodules b/.gitmodules index 7ac7ad42..3284ecce 100644 --- a/.gitmodules +++ b/.gitmodules @@ -55,3 +55,6 @@ [submodule "externals/xxhash"] path = externals/xxhash url = https://github.com/Cyan4973/xxHash.git +[submodule "externals/tracy"] + path = externals/tracy + url = https://github.com/shadps4-emu/tracy diff --git a/.reuse/dep5 b/.reuse/dep5 index 283c680b..ed58eb79 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -34,5 +34,6 @@ Files: CMakeSettings.json src/shadps4.rc src/shadps4.qrc externals/stb_image.h + externals/tracy/* Copyright: shadPS4 Emulator Project License: GPL-2.0-or-later diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bb549d2..a9f47acc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -500,7 +500,7 @@ endif() create_target_directory_groups(shadps4) -target_link_libraries(shadps4 PRIVATE magic_enum::magic_enum fmt::fmt toml11::toml11 tsl::robin_map xbyak) +target_link_libraries(shadps4 PRIVATE magic_enum::magic_enum fmt::fmt toml11::toml11 tsl::robin_map xbyak Tracy::TracyClient) target_link_libraries(shadps4 PRIVATE discord-rpc boost vma sirit vulkan-headers xxhash Zydis SPIRV glslang SDL3-shared) if (NOT ENABLE_QT_GUI) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index b2d348b7..4e60988c 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -93,3 +93,11 @@ add_subdirectory(sirit EXCLUDE_FROM_ALL) if (WIN32) target_compile_options(sirit PUBLIC "-Wno-error=unused-command-line-argument") endif() + +# Tracy +option(TRACY_ENABLE "" ON) +option(TRACY_NO_CRASH_HANDLER "" ON) # Otherwise texture cache exceptions will be treaten as a crash +option(TRACY_ON_DEMAND "" ON) +option(TRACY_NO_FRAME_IMAGE "" ON) +option(TRACY_FIBERS "" ON) # For AmdGpu frontend profiling +add_subdirectory(tracy EXCLUDE_FROM_ALL) diff --git a/externals/tracy b/externals/tracy new file mode 160000 index 00000000..ef96964f --- /dev/null +++ b/externals/tracy @@ -0,0 +1 @@ +Subproject commit ef96964f71885e9ff177253ce0465569787e4a4c diff --git a/src/common/debug.h b/src/common/debug.h index e1c898a3..f89590aa 100644 --- a/src/common/debug.h +++ b/src/common/debug.h @@ -10,3 +10,5 @@ #else #error What the fuck is this compiler #endif + +#include