diff --git a/renderdoc/driver/d3d12/d3d12_replay.cpp b/renderdoc/driver/d3d12/d3d12_replay.cpp index 6f4f5fa00..b6e5b8609 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.cpp +++ b/renderdoc/driver/d3d12/d3d12_replay.cpp @@ -294,12 +294,13 @@ TextureDescription D3D12Replay::GetTexture(ResourceId id) rdcarray D3D12Replay::GetShaderEntryPoints(ResourceId shader) { - WrappedID3D12Shader *sh = - m_pDevice->GetResourceManager()->GetCurrentAs(shader); + ID3D12DeviceChild *res = m_pDevice->GetResourceManager()->GetCurrentResource(shader); - if(!sh) + if(!res || !WrappedID3D12Shader::IsAlloc(res)) return {}; + WrappedID3D12Shader *sh = (WrappedID3D12Shader *)res; + ShaderReflection &ret = sh->GetDetails(); return {{"main", ret.stage}};