From a90d3eb9c84d61b2ab6363bed50fa72fdd7cd87d Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 25 Jun 2024 17:03:38 +0100 Subject: [PATCH] Account for padding in argument constant buffer for EI patching --- renderdoc/data/hlsl/misc.hlsl | 1 + renderdoc/driver/d3d12/d3d12_debug.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/renderdoc/data/hlsl/misc.hlsl b/renderdoc/data/hlsl/misc.hlsl index a9a71bfe5..d89137b59 100644 --- a/renderdoc/data/hlsl/misc.hlsl +++ b/renderdoc/data/hlsl/misc.hlsl @@ -139,6 +139,7 @@ cbuffer executepatchdata : register(b0) uint argCount; uint bufCount; uint argStride; + uint argpad; uint4 argOffsets[32]; }; diff --git a/renderdoc/driver/d3d12/d3d12_debug.cpp b/renderdoc/driver/d3d12/d3d12_debug.cpp index 8c5c8e6f9..b57ee737e 100644 --- a/renderdoc/driver/d3d12/d3d12_debug.cpp +++ b/renderdoc/driver/d3d12/d3d12_debug.cpp @@ -1095,6 +1095,7 @@ rdcpair D3D12DebugManager::PatchExecuteIndirect( argOffsets.insert(0, (uint32_t)argOffsets.size()); argOffsets.insert(1, m_EIPatchBufferCount); argOffsets.insert(2, wrappedComSig->sig.ByteStride); + argOffsets.insert(3, 0); // padding argOffsets.resize(128 + 3); // argOffsets is now the executepatchdata cbuffer