mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-21 11:37:14 +01:00
VideoConfig: Add option for full-resolution frame dumping
This commit is contained in:
parent
681294586b
commit
a0a62c0f46
@ -236,6 +236,11 @@ static wxString cache_hires_textures_desc =
|
|||||||
"more RAM but fixes possible stuttering.\n\nIf unsure, leave this unchecked.");
|
"more RAM but fixes possible stuttering.\n\nIf unsure, leave this unchecked.");
|
||||||
static wxString dump_efb_desc = wxTRANSLATE(
|
static wxString dump_efb_desc = wxTRANSLATE(
|
||||||
"Dump the contents of EFB copies to User/Dump/Textures/.\n\nIf unsure, leave this unchecked.");
|
"Dump the contents of EFB copies to User/Dump/Textures/.\n\nIf unsure, leave this unchecked.");
|
||||||
|
static wxString internal_resolution_frame_dumping_desc = wxTRANSLATE(
|
||||||
|
"Create frame dumps and screenshots at the internal resolution of the renderer, rather than "
|
||||||
|
"the size of the window it is displayed within. If the aspect ratio is widescreen, the output "
|
||||||
|
"image will be scaled horizontally to preserve the vertical resolution.\n\nIf unsure, leave "
|
||||||
|
"this unchecked.");
|
||||||
#if defined(HAVE_LIBAV) || defined(_WIN32)
|
#if defined(HAVE_LIBAV) || defined(_WIN32)
|
||||||
static wxString use_ffv1_desc =
|
static wxString use_ffv1_desc =
|
||||||
wxTRANSLATE("Encode frame dumps using the FFV1 codec.\n\nIf unsure, leave this unchecked.");
|
wxTRANSLATE("Encode frame dumps using the FFV1 codec.\n\nIf unsure, leave this unchecked.");
|
||||||
@ -858,6 +863,14 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string& title)
|
|||||||
CreateCheckBox(page_advanced, _("Prefetch Custom Textures"),
|
CreateCheckBox(page_advanced, _("Prefetch Custom Textures"),
|
||||||
wxGetTranslation(cache_hires_textures_desc), vconfig.bCacheHiresTextures);
|
wxGetTranslation(cache_hires_textures_desc), vconfig.bCacheHiresTextures);
|
||||||
szr_utility->Add(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),
|
||||||
|
vconfig.bInternalResolutionFrameDumps));
|
||||||
|
}
|
||||||
|
|
||||||
szr_utility->Add(CreateCheckBox(page_advanced, _("Dump EFB Target"),
|
szr_utility->Add(CreateCheckBox(page_advanced, _("Dump EFB Target"),
|
||||||
wxGetTranslation(dump_efb_desc), vconfig.bDumpEFBTarget));
|
wxGetTranslation(dump_efb_desc), vconfig.bDumpEFBTarget));
|
||||||
szr_utility->Add(CreateCheckBox(page_advanced, _("Free Look"),
|
szr_utility->Add(CreateCheckBox(page_advanced, _("Free Look"),
|
||||||
|
@ -72,6 +72,7 @@ void VideoBackend::InitBackendInfo()
|
|||||||
g_Config.backend_info.bSupportsDepthClamp = true;
|
g_Config.backend_info.bSupportsDepthClamp = true;
|
||||||
g_Config.backend_info.bSupportsReversedDepthRange = false;
|
g_Config.backend_info.bSupportsReversedDepthRange = false;
|
||||||
g_Config.backend_info.bSupportsMultithreading = false;
|
g_Config.backend_info.bSupportsMultithreading = false;
|
||||||
|
g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
IDXGIFactory* factory;
|
IDXGIFactory* factory;
|
||||||
IDXGIAdapter* ad;
|
IDXGIAdapter* ad;
|
||||||
|
@ -75,6 +75,7 @@ void VideoBackend::InitBackendInfo()
|
|||||||
g_Config.backend_info.bSupportsDepthClamp = true;
|
g_Config.backend_info.bSupportsDepthClamp = true;
|
||||||
g_Config.backend_info.bSupportsReversedDepthRange = false;
|
g_Config.backend_info.bSupportsReversedDepthRange = false;
|
||||||
g_Config.backend_info.bSupportsMultithreading = false;
|
g_Config.backend_info.bSupportsMultithreading = false;
|
||||||
|
g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
IDXGIFactory* factory;
|
IDXGIFactory* factory;
|
||||||
IDXGIAdapter* ad;
|
IDXGIAdapter* ad;
|
||||||
|
@ -41,6 +41,7 @@ void VideoBackend::InitBackendInfo()
|
|||||||
g_Config.backend_info.bSupportsDepthClamp = true;
|
g_Config.backend_info.bSupportsDepthClamp = true;
|
||||||
g_Config.backend_info.bSupportsReversedDepthRange = true;
|
g_Config.backend_info.bSupportsReversedDepthRange = true;
|
||||||
g_Config.backend_info.bSupportsMultithreading = false;
|
g_Config.backend_info.bSupportsMultithreading = false;
|
||||||
|
g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
// aamodes: We only support 1 sample, so no MSAA
|
// aamodes: We only support 1 sample, so no MSAA
|
||||||
g_Config.backend_info.Adapters.clear();
|
g_Config.backend_info.Adapters.clear();
|
||||||
|
@ -104,6 +104,7 @@ void VideoBackend::InitBackendInfo()
|
|||||||
g_Config.backend_info.bSupportsSSAA = true;
|
g_Config.backend_info.bSupportsSSAA = true;
|
||||||
g_Config.backend_info.bSupportsReversedDepthRange = true;
|
g_Config.backend_info.bSupportsReversedDepthRange = true;
|
||||||
g_Config.backend_info.bSupportsMultithreading = false;
|
g_Config.backend_info.bSupportsMultithreading = false;
|
||||||
|
g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
// Overwritten in Render.cpp later
|
// Overwritten in Render.cpp later
|
||||||
g_Config.backend_info.bSupportsDualSourceBlend = true;
|
g_Config.backend_info.bSupportsDualSourceBlend = true;
|
||||||
|
@ -132,6 +132,7 @@ void VideoSoftware::InitBackendInfo()
|
|||||||
g_Config.backend_info.bSupportsOversizedViewports = true;
|
g_Config.backend_info.bSupportsOversizedViewports = true;
|
||||||
g_Config.backend_info.bSupportsPrimitiveRestart = false;
|
g_Config.backend_info.bSupportsPrimitiveRestart = false;
|
||||||
g_Config.backend_info.bSupportsMultithreading = false;
|
g_Config.backend_info.bSupportsMultithreading = false;
|
||||||
|
g_Config.backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
// aamodes
|
// aamodes
|
||||||
g_Config.backend_info.AAModes = {1};
|
g_Config.backend_info.AAModes = {1};
|
||||||
|
@ -233,6 +233,7 @@ void VulkanContext::PopulateBackendInfo(VideoConfig* config)
|
|||||||
config->backend_info.bSupportsPaletteConversion = true; // Assumed support.
|
config->backend_info.bSupportsPaletteConversion = true; // Assumed support.
|
||||||
config->backend_info.bSupportsClipControl = true; // Assumed support.
|
config->backend_info.bSupportsClipControl = true; // Assumed support.
|
||||||
config->backend_info.bSupportsMultithreading = 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.bSupportsPostProcessing = false; // No support yet.
|
||||||
config->backend_info.bSupportsDualSourceBlend = false; // Dependent on features.
|
config->backend_info.bSupportsDualSourceBlend = false; // Dependent on features.
|
||||||
config->backend_info.bSupportsGeometryShaders = false; // Dependent on features.
|
config->backend_info.bSupportsGeometryShaders = false; // Dependent on features.
|
||||||
|
@ -39,6 +39,7 @@ VideoConfig::VideoConfig()
|
|||||||
backend_info.api_type = APIType::Nothing;
|
backend_info.api_type = APIType::Nothing;
|
||||||
backend_info.bSupportsExclusiveFullscreen = false;
|
backend_info.bSupportsExclusiveFullscreen = false;
|
||||||
backend_info.bSupportsMultithreading = false;
|
backend_info.bSupportsMultithreading = false;
|
||||||
|
backend_info.bSupportsInternalResolutionFrameDumps = false;
|
||||||
|
|
||||||
bEnableValidationLayer = false;
|
bEnableValidationLayer = false;
|
||||||
bBackendMultithreading = true;
|
bBackendMultithreading = true;
|
||||||
@ -74,6 +75,7 @@ void VideoConfig::Load(const std::string& ini_file)
|
|||||||
settings->Get("DumpFramesAsImages", &bDumpFramesAsImages, 0);
|
settings->Get("DumpFramesAsImages", &bDumpFramesAsImages, 0);
|
||||||
settings->Get("FreeLook", &bFreeLook, 0);
|
settings->Get("FreeLook", &bFreeLook, 0);
|
||||||
settings->Get("UseFFV1", &bUseFFV1, 0);
|
settings->Get("UseFFV1", &bUseFFV1, 0);
|
||||||
|
settings->Get("InternalResolutionFrameDumps", &bInternalResolutionFrameDumps, 0);
|
||||||
settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0);
|
settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0);
|
||||||
settings->Get("FastDepthCalc", &bFastDepthCalc, true);
|
settings->Get("FastDepthCalc", &bFastDepthCalc, true);
|
||||||
settings->Get("MSAA", &iMultisamples, 1);
|
settings->Get("MSAA", &iMultisamples, 1);
|
||||||
@ -291,6 +293,7 @@ void VideoConfig::Save(const std::string& ini_file)
|
|||||||
settings->Set("DumpFramesAsImages", bDumpFramesAsImages);
|
settings->Set("DumpFramesAsImages", bDumpFramesAsImages);
|
||||||
settings->Set("FreeLook", bFreeLook);
|
settings->Set("FreeLook", bFreeLook);
|
||||||
settings->Set("UseFFV1", bUseFFV1);
|
settings->Set("UseFFV1", bUseFFV1);
|
||||||
|
settings->Set("InternalResolutionFrameDumps", bInternalResolutionFrameDumps);
|
||||||
settings->Set("EnablePixelLighting", bEnablePixelLighting);
|
settings->Set("EnablePixelLighting", bEnablePixelLighting);
|
||||||
settings->Set("FastDepthCalc", bFastDepthCalc);
|
settings->Set("FastDepthCalc", bFastDepthCalc);
|
||||||
settings->Set("MSAA", iMultisamples);
|
settings->Set("MSAA", iMultisamples);
|
||||||
|
@ -101,6 +101,7 @@ struct VideoConfig final
|
|||||||
bool bDumpEFBTarget;
|
bool bDumpEFBTarget;
|
||||||
bool bDumpFramesAsImages;
|
bool bDumpFramesAsImages;
|
||||||
bool bUseFFV1;
|
bool bUseFFV1;
|
||||||
|
bool bInternalResolutionFrameDumps;
|
||||||
bool bFreeLook;
|
bool bFreeLook;
|
||||||
bool bBorderlessFullscreen;
|
bool bBorderlessFullscreen;
|
||||||
|
|
||||||
@ -184,6 +185,7 @@ struct VideoConfig final
|
|||||||
bool bSupportsDepthClamp; // Needed by VertexShaderGen, so must stay in VideoCommon
|
bool bSupportsDepthClamp; // Needed by VertexShaderGen, so must stay in VideoCommon
|
||||||
bool bSupportsReversedDepthRange;
|
bool bSupportsReversedDepthRange;
|
||||||
bool bSupportsMultithreading;
|
bool bSupportsMultithreading;
|
||||||
|
bool bSupportsInternalResolutionFrameDumps;
|
||||||
} backend_info;
|
} backend_info;
|
||||||
|
|
||||||
// Utility
|
// Utility
|
||||||
|
Loading…
x
Reference in New Issue
Block a user