Suppress AGS Requirement
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 扩展记录不在此开关的抑制范围内。
