From bb4ef2103ebc20254f03cf3e74960eecd34960cd Mon Sep 17 00:00:00 2001
From: Connor McLaughlin <mclaughc@outlook.com>
Date: Sat, 23 Nov 2019 19:07:17 +1000
Subject: [PATCH] GPU: Fix dump vram-to-cpu copies

---
 src/core/gpu_commands.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/core/gpu_commands.cpp b/src/core/gpu_commands.cpp
index 79819924a..20c10eda9 100644
--- a/src/core/gpu_commands.cpp
+++ b/src/core/gpu_commands.cpp
@@ -377,6 +377,13 @@ bool GPU::HandleCopyRectangleVRAMToCPUCommand(const u32*& command_ptr, u32 comma
   // ensure VRAM shadow is up to date
   ReadVRAM(m_vram_transfer.x, m_vram_transfer.y, m_vram_transfer.width, m_vram_transfer.height);
 
+  if (m_system->GetSettings().debugging.dump_vram_to_cpu_copies)
+  {
+    DumpVRAMToFile(SmallString::FromFormat("vram_to_cpu_copy_%u.png", s_vram_to_cpu_dump_id++), m_vram_transfer.width,
+                   m_vram_transfer.height, sizeof(u16) * VRAM_WIDTH,
+                   &m_vram_ptr[m_vram_transfer.y * VRAM_WIDTH + m_vram_transfer.x], true);
+  }
+
   // switch to pixel-by-pixel read state
   m_stats.num_vram_reads++;
   m_state = State::ReadingVRAM;