mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Don't sort resource list in resource inspector every time
This commit is contained in:
@@ -299,8 +299,8 @@ void CaptureContext::LoadCaptureThreaded(const QString &captureFile, const QStri
|
||||
m_StructuredFile = &r->GetStructuredFile();
|
||||
|
||||
m_ResourceList = r->GetResources();
|
||||
for(ResourceDescription &res : m_ResourceList)
|
||||
m_Resources[res.resourceId] = &res;
|
||||
|
||||
CacheResources();
|
||||
|
||||
m_BufferList = r->GetBuffers();
|
||||
for(BufferDescription &b : m_BufferList)
|
||||
@@ -375,6 +375,19 @@ void CaptureContext::LoadCaptureThreaded(const QString &captureFile, const QStri
|
||||
m_CaptureLoaded = true;
|
||||
}
|
||||
|
||||
void CaptureContext::CacheResources()
|
||||
{
|
||||
m_Resources.clear();
|
||||
|
||||
std::sort(m_ResourceList.begin(), m_ResourceList.end(),
|
||||
[this](const ResourceDescription &a, const ResourceDescription &b) {
|
||||
return GetResourceName(&a) < GetResourceName(&b);
|
||||
});
|
||||
|
||||
for(ResourceDescription &res : m_ResourceList)
|
||||
m_Resources[res.resourceId] = &res;
|
||||
}
|
||||
|
||||
bool CaptureContext::PassEquivalent(const DrawcallDescription &a, const DrawcallDescription &b)
|
||||
{
|
||||
// executing command lists can have children
|
||||
@@ -1194,19 +1207,24 @@ rdcstr CaptureContext::GetResourceName(ResourceId id)
|
||||
if(id == ResourceId())
|
||||
return tr("No Resource");
|
||||
|
||||
if(m_CustomNames.contains(id))
|
||||
return m_CustomNames[id];
|
||||
|
||||
ResourceDescription *desc = GetResource(id);
|
||||
|
||||
if(desc)
|
||||
return desc->name;
|
||||
return GetResourceName(desc);
|
||||
|
||||
uint64_t num;
|
||||
memcpy(&num, &id, sizeof(num));
|
||||
return tr("Unknown Resource %1").arg(num);
|
||||
}
|
||||
|
||||
rdcstr CaptureContext::GetResourceName(const ResourceDescription *desc)
|
||||
{
|
||||
if(m_CustomNames.contains(desc->resourceId))
|
||||
return m_CustomNames[desc->resourceId];
|
||||
|
||||
return desc->name;
|
||||
}
|
||||
|
||||
bool CaptureContext::IsAutogeneratedName(ResourceId id)
|
||||
{
|
||||
if(id == ResourceId())
|
||||
@@ -1245,6 +1263,8 @@ void CaptureContext::SetResourceCustomName(ResourceId id, const rdcstr &name)
|
||||
m_CaptureMods |= CaptureModifications::Renames;
|
||||
m_MainWindow->captureModified();
|
||||
|
||||
CacheResources();
|
||||
|
||||
RefreshUIStatus({}, true, true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user