mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-08-06 11:52:58 +00:00
Added experimental toggle to control Qt RHI renderer.
This commit is contained in:
@@ -304,11 +304,23 @@ base::options::toggle OptionFractionalScalingEnabled({
|
||||
.restartRequired = true,
|
||||
});
|
||||
|
||||
base::options::toggle OptionUseQtRhi({
|
||||
.id = kOptionUseQtRhi,
|
||||
.name = "Use Qt RHI renderer",
|
||||
.defaultValue = !Platform::IsMac(),
|
||||
.scope = [] {
|
||||
return (!Platform::IsWindows() || Platform::IsWindowsARM64())
|
||||
&& QLibraryInfo::version() >= QVersionNumber(6, 7);
|
||||
},
|
||||
.restartRequired = true,
|
||||
});
|
||||
|
||||
} // namespace
|
||||
|
||||
const char kOptionFractionalScalingEnabled[] = "fractional-scaling-enabled";
|
||||
const char kOptionHighDpiDownscale[] = "high-dpi-downscale";
|
||||
const char kOptionFreeType[] = "freetype";
|
||||
const char kOptionUseQtRhi[] = "use-qt-rhi";
|
||||
|
||||
Launcher *Launcher::InstanceSetter::Instance = nullptr;
|
||||
|
||||
@@ -365,15 +377,17 @@ void Launcher::initHighDpi() {
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND", "opengl");
|
||||
}
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||
qputenv("QT_WIDGETS_RHI", "1");
|
||||
if (OptionUseQtRhi.value()) {
|
||||
qputenv("QT_WIDGETS_RHI", "1");
|
||||
#ifdef Q_OS_MAC
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND",
|
||||
Platform::MetalSupported() ? "metal" : "opengl");
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND",
|
||||
Platform::MetalSupported() ? "metal" : "opengl");
|
||||
#elif defined(Q_OS_WIN)
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND", "d3d11");
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND", "d3d11");
|
||||
#else
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND", "opengl");
|
||||
qputenv("QT_WIDGETS_RHI_BACKEND", "opengl");
|
||||
#endif
|
||||
}
|
||||
#endif // Qt >= 6.7
|
||||
|
||||
if (OptionFractionalScalingEnabled.value()
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Core {
|
||||
extern const char kOptionFractionalScalingEnabled[];
|
||||
extern const char kOptionHighDpiDownscale[];
|
||||
extern const char kOptionFreeType[];
|
||||
extern const char kOptionUseQtRhi[];
|
||||
|
||||
class Launcher {
|
||||
public:
|
||||
|
||||
@@ -210,6 +210,7 @@ void SetupExperimental(
|
||||
addToggle(Dialogs::Ui::kOptionDialogsMuteIcon);
|
||||
addToggle(Core::kOptionFractionalScalingEnabled);
|
||||
addToggle(Core::kOptionHighDpiDownscale);
|
||||
addToggle(Core::kOptionUseQtRhi);
|
||||
addToggle(Window::kOptionViewProfileInChatsListContextMenu);
|
||||
addToggle(Info::Profile::kOptionShowPeerIdBelowAbout);
|
||||
addToggle(Info::Profile::kOptionShowChannelJoinedBelowAbout);
|
||||
|
||||
Reference in New Issue
Block a user