Skip to content

Releases: crossous/renderdoc

RenderSocoDoc 1.43 (2026-04-17)

17 Apr 13:58

Choose a tag to compare

What's Changed / 更新内容

New: API Monitor — Real-time Python Scripting for Graphics API Hooks

新功能:API Monitor — 实时 Python 脚本监控图形 API

A complete scriptable monitoring system that lets you hook D3D11/D3D12 API calls at runtime using Python scripts, without recompiling or restarting the game.

完整的可编程监控系统,通过 Python 脚本实时 hook D3D11/D3D12 图形 API 调用,无需重新编译或重启游戏。

Features / 功能:

  • Launch Application UI integration — "Monitor Script" field in CaptureDialog, auto-discovers rdcmonitor_autoload.py, persisted in .cap settings

  • API Monitor Window (Window → API Monitor) — Scintilla Python editor + real-time log viewer, Apply/Unload/Open/Save controls

  • Hot reload — Edit script in the window, click Apply to send to running game instantly

  • Global Hook support — Scripts delivered via temp file mechanism, works with all launch modes

  • D3D12 multi-thread safe — Event queue architecture, zero GIL contention from command list threads

  • Frame-numbered logs[F:142] message format, frame number matches RenderDoc overlay

  • Zero overhead when unused — Single volatile bool check (~1ns) per API call when no script loaded

  • Launch Application 集成 — CaptureDialog 新增 Monitor Script 路径字段,自动发现本地脚本,持久化到 .cap 设置

  • API Monitor 窗口(Window → API Monitor)— Scintilla Python 编辑器 + 实时日志查看,支持 Apply/Unload/Open/Save

  • 热重载 — 编辑器修改脚本后点 Apply 即刻发送到运行中的游戏

  • Global Hook 支持 — 通过临时文件机制传递脚本,支持所有启动模式

  • D3D12 多线程安全 — 事件队列架构,命令列表线程零 GIL 争用

  • 帧号日志[F:142] message 格式,帧号与 RenderDoc overlay 一致

  • 未使用时零开销 — 无脚本加载时每次 API 调用仅 ~1ns 的 volatile bool 检查

Other Changes / 其他更改

  • Wireframe/Drawcall overlay for MultiAction parent events — 支持 MultiAction 父事件的线框/绘制调用覆盖显示
  • D3D12 VRAM optimizations — Postpone/Skip + softMemoryLimit for capture / 截帧时的显存优化
  • Vulkan layer JSON fix — Fix layer JSON generation and Launch injection crash / 修复 Vulkan 层 JSON 生成和启动注入崩溃
  • Sync with upstream v1.43 — renderdoc_no_export synced, CLAUDE.md added / 同步上游 v1.43
  • AGS suppression — Suppress AGS requirement / 抑制 AGS 需求
  • Build scriptsscripts/build_win.bat and scripts/build_all.bat for one-click build+package / 一键构建打包脚本

📖 API Monitor documentation: docs/api_monitor.md

Full Changelog: 2026010...2026041

RenderSocoDoc 2026-04-09

09 Apr 10:50

Choose a tag to compare

New Features / 新功能

  • MultiAction Wireframe & Drawcall Overlay / MultiAction 线框与 Drawcall 叠加层
    • When selecting a MultiAction parent node (e.g. ExecuteIndirect, multi-draw) in the Event Browser, the Wireframe and Drawcall overlays now render all child draw commands. Previously, only individual child draws would show wireframe; the parent node showed nothing.
    • 在事件浏览器中选择 MultiAction 父节点(如 ExecuteIndirect、multi-draw)时,线框和 Drawcall 叠加层现在会渲染所有子绘制命令。此前选中父节点时不会显示任何线框。
    • Supports all backends: D3D12, D3D11, Vulkan, GL.
    • 支持所有后端:D3D12、D3D11、Vulkan、GL。

Bug Fixes / 修复

  • Vulkan Layer JSON & Launch Injection Crash / Vulkan 层 JSON 与 Launch 注入崩溃
    • Fixed system_load.dll Vulkan layer JSON containing raw @VULKAN_LAYER_NAME@ template variable, causing the Vulkan loader to reject the layer.
    • 修复 system_load.dll 的 Vulkan 层 JSON 中残留 @VULKAN_LAYER_NAME@ 模板变量,导致 Vulkan loader 无法识别该层的问题。
    • Fixed Launch injection crash caused by RVA mismatch between renderdoc.dll and system_load.dll (e.g. INTERNAL_SetCaptureFile offset divergence leading to heap corruption).
    • 修复因 renderdoc.dllsystem_load.dll 的 RVA 不一致(如 INTERNAL_SetCaptureFile 偏移偏差)导致 Launch 注入时堆损坏崩溃的问题。

Maintenance / 维护

  • Sync renderdoc_no_export with v1.43 / 同步 renderdoc_no_export 至 v1.43
    • Added missing source files (controlflow.cpp/h, rdcbytetrie.h) to renderdoc_no_export project to fix link errors after v1.43 rebase.
    • renderdoc_no_export 工程补充了缺失的源文件(controlflow.cpp/hrdcbytetrie.h),修复 v1.43 rebase 后的链接错误。

Suppress AGS Requirement

04 Jan 13:32

Choose a tag to compare

D3D12: Optional switch to suppress AGS vendor extension dependency for more portable replays
Some D3D12 titles ship and load amd_ags_x64.dll and may use AGS shader intrinsics (via the vendor “magic UAV” extension mechanism) even when running on non-AMD GPUs. Previously, RenderDoc would record AMD/Samsung vendor extension usage during capture, making the resulting capture appear AGS-dependent on replay, which could cause replay failures or issues on NVIDIA devices.
A new config option, D3D12_Hack_SuppressAGSRequirement, allows RenderDoc to avoid recording AMD/Samsung AGS vendor extension usage into D3D12 captures. This reduces AGS dependency on replay and improves replay portability across GPUs.
Note: This only affects whether the capture records vendor extension requirements; it does not change the application’s actual use of intrinsics. If the application relies on AGS intrinsics for correctness, enabling this option may alter shader behavior and/or produce incorrect results. NVAPI-related vendor extension capture is not suppressed by this option.

D3D12:新增可选开关以抑制 AGS vendor 扩展依赖,提升跨 GPU 回放兼容性
某些 D3D12 游戏会随包携带并加载 amd_ags_x64.dll,即使运行在非 AMD GPU 上也可能使用 AGS 着色器 intrinsic(通过 vendor extension 的 “magic UAV” 机制)。RenderDoc 过去在捕获时会记录到“使用了 AMD/Samsung vendor extensions”,从而使得该 capture 在回放侧被视为需要 AGS/相关扩展支持,可能导致在 NVIDIA 设备上回放失败或异常。
现在新增配置项 D3D12_Hack_SuppressAGSRequirement:启用后,RenderDoc 在捕获阶段会避免将 AMD/Samsung AGS vendor 扩展使用情况写入 D3D12 capture,以减少 capture 对 AGS 的回放依赖,改善回放可移植性。
**注意:**该开关仅影响“捕获文件中是否记录 vendor 扩展依赖”,并不会改变应用实际使用 intrinsic 的事实;若应用依赖这些 intrinsic 的行为/结果,启用抑制可能导致着色器行为改变或画面不正确。NVAPI(NVIDIA)相关 vendor 扩展记录不在此开关的抑制范围内。

image

compat global hook

09 Apr 16:47

Choose a tag to compare

20250410

x86 build compat

20250217

17 Feb 03:09

Choose a tag to compare

support glEGLImageTargetTexture2DOES
rename .so

Rename dll version

14 Feb 08:19

Choose a tag to compare

20250214

modify style