Add a renderer selection option for macOS

There are numerous conflicting reports about which Mac renderer works best (even on the same systems!). I give up, just let the users figure it out.
This commit is contained in:
Cameron Gutman
2026-07-18 16:38:40 -05:00
parent c0c4d60565
commit 4453e4aef1
10 changed files with 116 additions and 7 deletions
+4
View File
@@ -51,6 +51,7 @@
#define SER_CAPTURESYSKEYS "capturesyskeys"
#define SER_KEEPAWAKE "keepawake"
#define SER_LANGUAGE "language"
#define SER_RENDERER "renderer"
#define CURRENT_DEFAULT_VER 2
@@ -159,6 +160,8 @@ void StreamingPreferences::reload()
static_cast<int>(VideoCodecConfig::VCC_AUTO)).toInt());
videoDecoderSelection = static_cast<VideoDecoderSelection>(settings.value(SER_VIDEODEC,
static_cast<int>(VideoDecoderSelection::VDS_AUTO)).toInt());
rendererSelection = static_cast<RendererSelection>(settings.value(SER_RENDERER,
static_cast<int>(RendererSelection::RS_AUTO)).toInt());
windowMode = static_cast<WindowMode>(settings.value(SER_WINDOWMODE,
// Try to load from the old preference value too
static_cast<int>(settings.value(SER_FULLSCREEN, true).toBool() ?
@@ -347,6 +350,7 @@ void StreamingPreferences::save()
settings.setValue(SER_YUV444, enableYUV444);
settings.setValue(SER_VIDEOCFG, static_cast<int>(videoCodecConfig));
settings.setValue(SER_VIDEODEC, static_cast<int>(videoDecoderSelection));
settings.setValue(SER_RENDERER, static_cast<int>(rendererSelection));
settings.setValue(SER_WINDOWMODE, static_cast<int>(windowMode));
settings.setValue(SER_UIDISPLAYMODE, static_cast<int>(uiDisplayMode));
settings.setValue(SER_LANGUAGE, static_cast<int>(language));