From 7bfee7e3771f3adfac23049920e5ae7e16e78cca Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Sun, 3 May 2015 16:46:48 +0200 Subject: [PATCH] gsdx-debug: stop the dump after a limited number of draw call Otherwise it fills your disk in a short time with useless data. --- plugins/GSdx/GSRendererHW.cpp | 4 ++++ plugins/GSdx/GSRendererSW.cpp | 4 ++++ plugins/GSdx/GSState.cpp | 1 + plugins/GSdx/GSState.h | 1 + 4 files changed, 10 insertions(+) diff --git a/plugins/GSdx/GSRendererHW.cpp b/plugins/GSdx/GSRendererHW.cpp index 6f3ced5fad..7192077168 100644 --- a/plugins/GSdx/GSRendererHW.cpp +++ b/plugins/GSdx/GSRendererHW.cpp @@ -429,6 +429,10 @@ void GSRendererHW::Draw() } s_n++; + + if ((s_n - s_saven) > s_savel) { + s_dump = 0; + } } if(m_hacks.m_oi && !(this->*m_hacks.m_oi)(rt->m_texture, ds->m_texture, tex)) diff --git a/plugins/GSdx/GSRendererSW.cpp b/plugins/GSdx/GSRendererSW.cpp index 50402c2777..ffeb17c373 100644 --- a/plugins/GSdx/GSRendererSW.cpp +++ b/plugins/GSdx/GSRendererSW.cpp @@ -560,6 +560,10 @@ void GSRendererSW::Draw() } s_n++; + + if ((s_n - s_saven) > s_savel) { + s_dump = 0; + } } else { diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp index 045e1d767f..a82c93f0eb 100644 --- a/plugins/GSdx/GSState.cpp +++ b/plugins/GSdx/GSState.cpp @@ -51,6 +51,7 @@ GSState::GSState() s_savet = !!theApp.GetConfig("savet", 0); s_savez = !!theApp.GetConfig("savez", 0); s_saven = theApp.GetConfig("saven", 0); + s_savel = theApp.GetConfig("savel", 5000); #ifdef __linux__ if (s_dump) { mkdir("/tmp/GS_HW_dump", 0777); diff --git a/plugins/GSdx/GSState.h b/plugins/GSdx/GSState.h index af2d4b3342..475bcfcbab 100644 --- a/plugins/GSdx/GSState.h +++ b/plugins/GSdx/GSState.h @@ -208,6 +208,7 @@ public: bool s_savet; bool s_savez; int s_saven; + int s_savel; public: GSState();