MCPcopy Create free account
hub / github.com/baldurk/renderdoc / Inspect

Method Inspect

qrenderdoc/Windows/ResourceInspector.cpp:258–430  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

256}
257
258void ResourceInspector::Inspect(ResourceId id)
259{
260 if(m_Resource == id)
261 return;
262
263 // cancel any rename in progress
264 ui->resourceNameEdit->hide();
265 ui->resourceName->show();
266
267 if(m_Resource != ResourceId())
268 ui->initChunks->saveExpansion(ui->initChunks->getInternalExpansion(qHash(ToQStr(m_Resource))), 0);
269
270 m_Resource = id;
271
272 ui->viewContents->setVisible(m_Ctx.GetTexture(id) || m_Ctx.GetBuffer(id) ||
273 m_Ctx.GetDescriptorStore(id));
274
275 m_Entries.clear();
276
277 if(m_ResourceCacheID != m_Ctx.ResourceNameCacheID())
278 {
279 m_ResourceCacheID = m_Ctx.ResourceNameCacheID();
280 m_ResourceModel->reset();
281 }
282
283 m_ResourceModel->bumpLastUse(id);
284
285 m_FilterModel->invalidate();
286 m_FilterModel->sort(0);
287
288 if(m_Ctx.HasResourceCustomName(id))
289 ui->resetName->show();
290 else
291 ui->resetName->hide();
292
293 ui->initChunks->setUpdatesEnabled(false);
294 ui->resourceUsage->clear();
295 ui->resourceUsage->setEnabled(true);
296
297 const SDFile &file = m_Ctx.GetStructuredFile();
298 const ResourceDescription *desc = m_Ctx.GetResource(id);
299
300 m_Ctx.Replay().AsyncInvoke([this, id](IReplayController *r) {
301 rdcarray<EventUsage> usage = r->GetUsage(id);
302
303 rdcarray<ShaderEntryPoint> entries = r->GetShaderEntryPoints(id);
304
305 GUIInvoke::call(this, [this, entries, usage] {
306 if(!entries.isEmpty())
307 {
308 m_Entries = entries;
309 ui->viewContents->setVisible(true);
310 }
311
312 ui->resourceUsage->beginUpdate();
313
314 if(usage.size() == 1 && usage[0].eventId == 0 && usage[0].usage == ResourceUsage::Unused)
315 {

Calls 15

CombineUsageEventsFunction · 0.85
GetParentMarkerNameFunction · 0.85
GetParentMarkerPathFunction · 0.85
fromValueFunction · 0.85
saveExpansionMethod · 0.80
bumpLastUseMethod · 0.80
beginUpdateMethod · 0.80
addTopLevelItemMethod · 0.80
endUpdateMethod · 0.80
setAnnotationObjectMethod · 0.80
setObjectsMethod · 0.80
ResourceIdFunction · 0.50

Tested by

no test coverage detected