29 Commits
Author SHA1 Message Date
Brian Degenhardt 5da1d59568 gsrunner: capture GS dump frames with RenderDoc
Add -renderdoc <path> and -renderdoc-frame N[,C], writing one .rdc per selected
dump frame.

RenderDoc's own triggers cannot reach gsrunner on a Wayland session. It polls
only X11/xcb for the capture key, so PlatformHasKeyInput() is false and F12 is
never seen. Target control cannot drive it either: RenderDoc hooks only the core
EGL entry points, while GLContextEGL prefers eglGetPlatformDisplayEXT and
eglCreatePlatformWindowSurfaceEXT, so no native window is ever registered for the
surface and there is nothing to attach a capture to. The in-application API
sidesteps both -- StartFrameCapture(nullptr, nullptr) captures the active device
whatever the windowing system, and needs no keypress, so a headless dump replay
can capture unattended.

Captures open and close at present boundaries in Host::BeginPresentFrame(), which
runs on the GS thread with the frame's work submitted but not yet presented.

RenderDoc must already be in the process, since it installs its hooks from its
library constructor. A late dlopen hands back a working API whose hooks were
never installed and then captures nothing, so that case is refused with the
LD_PRELOAD command to use instead.

Verified on aarch64/Asahi against a God of War II dump. Vulkan surfaceless
produces a valid capture: 351 actions, 218 draws, 99 textures, render target
carrying real image data. Windowed Vulkan cannot work under RenderDoc's layer at
all, which does not advertise VK_KHR_wayland_surface. GL captures record correct
events and texture contents but replay with black render targets on Honeykrisp.

3rdparty/include/renderdoc_app.h is RenderDoc's MIT-licensed in-application API
header, vendored verbatim.
2026-07-25 09:43:57 -07:00
KamFretoZ 3b527d4511 Deps: Bump Fontawesome to 7.2.0 2026-03-05 01:40:06 +01:00
KamFretoZ 213569f3d7 Deps: Remove version number from fontawesome 2026-01-12 12:05:17 +01:00
KamFretoZ 0edcdf91db Deps: Bump FontAwesome to 7.1.0 2026-01-12 12:05:17 +01:00
KamFretoZ 9c7750b85d OSD: Add Accessories type indicator to USB Input OSD 2025-09-14 12:10:19 -04:00
TheLastRarandKamFretoZ 888e024d0c 3rdparty: Update FontAwesome to 6.7.2
Co-Authored-By: KamFretoZ <14798312+kamfretoz@users.noreply.github.com>
2025-07-05 20:01:42 -05:00
Jordan 575ec07553 3rdparty: Update xxHash to v0.8.3 (#12137) 2024-12-31 18:14:47 -05:00
Stenzek d6c4a9a4d5 3rdparty: Move Vulkan-Headers v1.3.287 in-tree 2024-06-11 11:30:45 +10:00
JordanTheToaster 226cf2d21d 3rdparty: Update to VK memory allocator 3.1 2024-05-30 20:19:29 +10:00
KamFretoZ e3c745cf9b OSD: Fix Recording Icon 2024-03-05 12:19:51 +00:00
KamFretoZ 5e28c2608a FSUI: Icon treatments
OSD: Add Icon for USB Devices
2024-03-02 15:08:11 +00:00
KamFretoZ dc68da4236 OSD: Add icon for Slow-Mo 2024-02-12 15:13:21 +00:00
KamFretoZ 49df804d1b FSUI: Add Recording Indicator and Time 2024-01-25 00:05:34 +10:00
KamFretoZ 150d8d3214 Qt: Add Popn icon to Input OSD 2024-01-06 16:03:19 +00:00
RedPanda4552 10389dc3f1 Pad: Add Pop'n Music controller type 2024-01-05 16:44:36 +10:00
Stenzek e9411a3db5 Resources: Add achievement icons to PromptFont
By @kamfretoz.
2023-12-31 13:40:32 +10:00
KamFretoZ 651e7e5963 OSD/FSUI: Adjust PromptFont for more readability 2023-12-19 15:38:48 +00:00
Stenzek af1a4ab07a FullscreenUI: Use PromptFont for keyboard/controller icons 2023-12-11 16:55:29 +10:00
JordanTheToaster c555dbc3e8 3rdparty: Update VK memory allocator
Updates VK memory allocator to latest master commit.
2023-12-08 22:20:33 +10:00
Stenzek 1fae35231b 3rdparty: Remove GSL 2023-07-20 21:23:31 +10:00
TellowKrinkle 074e90d046 3rdparty: Add GSL
Version 4.0.0 (a3534567187d2edc428efd3f13466ff75fe5805c)
2022-10-16 19:24:45 -05:00
Connor McLaughlin 53c3958b2b 3rdparty: Remove ghc::filesystem 2022-07-02 06:21:30 +01:00
Connor McLaughlin 75fd20f5df 3rdparty: Add xxhash.h 2022-01-04 13:00:40 +00:00
Connor McLaughlin f0509a6631 3rdparty: Add Vulkan Memory Allocator 2022-01-04 13:00:33 +00:00
Connor McLaughlin 1348c8880e Add font resources 2022-01-02 15:06:39 +00:00