mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 01:20:42 +00:00
Add warning and clip display if a buffer will be too large
* E.g. if a huge buffer is displayed as just floats, there could be 100s of millions of rows. Instead, we clip to 200,000 (anecdotally where things start getting a bit laggy on the control), and allow advancing through sections of the buffer at a time.
This commit is contained in:
+117
-98
@@ -35,24 +35,24 @@
|
||||
System.Windows.Forms.Label label3;
|
||||
System.Windows.Forms.Label label5;
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BufferViewer));
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin3 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin3 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient7 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient15 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin3 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient16 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient8 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient17 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient18 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient19 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient9 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient20 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient21 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
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();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.previewTable = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.render = new renderdocui.Controls.NoScrollPanel();
|
||||
@@ -116,6 +116,7 @@
|
||||
this.instSep = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.instLabel = new System.Windows.Forms.ToolStripLabel();
|
||||
this.instanceIdxToolitem = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.largeBufferWarning = new System.Windows.Forms.Label();
|
||||
this.gsOutBufferView = new System.Windows.Forms.DataGridView();
|
||||
this.columnContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.resetSelectedColumnsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -627,15 +628,15 @@
|
||||
this.vsInBufferView.AllowUserToResizeRows = false;
|
||||
this.vsInBufferView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCells;
|
||||
this.vsInBufferView.BackgroundColor = System.Drawing.Color.White;
|
||||
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle7.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.vsInBufferView.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.vsInBufferView.Location = new System.Drawing.Point(12, 41);
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle1.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.vsInBufferView.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.vsInBufferView.Location = new System.Drawing.Point(12, 70);
|
||||
this.vsInBufferView.Name = "vsInBufferView";
|
||||
this.vsInBufferView.ReadOnly = true;
|
||||
this.vsInBufferView.RowHeadersVisible = false;
|
||||
@@ -643,7 +644,7 @@
|
||||
this.vsInBufferView.ShowCellErrors = false;
|
||||
this.vsInBufferView.ShowCellToolTips = false;
|
||||
this.vsInBufferView.ShowEditingIcon = false;
|
||||
this.vsInBufferView.Size = new System.Drawing.Size(246, 85);
|
||||
this.vsInBufferView.Size = new System.Drawing.Size(246, 56);
|
||||
this.vsInBufferView.TabIndex = 10;
|
||||
this.vsInBufferView.VirtualMode = true;
|
||||
this.vsInBufferView.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.bufferView_MouseClick);
|
||||
@@ -674,15 +675,15 @@
|
||||
this.vsOutBufferView.AllowUserToResizeRows = false;
|
||||
this.vsOutBufferView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCells;
|
||||
this.vsOutBufferView.BackgroundColor = System.Drawing.Color.White;
|
||||
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.vsOutBufferView.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.vsOutBufferView.Location = new System.Drawing.Point(264, 40);
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.vsOutBufferView.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.vsOutBufferView.Location = new System.Drawing.Point(264, 70);
|
||||
this.vsOutBufferView.Name = "vsOutBufferView";
|
||||
this.vsOutBufferView.ReadOnly = true;
|
||||
this.vsOutBufferView.RowHeadersVisible = false;
|
||||
@@ -690,7 +691,7 @@
|
||||
this.vsOutBufferView.ShowCellErrors = false;
|
||||
this.vsOutBufferView.ShowCellToolTips = false;
|
||||
this.vsOutBufferView.ShowEditingIcon = false;
|
||||
this.vsOutBufferView.Size = new System.Drawing.Size(206, 85);
|
||||
this.vsOutBufferView.Size = new System.Drawing.Size(206, 55);
|
||||
this.vsOutBufferView.TabIndex = 11;
|
||||
this.vsOutBufferView.VirtualMode = true;
|
||||
this.vsOutBufferView.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.bufferView_MouseClick);
|
||||
@@ -709,55 +710,55 @@
|
||||
this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dockPanel.DockBottomPortion = 0.5D;
|
||||
this.dockPanel.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow;
|
||||
this.dockPanel.Location = new System.Drawing.Point(3, 34);
|
||||
this.dockPanel.Location = new System.Drawing.Point(3, 57);
|
||||
this.dockPanel.Name = "dockPanel";
|
||||
this.dockPanel.Size = new System.Drawing.Size(834, 462);
|
||||
dockPanelGradient7.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient7.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
autoHideStripSkin3.DockStripGradient = dockPanelGradient7;
|
||||
tabGradient15.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient15.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient15.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
autoHideStripSkin3.TabGradient = tabGradient15;
|
||||
autoHideStripSkin3.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
dockPanelSkin3.AutoHideStripSkin = autoHideStripSkin3;
|
||||
tabGradient16.EndColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient16.StartColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient16.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient3.ActiveTabGradient = tabGradient16;
|
||||
dockPanelGradient8.EndColor = System.Drawing.SystemColors.Control;
|
||||
dockPanelGradient8.StartColor = System.Drawing.SystemColors.Control;
|
||||
dockPaneStripGradient3.DockStripGradient = dockPanelGradient8;
|
||||
tabGradient17.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient17.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient17.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient3.InactiveTabGradient = tabGradient17;
|
||||
dockPaneStripSkin3.DocumentGradient = dockPaneStripGradient3;
|
||||
dockPaneStripSkin3.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
tabGradient18.EndColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
tabGradient18.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient18.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
tabGradient18.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
|
||||
dockPaneStripToolWindowGradient3.ActiveCaptionGradient = tabGradient18;
|
||||
tabGradient19.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient19.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient19.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripToolWindowGradient3.ActiveTabGradient = tabGradient19;
|
||||
dockPanelGradient9.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient9.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPaneStripToolWindowGradient3.DockStripGradient = dockPanelGradient9;
|
||||
tabGradient20.EndColor = System.Drawing.SystemColors.InactiveCaption;
|
||||
tabGradient20.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient20.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
tabGradient20.TextColor = System.Drawing.SystemColors.InactiveCaptionText;
|
||||
dockPaneStripToolWindowGradient3.InactiveCaptionGradient = tabGradient20;
|
||||
tabGradient21.EndColor = System.Drawing.Color.Transparent;
|
||||
tabGradient21.StartColor = System.Drawing.Color.Transparent;
|
||||
tabGradient21.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
dockPaneStripToolWindowGradient3.InactiveTabGradient = tabGradient21;
|
||||
dockPaneStripSkin3.ToolWindowGradient = dockPaneStripToolWindowGradient3;
|
||||
dockPanelSkin3.DockPaneStripSkin = dockPaneStripSkin3;
|
||||
this.dockPanel.Skin = dockPanelSkin3;
|
||||
this.dockPanel.Size = new System.Drawing.Size(834, 439);
|
||||
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;
|
||||
this.dockPanel.TabIndex = 12;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
@@ -765,11 +766,13 @@
|
||||
this.tableLayoutPanel1.ColumnCount = 1;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel2, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.dockPanel, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.dockPanel, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.largeBufferWarning, 0, 1);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 2;
|
||||
this.tableLayoutPanel1.RowCount = 3;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(840, 499);
|
||||
@@ -943,6 +946,21 @@
|
||||
this.instanceIdxToolitem.Text = "0";
|
||||
this.instanceIdxToolitem.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.instanceIdxToolitem_KeyPress);
|
||||
//
|
||||
// largeBufferWarning
|
||||
//
|
||||
this.largeBufferWarning.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.largeBufferWarning.AutoSize = true;
|
||||
this.largeBufferWarning.BackColor = System.Drawing.Color.Gold;
|
||||
this.largeBufferWarning.Location = new System.Drawing.Point(3, 31);
|
||||
this.largeBufferWarning.Name = "largeBufferWarning";
|
||||
this.largeBufferWarning.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.largeBufferWarning.Size = new System.Drawing.Size(834, 23);
|
||||
this.largeBufferWarning.TabIndex = 13;
|
||||
this.largeBufferWarning.Text = "This buffer is too large to show, displaying 200,000 rows. Click here to advance " +
|
||||
"to the next part of the buffer.";
|
||||
this.largeBufferWarning.Click += new System.EventHandler(this.largeBufferWarning_Click);
|
||||
//
|
||||
// gsOutBufferView
|
||||
//
|
||||
this.gsOutBufferView.AllowUserToAddRows = false;
|
||||
@@ -950,15 +968,15 @@
|
||||
this.gsOutBufferView.AllowUserToResizeRows = false;
|
||||
this.gsOutBufferView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.DisplayedCells;
|
||||
this.gsOutBufferView.BackgroundColor = System.Drawing.Color.White;
|
||||
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle9.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.gsOutBufferView.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.gsOutBufferView.Location = new System.Drawing.Point(476, 40);
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle3.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.gsOutBufferView.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.gsOutBufferView.Location = new System.Drawing.Point(476, 70);
|
||||
this.gsOutBufferView.Name = "gsOutBufferView";
|
||||
this.gsOutBufferView.ReadOnly = true;
|
||||
this.gsOutBufferView.RowHeadersVisible = false;
|
||||
@@ -966,7 +984,7 @@
|
||||
this.gsOutBufferView.ShowCellErrors = false;
|
||||
this.gsOutBufferView.ShowCellToolTips = false;
|
||||
this.gsOutBufferView.ShowEditingIcon = false;
|
||||
this.gsOutBufferView.Size = new System.Drawing.Size(206, 85);
|
||||
this.gsOutBufferView.Size = new System.Drawing.Size(206, 55);
|
||||
this.gsOutBufferView.TabIndex = 14;
|
||||
this.gsOutBufferView.VirtualMode = true;
|
||||
this.gsOutBufferView.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.bufferView_MouseClick);
|
||||
@@ -1135,6 +1153,7 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem selectColumnAsPositionToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem selectColumnAsSecondaryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem selectAlphaAsSecondaryToolStripMenuItem;
|
||||
private System.Windows.Forms.Label largeBufferWarning;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -145,6 +145,8 @@ namespace renderdocui.Windows
|
||||
}
|
||||
}
|
||||
|
||||
private const int MaxRowCount = 200000;
|
||||
|
||||
// one UI state for each stage
|
||||
private UIState m_VSIn = new UIState(MeshDataStage.VSIn);
|
||||
private UIState m_VSOut = new UIState(MeshDataStage.VSOut);
|
||||
@@ -226,6 +228,9 @@ namespace renderdocui.Windows
|
||||
m_VSOut.m_GridView = vsOutBufferView;
|
||||
m_GSOut.m_GridView = gsOutBufferView;
|
||||
|
||||
largeBufferWarning.Visible = false;
|
||||
byteOffset.Enabled = false;
|
||||
|
||||
rowOffset.Font =
|
||||
byteOffset.Font =
|
||||
instanceIdxToolitem.Font =
|
||||
@@ -518,6 +523,8 @@ namespace renderdocui.Windows
|
||||
|
||||
var draw = m_Core.CurDrawcall;
|
||||
|
||||
byteOffset.Enabled = false;
|
||||
|
||||
instanceIdxToolitem.Enabled = (draw != null && draw.numInstances > 1);
|
||||
|
||||
if (!instanceIdxToolitem.Enabled)
|
||||
@@ -693,6 +700,9 @@ namespace renderdocui.Windows
|
||||
input.BufferFormats = elems;
|
||||
input.IndexOffset = 0;
|
||||
|
||||
largeBufferWarning.Visible = false;
|
||||
byteOffset.Enabled = false;
|
||||
|
||||
m_VSIn.m_Input = input;
|
||||
|
||||
ShowFormatSpecifier();
|
||||
@@ -882,9 +892,9 @@ namespace renderdocui.Windows
|
||||
ret.Buffers = new byte[1][];
|
||||
|
||||
if(input.Buffers[0] != ResourceId.Null)
|
||||
ret.Buffers[0] = r.GetBufferData(input.Buffers[0], 0, 0);
|
||||
ret.Buffers[0] = r.GetBufferData(input.Buffers[0], ByteOffset, 0);
|
||||
else if (input.Buffers[1] != ResourceId.Null)
|
||||
ret.Buffers[0] = r.GetTextureData(input.Buffers[1], 0, 0);
|
||||
ret.Buffers[0] = r.GetTextureData(input.Buffers[1], ByteOffset, 0);
|
||||
|
||||
ret.Indices = null;
|
||||
ret.DataIndices = null;
|
||||
@@ -1475,9 +1485,6 @@ namespace renderdocui.Windows
|
||||
|
||||
uint offs = input.Strides[bufferFormats[el].buffer] * instIdx + bufferFormats[el].offset;
|
||||
|
||||
if (!MeshView)
|
||||
offs += ByteOffset;
|
||||
|
||||
bool outofBounds = false;
|
||||
|
||||
if (bytedata == null)
|
||||
@@ -1599,10 +1606,14 @@ namespace renderdocui.Windows
|
||||
}
|
||||
|
||||
bufView.RowCount = 0;
|
||||
if(!MeshView) byteOffset.Enabled = true;
|
||||
|
||||
if (state.m_Rows != null)
|
||||
{
|
||||
bufView.RowCount = state.m_Rows.Length;
|
||||
bufView.RowCount = Math.Min(state.m_Rows.Length, MaxRowCount);
|
||||
|
||||
if (state.m_Rows.Length > MaxRowCount)
|
||||
largeBufferWarning.Visible = true;
|
||||
|
||||
ScrollToRow(bufView, RowOffset);
|
||||
|
||||
@@ -1776,9 +1787,6 @@ namespace renderdocui.Windows
|
||||
|
||||
uint offs = input.Strides[bufferFormats[el].buffer] * instIdx + bufferFormats[el].offset;
|
||||
|
||||
if (!MeshView)
|
||||
offs += ByteOffset;
|
||||
|
||||
if (bytedata == null)
|
||||
{
|
||||
strm.Seek(0, SeekOrigin.Begin);
|
||||
@@ -2919,22 +2927,41 @@ namespace renderdocui.Windows
|
||||
}
|
||||
}
|
||||
|
||||
private void SetByteOffset()
|
||||
{
|
||||
largeBufferWarning.Visible = false;
|
||||
|
||||
m_VSIn.m_GridView.RowCount = 0;
|
||||
m_VSIn.m_Rows = null;
|
||||
m_VSIn.m_GridView.RowCount = 1;
|
||||
|
||||
byteOffset.Enabled = false;
|
||||
|
||||
m_Core.Renderer.BeginInvoke((ReplayRenderer r) =>
|
||||
{
|
||||
var contents = RT_FetchBufferContents(MeshDataStage.VSIn, r, m_VSIn.m_Input);
|
||||
|
||||
this.BeginInvoke(new Action(() =>
|
||||
{
|
||||
if (m_VSIn.m_Input != null)
|
||||
{
|
||||
UI_SetRowsData(MeshDataStage.VSIn, contents, 0);
|
||||
}
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
private void largeBufferWarning_Click(object sender, EventArgs e)
|
||||
{
|
||||
byteOffset.Text = (ByteOffset + m_VSIn.m_Input.Strides[0]*MaxRowCount).ToString();
|
||||
SetByteOffset();
|
||||
}
|
||||
|
||||
private void byteOffset_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == '\n' || e.KeyChar == '\r')
|
||||
{
|
||||
m_Core.Renderer.BeginInvoke((ReplayRenderer r) =>
|
||||
{
|
||||
var contents = RT_FetchBufferContents(MeshDataStage.VSIn, r, m_VSIn.m_Input);
|
||||
|
||||
this.BeginInvoke(new Action(() =>
|
||||
{
|
||||
if (m_VSIn.m_Input != null)
|
||||
{
|
||||
UI_SetRowsData(MeshDataStage.VSIn, contents, 0);
|
||||
}
|
||||
}));
|
||||
});
|
||||
SetByteOffset();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user