Don't try to access file on local disk in statistics. Refs #400

This commit is contained in:
baldurk
2016-10-19 19:12:41 +02:00
parent d1e5149527
commit 459619ff0c
11 changed files with 44 additions and 16 deletions
+4 -2
View File
@@ -293,7 +293,8 @@ struct FetchFrameInfo
: frameNumber(0),
firstEvent(0),
fileOffset(0),
fileSize(0),
uncompressedFileSize(0),
compressedFileSize(0),
persistentSize(0),
initDataSize(0),
captureTime(0)
@@ -303,7 +304,8 @@ struct FetchFrameInfo
uint32_t frameNumber;
uint32_t firstEvent;
uint64_t fileOffset;
uint64_t fileSize;
uint64_t uncompressedFileSize;
uint64_t compressedFileSize;
uint64_t persistentSize;
uint64_t initDataSize;
uint64_t captureTime;
+5 -3
View File
@@ -566,7 +566,7 @@ void ImageViewer::RefreshFile()
m_FrameRecord.frameInfo.initDataSize = 0;
m_FrameRecord.frameInfo.persistentSize = 0;
m_FrameRecord.frameInfo.fileSize = datasize;
m_FrameRecord.frameInfo.uncompressedFileSize = datasize;
dds_data read_data = {0};
@@ -594,11 +594,13 @@ void ImageViewer::RefreshFile()
if(texDetails.depth > 1)
texDetails.dimension = 3;
m_FrameRecord.frameInfo.fileSize = 0;
m_FrameRecord.frameInfo.uncompressedFileSize = 0;
for(uint32_t i = 0; i < texDetails.arraysize * texDetails.mips; i++)
m_FrameRecord.frameInfo.fileSize += read_data.subsizes[i];
m_FrameRecord.frameInfo.uncompressedFileSize += read_data.subsizes[i];
}
m_FrameRecord.frameInfo.compressedFileSize = m_FrameRecord.frameInfo.uncompressedFileSize;
// recreate proxy texture if necessary.
// we rewrite the texture IDs so that the
// outside world doesn't need to know about this
+3 -2
View File
@@ -1331,14 +1331,15 @@ void Serialiser::Serialise(const char *name, FetchFrameInfo &el)
Serialise("", el.frameNumber);
Serialise("", el.firstEvent);
Serialise("", el.fileOffset);
Serialise("", el.fileSize);
Serialise("", el.uncompressedFileSize);
Serialise("", el.compressedFileSize);
Serialise("", el.persistentSize);
Serialise("", el.initDataSize);
Serialise("", el.captureTime);
Serialise("", el.stats);
Serialise("", el.debugMessages);
SIZE_CHECK(FetchFrameInfo, 1200);
SIZE_CHECK(FetchFrameInfo, 1208);
}
template <>
+2 -1
View File
@@ -1151,7 +1151,8 @@ void WrappedID3D11Device::ReadLogInitialisation()
}
#endif
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(D3D11ChunkType)INITIAL_CONTENTS].totalsize;
+2 -1
View File
@@ -2049,7 +2049,8 @@ void WrappedID3D12Device::ReadLogInitialisation()
}
#endif
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(D3D12ChunkType)INITIAL_CONTENTS].totalsize;
+2 -1
View File
@@ -3101,7 +3101,8 @@ void WrappedOpenGL::ReadLogInitialisation()
}
#endif
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - frameOffset;
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(GLChunkType)INITIAL_CONTENTS].totalsize;
+2 -1
View File
@@ -1504,7 +1504,8 @@ void WrappedVulkan::ReadLogInitialisation()
}
#endif
m_FrameRecord.frameInfo.fileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.uncompressedFileSize = m_pSerialiser->GetSize();
m_FrameRecord.frameInfo.compressedFileSize = m_pSerialiser->GetFileSize();
m_FrameRecord.frameInfo.persistentSize = m_pSerialiser->GetSize() - firstFrame;
m_FrameRecord.frameInfo.initDataSize = chunkInfos[(VulkanChunkType)INITIAL_CONTENTS].totalsize;
+10
View File
@@ -453,6 +453,8 @@ Serialiser::Serialiser(size_t length, const byte *memoryBuf, bool fileheader)
m_Mode = READING;
m_DebugEnabled = false;
m_FileSize = 0;
if(!fileheader)
{
m_BufferSize = length;
@@ -644,6 +646,8 @@ Serialiser::Serialiser(const char *path, Mode mode, bool debugMode)
m_Mode = mode;
m_DebugEnabled = debugMode;
m_FileSize = 0;
FileHeader header;
if(mode == READING)
@@ -658,6 +662,12 @@ Serialiser::Serialiser(const char *path, Mode mode, bool debugMode)
return;
}
FileIO::fseek64(m_ReadFileHandle, 0, SEEK_END);
m_FileSize = FileIO::ftell64(m_ReadFileHandle);
FileIO::fseek64(m_ReadFileHandle, 0, SEEK_SET);
RDCDEBUG("Opened capture file for read");
FileIO::fread(&header, 1, sizeof(FileHeader), m_ReadFileHandle);
+10
View File
@@ -233,6 +233,14 @@ public:
return m_BufferHead - m_Buffer;
}
uint64_t GetFileSize()
{
if(m_Mode == READING)
return m_FileSize;
return 0;
}
byte *GetRawPtr(size_t offs) const { return m_Buffer + offs; }
// Set up the base pointer and size. Serialiser will allocate enough for
// the rest of the file and keep it all in memory (useful to keep everything
@@ -680,6 +688,8 @@ private:
// m_ReadOffset into the frame capture section
uint64_t m_ReadOffset;
uint64_t m_FileSize;
// how big is the current in-memory window
size_t m_CurrentBufferSize;
+2 -1
View File
@@ -497,7 +497,8 @@ namespace renderdoc
public UInt32 frameNumber;
public UInt32 firstEvent;
public UInt64 fileOffset;
public UInt64 fileSize;
public UInt64 uncompressedFileSize;
public UInt64 compressedFileSize;
public UInt64 persistentSize;
public UInt64 initDataSize;
public UInt64 captureTime;
+2 -4
View File
@@ -664,8 +664,6 @@ namespace renderdocui.Windows
{
statisticsLog.Clear();
long fileSize = (new FileInfo(m_Core.LogFileName)).Length;
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];
@@ -739,8 +737,8 @@ namespace renderdocui.Windows
UInt64 persistentData = frameInfo.persistentSize;
float compressedMB = (float)fileSize / (1024.0f * 1024.0f);
float uncompressedMB = (float)frameInfo.fileSize / (1024.0f * 1024.0f);
float compressedMB = (float)frameInfo.compressedFileSize / (1024.0f * 1024.0f);
float uncompressedMB = (float)frameInfo.uncompressedFileSize / (1024.0f * 1024.0f);
float compressRatio = uncompressedMB / compressedMB;
float persistentMB = (float)frameInfo.persistentSize / (1024.0f * 1024.0f);
float initDataMB = (float)frameInfo.initDataSize / (1024.0f * 1024.0f);