summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2017-11-19 19:20:45 +1000
committerStenzek <stenzek@gmail.com>2017-11-21 17:19:43 +1000
commit8985cb2f0be5cbd831b537c7fa8dc15c5d7222bc (patch)
tree2eee4803839e08f8c0318a7e42ed5557620d9f10 /Source/Core/VideoCommon/RenderBase.cpp
parent39559f6358acf6c3eb6395f215ccc6732fedb1dd (diff)
Renderer: Re-implement window size frame dumping
This was broken by hybrid XFB, and all frame dumping/screenshots occured at the full internal resolution.
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp
index b0d7c07dd1..4a46475344 100644
--- a/Source/Core/VideoCommon/RenderBase.cpp
+++ b/Source/Core/VideoCommon/RenderBase.cpp
@@ -711,8 +711,18 @@ void Renderer::DoDumpFrame()
void Renderer::UpdateFrameDumpTexture()
{
int target_width, target_height;
- std::tie(target_width, target_height) = CalculateOutputDimensions(
- m_last_xfb_texture->GetConfig().width, m_last_xfb_texture->GetConfig().height);
+ if (!g_ActiveConfig.bInternalResolutionFrameDumps)
+ {
+ auto target_rect = GetTargetRectangle();
+ target_width = target_rect.GetWidth();
+ target_height = target_rect.GetHeight();
+ }
+ else
+ {
+ std::tie(target_width, target_height) = CalculateOutputDimensions(
+ m_last_xfb_texture->GetConfig().width, m_last_xfb_texture->GetConfig().height);
+ }
+
if (m_dump_texture == nullptr ||
m_dump_texture->GetConfig().width != static_cast<u32>(target_width) ||
m_dump_texture->GetConfig().height != static_cast<u32>(target_height))