mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-26 07:35:37 +00:00
Preserve expansion when changing events in vulkan pipeline state view
This commit is contained in:
@@ -1500,6 +1500,16 @@ void VulkanPipelineStateViewer::setShaderState(const VKPipe::Shader &stage,
|
||||
resources->hideColumn(0);
|
||||
ubos->hideColumn(0);
|
||||
|
||||
// generate expansion key from columns 1 (set) and 2 (binding)
|
||||
auto bindsetKeygen = [](QModelIndex idx, uint seed) {
|
||||
int row = idx.row();
|
||||
QString combined = idx.sibling(row, 1).data().toString() + idx.sibling(row, 2).data().toString();
|
||||
return qHash(combined, seed);
|
||||
};
|
||||
|
||||
RDTreeViewExpansionState expansion;
|
||||
resources->saveExpansion(expansion, bindsetKeygen);
|
||||
|
||||
vs = resources->verticalScrollBar()->value();
|
||||
resources->beginUpdate();
|
||||
resources->clear();
|
||||
@@ -1583,6 +1593,10 @@ void VulkanPipelineStateViewer::setShaderState(const VKPipe::Shader &stage,
|
||||
resources->endUpdate();
|
||||
resources->verticalScrollBar()->setValue(vs);
|
||||
|
||||
resources->applyExpansion(expansion, bindsetKeygen);
|
||||
|
||||
ubos->saveExpansion(expansion, bindsetKeygen);
|
||||
|
||||
vs = ubos->verticalScrollBar()->value();
|
||||
ubos->beginUpdate();
|
||||
ubos->clear();
|
||||
@@ -1656,6 +1670,8 @@ void VulkanPipelineStateViewer::setShaderState(const VKPipe::Shader &stage,
|
||||
ubos->clearSelection();
|
||||
ubos->endUpdate();
|
||||
ubos->verticalScrollBar()->setValue(vs);
|
||||
|
||||
ubos->applyExpansion(expansion, bindsetKeygen);
|
||||
}
|
||||
|
||||
void VulkanPipelineStateViewer::setState()
|
||||
|
||||
Reference in New Issue
Block a user