Combine and compress some of the data tables in the D3D11 pipe view

* e.g. class instances only crazy people use, so there's no point to have
  it eating up a ton of space when 99.9% of the time it's empty. Also
  the border colour in samplers is only listed if the addressing is set to
  use the border colour.
* I also collapsed down some of the columns to make it a little simpler
  visually, like min lod/max lod become just "lod clamp" with a range, and
  constant buffers simplified down to a couple of columns.
This commit is contained in:
baldurk
2015-01-15 22:14:03 +00:00
parent 57a1988755
commit abbcd7c80f
7 changed files with 951 additions and 1043 deletions
@@ -159,6 +159,8 @@ namespace renderdoc
public string Comparison;
[CustomMarshalAs(CustomUnmanagedType.UTF8TemplatedString)]
public string Filter;
public bool UseBorder;
public bool UseComparison;
public UInt32 MaxAniso;
public float MaxLOD;
public float MinLOD;
File diff suppressed because it is too large Load Diff
@@ -388,10 +388,21 @@ namespace renderdocui.Windows.PipelineState
addressing += addPrefix + ": " + addVal;
var node = samplers.Nodes.Add(new object[] { slotname, addressing, borderColor,
s.Comparison, s.Filter, s.MaxAniso.ToString(),
s.MinLOD == -float.MaxValue ? "-FLT_MAX" : s.MinLOD.ToString(),
s.MaxLOD == float.MaxValue ? "FLT_MAX" : s.MaxLOD.ToString(),
if(s.UseBorder)
addressing += String.Format("<{0}>", borderColor);
string filter = s.Filter;
if (s.MaxAniso > 0)
filter += String.Format(" {0}x", s.MaxAniso);
if (s.UseComparison)
filter += String.Format(" ({0})", s.Comparison);
var node = samplers.Nodes.Add(new object[] { slotname, addressing,
filter,
(s.MinLOD == -float.MaxValue ? "0" : s.MinLOD.ToString()) + " - " +
(s.MaxLOD == float.MaxValue ? "FLT_MAX" : s.MaxLOD.ToString()),
s.MipLODBias.ToString() });
if (!filledSlot)
@@ -454,7 +465,10 @@ namespace renderdocui.Windows.PipelineState
if (shaderCBuf != null && shaderCBuf.name.Length > 0)
slotname += ": " + shaderCBuf.name;
var node = cbuffers.Nodes.Add(new object[] { slotname, name, b.VecOffset, b.VecCount, numvars, length });
string sizestr = String.Format("{0} Variables, {1} bytes", numvars, length);
string vecrange = String.Format("{0} - {1}", b.VecOffset, b.VecOffset + b.VecCount);
var node = cbuffers.Nodes.Add(new object[] { slotname, name, vecrange, sizestr });
node.Image = global::renderdocui.Properties.Resources.action;
node.HoverImage = global::renderdocui.Properties.Resources.action_hover;
@@ -493,6 +507,8 @@ namespace renderdocui.Windows.PipelineState
classes.EndUpdate();
classes.NodesSelection.Clear();
classes.SetVScrollValue(vs);
classes.Visible = classes.Parent.Visible = (stage.ClassInstances.Length > 0);
}
// from https://gist.github.com/mjijackson/5311256
@@ -939,6 +955,7 @@ namespace renderdocui.Windows.PipelineState
csUAVs.EndUpdate();
csUAVs.SetVScrollValue(vs);
bool streamoutSet = false;
vs = gsStreams.VScrollValue();
gsStreams.BeginUpdate();
gsStreams.Nodes.Clear();
@@ -950,6 +967,8 @@ namespace renderdocui.Windows.PipelineState
bool filledSlot = (s.Buffer != ResourceId.Null);
bool usedSlot = (filledSlot);
streamoutSet |= filledSlot;
// show if
if (usedSlot || // it's referenced by the shader - regardless of empty or not
(showDisabled.Checked && !usedSlot && filledSlot) || // it's bound, but not referenced, and we have "show disabled"
@@ -996,6 +1015,12 @@ namespace renderdocui.Windows.PipelineState
gsStreams.NodesSelection.Clear();
gsStreams.SetVScrollValue(vs);
gsStreams.Visible = gsStreams.Parent.Visible = streamoutSet;
if (gsStreams.Visible)
geomTableLayout.ColumnStyles[1].Width = 50.0f;
else
geomTableLayout.ColumnStyles[1].Width = 0;
////////////////////////////////////////////////
// Rasterizer
@@ -141,6 +141,9 @@
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>239, 17</value>
</metadata>
<metadata name="groupBox45.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="frontCCW.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>