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();