diff --git a/renderdoc/core/image_viewer.cpp b/renderdoc/core/image_viewer.cpp index 7e0c3dd75..45e466726 100644 --- a/renderdoc/core/image_viewer.cpp +++ b/renderdoc/core/image_viewer.cpp @@ -47,6 +47,7 @@ class ImageViewer : public IReplayDriver m_FrameRecord.frameInfo.firstEvent = 1; m_FrameRecord.frameInfo.frameNumber = 1; m_FrameRecord.frameInfo.immContextId = ResourceId(); + RDCEraseEl(m_FrameRecord.frameInfo.stats); FetchDrawcall d; d.context = ResourceId(); @@ -476,6 +477,10 @@ void ImageViewer::RefreshFile() return; } + m_FrameRecord.frameInfo.initDataSize = 0; + m_FrameRecord.frameInfo.persistentSize = 0; + m_FrameRecord.frameInfo.fileSize = datasize; + dds_data read_data = {0}; if(dds) @@ -500,6 +505,10 @@ void ImageViewer::RefreshFile() texDetails.dimension = 1; if(texDetails.width > 1) texDetails.dimension = 2; if(texDetails.depth > 1) texDetails.dimension = 3; + + m_FrameRecord.frameInfo.fileSize = 0; + for(uint32_t i=0; i < texDetails.numSubresources; i++) + m_FrameRecord.frameInfo.fileSize += read_data.subsizes[i]; } // recreate proxy texture if necessary. diff --git a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs index 72225b0e1..3cfbc1f67 100644 --- a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs @@ -632,7 +632,7 @@ namespace renderdocui.Windows.PipelineState else iaBytecode.Text = state.m_IA.LayoutName; - if (state.m_IA.Bytecode.DebugInfo != null && state.m_IA.Bytecode.DebugInfo.entryFunc.Length > 0) + if (state.m_IA.Bytecode != null && state.m_IA.Bytecode.DebugInfo != null && state.m_IA.Bytecode.DebugInfo.entryFunc.Length > 0) iaBytecode.Text += " (" + state.m_IA.Bytecode.DebugInfo.entryFunc + ")"; iaBytecodeMismatch.Text = ""; diff --git a/renderdocui/Windows/StatisticsViewer.cs b/renderdocui/Windows/StatisticsViewer.cs index 8182b43c6..c68f2ce02 100644 --- a/renderdocui/Windows/StatisticsViewer.cs +++ b/renderdocui/Windows/StatisticsViewer.cs @@ -600,28 +600,6 @@ namespace renderdocui.Windows long fileSize = (new FileInfo(m_Core.LogFileName)).Length; - int firstIdx = 0; - - var firstDrawcall = m_Core.CurDrawcalls[firstIdx]; - while (firstDrawcall.children != null && firstDrawcall.children.Length > 0) - firstDrawcall = firstDrawcall.children[0]; - - while (firstDrawcall.events.Length == 0) - { - if (firstDrawcall.next != null) - { - firstDrawcall = firstDrawcall.next; - while (firstDrawcall.children != null && firstDrawcall.children.Length > 0) - firstDrawcall = firstDrawcall.children[0]; - } - else - { - firstDrawcall = m_Core.CurDrawcalls[++firstIdx]; - while (firstDrawcall.children != null && firstDrawcall.children.Length > 0) - firstDrawcall = firstDrawcall.children[0]; - } - } - var lastDraw = m_Core.CurDrawcalls[m_Core.CurDrawcalls.Length - 1]; while (lastDraw.children != null && lastDraw.children.Length > 0) lastDraw = lastDraw.children[lastDraw.children.Length - 1];