diff --git a/Source/Core/DolphinQt2/Config/Graphics/AdvancedWidget.cpp b/Source/Core/DolphinQt2/Config/Graphics/AdvancedWidget.cpp index 88f566a13189..897aa6a8b7ca 100644 --- a/Source/Core/DolphinQt2/Config/Graphics/AdvancedWidget.cpp +++ b/Source/Core/DolphinQt2/Config/Graphics/AdvancedWidget.cpp @@ -62,7 +62,7 @@ void AdvancedWidget::CreateWidgets() m_load_custom_textures = new GraphicsBool(tr("Load Custom Textures"), Config::GFX_HIRES_TEXTURES); m_prefetch_custom_textures = new GraphicsBool(tr("Prefetch Custom Textures"), Config::GFX_CACHE_HIRES_TEXTURES); - m_use_fullres_framedumps = new GraphicsBool(tr("Full Resolution Frame Dumps"), + m_use_fullres_framedumps = new GraphicsBool(tr("Internal Resolution Frame Dumps"), Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS); m_dump_efb_target = new GraphicsBool(tr("Dump EFB Target"), Config::GFX_DUMP_EFB_TARGET); m_enable_freelook = new GraphicsBool(tr("Free Look"), Config::GFX_FREE_LOOK); @@ -123,8 +123,6 @@ void AdvancedWidget::SaveSettings() void AdvancedWidget::OnBackendChanged() { - const auto supports_fr_framedumps = g_Config.backend_info.bSupportsInternalResolutionFrameDumps; - m_use_fullres_framedumps->setEnabled(supports_fr_framedumps); } void AdvancedWidget::OnEmulationStateChanged(bool running) diff --git a/Source/Core/DolphinWX/VideoConfigDiag.cpp b/Source/Core/DolphinWX/VideoConfigDiag.cpp index 71c02c7ec799..3a0fdc5a5f33 100644 --- a/Source/Core/DolphinWX/VideoConfigDiag.cpp +++ b/Source/Core/DolphinWX/VideoConfigDiag.cpp @@ -843,12 +843,9 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string& title) Config::GFX_CACHE_HIRES_TEXTURES); szr_utility->Add(cache_hires_textures); - if (vconfig.backend_info.bSupportsInternalResolutionFrameDumps) - { - szr_utility->Add(CreateCheckBox(page_advanced, _("Full Resolution Frame Dumps"), - wxGetTranslation(internal_resolution_frame_dumping_desc), - Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS)); - } + szr_utility->Add(CreateCheckBox(page_advanced, _("Internal Resolution Frame Dumps"), + wxGetTranslation(internal_resolution_frame_dumping_desc), + Config::GFX_INTERNAL_RESOLUTION_FRAME_DUMPS)); szr_utility->Add(CreateCheckBox(page_advanced, _("Dump EFB Target"), wxGetTranslation(dump_efb_desc), diff --git a/Source/Core/VideoBackends/D3D/main.cpp b/Source/Core/VideoBackends/D3D/main.cpp index 9597ac7d0441..a146a4d25a52 100644 --- a/Source/Core/VideoBackends/D3D/main.cpp +++ b/Source/Core/VideoBackends/D3D/main.cpp @@ -75,7 +75,6 @@ void VideoBackend::InitBackendInfo() g_Config.backend_info.bSupportsDepthClamp = true; g_Config.backend_info.bSupportsReversedDepthRange = false; g_Config.backend_info.bSupportsMultithreading = false; - g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false; g_Config.backend_info.bSupportsGPUTextureDecoding = false; g_Config.backend_info.bSupportsST3CTextures = false; g_Config.backend_info.bSupportsCopyToVram = true; diff --git a/Source/Core/VideoBackends/Null/NullBackend.cpp b/Source/Core/VideoBackends/Null/NullBackend.cpp index 1bb8d6248e0e..d6c963876385 100644 --- a/Source/Core/VideoBackends/Null/NullBackend.cpp +++ b/Source/Core/VideoBackends/Null/NullBackend.cpp @@ -43,7 +43,6 @@ void VideoBackend::InitBackendInfo() g_Config.backend_info.bSupportsDepthClamp = true; g_Config.backend_info.bSupportsReversedDepthRange = true; g_Config.backend_info.bSupportsMultithreading = false; - g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false; g_Config.backend_info.bSupportsGPUTextureDecoding = false; g_Config.backend_info.bSupportsST3CTextures = false; g_Config.backend_info.bSupportsBPTCTextures = false; diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index 25f8be7f6b45..3b07eb96a766 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -90,7 +90,6 @@ void VideoBackend::InitBackendInfo() g_Config.backend_info.bSupportsSSAA = true; g_Config.backend_info.bSupportsReversedDepthRange = true; g_Config.backend_info.bSupportsMultithreading = false; - g_Config.backend_info.bSupportsInternalResolutionFrameDumps = true; g_Config.backend_info.bSupportsCopyToVram = true; g_Config.backend_info.bForceCopyToRam = false; diff --git a/Source/Core/VideoBackends/Software/SWmain.cpp b/Source/Core/VideoBackends/Software/SWmain.cpp index c2bbafb42066..57c5096dfab0 100644 --- a/Source/Core/VideoBackends/Software/SWmain.cpp +++ b/Source/Core/VideoBackends/Software/SWmain.cpp @@ -68,7 +68,6 @@ void VideoSoftware::InitBackendInfo() g_Config.backend_info.bSupportsPrimitiveRestart = false; g_Config.backend_info.bSupportsMultithreading = false; g_Config.backend_info.bSupportsComputeShaders = false; - g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false; g_Config.backend_info.bSupportsGPUTextureDecoding = false; g_Config.backend_info.bSupportsST3CTextures = false; g_Config.backend_info.bSupportsBPTCTextures = false; diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp index 9d34174e907c..5447e7eea394 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp @@ -233,18 +233,17 @@ void VulkanContext::PopulateBackendInfo(VideoConfig* config) config->backend_info.bSupportsComputeShaders = true; // Assumed support. config->backend_info.bSupportsGPUTextureDecoding = true; // Assumed support. config->backend_info.bSupportsBitfield = true; // Assumed support. - config->backend_info.bSupportsDynamicSamplerIndexing = true; // Assumed support. - config->backend_info.bSupportsInternalResolutionFrameDumps = true; // Assumed support. - config->backend_info.bSupportsPostProcessing = true; // Assumed support. - 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.bSupportsFragmentStoresAndAtomics = false; // Dependent on features. - config->backend_info.bSupportsSSAA = false; // Dependent on features. - config->backend_info.bSupportsDepthClamp = false; // Dependent on features. - config->backend_info.bSupportsST3CTextures = false; // Dependent on features. - config->backend_info.bSupportsBPTCTextures = false; // Dependent on features. + config->backend_info.bSupportsDynamicSamplerIndexing = true; // Assumed support. + config->backend_info.bSupportsPostProcessing = true; // Assumed support. + 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.bSupportsFragmentStoresAndAtomics = false; // Dependent on features. + config->backend_info.bSupportsSSAA = false; // Dependent on features. + config->backend_info.bSupportsDepthClamp = false; // Dependent on features. + config->backend_info.bSupportsST3CTextures = false; // Dependent on features. + config->backend_info.bSupportsBPTCTextures = false; // Dependent on features. config->backend_info.bSupportsReversedDepthRange = false; // No support yet due to driver bugs. config->backend_info.bSupportsCopyToVram = true; // Assumed support. config->backend_info.bForceCopyToRam = false; diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index b0d7c07dd1e4..4a4647534458 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(target_width) || m_dump_texture->GetConfig().height != static_cast(target_height)) diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 5e5b31392680..6ddf034d19c0 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 a0085ce809d2..0167cff5a5d6 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;