diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index 3f3cee069..2da820ece 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -1209,7 +1209,8 @@ rdcstr ReplayProxy::Proxied_DisassembleShader(ParamSerialiser ¶mser, ReturnS if(paramser.IsReading() && !paramser.IsErrored() && !m_IsErrored) { - refl = m_Remote->GetShader(pipeline, m_Remote->GetLiveID(Shader), EntryPoint); + refl = + m_Remote->GetShader(m_Remote->GetLiveID(pipeline), m_Remote->GetLiveID(Shader), EntryPoint); ret = m_Remote->DisassembleShader(pipeline, refl, target); } diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index 76eeb7ab1..91ecd5e63 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -1926,6 +1926,10 @@ ResourceId ResourceManager::GetLiveID(ResourceId id) if(id == ResourceId()) return id; + auto it = m_Replacements.find(id); + if(it != m_Replacements.end()) + return it->second; + RDCASSERT(m_LiveIDs.find(id) != m_LiveIDs.end(), id); return m_LiveIDs[id]; }