Crash fixes if drawcall is NULL

This commit is contained in:
baldurk
2015-01-15 19:00:44 +00:00
parent b5f38a37d0
commit 930c1c53d5
2 changed files with 14 additions and 10 deletions
@@ -639,15 +639,17 @@ namespace renderdocui.Windows.PipelineState
inputLayouts.NodesSelection.Clear();
inputLayouts.EndUpdate();
topology.Text = draw.topology.ToString();
if (draw.topology > PrimitiveTopology.PatchList)
PrimitiveTopology topo = draw != null ? draw.topology : PrimitiveTopology.Unknown;
topology.Text = topo.ToString();
if (topo > PrimitiveTopology.PatchList)
{
int numCPs = (int)draw.topology - (int)PrimitiveTopology.PatchList + 1;
int numCPs = (int)topo - (int)PrimitiveTopology.PatchList + 1;
topology.Text = string.Format("PatchList ({0} Control Points)", numCPs);
}
switch (draw.topology)
switch (topo)
{
case PrimitiveTopology.PointList:
topologyDiagram.Image = global::renderdocui.Properties.Resources.topo_pointlist;
@@ -708,7 +710,7 @@ namespace renderdocui.Windows.PipelineState
}
}
var node = iabuffers.Nodes.Add(new object[] { "Index", name, draw.indexByteWidth, state.m_IA.ibuffer.Offset, length });
var node = iabuffers.Nodes.Add(new object[] { "Index", name, draw != null ? draw.indexByteWidth : 0, state.m_IA.ibuffer.Offset, length });
node.Image = global::renderdocui.Properties.Resources.action;
node.HoverImage = global::renderdocui.Properties.Resources.action_hover;
@@ -322,15 +322,17 @@ namespace renderdocui.Windows.PipelineState
inputLayouts.NodesSelection.Clear();
inputLayouts.EndUpdate();
topology.Text = draw.topology.ToString();
if (draw.topology > PrimitiveTopology.PatchList)
PrimitiveTopology topo = draw != null ? draw.topology : PrimitiveTopology.Unknown;
topology.Text = topo.ToString();
if (topo > PrimitiveTopology.PatchList)
{
int numCPs = (int)draw.topology - (int)PrimitiveTopology.PatchList + 1;
int numCPs = (int)topo - (int)PrimitiveTopology.PatchList + 1;
topology.Text = string.Format("PatchList ({0} Control Points)", numCPs);
}
switch (draw.topology)
switch (topo)
{
case PrimitiveTopology.PointList:
topologyDiagram.Image = global::renderdocui.Properties.Resources.topo_pointlist;
@@ -391,7 +393,7 @@ namespace renderdocui.Windows.PipelineState
}
}
var node = iabuffers.Nodes.Add(new object[] { "Index", name, draw.indexByteWidth, 0, length });
var node = iabuffers.Nodes.Add(new object[] { "Index", name, draw != null ? draw.indexByteWidth : 0, 0, length });
node.Image = global::renderdocui.Properties.Resources.action;
node.HoverImage = global::renderdocui.Properties.Resources.action_hover;