summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2016-11-10 23:44:18 +1000
committerStenzek <stenzek@gmail.com>2016-11-28 21:54:55 +1000
commit1c1a686f631bcf204fdbcd2fc2f9aeb6d5ec3cc0 (patch)
tree194573f3e4daa6f481f57a148f39f4b3a34d2349
parentadc22a5e201ba92919447051f048048aa04297cd (diff)
Vulkan: Support full resolution frame dumping
-rw-r--r--Source/Core/VideoBackends/Vulkan/Renderer.cpp8
-rw-r--r--Source/Core/VideoBackends/Vulkan/VulkanContext.cpp18
2 files changed, 10 insertions, 16 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/Renderer.cpp b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
index fd847cce68..9ef5dee896 100644
--- a/Source/Core/VideoBackends/Vulkan/Renderer.cpp
+++ b/Source/Core/VideoBackends/Vulkan/Renderer.cpp
@@ -708,13 +708,7 @@ bool Renderer::DrawFrameDump(const EFBRectangle& source_rect, u32 xfb_addr,
const XFBSourceBase* const* xfb_sources, u32 xfb_count, u32 fb_width,
u32 fb_stride, u32 fb_height, u64 ticks)
{
- // Draw the screenshot to an image containing only the active screen area, removing any
- // borders as a result of the game rendering in a different aspect ratio.
- TargetRectangle target_rect = GetTargetRectangle();
- target_rect.right = target_rect.GetWidth();
- target_rect.bottom = target_rect.GetHeight();
- target_rect.left = 0;
- target_rect.top = 0;
+ TargetRectangle target_rect = CalculateFrameDumpDrawRectangle();
u32 width = std::max(1u, static_cast<u32>(target_rect.GetWidth()));
u32 height = std::max(1u, static_cast<u32>(target_rect.GetHeight()));
if (!ResizeFrameDumpBuffer(width, height))
diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
index 0bfed91c38..8a732c5983 100644
--- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
+++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp
@@ -233,15 +233,15 @@ void VulkanContext::PopulateBackendInfo(VideoConfig* config)
config->backend_info.bSupportsPaletteConversion = true; // Assumed support.
config->backend_info.bSupportsClipControl = true; // Assumed support.
config->backend_info.bSupportsMultithreading = true; // Assumed support.
- config->backend_info.bSupportsInternalResolutionFrameDumps = false; // No support yet.
- config->backend_info.bSupportsPostProcessing = false; // No support yet.
- config->backend_info.bSupportsDualSourceBlend = false; // Dependent on features.
- config->backend_info.bSupportsGeometryShaders = false; // Dependent on features.
- config->backend_info.bSupportsGSInstancing = false; // Dependent on features.
- config->backend_info.bSupportsBBox = false; // Dependent on features.
- config->backend_info.bSupportsSSAA = false; // Dependent on features.
- config->backend_info.bSupportsDepthClamp = false; // Dependent on features.
- config->backend_info.bSupportsReversedDepthRange = false; // No support yet due to driver bugs.
+ config->backend_info.bSupportsInternalResolutionFrameDumps = true; // Assumed support.
+ config->backend_info.bSupportsPostProcessing = false; // No support yet.
+ config->backend_info.bSupportsDualSourceBlend = false; // Dependent on features.
+ config->backend_info.bSupportsGeometryShaders = false; // Dependent on features.
+ config->backend_info.bSupportsGSInstancing = false; // Dependent on features.
+ config->backend_info.bSupportsBBox = false; // Dependent on features.
+ config->backend_info.bSupportsSSAA = false; // Dependent on features.
+ config->backend_info.bSupportsDepthClamp = false; // Dependent on features.
+ config->backend_info.bSupportsReversedDepthRange = false; // No support yet due to driver bugs.
}
void VulkanContext::PopulateBackendInfoAdapters(VideoConfig* config, const GPUList& gpu_list)