mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-22 13:45:55 +00:00
Add empty nodes to VBNodes tracking, to keep indices == vb slots
* This fixes VB highlighting when the bindings are sparse
This commit is contained in:
@@ -1488,6 +1488,10 @@ void D3D11PipelineStateViewer::setState()
|
||||
|
||||
ui->iaBuffers->addTopLevelItem(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
}
|
||||
ui->iaBuffers->clearSelection();
|
||||
ui->iaBuffers->endUpdate();
|
||||
@@ -2286,7 +2290,7 @@ void D3D11PipelineStateViewer::highlightIABind(int slot)
|
||||
{
|
||||
RDTreeWidgetItem *item = m_VBNodes[(int)slot];
|
||||
|
||||
if(!m_EmptyNodes.contains(item))
|
||||
if(item && !m_EmptyNodes.contains(item))
|
||||
{
|
||||
item->setBackgroundColor(col);
|
||||
item->setForegroundColor(contrastingColor(col, QColor(0, 0, 0)));
|
||||
|
||||
@@ -1472,6 +1472,10 @@ void D3D12PipelineStateViewer::setState()
|
||||
|
||||
ui->iaBuffers->addTopLevelItem(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
@@ -1514,6 +1518,10 @@ void D3D12PipelineStateViewer::setState()
|
||||
|
||||
ui->iaBuffers->addTopLevelItem(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
}
|
||||
ui->iaBuffers->clearSelection();
|
||||
ui->iaBuffers->endUpdate();
|
||||
@@ -2130,7 +2138,7 @@ void D3D12PipelineStateViewer::highlightIABind(int slot)
|
||||
|
||||
if(slot < m_VBNodes.count())
|
||||
{
|
||||
if(!m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
if(m_VBNodes[slot] && !m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
{
|
||||
m_VBNodes[slot]->setBackgroundColor(col);
|
||||
m_VBNodes[slot]->setForegroundColor(contrastingColor(col, QColor(0, 0, 0)));
|
||||
|
||||
@@ -1410,6 +1410,10 @@ void GLPipelineStateViewer::setState()
|
||||
|
||||
ui->viBuffers->addTopLevelItem(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
}
|
||||
ui->viBuffers->clearSelection();
|
||||
ui->viBuffers->endUpdate();
|
||||
@@ -2253,7 +2257,7 @@ void GLPipelineStateViewer::highlightIABind(int slot)
|
||||
|
||||
if(slot < m_VBNodes.count())
|
||||
{
|
||||
if(!m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
if(m_VBNodes[slot] && !m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
{
|
||||
m_VBNodes[slot]->setBackgroundColor(col);
|
||||
m_VBNodes[slot]->setForegroundColor(contrastingColor(col, QColor(0, 0, 0)));
|
||||
|
||||
@@ -1791,6 +1791,10 @@ void VulkanPipelineStateViewer::setState()
|
||||
|
||||
ui->viBuffers->addTopLevelItem(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
for(; i < (int)ARRAY_COUNT(usedBindings); i++)
|
||||
@@ -1811,6 +1815,10 @@ void VulkanPipelineStateViewer::setState()
|
||||
|
||||
m_VBNodes.push_back(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_VBNodes.push_back(NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
ui->viBuffers->clearSelection();
|
||||
@@ -2429,7 +2437,7 @@ void VulkanPipelineStateViewer::highlightIABind(int slot)
|
||||
|
||||
if(slot < m_VBNodes.count())
|
||||
{
|
||||
if(!m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
if(m_VBNodes[slot] && !m_EmptyNodes.contains(m_VBNodes[slot]))
|
||||
{
|
||||
m_VBNodes[slot]->setBackgroundColor(col);
|
||||
m_VBNodes[slot]->setForegroundColor(contrastingColor(col, QColor(0, 0, 0)));
|
||||
|
||||
Reference in New Issue
Block a user