From 8a6d2ebf3097dd4a73a3ec652321895558d42e6d Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 21 Nov 2015 21:41:43 +0100 Subject: [PATCH] Handle arrays of uniform buffers in descriptor slots --- renderdoc/core/replay_proxy.cpp | 3 +- renderdocui/Code/CommonPipelineState.cs | 19 +- .../Controls/TreeListView/TreeListNode.cs | 6 + .../Controls/TreeListView/TreeListOptions.cs | 13 + .../Controls/TreeListView/TreeListView.cs | 31 +- .../Dialogs/ConstantBufferPreviewer.cs | 19 +- .../PipelineState/D3D11PipelineStateViewer.cs | 4 +- .../PipelineState/GLPipelineStateViewer.cs | 4 +- .../VulkanPipelineStateViewer.Designer.cs | 828 +++++++++--------- .../VulkanPipelineStateViewer.cs | 123 ++- 10 files changed, 581 insertions(+), 469 deletions(-) diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index a63412f06..6df1b90cb 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -112,8 +112,9 @@ void Serialiser::Serialise(const char *name, BindpointMap &el) Serialise("", el.bindset); Serialise("", el.bind); Serialise("", el.used); + Serialise("", el.arraySize); - SIZE_CHECK(BindpointMap, 12); + SIZE_CHECK(BindpointMap, 16); } template<> diff --git a/renderdocui/Code/CommonPipelineState.cs b/renderdocui/Code/CommonPipelineState.cs index e01a138b6..633732a79 100644 --- a/renderdocui/Code/CommonPipelineState.cs +++ b/renderdocui/Code/CommonPipelineState.cs @@ -604,7 +604,21 @@ namespace renderdocui.Code return null; } - public void GetConstantBuffer(ShaderStageType stage, uint BufIdx, out ResourceId buf, out ulong ByteOffset, out ulong ByteSize) + public bool SupportsResourceArrays + { + get + { + if (LogLoaded) + { + if (IsLogVK) + return true; + } + + return false; + } + } + + public void GetConstantBuffer(ShaderStageType stage, uint BufIdx, uint ArrayIdx, out ResourceId buf, out ulong ByteOffset, out ulong ByteSize) { if (LogLoaded) { @@ -685,8 +699,7 @@ namespace renderdocui.Code { var bind = s.BindpointMapping.ConstantBlocks[s.ShaderDetails.ConstantBlocks[BufIdx].bindPoint]; - // VKTODOLOW do we need to worry about arrays of uniform buffers? - var descriptorBind = pipe.DescSets[bind.bindset].bindings[bind.bind].binds[0]; + var descriptorBind = pipe.DescSets[bind.bindset].bindings[bind.bind].binds[ArrayIdx]; buf = descriptorBind.res; ByteOffset = descriptorBind.offset; diff --git a/renderdocui/Controls/TreeListView/TreeListNode.cs b/renderdocui/Controls/TreeListView/TreeListNode.cs index 349c497e4..f9cf1bde5 100644 --- a/renderdocui/Controls/TreeListView/TreeListNode.cs +++ b/renderdocui/Controls/TreeListView/TreeListNode.cs @@ -19,6 +19,7 @@ namespace TreelistView bool m_expanded = false; Image m_image = null; Image m_hoverImage = null; + int m_treeColumn = -1; int m_id = -1; object m_tag = null; bool m_bold = false; @@ -70,6 +71,11 @@ namespace TreelistView get { return m_hoverImage != null ? m_hoverImage : m_image; } set { m_hoverImage = value; } } + public int TreeColumn + { + get { return m_treeColumn; } + set { m_treeColumn = value; } + } public virtual NodeCollection Owner { get { return m_owner; } diff --git a/renderdocui/Controls/TreeListView/TreeListOptions.cs b/renderdocui/Controls/TreeListView/TreeListOptions.cs index 680b74607..43a71c3c7 100644 --- a/renderdocui/Controls/TreeListView/TreeListOptions.cs +++ b/renderdocui/Controls/TreeListView/TreeListOptions.cs @@ -98,6 +98,7 @@ namespace TreelistView.TreeList int m_indent = 16; bool m_showLine = true; bool m_showPlusMinus = true; + bool m_padForPlusMinus = true; bool m_showGridLines = true; bool m_rearrangeableColumns = false; bool m_hoverHand = true; @@ -137,6 +138,18 @@ namespace TreelistView.TreeList m_owner.Invalidate(); } } + + [Category("Behavior")] + [DefaultValue(typeof(bool), "True")] + public bool PadForPlusMinus + { + get { return m_padForPlusMinus; } + set + { + m_padForPlusMinus = value; + m_owner.Invalidate(); + } + } [Category("Behavior")] [DefaultValue(typeof(bool), "True")] diff --git a/renderdocui/Controls/TreeListView/TreeListView.cs b/renderdocui/Controls/TreeListView/TreeListView.cs index 56bbcd413..ed601605b 100644 --- a/renderdocui/Controls/TreeListView/TreeListView.cs +++ b/renderdocui/Controls/TreeListView/TreeListView.cs @@ -137,6 +137,14 @@ namespace TreelistView } } + private int GetTreeColumn(Node n) + { + if (n != null && n.TreeColumn >= 0) + return n.TreeColumn; + + return m_treeColumn; + } + [Category("Behavior")] [DefaultValue(typeof(bool), "False")] public bool AlwaysDisplayVScroll @@ -560,15 +568,18 @@ namespace TreelistView { int clickedRow = CalcHitRow(mousePoint); Rectangle glyphRect = Rectangle.Empty; - if (m_treeColumn >= 0) - glyphRect = GetPlusMinusRectangle(clickedNode, Columns[m_treeColumn], clickedRow); + + int treeColumn = GetTreeColumn(clickedNode); + + if (treeColumn >= 0) + glyphRect = GetPlusMinusRectangle(clickedNode, Columns[treeColumn], clickedRow); if (clickedNode.HasChildren && glyphRect != Rectangle.Empty && glyphRect.Contains(mousePoint)) clickedNode.Expanded = !clickedNode.Expanded; var columnHit = CalcColumnHit(mousePoint); if (glyphRect == Rectangle.Empty && columnHit.Column != null && - columnHit.Column.Index == m_treeColumn && GetNodeBitmap(clickedNode) != null) + columnHit.Column.Index == treeColumn && GetNodeBitmap(clickedNode) != null) { OnNodeClicked(clickedNode); } @@ -685,7 +696,10 @@ namespace TreelistView if ((int)(info.HitType & HitInfo.eHitType.kColumnHeaderResize) > 0) Cursor = Cursors.VSplit; - else if (info.Column != null && info.Column.Index == m_treeColumn && GetNodeBitmap(clickedNode) != null && m_viewSetting.HoverHandTreeColumn) + else if (info.Column != null && + info.Column.Index == GetTreeColumn(clickedNode) && + GetNodeBitmap(clickedNode) != null && + m_viewSetting.HoverHandTreeColumn) Cursor = Cursors.Hand; else Cursor = Cursors.Arrow; @@ -971,7 +985,7 @@ namespace TreelistView dc.SetClip(cellRect); - if (col.Index == m_treeColumn) + if (col.Index == GetTreeColumn(node)) { int lineindet = 10; // add left margin @@ -987,9 +1001,10 @@ namespace TreelistView cellRect.X += lineindet; cellRect.Width -= lineindet; - Rectangle glyphRect = GetPlusMinusRectangle(node, col, visibleRowIndex); + Rectangle glyphRect = GetPlusMinusRectangle(node, col, visibleRowIndex); + Rectangle plusminusRect = glyphRect; - if (!ViewOptions.ShowLine && !ViewOptions.ShowPlusMinus) + if (!ViewOptions.ShowLine && (!ViewOptions.ShowPlusMinus || (!ViewOptions.PadForPlusMinus && plusminusRect == Rectangle.Empty))) { cellRect.X -= (lineindet + 5); cellRect.Width += (lineindet + 5); @@ -1000,8 +1015,6 @@ namespace TreelistView Image icon = hoverNode != null && hoverNode == node ? GetHoverNodeBitmap(node) : GetNodeBitmap(node); - Rectangle plusminusRect = glyphRect; - PaintCellBackground(dc, cellRect, node, col); if (SelectedImage != null && (NodesSelection.Contains(node) || FocusedNode == node)) diff --git a/renderdocui/Windows/Dialogs/ConstantBufferPreviewer.cs b/renderdocui/Windows/Dialogs/ConstantBufferPreviewer.cs index 3040c01a8..3250f670d 100644 --- a/renderdocui/Windows/Dialogs/ConstantBufferPreviewer.cs +++ b/renderdocui/Windows/Dialogs/ConstantBufferPreviewer.cs @@ -43,19 +43,20 @@ namespace renderdocui.Controls { private Core m_Core; - public ConstantBufferPreviewer(Core c, ShaderStageType stage, UInt32 slot) + public ConstantBufferPreviewer(Core c, ShaderStageType stage, UInt32 slot, UInt32 idx) { InitializeComponent(); m_Core = c; Stage = stage; Slot = slot; + ArrayIdx = idx; shader = m_Core.CurPipelineState.GetShader(stage); UpdateLabels(); ulong offs = 0; ulong size = 0; - m_Core.CurPipelineState.GetConstantBuffer(Stage, Slot, out cbuffer, out offs, out size); + m_Core.CurPipelineState.GetConstantBuffer(Stage, Slot, ArrayIdx, out cbuffer, out offs, out size); m_Core.Renderer.BeginInvoke((ReplayRenderer r) => { @@ -67,11 +68,11 @@ namespace renderdocui.Controls private static List m_Docks = new List(); - public static DockContent Has(ShaderStageType stage, UInt32 slot) + public static DockContent Has(ShaderStageType stage, UInt32 slot, UInt32 idx) { foreach (var cb in m_Docks) { - if(cb.Stage == stage && cb.Slot == slot) + if(cb.Stage == stage && cb.Slot == slot && cb.ArrayIdx == idx) return cb as DockContent; } @@ -180,7 +181,7 @@ namespace renderdocui.Controls { ulong offs = 0; ulong size = 0; - m_Core.CurPipelineState.GetConstantBuffer(Stage, Slot, out cbuffer, out offs, out size); + m_Core.CurPipelineState.GetConstantBuffer(Stage, Slot, ArrayIdx, out cbuffer, out offs, out size); shader = m_Core.CurPipelineState.GetShader(Stage); var reflection = m_Core.CurPipelineState.GetShaderReflection(Stage); @@ -215,6 +216,7 @@ namespace renderdocui.Controls private ResourceId shader; private ShaderStageType Stage; private UInt32 Slot = 0; + private UInt32 ArrayIdx = 0; public override string Text { @@ -224,10 +226,15 @@ namespace renderdocui.Controls if (m_Core != null && m_Core.APIProps != null) pipeType = m_Core.APIProps.pipelineType; - return String.Format("{0} {1} {2}", + string ret = String.Format("{0} {1} {2}", Stage.Str(pipeType), pipeType == APIPipelineStateType.D3D11 ? "CB" : "UBO", Slot); + + if (m_Core != null && m_Core.CurPipelineState.SupportsResourceArrays) + ret += String.Format(" [{0}]", ArrayIdx); + + return ret; } } diff --git a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs index d6c9f3cfc..f50f5f028 100644 --- a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs @@ -2140,14 +2140,14 @@ namespace renderdocui.Windows.PipelineState return; } - var existing = ConstantBufferPreviewer.Has(stage.stage, slot); + var existing = ConstantBufferPreviewer.Has(stage.stage, slot, 0); if (existing != null) { existing.Show(); return; } - var prev = new ConstantBufferPreviewer(m_Core, stage.stage, slot); + var prev = new ConstantBufferPreviewer(m_Core, stage.stage, slot, 0); prev.ShowDock(m_DockContent.Pane, DockAlignment.Right, 0.3); } diff --git a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs index 89fe0db96..657d1f1b4 100644 --- a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs @@ -1935,14 +1935,14 @@ namespace renderdocui.Windows.PipelineState private void ShowCBuffer(GLPipelineState.ShaderStage stage, UInt32 slot) { - var existing = ConstantBufferPreviewer.Has(stage.stage, slot); + var existing = ConstantBufferPreviewer.Has(stage.stage, slot, 0); if (existing != null) { existing.Show(); return; } - var prev = new ConstantBufferPreviewer(m_Core, stage.stage, slot); + var prev = new ConstantBufferPreviewer(m_Core, stage.stage, slot, 0); prev.ShowDock(m_DockContent.Pane, DockAlignment.Right, 0.3); } diff --git a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.Designer.cs b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.Designer.cs index a078699ac..d8ba1bf7d 100644 --- a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.Designer.cs +++ b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.Designer.cs @@ -55,67 +55,71 @@ TreelistView.TreeListColumn treeListColumn20 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); TreelistView.TreeListColumn treeListColumn21 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); TreelistView.TreeListColumn treeListColumn22 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn23 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn24 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn25 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn26 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn27 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn28 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn29 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn30 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn31 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn32 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn33 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); - TreelistView.TreeListColumn treeListColumn34 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); - TreelistView.TreeListColumn treeListColumn35 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); - TreelistView.TreeListColumn treeListColumn36 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn37 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn38 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn39 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn40 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn41 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn42 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn43 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn44 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn45 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn46 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn47 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); - TreelistView.TreeListColumn treeListColumn48 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); - TreelistView.TreeListColumn treeListColumn49 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); - TreelistView.TreeListColumn treeListColumn50 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn51 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn52 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn53 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn54 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn55 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn56 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn57 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn58 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn59 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn60 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn61 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); - TreelistView.TreeListColumn treeListColumn62 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); - TreelistView.TreeListColumn treeListColumn63 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); - TreelistView.TreeListColumn treeListColumn64 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn65 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn66 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn67 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn68 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn69 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn70 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn71 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); - TreelistView.TreeListColumn treeListColumn72 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("X", "X"))); - TreelistView.TreeListColumn treeListColumn73 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Y", "Y"))); - TreelistView.TreeListColumn treeListColumn74 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); - TreelistView.TreeListColumn treeListColumn75 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); - TreelistView.TreeListColumn treeListColumn76 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("MinDepth", "MinDepth"))); - TreelistView.TreeListColumn treeListColumn77 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("MaxDepth", "MaxDepth"))); + TreelistView.TreeListColumn treeListColumn23 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn24 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn25 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn26 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn27 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn28 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn29 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn30 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn31 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn32 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn33 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn34 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); + TreelistView.TreeListColumn treeListColumn35 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); + TreelistView.TreeListColumn treeListColumn36 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); + TreelistView.TreeListColumn treeListColumn37 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn38 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn39 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn40 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn41 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn42 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn43 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn44 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn45 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn46 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn47 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn48 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn49 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); + TreelistView.TreeListColumn treeListColumn50 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); + TreelistView.TreeListColumn treeListColumn51 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); + TreelistView.TreeListColumn treeListColumn52 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn53 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn54 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn55 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn56 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn57 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn58 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn59 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn60 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn61 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn62 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn63 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn64 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); + TreelistView.TreeListColumn treeListColumn65 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); + TreelistView.TreeListColumn treeListColumn66 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); + TreelistView.TreeListColumn treeListColumn67 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn68 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn69 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn70 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn71 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn72 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn73 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn74 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn75 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); + TreelistView.TreeListColumn treeListColumn76 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("X", "X"))); + TreelistView.TreeListColumn treeListColumn77 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Y", "Y"))); + TreelistView.TreeListColumn treeListColumn78 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); + TreelistView.TreeListColumn treeListColumn79 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); + TreelistView.TreeListColumn treeListColumn80 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("MinDepth", "MinDepth"))); + TreelistView.TreeListColumn treeListColumn81 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("MaxDepth", "MaxDepth"))); System.Windows.Forms.GroupBox groupBox42; - TreelistView.TreeListColumn treeListColumn78 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); - TreelistView.TreeListColumn treeListColumn79 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("X", "X"))); - TreelistView.TreeListColumn treeListColumn80 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Y", "Y"))); - TreelistView.TreeListColumn treeListColumn81 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); - TreelistView.TreeListColumn treeListColumn82 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); + TreelistView.TreeListColumn treeListColumn82 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); + TreelistView.TreeListColumn treeListColumn83 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("X", "X"))); + TreelistView.TreeListColumn treeListColumn84 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Y", "Y"))); + TreelistView.TreeListColumn treeListColumn85 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); + TreelistView.TreeListColumn treeListColumn86 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); System.Windows.Forms.Label label7; System.Windows.Forms.Label label25; System.Windows.Forms.Label label26; @@ -124,60 +128,62 @@ System.Windows.Forms.Label label15; System.Windows.Forms.Label label16; System.Windows.Forms.Label label17; - TreelistView.TreeListColumn treeListColumn83 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn84 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn85 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn86 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn87 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); - TreelistView.TreeListColumn treeListColumn88 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); - TreelistView.TreeListColumn treeListColumn89 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); - TreelistView.TreeListColumn treeListColumn90 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn91 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn92 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn93 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn94 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn95 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn96 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn97 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); - TreelistView.TreeListColumn treeListColumn98 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn99 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn100 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); - TreelistView.TreeListColumn treeListColumn101 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); - TreelistView.TreeListColumn treeListColumn102 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Depth", "Depth"))); - TreelistView.TreeListColumn treeListColumn103 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Array Size", "Array Size"))); - TreelistView.TreeListColumn treeListColumn104 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Format", "Format"))); - TreelistView.TreeListColumn treeListColumn105 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn106 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); - TreelistView.TreeListColumn treeListColumn107 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Enabled", "Enabled"))); - TreelistView.TreeListColumn treeListColumn108 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Src", "Colour Src"))); - TreelistView.TreeListColumn treeListColumn109 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Dst", "Colour Dst"))); - TreelistView.TreeListColumn treeListColumn110 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Op", "Colour Op"))); - TreelistView.TreeListColumn treeListColumn111 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Src", "Alpha Src"))); - TreelistView.TreeListColumn treeListColumn112 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Dst", "Alpha Dst"))); - TreelistView.TreeListColumn treeListColumn113 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Op", "Alpha Op"))); - TreelistView.TreeListColumn treeListColumn114 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Write Mask", "Write Mask"))); - TreelistView.TreeListColumn treeListColumn115 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Face", "Face"))); - TreelistView.TreeListColumn treeListColumn116 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Func", "Func"))); - TreelistView.TreeListColumn treeListColumn117 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Fail Op", "Fail Op"))); - TreelistView.TreeListColumn treeListColumn118 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Depth Fail Op", "Depth Fail Op"))); - TreelistView.TreeListColumn treeListColumn119 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Pass Op", "Pass Op"))); - TreelistView.TreeListColumn treeListColumn120 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("writemask", "Write Mask"))); - TreelistView.TreeListColumn treeListColumn121 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("compare", "Comp Mask"))); - TreelistView.TreeListColumn treeListColumn122 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Ref", "Ref"))); - TreelistView.TreeListColumn treeListColumn123 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn124 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn125 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); - TreelistView.TreeListColumn treeListColumn126 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); - TreelistView.TreeListColumn treeListColumn127 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); - TreelistView.TreeListColumn treeListColumn128 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); - TreelistView.TreeListColumn treeListColumn129 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); - TreelistView.TreeListColumn treeListColumn130 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); - TreelistView.TreeListColumn treeListColumn131 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); - TreelistView.TreeListColumn treeListColumn132 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); - TreelistView.TreeListColumn treeListColumn133 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); - TreelistView.TreeListColumn treeListColumn134 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); - TreelistView.TreeListColumn treeListColumn135 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); - TreelistView.TreeListColumn treeListColumn136 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn87 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn88 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn89 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn90 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn91 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); + TreelistView.TreeListColumn treeListColumn92 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); + TreelistView.TreeListColumn treeListColumn93 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); + TreelistView.TreeListColumn treeListColumn94 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn95 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn96 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn97 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn98 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn99 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn100 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn101 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn102 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); + TreelistView.TreeListColumn treeListColumn103 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn104 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn105 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Width", "Width"))); + TreelistView.TreeListColumn treeListColumn106 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Height", "Height"))); + TreelistView.TreeListColumn treeListColumn107 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Depth", "Depth"))); + TreelistView.TreeListColumn treeListColumn108 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Array Size", "Array Size"))); + TreelistView.TreeListColumn treeListColumn109 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Format", "Format"))); + TreelistView.TreeListColumn treeListColumn110 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn111 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Slot", "Slot"))); + TreelistView.TreeListColumn treeListColumn112 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Enabled", "Enabled"))); + TreelistView.TreeListColumn treeListColumn113 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Src", "Colour Src"))); + TreelistView.TreeListColumn treeListColumn114 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Dst", "Colour Dst"))); + TreelistView.TreeListColumn treeListColumn115 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Colour Op", "Colour Op"))); + TreelistView.TreeListColumn treeListColumn116 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Src", "Alpha Src"))); + TreelistView.TreeListColumn treeListColumn117 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Dst", "Alpha Dst"))); + TreelistView.TreeListColumn treeListColumn118 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Alpha Op", "Alpha Op"))); + TreelistView.TreeListColumn treeListColumn119 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Write Mask", "Write Mask"))); + TreelistView.TreeListColumn treeListColumn120 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Face", "Face"))); + TreelistView.TreeListColumn treeListColumn121 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Func", "Func"))); + TreelistView.TreeListColumn treeListColumn122 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Fail Op", "Fail Op"))); + TreelistView.TreeListColumn treeListColumn123 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Depth Fail Op", "Depth Fail Op"))); + TreelistView.TreeListColumn treeListColumn124 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Pass Op", "Pass Op"))); + TreelistView.TreeListColumn treeListColumn125 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("writemask", "Write Mask"))); + TreelistView.TreeListColumn treeListColumn126 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("compare", "Comp Mask"))); + TreelistView.TreeListColumn treeListColumn127 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Ref", "Ref"))); + TreelistView.TreeListColumn treeListColumn128 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn129 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn130 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type"))); + TreelistView.TreeListColumn treeListColumn131 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Resource", "Resource"))); + TreelistView.TreeListColumn treeListColumn132 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents1", "Contents"))); + TreelistView.TreeListColumn treeListColumn133 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents2", ""))); + TreelistView.TreeListColumn treeListColumn134 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Contents3", ""))); + TreelistView.TreeListColumn treeListColumn135 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); + TreelistView.TreeListColumn treeListColumn136 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("PlusMinus", ""))); + TreelistView.TreeListColumn treeListColumn137 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Set", "Set"))); + TreelistView.TreeListColumn treeListColumn138 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Binding", "Binding"))); + TreelistView.TreeListColumn treeListColumn139 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Buffer", "Buffer"))); + TreelistView.TreeListColumn treeListColumn140 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Byte Range", "Byte Range"))); + TreelistView.TreeListColumn treeListColumn141 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Size", "Size"))); + TreelistView.TreeListColumn treeListColumn142 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Go", "Go"))); this.pipeFlow = new renderdocui.Controls.PipelineFlowchart(); this.flowLayoutPanel6 = new System.Windows.Forms.FlowLayoutPanel(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); @@ -593,7 +599,7 @@ this.tabIA.Controls.Add(this.panel1); this.tabIA.Location = new System.Drawing.Point(4, 22); this.tabIA.Name = "tabIA"; - this.tabIA.Size = new System.Drawing.Size(1098, 292); + this.tabIA.Size = new System.Drawing.Size(1098, 481); this.tabIA.TabIndex = 0; this.tabIA.Text = "Input Assembler"; this.tabIA.UseVisualStyleBackColor = true; @@ -607,7 +613,7 @@ this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Margin = new System.Windows.Forms.Padding(0); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(1098, 292); + this.panel1.Size = new System.Drawing.Size(1098, 481); this.panel1.TabIndex = 0; // // tableLayoutPanel1 @@ -628,16 +634,16 @@ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(1082, 400); + this.tableLayoutPanel1.Size = new System.Drawing.Size(1098, 481); this.tableLayoutPanel1.TabIndex = 9; // // groupBox1 // this.groupBox1.Controls.Add(this.tableLayoutPanel13); this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(760, 203); + this.groupBox1.Location = new System.Drawing.Point(771, 243); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(319, 194); + this.groupBox1.Size = new System.Drawing.Size(324, 235); this.groupBox1.TabIndex = 6; this.groupBox1.TabStop = false; this.groupBox1.Text = "Primitive Topology"; @@ -656,7 +662,7 @@ this.tableLayoutPanel13.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel13.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel13.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel13.Size = new System.Drawing.Size(313, 175); + this.tableLayoutPanel13.Size = new System.Drawing.Size(318, 216); this.tableLayoutPanel13.TabIndex = 2; // // topologyDiagram @@ -665,7 +671,7 @@ this.topologyDiagram.Image = global::renderdocui.Properties.Resources.topo_trilist; this.topologyDiagram.Location = new System.Drawing.Point(3, 26); this.topologyDiagram.Name = "topologyDiagram"; - this.topologyDiagram.Size = new System.Drawing.Size(307, 123); + this.topologyDiagram.Size = new System.Drawing.Size(312, 164); this.topologyDiagram.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.topologyDiagram.TabIndex = 1; this.topologyDiagram.TabStop = false; @@ -679,7 +685,7 @@ this.topology.Font = new System.Drawing.Font("Tahoma", 14.25F); this.topology.Location = new System.Drawing.Point(3, 0); this.topology.Name = "topology"; - this.topology.Size = new System.Drawing.Size(307, 23); + this.topology.Size = new System.Drawing.Size(312, 23); this.topology.TabIndex = 0; this.topology.Text = "Triangle List"; this.topology.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -688,7 +694,7 @@ // this.primRestart.AutoSize = true; this.primRestart.Font = new System.Drawing.Font("Tahoma", 14.25F); - this.primRestart.Location = new System.Drawing.Point(3, 152); + this.primRestart.Location = new System.Drawing.Point(3, 193); this.primRestart.Name = "primRestart"; this.primRestart.Size = new System.Drawing.Size(219, 23); this.primRestart.TabIndex = 2; @@ -698,9 +704,9 @@ // this.groupBox4.Controls.Add(this.viBuffers); this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox4.Location = new System.Drawing.Point(3, 203); + this.groupBox4.Location = new System.Drawing.Point(3, 243); this.groupBox4.Name = "groupBox4"; - this.groupBox4.Size = new System.Drawing.Size(535, 194); + this.groupBox4.Size = new System.Drawing.Size(543, 235); this.groupBox4.TabIndex = 8; this.groupBox4.TabStop = false; this.groupBox4.Text = "Buffers"; @@ -738,7 +744,7 @@ this.viBuffers.Name = "viBuffers"; this.viBuffers.RowOptions.ItemHeight = 20; this.viBuffers.RowOptions.ShowHeader = false; - this.viBuffers.Size = new System.Drawing.Size(529, 175); + this.viBuffers.Size = new System.Drawing.Size(537, 216); this.viBuffers.TabIndex = 10; this.viBuffers.Text = "treeListView1"; this.viBuffers.TreeColumn = 6; @@ -760,7 +766,7 @@ groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; groupBox2.Location = new System.Drawing.Point(3, 3); groupBox2.Name = "groupBox2"; - groupBox2.Size = new System.Drawing.Size(1076, 194); + groupBox2.Size = new System.Drawing.Size(1092, 234); groupBox2.TabIndex = 9; groupBox2.TabStop = false; groupBox2.Text = "Attributes"; @@ -798,7 +804,7 @@ this.viAttrs.Name = "viAttrs"; this.viAttrs.RowOptions.ItemHeight = 20; this.viAttrs.RowOptions.ShowHeader = false; - this.viAttrs.Size = new System.Drawing.Size(1070, 175); + this.viAttrs.Size = new System.Drawing.Size(1086, 215); this.viAttrs.TabIndex = 12; this.viAttrs.Text = "Input Layouts"; this.viAttrs.TreeColumn = 6; @@ -817,9 +823,9 @@ // groupBox44.Controls.Add(this.meshView); groupBox44.Dock = System.Windows.Forms.DockStyle.Fill; - groupBox44.Location = new System.Drawing.Point(544, 203); + groupBox44.Location = new System.Drawing.Point(552, 243); groupBox44.Name = "groupBox44"; - groupBox44.Size = new System.Drawing.Size(210, 194); + groupBox44.Size = new System.Drawing.Size(213, 235); groupBox44.TabIndex = 11; groupBox44.TabStop = false; groupBox44.Text = "Mesh View"; @@ -831,7 +837,7 @@ this.meshView.Image = global::renderdocui.Properties.Resources.wireframe_mesh; this.meshView.Location = new System.Drawing.Point(3, 16); this.meshView.Name = "meshView"; - this.meshView.Size = new System.Drawing.Size(204, 175); + this.meshView.Size = new System.Drawing.Size(207, 216); this.meshView.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.meshView.TabIndex = 0; this.meshView.TabStop = false; @@ -1023,25 +1029,28 @@ // vsCBuffers // treeListColumn23.AutoSizeMinSize = 0; - treeListColumn23.Width = 30; + treeListColumn23.Width = 20; treeListColumn24.AutoSizeMinSize = 0; - treeListColumn24.Width = 120; - treeListColumn25.AutoSize = true; - treeListColumn25.AutoSizeMinSize = 100; - treeListColumn25.Width = 50; - treeListColumn26.AutoSizeMinSize = 0; - treeListColumn26.Width = 140; + treeListColumn24.Width = 30; + treeListColumn25.AutoSizeMinSize = 0; + treeListColumn25.Width = 120; + treeListColumn26.AutoSize = true; + treeListColumn26.AutoSizeMinSize = 100; + treeListColumn26.Width = 50; treeListColumn27.AutoSizeMinSize = 0; - treeListColumn27.Width = 200; + treeListColumn27.Width = 140; treeListColumn28.AutoSizeMinSize = 0; - treeListColumn28.Width = 25; + treeListColumn28.Width = 200; + treeListColumn29.AutoSizeMinSize = 0; + treeListColumn29.Width = 25; this.vsCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { treeListColumn23, treeListColumn24, treeListColumn25, treeListColumn26, treeListColumn27, - treeListColumn28}); + treeListColumn28, + treeListColumn29}); this.vsCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.vsCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.vsCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1054,10 +1063,10 @@ this.vsCBuffers.Size = new System.Drawing.Size(1070, 200); this.vsCBuffers.TabIndex = 11; this.vsCBuffers.Text = "Constant Buffers"; - this.vsCBuffers.TreeColumn = 5; + this.vsCBuffers.TreeColumn = 6; this.vsCBuffers.ViewOptions.Indent = 0; + this.vsCBuffers.ViewOptions.PadForPlusMinus = false; this.vsCBuffers.ViewOptions.ShowLine = false; - this.vsCBuffers.ViewOptions.ShowPlusMinus = false; this.vsCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.vsCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.vsCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); @@ -1184,32 +1193,32 @@ // // hsResources // - treeListColumn29.AutoSizeMinSize = 0; - treeListColumn29.Width = 30; treeListColumn30.AutoSizeMinSize = 0; - treeListColumn30.Width = 120; + treeListColumn30.Width = 30; treeListColumn31.AutoSizeMinSize = 0; - treeListColumn31.Width = 110; + treeListColumn31.Width = 120; treeListColumn32.AutoSizeMinSize = 0; - treeListColumn32.Width = 100; + treeListColumn32.Width = 110; treeListColumn33.AutoSizeMinSize = 0; - treeListColumn33.Width = 200; + treeListColumn33.Width = 100; treeListColumn34.AutoSizeMinSize = 0; treeListColumn34.Width = 200; - treeListColumn35.AutoSize = true; - treeListColumn35.AutoSizeMinSize = 150; + treeListColumn35.AutoSizeMinSize = 0; treeListColumn35.Width = 200; - treeListColumn36.AutoSizeMinSize = 0; - treeListColumn36.Width = 25; + treeListColumn36.AutoSize = true; + treeListColumn36.AutoSizeMinSize = 150; + treeListColumn36.Width = 200; + treeListColumn37.AutoSizeMinSize = 0; + treeListColumn37.Width = 25; this.hsResources.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn29, treeListColumn30, treeListColumn31, treeListColumn32, treeListColumn33, treeListColumn34, treeListColumn35, - treeListColumn36}); + treeListColumn36, + treeListColumn37}); this.hsResources.Cursor = System.Windows.Forms.Cursors.Arrow; this.hsResources.Dock = System.Windows.Forms.DockStyle.Fill; this.hsResources.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1247,26 +1256,29 @@ // // hsCBuffers // - treeListColumn37.AutoSizeMinSize = 0; - treeListColumn37.Width = 30; treeListColumn38.AutoSizeMinSize = 0; - treeListColumn38.Width = 120; - treeListColumn39.AutoSize = true; - treeListColumn39.AutoSizeMinSize = 100; - treeListColumn39.Width = 50; + treeListColumn38.Width = 20; + treeListColumn39.AutoSizeMinSize = 0; + treeListColumn39.Width = 30; treeListColumn40.AutoSizeMinSize = 0; - treeListColumn40.Width = 140; - treeListColumn41.AutoSizeMinSize = 0; - treeListColumn41.Width = 200; + treeListColumn40.Width = 120; + treeListColumn41.AutoSize = true; + treeListColumn41.AutoSizeMinSize = 100; + treeListColumn41.Width = 50; treeListColumn42.AutoSizeMinSize = 0; - treeListColumn42.Width = 25; + treeListColumn42.Width = 140; + treeListColumn43.AutoSizeMinSize = 0; + treeListColumn43.Width = 200; + treeListColumn44.AutoSizeMinSize = 0; + treeListColumn44.Width = 25; this.hsCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn37, treeListColumn38, treeListColumn39, treeListColumn40, treeListColumn41, - treeListColumn42}); + treeListColumn42, + treeListColumn43, + treeListColumn44}); this.hsCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.hsCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.hsCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1279,10 +1291,10 @@ this.hsCBuffers.Size = new System.Drawing.Size(1070, 200); this.hsCBuffers.TabIndex = 11; this.hsCBuffers.Text = "Constant Buffers"; - this.hsCBuffers.TreeColumn = 5; + this.hsCBuffers.TreeColumn = 6; this.hsCBuffers.ViewOptions.Indent = 0; + this.hsCBuffers.ViewOptions.PadForPlusMinus = false; this.hsCBuffers.ViewOptions.ShowLine = false; - this.hsCBuffers.ViewOptions.ShowPlusMinus = false; this.hsCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.hsCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.hsCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); @@ -1409,32 +1421,32 @@ // // dsResources // - treeListColumn43.AutoSizeMinSize = 0; - treeListColumn43.Width = 30; - treeListColumn44.AutoSizeMinSize = 0; - treeListColumn44.Width = 120; treeListColumn45.AutoSizeMinSize = 0; - treeListColumn45.Width = 110; + treeListColumn45.Width = 30; treeListColumn46.AutoSizeMinSize = 0; - treeListColumn46.Width = 100; + treeListColumn46.Width = 120; treeListColumn47.AutoSizeMinSize = 0; - treeListColumn47.Width = 200; + treeListColumn47.Width = 110; treeListColumn48.AutoSizeMinSize = 0; - treeListColumn48.Width = 200; - treeListColumn49.AutoSize = true; - treeListColumn49.AutoSizeMinSize = 150; + treeListColumn48.Width = 100; + treeListColumn49.AutoSizeMinSize = 0; treeListColumn49.Width = 200; treeListColumn50.AutoSizeMinSize = 0; - treeListColumn50.Width = 25; + treeListColumn50.Width = 200; + treeListColumn51.AutoSize = true; + treeListColumn51.AutoSizeMinSize = 150; + treeListColumn51.Width = 200; + treeListColumn52.AutoSizeMinSize = 0; + treeListColumn52.Width = 25; this.dsResources.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn43, - treeListColumn44, treeListColumn45, treeListColumn46, treeListColumn47, treeListColumn48, treeListColumn49, - treeListColumn50}); + treeListColumn50, + treeListColumn51, + treeListColumn52}); this.dsResources.Cursor = System.Windows.Forms.Cursors.Arrow; this.dsResources.Dock = System.Windows.Forms.DockStyle.Fill; this.dsResources.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1472,26 +1484,29 @@ // // dsCBuffers // - treeListColumn51.AutoSizeMinSize = 0; - treeListColumn51.Width = 30; - treeListColumn52.AutoSizeMinSize = 0; - treeListColumn52.Width = 120; - treeListColumn53.AutoSize = true; - treeListColumn53.AutoSizeMinSize = 100; - treeListColumn53.Width = 50; + treeListColumn53.AutoSizeMinSize = 0; + treeListColumn53.Width = 20; treeListColumn54.AutoSizeMinSize = 0; - treeListColumn54.Width = 140; + treeListColumn54.Width = 30; treeListColumn55.AutoSizeMinSize = 0; - treeListColumn55.Width = 200; - treeListColumn56.AutoSizeMinSize = 0; - treeListColumn56.Width = 25; + treeListColumn55.Width = 120; + treeListColumn56.AutoSize = true; + treeListColumn56.AutoSizeMinSize = 100; + treeListColumn56.Width = 50; + treeListColumn57.AutoSizeMinSize = 0; + treeListColumn57.Width = 140; + treeListColumn58.AutoSizeMinSize = 0; + treeListColumn58.Width = 200; + treeListColumn59.AutoSizeMinSize = 0; + treeListColumn59.Width = 25; this.dsCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn51, - treeListColumn52, treeListColumn53, treeListColumn54, treeListColumn55, - treeListColumn56}); + treeListColumn56, + treeListColumn57, + treeListColumn58, + treeListColumn59}); this.dsCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.dsCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.dsCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1506,8 +1521,8 @@ this.dsCBuffers.Text = "Constant Buffers"; this.dsCBuffers.TreeColumn = 5; this.dsCBuffers.ViewOptions.Indent = 0; + this.dsCBuffers.ViewOptions.PadForPlusMinus = false; this.dsCBuffers.ViewOptions.ShowLine = false; - this.dsCBuffers.ViewOptions.ShowPlusMinus = false; this.dsCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.dsCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.dsCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); @@ -1633,32 +1648,32 @@ // // gsResources // - treeListColumn57.AutoSizeMinSize = 0; - treeListColumn57.Width = 30; - treeListColumn58.AutoSizeMinSize = 0; - treeListColumn58.Width = 120; - treeListColumn59.AutoSizeMinSize = 0; - treeListColumn59.Width = 110; treeListColumn60.AutoSizeMinSize = 0; - treeListColumn60.Width = 100; + treeListColumn60.Width = 30; treeListColumn61.AutoSizeMinSize = 0; - treeListColumn61.Width = 200; + treeListColumn61.Width = 120; treeListColumn62.AutoSizeMinSize = 0; - treeListColumn62.Width = 200; - treeListColumn63.AutoSize = true; - treeListColumn63.AutoSizeMinSize = 150; - treeListColumn63.Width = 200; + treeListColumn62.Width = 110; + treeListColumn63.AutoSizeMinSize = 0; + treeListColumn63.Width = 100; treeListColumn64.AutoSizeMinSize = 0; - treeListColumn64.Width = 25; + treeListColumn64.Width = 200; + treeListColumn65.AutoSizeMinSize = 0; + treeListColumn65.Width = 200; + treeListColumn66.AutoSize = true; + treeListColumn66.AutoSizeMinSize = 150; + treeListColumn66.Width = 200; + treeListColumn67.AutoSizeMinSize = 0; + treeListColumn67.Width = 25; this.gsResources.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn57, - treeListColumn58, - treeListColumn59, treeListColumn60, treeListColumn61, treeListColumn62, treeListColumn63, - treeListColumn64}); + treeListColumn64, + treeListColumn65, + treeListColumn66, + treeListColumn67}); this.gsResources.Cursor = System.Windows.Forms.Cursors.Arrow; this.gsResources.Dock = System.Windows.Forms.DockStyle.Fill; this.gsResources.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1696,26 +1711,29 @@ // // gsCBuffers // - treeListColumn65.AutoSizeMinSize = 0; - treeListColumn65.Width = 30; - treeListColumn66.AutoSizeMinSize = 0; - treeListColumn66.Width = 120; - treeListColumn67.AutoSize = true; - treeListColumn67.AutoSizeMinSize = 100; - treeListColumn67.Width = 50; treeListColumn68.AutoSizeMinSize = 0; - treeListColumn68.Width = 140; + treeListColumn68.Width = 20; treeListColumn69.AutoSizeMinSize = 0; - treeListColumn69.Width = 200; + treeListColumn69.Width = 30; treeListColumn70.AutoSizeMinSize = 0; - treeListColumn70.Width = 25; + treeListColumn70.Width = 120; + treeListColumn71.AutoSize = true; + treeListColumn71.AutoSizeMinSize = 100; + treeListColumn71.Width = 50; + treeListColumn72.AutoSizeMinSize = 0; + treeListColumn72.Width = 140; + treeListColumn73.AutoSizeMinSize = 0; + treeListColumn73.Width = 200; + treeListColumn74.AutoSizeMinSize = 0; + treeListColumn74.Width = 25; this.gsCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn65, - treeListColumn66, - treeListColumn67, treeListColumn68, treeListColumn69, - treeListColumn70}); + treeListColumn70, + treeListColumn71, + treeListColumn72, + treeListColumn73, + treeListColumn74}); this.gsCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.gsCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.gsCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1730,8 +1748,8 @@ this.gsCBuffers.Text = "Samplers"; this.gsCBuffers.TreeColumn = 5; this.gsCBuffers.ViewOptions.Indent = 0; + this.gsCBuffers.ViewOptions.PadForPlusMinus = false; this.gsCBuffers.ViewOptions.ShowLine = false; - this.gsCBuffers.ViewOptions.ShowPlusMinus = false; this.gsCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.gsCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.gsCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); @@ -1794,29 +1812,29 @@ // // viewports // - treeListColumn71.AutoSizeMinSize = 0; - treeListColumn71.Width = 50; - treeListColumn72.AutoSizeMinSize = 0; - treeListColumn72.Width = 50; - treeListColumn73.AutoSizeMinSize = 0; - treeListColumn73.Width = 50; - treeListColumn74.AutoSizeMinSize = 0; - treeListColumn74.Width = 50; treeListColumn75.AutoSizeMinSize = 0; treeListColumn75.Width = 50; treeListColumn76.AutoSizeMinSize = 0; - treeListColumn76.Width = 70; - treeListColumn77.AutoSize = true; - treeListColumn77.AutoSizeMinSize = 60; - treeListColumn77.Width = 60; + treeListColumn76.Width = 50; + treeListColumn77.AutoSizeMinSize = 0; + treeListColumn77.Width = 50; + treeListColumn78.AutoSizeMinSize = 0; + treeListColumn78.Width = 50; + treeListColumn79.AutoSizeMinSize = 0; + treeListColumn79.Width = 50; + treeListColumn80.AutoSizeMinSize = 0; + treeListColumn80.Width = 70; + treeListColumn81.AutoSize = true; + treeListColumn81.AutoSizeMinSize = 60; + treeListColumn81.Width = 60; this.viewports.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn71, - treeListColumn72, - treeListColumn73, - treeListColumn74, treeListColumn75, treeListColumn76, - treeListColumn77}); + treeListColumn77, + treeListColumn78, + treeListColumn79, + treeListColumn80, + treeListColumn81}); this.viewports.Cursor = System.Windows.Forms.Cursors.Arrow; this.viewports.Dock = System.Windows.Forms.DockStyle.Fill; this.viewports.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -1847,23 +1865,23 @@ // // scissors // - treeListColumn78.AutoSizeMinSize = 0; - treeListColumn78.Width = 80; - treeListColumn79.AutoSizeMinSize = 0; - treeListColumn79.Width = 50; - treeListColumn80.AutoSizeMinSize = 0; - treeListColumn80.Width = 50; - treeListColumn81.AutoSizeMinSize = 0; - treeListColumn81.Width = 50; - treeListColumn82.AutoSize = true; - treeListColumn82.AutoSizeMinSize = 50; - treeListColumn82.Width = 50; + treeListColumn82.AutoSizeMinSize = 0; + treeListColumn82.Width = 80; + treeListColumn83.AutoSizeMinSize = 0; + treeListColumn83.Width = 50; + treeListColumn84.AutoSizeMinSize = 0; + treeListColumn84.Width = 50; + treeListColumn85.AutoSizeMinSize = 0; + treeListColumn85.Width = 50; + treeListColumn86.AutoSize = true; + treeListColumn86.AutoSizeMinSize = 50; + treeListColumn86.Width = 50; this.scissors.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn78, - treeListColumn79, - treeListColumn80, - treeListColumn81, - treeListColumn82}); + treeListColumn82, + treeListColumn83, + treeListColumn84, + treeListColumn85, + treeListColumn86}); this.scissors.Cursor = System.Windows.Forms.Cursors.Arrow; this.scissors.Dock = System.Windows.Forms.DockStyle.Fill; this.scissors.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -2379,32 +2397,32 @@ // // psResources // - treeListColumn83.AutoSizeMinSize = 0; - treeListColumn83.Width = 30; - treeListColumn84.AutoSizeMinSize = 0; - treeListColumn84.Width = 120; - treeListColumn85.AutoSizeMinSize = 0; - treeListColumn85.Width = 110; - treeListColumn86.AutoSizeMinSize = 0; - treeListColumn86.Width = 100; treeListColumn87.AutoSizeMinSize = 0; - treeListColumn87.Width = 200; + treeListColumn87.Width = 30; treeListColumn88.AutoSizeMinSize = 0; - treeListColumn88.Width = 200; - treeListColumn89.AutoSize = true; - treeListColumn89.AutoSizeMinSize = 150; - treeListColumn89.Width = 200; + treeListColumn88.Width = 120; + treeListColumn89.AutoSizeMinSize = 0; + treeListColumn89.Width = 110; treeListColumn90.AutoSizeMinSize = 0; - treeListColumn90.Width = 25; + treeListColumn90.Width = 100; + treeListColumn91.AutoSizeMinSize = 0; + treeListColumn91.Width = 200; + treeListColumn92.AutoSizeMinSize = 0; + treeListColumn92.Width = 200; + treeListColumn93.AutoSize = true; + treeListColumn93.AutoSizeMinSize = 150; + treeListColumn93.Width = 200; + treeListColumn94.AutoSizeMinSize = 0; + treeListColumn94.Width = 25; this.psResources.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn83, - treeListColumn84, - treeListColumn85, - treeListColumn86, treeListColumn87, treeListColumn88, treeListColumn89, - treeListColumn90}); + treeListColumn90, + treeListColumn91, + treeListColumn92, + treeListColumn93, + treeListColumn94}); this.psResources.Cursor = System.Windows.Forms.Cursors.Arrow; this.psResources.Dock = System.Windows.Forms.DockStyle.Fill; this.psResources.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -2442,26 +2460,29 @@ // // psCBuffers // - treeListColumn91.AutoSizeMinSize = 0; - treeListColumn91.Width = 30; - treeListColumn92.AutoSizeMinSize = 0; - treeListColumn92.Width = 120; - treeListColumn93.AutoSize = true; - treeListColumn93.AutoSizeMinSize = 100; - treeListColumn93.Width = 50; - treeListColumn94.AutoSizeMinSize = 0; - treeListColumn94.Width = 140; treeListColumn95.AutoSizeMinSize = 0; - treeListColumn95.Width = 200; + treeListColumn95.Width = 20; treeListColumn96.AutoSizeMinSize = 0; - treeListColumn96.Width = 25; + treeListColumn96.Width = 30; + treeListColumn97.AutoSizeMinSize = 0; + treeListColumn97.Width = 120; + treeListColumn98.AutoSize = true; + treeListColumn98.AutoSizeMinSize = 100; + treeListColumn98.Width = 50; + treeListColumn99.AutoSizeMinSize = 0; + treeListColumn99.Width = 140; + treeListColumn100.AutoSizeMinSize = 0; + treeListColumn100.Width = 200; + treeListColumn101.AutoSizeMinSize = 0; + treeListColumn101.Width = 25; this.psCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn91, - treeListColumn92, - treeListColumn93, - treeListColumn94, treeListColumn95, - treeListColumn96}); + treeListColumn96, + treeListColumn97, + treeListColumn98, + treeListColumn99, + treeListColumn100, + treeListColumn101}); this.psCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.psCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.psCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -2474,10 +2495,10 @@ this.psCBuffers.Size = new System.Drawing.Size(1070, 200); this.psCBuffers.TabIndex = 11; this.psCBuffers.Text = "Constant Buffers"; - this.psCBuffers.TreeColumn = 5; + this.psCBuffers.TreeColumn = 6; this.psCBuffers.ViewOptions.Indent = 0; + this.psCBuffers.ViewOptions.PadForPlusMinus = false; this.psCBuffers.ViewOptions.ShowLine = false; - this.psCBuffers.ViewOptions.ShowPlusMinus = false; this.psCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.psCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.psCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); @@ -2536,35 +2557,35 @@ // // targetOutputs // - treeListColumn97.AutoSizeMinSize = 0; - treeListColumn97.Width = 50; - treeListColumn98.AutoSize = true; - treeListColumn98.AutoSizeMinSize = 150; - treeListColumn98.Width = 50; - treeListColumn99.AutoSizeMinSize = 0; - treeListColumn99.Width = 75; - treeListColumn100.AutoSizeMinSize = 0; - treeListColumn100.Width = 50; - treeListColumn101.AutoSizeMinSize = 0; - treeListColumn101.Width = 50; treeListColumn102.AutoSizeMinSize = 0; treeListColumn102.Width = 50; - treeListColumn103.AutoSizeMinSize = 0; - treeListColumn103.Width = 85; + treeListColumn103.AutoSize = true; + treeListColumn103.AutoSizeMinSize = 150; + treeListColumn103.Width = 50; treeListColumn104.AutoSizeMinSize = 0; - treeListColumn104.Width = 200; + treeListColumn104.Width = 75; treeListColumn105.AutoSizeMinSize = 0; - treeListColumn105.Width = 25; + treeListColumn105.Width = 50; + treeListColumn106.AutoSizeMinSize = 0; + treeListColumn106.Width = 50; + treeListColumn107.AutoSizeMinSize = 0; + treeListColumn107.Width = 50; + treeListColumn108.AutoSizeMinSize = 0; + treeListColumn108.Width = 85; + treeListColumn109.AutoSizeMinSize = 0; + treeListColumn109.Width = 200; + treeListColumn110.AutoSizeMinSize = 0; + treeListColumn110.Width = 25; this.targetOutputs.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn97, - treeListColumn98, - treeListColumn99, - treeListColumn100, - treeListColumn101, treeListColumn102, treeListColumn103, treeListColumn104, - treeListColumn105}); + treeListColumn105, + treeListColumn106, + treeListColumn107, + treeListColumn108, + treeListColumn109, + treeListColumn110}); this.targetOutputs.Cursor = System.Windows.Forms.Cursors.Arrow; this.targetOutputs.Dock = System.Windows.Forms.DockStyle.Fill; this.targetOutputs.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -2600,35 +2621,35 @@ // // blendOperations // - treeListColumn106.AutoSizeMinSize = 0; - treeListColumn106.Width = 50; - treeListColumn107.AutoSizeMinSize = 0; - treeListColumn107.Width = 60; - treeListColumn108.AutoSizeMinSize = 0; - treeListColumn108.Width = 100; - treeListColumn109.AutoSizeMinSize = 0; - treeListColumn109.Width = 100; - treeListColumn110.AutoSizeMinSize = 0; - treeListColumn110.Width = 135; treeListColumn111.AutoSizeMinSize = 0; - treeListColumn111.Width = 100; + treeListColumn111.Width = 50; treeListColumn112.AutoSizeMinSize = 0; - treeListColumn112.Width = 100; + treeListColumn112.Width = 60; treeListColumn113.AutoSizeMinSize = 0; treeListColumn113.Width = 100; - treeListColumn114.AutoSize = true; - treeListColumn114.AutoSizeMinSize = 60; - treeListColumn114.Width = 60; + treeListColumn114.AutoSizeMinSize = 0; + treeListColumn114.Width = 100; + treeListColumn115.AutoSizeMinSize = 0; + treeListColumn115.Width = 135; + treeListColumn116.AutoSizeMinSize = 0; + treeListColumn116.Width = 100; + treeListColumn117.AutoSizeMinSize = 0; + treeListColumn117.Width = 100; + treeListColumn118.AutoSizeMinSize = 0; + treeListColumn118.Width = 100; + treeListColumn119.AutoSize = true; + treeListColumn119.AutoSizeMinSize = 60; + treeListColumn119.Width = 60; this.blendOperations.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn106, - treeListColumn107, - treeListColumn108, - treeListColumn109, - treeListColumn110, treeListColumn111, treeListColumn112, treeListColumn113, - treeListColumn114}); + treeListColumn114, + treeListColumn115, + treeListColumn116, + treeListColumn117, + treeListColumn118, + treeListColumn119}); this.blendOperations.Cursor = System.Windows.Forms.Cursors.Arrow; this.blendOperations.Dock = System.Windows.Forms.DockStyle.Fill; this.blendOperations.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -2917,32 +2938,32 @@ // // stencilFuncs // - treeListColumn115.AutoSizeMinSize = 0; - treeListColumn115.Width = 50; - treeListColumn116.AutoSizeMinSize = 0; - treeListColumn116.Width = 60; - treeListColumn117.AutoSizeMinSize = 0; - treeListColumn117.Width = 74; - treeListColumn118.AutoSizeMinSize = 0; - treeListColumn118.Width = 75; - treeListColumn119.AutoSizeMinSize = 50; - treeListColumn119.Width = 75; treeListColumn120.AutoSizeMinSize = 0; - treeListColumn120.Width = 65; + treeListColumn120.Width = 50; treeListColumn121.AutoSizeMinSize = 0; - treeListColumn121.Width = 65; - treeListColumn122.AutoSize = true; + treeListColumn121.Width = 60; treeListColumn122.AutoSizeMinSize = 0; - treeListColumn122.Width = 50; + treeListColumn122.Width = 74; + treeListColumn123.AutoSizeMinSize = 0; + treeListColumn123.Width = 75; + treeListColumn124.AutoSizeMinSize = 50; + treeListColumn124.Width = 75; + treeListColumn125.AutoSizeMinSize = 0; + treeListColumn125.Width = 65; + treeListColumn126.AutoSizeMinSize = 0; + treeListColumn126.Width = 65; + treeListColumn127.AutoSize = true; + treeListColumn127.AutoSizeMinSize = 0; + treeListColumn127.Width = 50; this.stencilFuncs.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn115, - treeListColumn116, - treeListColumn117, - treeListColumn118, - treeListColumn119, treeListColumn120, treeListColumn121, - treeListColumn122}); + treeListColumn122, + treeListColumn123, + treeListColumn124, + treeListColumn125, + treeListColumn126, + treeListColumn127}); this.stencilFuncs.Cursor = System.Windows.Forms.Cursors.Arrow; this.stencilFuncs.Dock = System.Windows.Forms.DockStyle.Fill; this.stencilFuncs.Location = new System.Drawing.Point(3, 16); @@ -3182,32 +3203,32 @@ // // csResources // - treeListColumn123.AutoSizeMinSize = 0; - treeListColumn123.Width = 30; - treeListColumn124.AutoSizeMinSize = 0; - treeListColumn124.Width = 120; - treeListColumn125.AutoSizeMinSize = 0; - treeListColumn125.Width = 110; - treeListColumn126.AutoSizeMinSize = 0; - treeListColumn126.Width = 100; - treeListColumn127.AutoSizeMinSize = 0; - treeListColumn127.Width = 200; treeListColumn128.AutoSizeMinSize = 0; - treeListColumn128.Width = 200; - treeListColumn129.AutoSize = true; - treeListColumn129.AutoSizeMinSize = 150; - treeListColumn129.Width = 200; + treeListColumn128.Width = 30; + treeListColumn129.AutoSizeMinSize = 0; + treeListColumn129.Width = 120; treeListColumn130.AutoSizeMinSize = 0; - treeListColumn130.Width = 25; + treeListColumn130.Width = 110; + treeListColumn131.AutoSizeMinSize = 0; + treeListColumn131.Width = 100; + treeListColumn132.AutoSizeMinSize = 0; + treeListColumn132.Width = 200; + treeListColumn133.AutoSizeMinSize = 0; + treeListColumn133.Width = 200; + treeListColumn134.AutoSize = true; + treeListColumn134.AutoSizeMinSize = 150; + treeListColumn134.Width = 200; + treeListColumn135.AutoSizeMinSize = 0; + treeListColumn135.Width = 25; this.csResources.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn123, - treeListColumn124, - treeListColumn125, - treeListColumn126, - treeListColumn127, treeListColumn128, treeListColumn129, - treeListColumn130}); + treeListColumn130, + treeListColumn131, + treeListColumn132, + treeListColumn133, + treeListColumn134, + treeListColumn135}); this.csResources.Cursor = System.Windows.Forms.Cursors.Arrow; this.csResources.Dock = System.Windows.Forms.DockStyle.Fill; this.csResources.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -3245,26 +3266,29 @@ // // csCBuffers // - treeListColumn131.AutoSizeMinSize = 0; - treeListColumn131.Width = 30; - treeListColumn132.AutoSizeMinSize = 0; - treeListColumn132.Width = 120; - treeListColumn133.AutoSize = true; - treeListColumn133.AutoSizeMinSize = 100; - treeListColumn133.Width = 50; - treeListColumn134.AutoSizeMinSize = 0; - treeListColumn134.Width = 140; - treeListColumn135.AutoSizeMinSize = 0; - treeListColumn135.Width = 200; treeListColumn136.AutoSizeMinSize = 0; - treeListColumn136.Width = 25; + treeListColumn136.Width = 20; + treeListColumn137.AutoSizeMinSize = 0; + treeListColumn137.Width = 30; + treeListColumn138.AutoSizeMinSize = 0; + treeListColumn138.Width = 120; + treeListColumn139.AutoSize = true; + treeListColumn139.AutoSizeMinSize = 100; + treeListColumn139.Width = 50; + treeListColumn140.AutoSizeMinSize = 0; + treeListColumn140.Width = 140; + treeListColumn141.AutoSizeMinSize = 0; + treeListColumn141.Width = 200; + treeListColumn142.AutoSizeMinSize = 0; + treeListColumn142.Width = 25; this.csCBuffers.Columns.AddRange(new TreelistView.TreeListColumn[] { - treeListColumn131, - treeListColumn132, - treeListColumn133, - treeListColumn134, - treeListColumn135, - treeListColumn136}); + treeListColumn136, + treeListColumn137, + treeListColumn138, + treeListColumn139, + treeListColumn140, + treeListColumn141, + treeListColumn142}); this.csCBuffers.Cursor = System.Windows.Forms.Cursors.Arrow; this.csCBuffers.Dock = System.Windows.Forms.DockStyle.Fill; this.csCBuffers.GridLineColour = System.Drawing.SystemColors.ControlDark; @@ -3279,8 +3303,8 @@ this.csCBuffers.Text = "Constant Buffers"; this.csCBuffers.TreeColumn = 5; this.csCBuffers.ViewOptions.Indent = 0; + this.csCBuffers.ViewOptions.PadForPlusMinus = false; this.csCBuffers.ViewOptions.ShowLine = false; - this.csCBuffers.ViewOptions.ShowPlusMinus = false; this.csCBuffers.NodeDoubleClicked += new TreelistView.TreeListView.NodeDoubleClickedHandler(this.cbuffers_NodeDoubleClicked); this.csCBuffers.NodeClicked += new TreelistView.TreeListView.NodeClickedHandler(this.cbuffers_NodeDoubleClicked); this.csCBuffers.KeyDown += new System.Windows.Forms.KeyEventHandler(this.defaultCopyPaste_KeyDown); diff --git a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs index 78be133a4..2d313275f 100644 --- a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs @@ -55,6 +55,13 @@ namespace renderdocui.Windows.PipelineState public TreelistView.Node node = null; }; + class CBufferTag + { + public CBufferTag(UInt32 s, UInt32 i) { slotIdx = s; arrayIdx = i; } + public UInt32 slotIdx; + public UInt32 arrayIdx; + }; + private Dictionary m_CombinedImageSamplers = new Dictionary(); public VulkanPipelineStateViewer(Core core, DockContent c) @@ -586,59 +593,91 @@ namespace renderdocui.Windows.PipelineState cbuffers.Nodes.Clear(); if(stage.ShaderDetails != null) { - UInt32 i = 0; + UInt32 slot = 0; foreach (var b in shaderDetails.ConstantBlocks) { BindpointMap bindMap = stage.BindpointMapping.ConstantBlocks[b.bindPoint]; - // VKTODOMED need to handle arrays - var descriptorBind = pipe.DescSets[bindMap.bindset].bindings[bindMap.bind].binds[0]; - - bool filledSlot = (descriptorBind.res != ResourceId.Null); bool usedSlot = bindMap.used; + var slotBinds = pipe.DescSets[bindMap.bindset].bindings[bindMap.bind].binds; + + // consider it filled if any array element is filled + bool filledSlot = false; + for (UInt32 idx = 0; idx < bindMap.arraySize; idx++) + filledSlot |= slotBinds[idx].res != ResourceId.Null; + // 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" (showEmpty.Checked && !filledSlot) // it's empty, and we have "show empty" ) { - string name = "Constant Buffer " + descriptorBind.res.ToString(); - UInt64 length = descriptorBind.size; - int numvars = b.variables.Length; + TreelistView.NodeCollection parentNodes = cbuffers.Nodes; - if (!filledSlot) - { - name = "Empty"; - length = 0; - } - - for (int t = 0; t < bufs.Length; t++) - if (bufs[t].ID == descriptorBind.res) - name = bufs[t].name; - - if (name == "") - name = "Constant Buffer " + descriptorBind.res.ToString(); + string setname = bindMap.bindset.ToString(); string slotname = bindMap.bind.ToString(); slotname += ": " + b.name; - string sizestr = String.Format("{0} Variables, {1} bytes", numvars, length); - string vecrange = String.Format("{0} - {1}", descriptorBind.offset, descriptorBind.offset + descriptorBind.size); + // for arrays, add a parent element that we add the real cbuffers below + if (bindMap.arraySize > 1) + { + var node = parentNodes.Add(new object[] { "", setname, slotname, String.Format("Array[{0}]", bindMap.arraySize), "", "" }); - var node = cbuffers.Nodes.Add(new object[] { bindMap.bindset, slotname, name, vecrange, sizestr }); + node.TreeColumn = 0; - node.Image = global::renderdocui.Properties.Resources.action; - node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = i; + if (!filledSlot) + EmptyRow(node); - if (!filledSlot) - EmptyRow(node); + if (!usedSlot) + InactiveRow(node); - if (!usedSlot) - InactiveRow(node); + parentNodes = node.Nodes; + } + + for (UInt32 idx = 0; idx < bindMap.arraySize; idx++) + { + var descriptorBind = slotBinds[idx]; + + if (bindMap.arraySize > 1) + slotname = String.Format("{0}[{1}]", b.name, idx); + + string name = "Constant Buffer " + descriptorBind.res.ToString(); + UInt64 length = descriptorBind.size; + int numvars = b.variables.Length; + + if (!filledSlot) + { + name = "Empty"; + length = 0; + } + + for (int t = 0; t < bufs.Length; t++) + if (bufs[t].ID == descriptorBind.res) + name = bufs[t].name; + + if (name == "") + name = "Constant Buffer " + descriptorBind.res.ToString(); + + string sizestr = String.Format("{0} Variables, {1} bytes", numvars, length); + string vecrange = String.Format("{0} - {1}", descriptorBind.offset, descriptorBind.offset + descriptorBind.size); + + var node = parentNodes.Add(new object[] { "", setname, slotname, name, vecrange, sizestr }); + + node.Image = global::renderdocui.Properties.Resources.action; + node.HoverImage = global::renderdocui.Properties.Resources.action_hover; + node.Tag = new CBufferTag(slot, idx); + + if (!filledSlot) + EmptyRow(node); + + if (!usedSlot) + InactiveRow(node); + } } - i++; + + slot++; } } cbuffers.EndUpdate(); @@ -1706,20 +1745,22 @@ namespace renderdocui.Windows.PipelineState sv.Show(m_DockContent.DockPanel); } - private void ShowCBuffer(VulkanPipelineState.ShaderStage stage, UInt32 slot) + private void ShowCBuffer(VulkanPipelineState.ShaderStage stage, CBufferTag tag) { + if (tag == null) return; + VulkanPipelineState.Pipeline pipe = m_Core.CurVulkanPipelineState.graphics; if(stage.stage == ShaderStageType.Compute) pipe = m_Core.CurVulkanPipelineState.compute; - var existing = ConstantBufferPreviewer.Has(stage.stage, slot); + var existing = ConstantBufferPreviewer.Has(stage.stage, tag.slotIdx, tag.arrayIdx); if (existing != null) { existing.Show(); return; } - var prev = new ConstantBufferPreviewer(m_Core, stage.stage, slot); + var prev = new ConstantBufferPreviewer(m_Core, stage.stage, tag.slotIdx, tag.arrayIdx); prev.ShowDock(m_DockContent.Pane, DockAlignment.Right, 0.3); } @@ -1728,22 +1769,16 @@ namespace renderdocui.Windows.PipelineState { VulkanPipelineState.ShaderStage stage = GetStageForSender(node.OwnerView); - if (stage != null && node.Tag is UInt32) - { - ShowCBuffer(stage, (UInt32)node.Tag); - } + if (stage != null) + ShowCBuffer(stage, node.Tag as CBufferTag); } private void CBuffers_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { VulkanPipelineState.ShaderStage stage = GetStageForSender(sender); - object tag = ((DataGridView)sender).Rows[e.RowIndex].Tag; - - if (stage != null && tag is UInt32) - { - ShowCBuffer(stage, (UInt32)tag); - } + if (stage != null) + ShowCBuffer(stage, ((DataGridView)sender).Rows[e.RowIndex].Tag as CBufferTag); } private string FormatMembers(int indent, string nameprefix, ShaderConstant[] vars)