diff --git a/renderdocui/Windows/ShaderViewer.Designer.cs b/renderdocui/Windows/ShaderViewer.Designer.cs
index d749bb080..9742e2b61 100644
--- a/renderdocui/Windows/ShaderViewer.Designer.cs
+++ b/renderdocui/Windows/ShaderViewer.Designer.cs
@@ -29,44 +29,46 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
- WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
- WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient1 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
- WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient2 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient3 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient4 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient5 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient6 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
- WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient7 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ TreelistView.TreeListColumn treeListColumn21 = new TreelistView.TreeListColumn("Name", "Name");
+ TreelistView.TreeListColumn treeListColumn22 = new TreelistView.TreeListColumn("Type", "Type");
+ TreelistView.TreeListColumn treeListColumn23 = new TreelistView.TreeListColumn("Value", "Value");
+ TreelistView.TreeListColumn treeListColumn24 = new TreelistView.TreeListColumn("Name", "Name");
+ TreelistView.TreeListColumn treeListColumn25 = new TreelistView.TreeListColumn("Type", "Type");
+ TreelistView.TreeListColumn treeListColumn26 = new TreelistView.TreeListColumn("Value", "Value");
+ WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin2 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
+ WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin2 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
+ WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient4 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient8 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
+ WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient9 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient5 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient10 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient11 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient12 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient6 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient13 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
+ WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient14 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShaderViewer));
- TreelistView.TreeListColumn treeListColumn14 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Name", "Name")));
- TreelistView.TreeListColumn treeListColumn15 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Index", "Index")));
- TreelistView.TreeListColumn treeListColumn16 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Reg", "Reg")));
- TreelistView.TreeListColumn treeListColumn17 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type")));
- TreelistView.TreeListColumn treeListColumn18 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("SystemValue", "System Value")));
- TreelistView.TreeListColumn treeListColumn19 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Mask", "Mask")));
- TreelistView.TreeListColumn treeListColumn20 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Unused", "Unused")));
- TreelistView.TreeListColumn treeListColumn7 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Name", "Name")));
- TreelistView.TreeListColumn treeListColumn8 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Index", "Index")));
- TreelistView.TreeListColumn treeListColumn9 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Reg", "Reg")));
- TreelistView.TreeListColumn treeListColumn10 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type")));
- TreelistView.TreeListColumn treeListColumn11 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("SystemValue", "System Value")));
- TreelistView.TreeListColumn treeListColumn12 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Mask", "Mask")));
- TreelistView.TreeListColumn treeListColumn13 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Used", "Used")));
- TreelistView.TreeListColumn treeListColumn1 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Name", "Name")));
- TreelistView.TreeListColumn treeListColumn2 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type")));
- TreelistView.TreeListColumn treeListColumn3 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Value", "Value")));
- TreelistView.TreeListColumn treeListColumn4 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Name", "Name")));
- TreelistView.TreeListColumn treeListColumn5 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Type", "Type")));
- TreelistView.TreeListColumn treeListColumn6 = ((TreelistView.TreeListColumn)(new TreelistView.TreeListColumn("Value", "Value")));
+ TreelistView.TreeListColumn treeListColumn27 = new TreelistView.TreeListColumn("Name", "Name");
+ TreelistView.TreeListColumn treeListColumn28 = new TreelistView.TreeListColumn("Index", "Index");
+ TreelistView.TreeListColumn treeListColumn29 = new TreelistView.TreeListColumn("Reg", "Reg");
+ TreelistView.TreeListColumn treeListColumn30 = new TreelistView.TreeListColumn("Type", "Type");
+ TreelistView.TreeListColumn treeListColumn31 = new TreelistView.TreeListColumn("SystemValue", "System Value");
+ TreelistView.TreeListColumn treeListColumn32 = new TreelistView.TreeListColumn("Mask", "Mask");
+ TreelistView.TreeListColumn treeListColumn33 = new TreelistView.TreeListColumn("Used", "Used");
+ TreelistView.TreeListColumn treeListColumn34 = new TreelistView.TreeListColumn("Name", "Name");
+ TreelistView.TreeListColumn treeListColumn35 = new TreelistView.TreeListColumn("Index", "Index");
+ TreelistView.TreeListColumn treeListColumn36 = new TreelistView.TreeListColumn("Reg", "Reg");
+ TreelistView.TreeListColumn treeListColumn37 = new TreelistView.TreeListColumn("Type", "Type");
+ TreelistView.TreeListColumn treeListColumn38 = new TreelistView.TreeListColumn("SystemValue", "System Value");
+ TreelistView.TreeListColumn treeListColumn39 = new TreelistView.TreeListColumn("Mask", "Mask");
+ TreelistView.TreeListColumn treeListColumn40 = new TreelistView.TreeListColumn("Unused", "Unused");
this.variableBox = new System.Windows.Forms.GroupBox();
+ this.variableRegs = new TreelistView.TreeListView();
this.constantBox = new System.Windows.Forms.GroupBox();
+ this.constantRegs = new TreelistView.TreeListView();
this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.showWindows = new System.Windows.Forms.ToolStripDropDownButton();
this.autosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -93,7 +95,9 @@
this.errorsBox = new System.Windows.Forms.GroupBox();
this.errors = new System.Windows.Forms.TextBox();
this.inSigBox = new System.Windows.Forms.GroupBox();
+ this.inSig = new TreelistView.TreeListView();
this.outSigBox = new System.Windows.Forms.GroupBox();
+ this.outSig = new TreelistView.TreeListView();
this.watchBox = new System.Windows.Forms.GroupBox();
this.watchRegs = new System.Windows.Forms.ListView();
this.VarName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@@ -101,24 +105,20 @@
this.Value = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.variableHover = new System.Windows.Forms.ToolTip(this.components);
this.hoverTimer = new System.Windows.Forms.Timer(this.components);
- this.outSig = new TreelistView.TreeListView();
- this.inSig = new TreelistView.TreeListView();
- this.variableRegs = new TreelistView.TreeListView();
- this.constantRegs = new TreelistView.TreeListView();
this.variableBox.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.variableRegs)).BeginInit();
this.constantBox.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.constantRegs)).BeginInit();
this.debuggingStrip.SuspendLayout();
this.mainLayout.SuspendLayout();
this.flowLayoutPanel1.SuspendLayout();
this.editStrip.SuspendLayout();
this.errorsBox.SuspendLayout();
this.inSigBox.SuspendLayout();
- this.outSigBox.SuspendLayout();
- this.watchBox.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.outSig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.inSig)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.variableRegs)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.constantRegs)).BeginInit();
+ this.outSigBox.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.outSig)).BeginInit();
+ this.watchBox.SuspendLayout();
this.SuspendLayout();
//
// variableBox
@@ -131,6 +131,31 @@
this.variableBox.TabStop = false;
this.variableBox.Text = "Variable Registers";
//
+ // variableRegs
+ //
+ treeListColumn21.AutoSizeMinSize = 0;
+ treeListColumn21.Width = 105;
+ treeListColumn22.AutoSizeMinSize = 0;
+ treeListColumn22.Width = 57;
+ treeListColumn23.AutoSize = true;
+ treeListColumn23.AutoSizeMinSize = 0;
+ treeListColumn23.Width = 183;
+ this.variableRegs.Columns.AddRange(new TreelistView.TreeListColumn[] {
+ treeListColumn21,
+ treeListColumn22,
+ treeListColumn23});
+ this.variableRegs.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.variableRegs.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.variableRegs.Location = new System.Drawing.Point(3, 16);
+ this.variableRegs.MultiSelect = false;
+ this.variableRegs.Name = "variableRegs";
+ this.variableRegs.RowOptions.ShowHeader = false;
+ this.variableRegs.Size = new System.Drawing.Size(183, 169);
+ this.variableRegs.TabIndex = 1;
+ this.variableRegs.Text = "treeListView1";
+ this.variableRegs.Leave += new System.EventHandler(this.regsList_Leave);
+ this.variableRegs.MouseMove += new System.Windows.Forms.MouseEventHandler(this.regsList_MouseMove);
+ //
// constantBox
//
this.constantBox.Controls.Add(this.constantRegs);
@@ -141,6 +166,31 @@
this.constantBox.TabStop = false;
this.constantBox.Text = "Constants && Resources";
//
+ // constantRegs
+ //
+ treeListColumn24.AutoSizeMinSize = 0;
+ treeListColumn24.Width = 109;
+ treeListColumn25.AutoSizeMinSize = 0;
+ treeListColumn25.Width = 57;
+ treeListColumn26.AutoSize = true;
+ treeListColumn26.AutoSizeMinSize = 0;
+ treeListColumn26.Width = 180;
+ this.constantRegs.Columns.AddRange(new TreelistView.TreeListColumn[] {
+ treeListColumn24,
+ treeListColumn25,
+ treeListColumn26});
+ this.constantRegs.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.constantRegs.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.constantRegs.Location = new System.Drawing.Point(3, 16);
+ this.constantRegs.MultiSelect = false;
+ this.constantRegs.Name = "constantRegs";
+ this.constantRegs.RowOptions.ShowHeader = false;
+ this.constantRegs.Size = new System.Drawing.Size(226, 171);
+ this.constantRegs.TabIndex = 0;
+ this.constantRegs.Text = "treeListView1";
+ this.constantRegs.Leave += new System.EventHandler(this.regsList_Leave);
+ this.constantRegs.MouseMove += new System.Windows.Forms.MouseEventHandler(this.regsList_MouseMove);
+ //
// dockPanel
//
this.dockPanel.DefaultFloatWindowSize = new System.Drawing.Size(800, 500);
@@ -151,52 +201,52 @@
this.dockPanel.Location = new System.Drawing.Point(3, 34);
this.dockPanel.Name = "dockPanel";
this.dockPanel.Size = new System.Drawing.Size(424, 285);
- dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
- dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
- autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
- tabGradient1.EndColor = System.Drawing.SystemColors.Control;
- tabGradient1.StartColor = System.Drawing.SystemColors.Control;
- tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
- autoHideStripSkin1.TabGradient = tabGradient1;
- autoHideStripSkin1.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
- dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
- tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
- tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
- tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
- dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
- dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
- dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
- dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
- tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
- tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
- tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
- dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
- dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
- dockPaneStripSkin1.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
- tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
- tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
- tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
- tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
- dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
- tabGradient5.EndColor = System.Drawing.SystemColors.Control;
- tabGradient5.StartColor = System.Drawing.SystemColors.Control;
- tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
- dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
- dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
- dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
- dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
- tabGradient6.EndColor = System.Drawing.SystemColors.InactiveCaption;
- tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
- tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
- tabGradient6.TextColor = System.Drawing.SystemColors.InactiveCaptionText;
- dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
- tabGradient7.EndColor = System.Drawing.Color.Transparent;
- tabGradient7.StartColor = System.Drawing.Color.Transparent;
- tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
- dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
- dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
- dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
- this.dockPanel.Skin = dockPanelSkin1;
+ dockPanelGradient4.EndColor = System.Drawing.SystemColors.ControlLight;
+ dockPanelGradient4.StartColor = System.Drawing.SystemColors.ControlLight;
+ autoHideStripSkin2.DockStripGradient = dockPanelGradient4;
+ tabGradient8.EndColor = System.Drawing.SystemColors.Control;
+ tabGradient8.StartColor = System.Drawing.SystemColors.Control;
+ tabGradient8.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+ autoHideStripSkin2.TabGradient = tabGradient8;
+ autoHideStripSkin2.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
+ dockPanelSkin2.AutoHideStripSkin = autoHideStripSkin2;
+ tabGradient9.EndColor = System.Drawing.SystemColors.ControlLightLight;
+ tabGradient9.StartColor = System.Drawing.SystemColors.ControlLightLight;
+ tabGradient9.TextColor = System.Drawing.SystemColors.ControlText;
+ dockPaneStripGradient2.ActiveTabGradient = tabGradient9;
+ dockPanelGradient5.EndColor = System.Drawing.SystemColors.Control;
+ dockPanelGradient5.StartColor = System.Drawing.SystemColors.Control;
+ dockPaneStripGradient2.DockStripGradient = dockPanelGradient5;
+ tabGradient10.EndColor = System.Drawing.SystemColors.ControlLight;
+ tabGradient10.StartColor = System.Drawing.SystemColors.ControlLight;
+ tabGradient10.TextColor = System.Drawing.SystemColors.ControlText;
+ dockPaneStripGradient2.InactiveTabGradient = tabGradient10;
+ dockPaneStripSkin2.DocumentGradient = dockPaneStripGradient2;
+ dockPaneStripSkin2.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
+ tabGradient11.EndColor = System.Drawing.SystemColors.ActiveCaption;
+ tabGradient11.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+ tabGradient11.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
+ tabGradient11.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
+ dockPaneStripToolWindowGradient2.ActiveCaptionGradient = tabGradient11;
+ tabGradient12.EndColor = System.Drawing.SystemColors.Control;
+ tabGradient12.StartColor = System.Drawing.SystemColors.Control;
+ tabGradient12.TextColor = System.Drawing.SystemColors.ControlText;
+ dockPaneStripToolWindowGradient2.ActiveTabGradient = tabGradient12;
+ dockPanelGradient6.EndColor = System.Drawing.SystemColors.ControlLight;
+ dockPanelGradient6.StartColor = System.Drawing.SystemColors.ControlLight;
+ dockPaneStripToolWindowGradient2.DockStripGradient = dockPanelGradient6;
+ tabGradient13.EndColor = System.Drawing.SystemColors.InactiveCaption;
+ tabGradient13.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+ tabGradient13.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
+ tabGradient13.TextColor = System.Drawing.SystemColors.InactiveCaptionText;
+ dockPaneStripToolWindowGradient2.InactiveCaptionGradient = tabGradient13;
+ tabGradient14.EndColor = System.Drawing.Color.Transparent;
+ tabGradient14.StartColor = System.Drawing.Color.Transparent;
+ tabGradient14.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+ dockPaneStripToolWindowGradient2.InactiveTabGradient = tabGradient14;
+ dockPaneStripSkin2.ToolWindowGradient = dockPaneStripToolWindowGradient2;
+ dockPanelSkin2.DockPaneStripSkin = dockPaneStripSkin2;
+ this.dockPanel.Skin = dockPanelSkin2;
this.dockPanel.TabIndex = 2;
//
// showWindows
@@ -461,6 +511,43 @@
this.inSigBox.TabStop = false;
this.inSigBox.Text = "Input Signature";
//
+ // inSig
+ //
+ treeListColumn27.AutoSize = true;
+ treeListColumn27.AutoSizeMinSize = 20;
+ treeListColumn27.Width = 100;
+ treeListColumn28.AutoSizeMinSize = 10;
+ treeListColumn28.Width = 50;
+ treeListColumn29.AutoSizeMinSize = 10;
+ treeListColumn29.Width = 50;
+ treeListColumn30.AutoSizeMinSize = 20;
+ treeListColumn30.Width = 60;
+ treeListColumn31.AutoSizeMinSize = 15;
+ treeListColumn31.Width = 75;
+ treeListColumn32.AutoSizeMinSize = 15;
+ treeListColumn32.Width = 50;
+ treeListColumn33.AutoSizeMinSize = 15;
+ treeListColumn33.Width = 50;
+ this.inSig.Columns.AddRange(new TreelistView.TreeListColumn[] {
+ treeListColumn27,
+ treeListColumn28,
+ treeListColumn29,
+ treeListColumn30,
+ treeListColumn31,
+ treeListColumn32,
+ treeListColumn33});
+ this.inSig.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.inSig.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.inSig.Location = new System.Drawing.Point(3, 16);
+ this.inSig.MultiSelect = false;
+ this.inSig.Name = "inSig";
+ this.inSig.RowOptions.ShowHeader = false;
+ this.inSig.Size = new System.Drawing.Size(452, 169);
+ this.inSig.TabIndex = 1;
+ this.inSig.Text = "Input Signature";
+ this.inSig.ViewOptions.ShowLine = false;
+ this.inSig.ViewOptions.ShowPlusMinus = false;
+ //
// outSigBox
//
this.outSigBox.Controls.Add(this.outSig);
@@ -471,6 +558,43 @@
this.outSigBox.TabStop = false;
this.outSigBox.Text = "Output Signature";
//
+ // outSig
+ //
+ treeListColumn34.AutoSize = true;
+ treeListColumn34.AutoSizeMinSize = 20;
+ treeListColumn34.Width = 100;
+ treeListColumn35.AutoSizeMinSize = 10;
+ treeListColumn35.Width = 50;
+ treeListColumn36.AutoSizeMinSize = 10;
+ treeListColumn36.Width = 50;
+ treeListColumn37.AutoSizeMinSize = 20;
+ treeListColumn37.Width = 60;
+ treeListColumn38.AutoSizeMinSize = 15;
+ treeListColumn38.Width = 75;
+ treeListColumn39.AutoSizeMinSize = 15;
+ treeListColumn39.Width = 50;
+ treeListColumn40.AutoSizeMinSize = 15;
+ treeListColumn40.Width = 50;
+ this.outSig.Columns.AddRange(new TreelistView.TreeListColumn[] {
+ treeListColumn34,
+ treeListColumn35,
+ treeListColumn36,
+ treeListColumn37,
+ treeListColumn38,
+ treeListColumn39,
+ treeListColumn40});
+ this.outSig.Cursor = System.Windows.Forms.Cursors.Arrow;
+ this.outSig.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.outSig.Location = new System.Drawing.Point(3, 16);
+ this.outSig.MultiSelect = false;
+ this.outSig.Name = "outSig";
+ this.outSig.RowOptions.ShowHeader = false;
+ this.outSig.Size = new System.Drawing.Size(452, 153);
+ this.outSig.TabIndex = 1;
+ this.outSig.Text = "Output Signature";
+ this.outSig.ViewOptions.ShowLine = false;
+ this.outSig.ViewOptions.ShowPlusMinus = false;
+ //
// watchBox
//
this.watchBox.Controls.Add(this.watchRegs);
@@ -505,6 +629,8 @@
this.watchRegs.DoubleClick += new System.EventHandler(this.watchRegs_DoubleClick);
this.watchRegs.KeyUp += new System.Windows.Forms.KeyEventHandler(this.watchRegs_KeyUp);
this.watchRegs.Layout += new System.Windows.Forms.LayoutEventHandler(this.watchRegs_Layout);
+ this.watchRegs.Leave += new System.EventHandler(this.regsList_Leave);
+ this.watchRegs.MouseMove += new System.Windows.Forms.MouseEventHandler(this.regsList_MouseMove);
//
// VarName
//
@@ -534,126 +660,6 @@
this.hoverTimer.Interval = 500;
this.hoverTimer.Tick += new System.EventHandler(this.hoverTimer_Tick);
//
- // outSig
- //
- treeListColumn14.AutoSize = true;
- treeListColumn14.AutoSizeMinSize = 20;
- treeListColumn14.Width = 100;
- treeListColumn15.AutoSizeMinSize = 10;
- treeListColumn15.Width = 50;
- treeListColumn16.AutoSizeMinSize = 10;
- treeListColumn16.Width = 50;
- treeListColumn17.AutoSizeMinSize = 20;
- treeListColumn17.Width = 60;
- treeListColumn18.AutoSizeMinSize = 15;
- treeListColumn18.Width = 75;
- treeListColumn19.AutoSizeMinSize = 15;
- treeListColumn19.Width = 50;
- treeListColumn20.AutoSizeMinSize = 15;
- treeListColumn20.Width = 50;
- this.outSig.Columns.AddRange(new TreelistView.TreeListColumn[] {
- treeListColumn14,
- treeListColumn15,
- treeListColumn16,
- treeListColumn17,
- treeListColumn18,
- treeListColumn19,
- treeListColumn20});
- this.outSig.Cursor = System.Windows.Forms.Cursors.Arrow;
- this.outSig.Dock = System.Windows.Forms.DockStyle.Fill;
- this.outSig.Location = new System.Drawing.Point(3, 16);
- this.outSig.MultiSelect = false;
- this.outSig.Name = "outSig";
- this.outSig.RowOptions.ShowHeader = false;
- this.outSig.Size = new System.Drawing.Size(452, 153);
- this.outSig.TabIndex = 1;
- this.outSig.Text = "Output Signature";
- this.outSig.ViewOptions.ShowLine = false;
- this.outSig.ViewOptions.ShowPlusMinus = false;
- //
- // inSig
- //
- treeListColumn7.AutoSize = true;
- treeListColumn7.AutoSizeMinSize = 20;
- treeListColumn7.Width = 100;
- treeListColumn8.AutoSizeMinSize = 10;
- treeListColumn8.Width = 50;
- treeListColumn9.AutoSizeMinSize = 10;
- treeListColumn9.Width = 50;
- treeListColumn10.AutoSizeMinSize = 20;
- treeListColumn10.Width = 60;
- treeListColumn11.AutoSizeMinSize = 15;
- treeListColumn11.Width = 75;
- treeListColumn12.AutoSizeMinSize = 15;
- treeListColumn12.Width = 50;
- treeListColumn13.AutoSizeMinSize = 15;
- treeListColumn13.Width = 50;
- this.inSig.Columns.AddRange(new TreelistView.TreeListColumn[] {
- treeListColumn7,
- treeListColumn8,
- treeListColumn9,
- treeListColumn10,
- treeListColumn11,
- treeListColumn12,
- treeListColumn13});
- this.inSig.Cursor = System.Windows.Forms.Cursors.Arrow;
- this.inSig.Dock = System.Windows.Forms.DockStyle.Fill;
- this.inSig.Location = new System.Drawing.Point(3, 16);
- this.inSig.MultiSelect = false;
- this.inSig.Name = "inSig";
- this.inSig.RowOptions.ShowHeader = false;
- this.inSig.Size = new System.Drawing.Size(452, 169);
- this.inSig.TabIndex = 1;
- this.inSig.Text = "Input Signature";
- this.inSig.ViewOptions.ShowLine = false;
- this.inSig.ViewOptions.ShowPlusMinus = false;
- //
- // variableRegs
- //
- treeListColumn1.AutoSizeMinSize = 0;
- treeListColumn1.Width = 105;
- treeListColumn2.AutoSizeMinSize = 0;
- treeListColumn2.Width = 57;
- treeListColumn3.AutoSize = true;
- treeListColumn3.AutoSizeMinSize = 0;
- treeListColumn3.Width = 183;
- this.variableRegs.Columns.AddRange(new TreelistView.TreeListColumn[] {
- treeListColumn1,
- treeListColumn2,
- treeListColumn3});
- this.variableRegs.Cursor = System.Windows.Forms.Cursors.Arrow;
- this.variableRegs.Dock = System.Windows.Forms.DockStyle.Fill;
- this.variableRegs.Location = new System.Drawing.Point(3, 16);
- this.variableRegs.MultiSelect = false;
- this.variableRegs.Name = "variableRegs";
- this.variableRegs.RowOptions.ShowHeader = false;
- this.variableRegs.Size = new System.Drawing.Size(183, 169);
- this.variableRegs.TabIndex = 1;
- this.variableRegs.Text = "treeListView1";
- //
- // constantRegs
- //
- treeListColumn4.AutoSizeMinSize = 0;
- treeListColumn4.Width = 109;
- treeListColumn5.AutoSizeMinSize = 0;
- treeListColumn5.Width = 57;
- treeListColumn6.AutoSize = true;
- treeListColumn6.AutoSizeMinSize = 0;
- treeListColumn6.Width = 180;
- this.constantRegs.Columns.AddRange(new TreelistView.TreeListColumn[] {
- treeListColumn4,
- treeListColumn5,
- treeListColumn6});
- this.constantRegs.Cursor = System.Windows.Forms.Cursors.Arrow;
- this.constantRegs.Dock = System.Windows.Forms.DockStyle.Fill;
- this.constantRegs.Location = new System.Drawing.Point(3, 16);
- this.constantRegs.MultiSelect = false;
- this.constantRegs.Name = "constantRegs";
- this.constantRegs.RowOptions.ShowHeader = false;
- this.constantRegs.Size = new System.Drawing.Size(226, 171);
- this.constantRegs.TabIndex = 0;
- this.constantRegs.Text = "treeListView1";
- //
// ShaderViewer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -672,7 +678,9 @@
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ShaderViewer_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ShaderViewer_FormClosed);
this.variableBox.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.variableRegs)).EndInit();
this.constantBox.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.constantRegs)).EndInit();
this.debuggingStrip.ResumeLayout(false);
this.debuggingStrip.PerformLayout();
this.mainLayout.ResumeLayout(false);
@@ -684,12 +692,10 @@
this.errorsBox.ResumeLayout(false);
this.errorsBox.PerformLayout();
this.inSigBox.ResumeLayout(false);
- this.outSigBox.ResumeLayout(false);
- this.watchBox.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.outSig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.inSig)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.variableRegs)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.constantRegs)).EndInit();
+ this.outSigBox.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.outSig)).EndInit();
+ this.watchBox.ResumeLayout(false);
this.ResumeLayout(false);
}
diff --git a/renderdocui/Windows/ShaderViewer.cs b/renderdocui/Windows/ShaderViewer.cs
index 47092fc66..ba874666d 100644
--- a/renderdocui/Windows/ShaderViewer.cs
+++ b/renderdocui/Windows/ShaderViewer.cs
@@ -618,6 +618,9 @@ namespace renderdocui.Windows
private Point m_HoverPos = Point.Empty;
private string m_HoverReg = "";
private ScintillaNET.Scintilla m_HoverScintilla = null;
+ private ListViewItem m_HoverItem = null;
+ private TreelistView.Node m_HoverNode = null;
+ private string m_HoverText = "";
void scintilla1_MouseMove(object sender, MouseEventArgs e)
{
@@ -633,6 +636,8 @@ namespace renderdocui.Windows
variableHover.Hide(scintilla1);
hoverTimer.Enabled = false;
+ m_HoverItem = null;
+ m_HoverNode = null;
m_HoverScintilla = null;
int pos = scintilla1.PositionFromPoint(pt.X, pt.Y);
@@ -660,19 +665,89 @@ namespace renderdocui.Windows
variableHover.Hide(scintilla1);
hoverTimer.Enabled = false;
m_HoverScintilla = null;
+ m_HoverItem = null;
+ m_HoverNode = null;
m_HoverPos = Point.Empty;
}
+ private void regsList_Leave(object sender, EventArgs e)
+ {
+ hoverTimer.Enabled = false;
+ m_HoverItem = null;
+ m_HoverNode = null;
+ }
+
+ private object prevSender = null;
+ private Point prevPoint = Point.Empty;
+
+ private void regsList_MouseMove(object sender, MouseEventArgs e)
+ {
+ if (m_Trace == null || m_Trace.states.Length == 0) return;
+
+ // ignore mousemove events that are identical to the last we saw
+ if (prevSender == sender && prevPoint.X == e.X && prevPoint.Y == e.Y)
+ return;
+
+ prevSender = sender;
+ prevPoint = new Point(e.X, e.Y);
+
+ ListView list = sender as ListView;
+
+ if (m_HoverItem != null)
+ variableHover.Hide(m_HoverItem.ListView);
+ if (m_HoverNode != null)
+ variableHover.Hide(m_HoverNode.OwnerView);
+
+ hoverTimer.Enabled = false;
+ m_HoverItem = null;
+ m_HoverNode = null;
+
+ if (list != null)
+ {
+ ListViewItem item = list.GetItemAt(e.X, e.Y);
+
+ if (item != null)
+ {
+ m_HoverItem = item;
+ m_HoverNode = null;
+ hoverTimer.Enabled = true;
+ hoverTimer.Start();
+ }
+ }
+
+ TreelistView.TreeListView treelist = sender as TreelistView.TreeListView;
+
+ if (treelist != null)
+ {
+ TreelistView.Node node = treelist.GetHitNode();
+
+ if (node != null)
+ {
+ m_HoverNode = node;
+ m_HoverItem = null;
+ hoverTimer.Enabled = true;
+ hoverTimer.Start();
+ }
+ }
+ }
+
private void hoverTimer_Tick(object sender, EventArgs e)
{
if (m_Trace == null || m_Trace.states.Length == 0) return;
hoverTimer.Enabled = false;
+ ShaderVariable hoverVar = null;
+ Point hoverPoint = Point.Empty;
+ IWin32Window hoverWin = null;
+
if (m_HoverScintilla != null && m_HoverReg.Length > 0)
{
var pt = m_HoverScintilla.PointToClient(Cursor.Position);
+ hoverPoint = new Point(m_HoverScintilla.ClientRectangle.Left + pt.X + 10, m_HoverScintilla.ClientRectangle.Top + pt.Y + 10);
+ hoverWin = m_HoverScintilla;
+
var state = m_Trace.states[CurrentStep];
string regtype = m_HoverReg.Substring(0, 1);
@@ -699,25 +774,45 @@ namespace renderdocui.Windows
{
if (regindex >= 0 && regindex < vars.Length)
{
- ShaderVariable vr = vars[regindex];
-
- var fmt =
- @"{0,5} | X Y Z W" + Environment.NewLine +
- @"----------------------------------------------------" + Environment.NewLine +
- @"float | {1,10} {2,10} {3,10} {4,10}" + Environment.NewLine +
- @"uint | {5,10} {6,10} {7,10} {8,10}" + Environment.NewLine +
- @"int | {9,10} {10,10} {11,10} {12,10}";
-
- var tooltip = String.Format(fmt, m_HoverReg,
- Formatter.Format(vr.value.fv[0]), Formatter.Format(vr.value.fv[1]), Formatter.Format(vr.value.fv[2]), Formatter.Format(vr.value.fv[3]),
- vr.value.uv[0], vr.value.uv[1], vr.value.uv[2], vr.value.uv[3],
- vr.value.iv[0], vr.value.iv[1], vr.value.iv[2], vr.value.iv[3]);
-
- variableHover.Show(tooltip, m_HoverScintilla,
- m_HoverScintilla.ClientRectangle.Left + pt.X + 10, m_HoverScintilla.ClientRectangle.Top + pt.Y + 10);
+ hoverVar = vars[regindex];
}
}
}
+ else if(m_HoverItem != null)
+ {
+ var pt = m_HoverItem.ListView.PointToClient(Cursor.Position);
+
+ hoverPoint = new Point(m_HoverItem.ListView.ClientRectangle.Left + pt.X + 10, m_HoverItem.ListView.ClientRectangle.Top + pt.Y + 10);
+ hoverVar = m_HoverItem.Tag as ShaderVariable;
+ hoverWin = m_HoverItem.ListView;
+ }
+ else if (m_HoverNode != null)
+ {
+ var pt = m_HoverNode.OwnerView.PointToClient(Cursor.Position);
+
+ hoverPoint = new Point(m_HoverNode.OwnerView.ClientRectangle.Left + pt.X + 10, m_HoverNode.OwnerView.ClientRectangle.Top + pt.Y + 10);
+ hoverVar = m_HoverNode.Tag as ShaderVariable;
+ hoverWin = m_HoverNode.OwnerView;
+ }
+
+ if(hoverVar != null)
+ {
+ var fmt =
+ @"{0}" + Environment.NewLine +
+ @" X Y Z W" + Environment.NewLine +
+ @"----------------------------------------------------" + Environment.NewLine +
+ @"float | {1,10} {2,10} {3,10} {4,10}" + Environment.NewLine +
+ @"uint | {5,10} {6,10} {7,10} {8,10}" + Environment.NewLine +
+ @"int | {9,10} {10,10} {11,10} {12,10}" + Environment.NewLine +
+ @"hex | {5,10:X} {6,10:X} {7,10:X} {8,10:X}";
+
+ m_HoverText = String.Format(fmt, hoverVar.name,
+ Formatter.Format(hoverVar.value.fv[0]), Formatter.Format(hoverVar.value.fv[1]), Formatter.Format(hoverVar.value.fv[2]), Formatter.Format(hoverVar.value.fv[3]),
+ hoverVar.value.uv[0], hoverVar.value.uv[1], hoverVar.value.uv[2], hoverVar.value.uv[3],
+ hoverVar.value.iv[0], hoverVar.value.iv[1], hoverVar.value.iv[2], hoverVar.value.iv[3]);
+
+ variableHover.Show(m_HoverText, hoverWin, hoverPoint.X, hoverPoint.Y);
+ }
}
private const int ToolTipFontSize = 9;
@@ -726,7 +821,7 @@ namespace renderdocui.Windows
{
using (Font fw = new Font(FontFamily.GenericMonospace, ToolTipFontSize))
{
- SizeF size = TextRenderer.MeasureText(variableHover.GetToolTip(m_HoverScintilla), fw);
+ SizeF size = TextRenderer.MeasureText(m_HoverText, fw);
e.ToolTipSize = new Size((int)size.Width, (int)size.Height);
}
@@ -822,14 +917,18 @@ namespace renderdocui.Windows
m_Trace.cbuffers[i].variables[j].name,
"cbuffer",
StringRep(m_Trace.cbuffers[i].variables[j], false)
- }));
+ })).Tag = m_Trace.cbuffers[i].variables[j];
}
}
foreach (var input in m_Trace.inputs)
{
if (input.rows > 0 || input.columns > 0)
- constantRegs.Nodes.Add(new TreelistView.Node(new object[] { input.name, input.type.ToString() + " input", StringRep(input, true) }));
+ {
+ var node = new TreelistView.Node(new object[] { input.name, input.type.ToString() + " input", StringRep(input, true) });
+ node.Tag = input;
+ constantRegs.Nodes.Add(node);
+ }
}
var pipestate = m_Core.CurD3D11PipelineState;
@@ -857,11 +956,14 @@ namespace renderdocui.Windows
{
if (tex.ID == res.Resource)
{
- constantRegs.Nodes.Add(new TreelistView.Node(new object[] {
+ var node = new TreelistView.Node(new object[] {
"t" + name, "Texture",
tex.width + "x" + tex.height + "x" + (tex.depth > 1 ? tex.depth : tex.arraysize) +
"[" + tex.mips + "] @ " + tex.format + " - " + tex.name
- }));
+ });
+ node.Tag = null;
+
+ constantRegs.Nodes.Add(node);
found = true;
break;
@@ -879,10 +981,12 @@ namespace renderdocui.Windows
if (slot.IsSRV)
prefix = "t";
- constantRegs.Nodes.Add(new TreelistView.Node(new object[] {
+ var node = new TreelistView.Node(new object[] {
prefix + name, "Buffer",
buf.length + " - " + buf.name
- }));
+ });
+ node.Tag = null;
+ constantRegs.Nodes.Add(node);
found = true;
break;
@@ -897,10 +1001,12 @@ namespace renderdocui.Windows
if (slot.IsSRV)
prefix = "t";
- constantRegs.Nodes.Add(new TreelistView.Node(new object[] {
+ var node = new TreelistView.Node(new object[] {
prefix + name, "Resource",
"unknown"
- }));
+ });
+ node.Tag = null;
+ constantRegs.Nodes.Add(node);
}
}
@@ -950,7 +1056,9 @@ namespace renderdocui.Windows
for (int i = 0; i < state.registers.Length; i++)
{
- variableRegs.Nodes[v++].SetData(new object[] { state.registers[i].name, "register", StringRep(state.registers[i], false) });
+ variableRegs.Nodes[v].SetData(new object[] { state.registers[i].name, "register", StringRep(state.registers[i], false) });
+ variableRegs.Nodes[v].Tag = state.registers[i];
+ v++;
}
for (int i = 0; i < state.indexableTemps.Length; i++)
@@ -960,12 +1068,17 @@ namespace renderdocui.Windows
for (int t = 0; t < state.indexableTemps[i].temps.Length; t++)
{
node.Nodes[t].SetData(new object[] { state.indexableTemps[i].temps[t].name, "register", StringRep(state.indexableTemps[i].temps[t], false) });
+ node.Nodes[t].Tag = state.indexableTemps[i].temps[t];
}
+
+ node.Tag = null;
}
for (int i = 0; i < state.outputs.Length; i++)
{
- variableRegs.Nodes[v++].SetData(new object[] { state.outputs[i].name, "register", StringRep(state.outputs[i], false) });
+ variableRegs.Nodes[v].SetData(new object[] { state.outputs[i].name, "register", StringRep(state.outputs[i], false) });
+ variableRegs.Nodes[v].Tag = state.outputs[i];
+ v++;
}
variableRegs.EndUpdate();
@@ -1042,6 +1155,8 @@ namespace renderdocui.Windows
{
ShaderVariable vr = vars[regindex];
+ item.Tag = vr;
+
if (swizzle.Length == 0)
{
swizzle = "xyzw".Substring(0, (int)vr.columns);
diff --git a/renderdocui/Windows/ShaderViewer.resx b/renderdocui/Windows/ShaderViewer.resx
index 32eeb878f..281e48cac 100644
--- a/renderdocui/Windows/ShaderViewer.resx
+++ b/renderdocui/Windows/ShaderViewer.resx
@@ -154,6 +154,9 @@
261, 17
+
+ 261, 17
+
354, 17