From 814d764df7fc59b2d7ea3e4eed7f8d0f32d538ca Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Tue, 19 Aug 2025 16:01:03 +0200 Subject: [PATCH] Fix exporting large raw buffers at an offset. --- qrenderdoc/Windows/BufferViewer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 37c3a661a..e81206da8 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -6413,10 +6413,10 @@ void BufferViewer::exportData(const BufferExport ¶ms) ResourceId buff = m_BufferID; static const uint64_t maxChunkSize = 4 * 1024 * 1024; - for(uint64_t byteOffset = m_ByteOffset; byteOffset < m_ByteSize; + for(uint64_t byteOffset = m_ByteOffset; byteOffset < m_ByteSize + m_ByteOffset; byteOffset += maxChunkSize) { - uint64_t chunkSize = qMin(m_ByteSize - byteOffset, maxChunkSize); + uint64_t chunkSize = qMin(m_ByteOffset + m_ByteSize - byteOffset, maxChunkSize); // it's fine to block invoke, because this is on the export thread m_Ctx.Replay().BlockInvoke([buff, f, byteOffset, chunkSize](IReplayController *r) {