summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorLeo Lam <leolino.lam@gmail.com>2017-11-22 07:53:23 +0100
committerGitHub <noreply@github.com>2017-11-22 07:53:23 +0100
commit73a67aa413d9bd5e30f361089915135b2fb41e7a (patch)
tree98fe825920a9158b1697e807d5f680fbe9c6b9d3 /Source/Core/VideoCommon
parent066471be076994ea8538d13e8d6979609193a2de (diff)
parent470e8d63b645b232b6d0c58e9a2d5291ab068d3c (diff)
Merge pull request #6204 from stenzek/downscaled-screenshots
Frame Dumping: Fix window-size framedumping
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp14
-rw-r--r--Source/Core/VideoCommon/VideoConfig.cpp1
-rw-r--r--Source/Core/VideoCommon/VideoConfig.h1
3 files changed, 12 insertions, 4 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))
diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp
index 5e5b313926..6ddf034d19 100644
--- a/Source/Core/VideoCommon/VideoConfig.cpp
+++ b/Source/Core/VideoCommon/VideoConfig.cpp
@@ -36,7 +36,6 @@ VideoConfig::VideoConfig()
backend_info.MaxTextureSize = 16384;
backend_info.bSupportsExclusiveFullscreen = false;
backend_info.bSupportsMultithreading = false;
- backend_info.bSupportsInternalResolutionFrameDumps = false;
backend_info.bSupportsST3CTextures = false;
backend_info.bSupportsBPTCTextures = false;
diff --git a/Source/Core/VideoCommon/VideoConfig.h b/Source/Core/VideoCommon/VideoConfig.h
index a0085ce809..0167cff5a5 100644
--- a/Source/Core/VideoCommon/VideoConfig.h
+++ b/Source/Core/VideoCommon/VideoConfig.h
@@ -219,7 +219,6 @@ struct VideoConfig final
bool bSupportsDepthClamp; // Needed by VertexShaderGen, so must stay in VideoCommon
bool bSupportsReversedDepthRange;
bool bSupportsMultithreading;
- bool bSupportsInternalResolutionFrameDumps;
bool bSupportsGPUTextureDecoding;
bool bSupportsST3CTextures;
bool bSupportsCopyToVram;