settings: Enable FIFO relaxed

Not entirely sure if we need this, but there's also no reason not to
support it.

settings: Give VSyncMode values
This commit is contained in:
lat9nq 2023-05-01 20:22:37 -04:00
parent 6b973c5986
commit 2528cf7c54
2 changed files with 10 additions and 7 deletions

View File

@ -17,9 +17,10 @@
namespace Settings { namespace Settings {
enum class VSyncMode : u32 { enum class VSyncMode : u32 {
Immediate, Immediate = 0,
FIFO, Mailbox = 1,
Mailbox, FIFO = 2,
FIFORelaxed = 3,
}; };
enum class RendererBackend : u32 { enum class RendererBackend : u32 {
@ -461,8 +462,8 @@ struct Values {
SwitchableSetting<NvdecEmulation> nvdec_emulation{NvdecEmulation::GPU, "nvdec_emulation"}; SwitchableSetting<NvdecEmulation> nvdec_emulation{NvdecEmulation::GPU, "nvdec_emulation"};
SwitchableSetting<bool> accelerate_astc{true, "accelerate_astc"}; SwitchableSetting<bool> accelerate_astc{true, "accelerate_astc"};
SwitchableSetting<bool> async_astc{false, "async_astc"}; SwitchableSetting<bool> async_astc{false, "async_astc"};
Setting<VSyncMode, true> vsync_mode{VSyncMode::FIFO, VSyncMode::Immediate, VSyncMode::Mailbox, Setting<VSyncMode, true> vsync_mode{VSyncMode::FIFO, VSyncMode::Immediate,
"use_vsync"}; VSyncMode::FIFORelaxed, "use_vsync"};
SwitchableSetting<ShaderBackend, true> shader_backend{ShaderBackend::GLSL, ShaderBackend::GLSL, SwitchableSetting<ShaderBackend, true> shader_backend{ShaderBackend::GLSL, ShaderBackend::GLSL,
ShaderBackend::SPIRV, "shader_backend"}; ShaderBackend::SPIRV, "shader_backend"};
SwitchableSetting<bool> use_asynchronous_shaders{false, "use_asynchronous_shaders"}; SwitchableSetting<bool> use_asynchronous_shaders{false, "use_asynchronous_shaders"};

View File

@ -89,10 +89,12 @@ static constexpr const char* TranslateVSyncMode(Settings::VSyncMode mode) {
switch (mode) { switch (mode) {
case Settings::VSyncMode::Immediate: case Settings::VSyncMode::Immediate:
return "Immediate"; return "Immediate";
case Settings::VSyncMode::FIFO:
return "FIFO";
case Settings::VSyncMode::Mailbox: case Settings::VSyncMode::Mailbox:
return "Mailbox"; return "Mailbox";
case Settings::VSyncMode::FIFO:
return "FIFO";
case Settings::VSyncMode::FIFORelaxed:
return "FIFO Relaxed";
} }
return "Unknown"; return "Unknown";
} }