diff --git a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp index 5c32f2669..b9b66fd37 100644 --- a/renderdoc/driver/d3d12/d3d12_device_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_device_wrap.cpp @@ -842,8 +842,6 @@ bool WrappedID3D12Device::Serialise_CreateComputePipelineState( WrappedID3D12Shader *entry = WrappedID3D12Shader::AddShader(wrapped->compute->CS, this); entry->AddRef(); - wrapped->FetchRootSig(GetShaderCache()); - if(m_GlobalEXTUAV != ~0U) entry->SetShaderExtSlot(m_GlobalEXTUAV, m_GlobalEXTUAVSpace); @@ -856,6 +854,8 @@ bool WrappedID3D12Device::Serialise_CreateComputePipelineState( wrapped->compute->CS.pShaderBytecode = entry; + wrapped->FetchRootSig(GetShaderCache()); + if(Replay_Debug_SingleThreadedCompilation()) { RDResult res = DeferredPipelineCompile(m_pDevice, OrigDescriptor, wrapped);