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
+14
View File
@@ -44,6 +44,17 @@ public:
};
Q_ENUM(VideoDecoderSelection)
// Mac only (for now)
enum RendererSelection
{
RS_PROBE_ONLY = -1, // Only valid for probing decoder properties
RS_AUTO,
RS_VULKAN,
RS_METAL,
RS_AVSBDL
};
Q_ENUM(RendererSelection)
enum WindowMode
{
WM_FULLSCREEN,
@@ -134,6 +145,7 @@ public:
Q_PROPERTY(bool enableHdr MEMBER enableHdr NOTIFY enableHdrChanged)
Q_PROPERTY(bool enableYUV444 MEMBER enableYUV444 NOTIFY enableYUV444Changed)
Q_PROPERTY(VideoDecoderSelection videoDecoderSelection MEMBER videoDecoderSelection NOTIFY videoDecoderSelectionChanged)
Q_PROPERTY(RendererSelection rendererSelection MEMBER rendererSelection NOTIFY rendererSelectionChanged)
Q_PROPERTY(WindowMode windowMode MEMBER windowMode NOTIFY windowModeChanged)
Q_PROPERTY(WindowMode recommendedFullScreenMode MEMBER recommendedFullScreenMode CONSTANT)
Q_PROPERTY(UIDisplayMode uiDisplayMode MEMBER uiDisplayMode NOTIFY uiDisplayModeChanged)
@@ -187,6 +199,7 @@ public:
UIDisplayMode uiDisplayMode;
Language language;
CaptureSysKeysMode captureSysKeysMode;
RendererSelection rendererSelection;
signals:
void displayModeChanged();
@@ -224,6 +237,7 @@ signals:
void captureSysKeysModeChanged();
void keepAwakeChanged();
void languageChanged();
void rendererSelectionChanged();
private:
explicit StreamingPreferences(QQmlEngine *qmlEngine);