Add flag to disable seperable shaders for osx Intel GPUs. Default is false

This commit is contained in:
B3n30 2020-04-18 13:37:58 +02:00
parent 79a0cbbba8
commit 1e54f27cde
10 changed files with 49 additions and 12 deletions

View file

@ -431,13 +431,12 @@ void Config::ReadRendererValues() {
Settings::values.use_hw_renderer =
ReadSetting(QStringLiteral("use_hw_renderer"), true).toBool();
Settings::values.use_hw_shader = ReadSetting(QStringLiteral("use_hw_shader"), true).toBool();
#ifdef __APPLE__
// Hardware shader is broken on macos thanks to poor drivers.
// We still want to provide this option for test/development purposes, but disable it by
// default.
Settings::values.use_hw_shader = ReadSetting(QStringLiteral("use_hw_shader"), false).toBool();
#else
Settings::values.use_hw_shader = ReadSetting(QStringLiteral("use_hw_shader"), true).toBool();
Settings::values.seperable_shader = ReadSetting(QStringLiteral("seperable_shader"), false).toBool();
#endif
Settings::values.shaders_accurate_mul =
ReadSetting(QStringLiteral("shaders_accurate_mul"), false).toBool();
@ -916,13 +915,11 @@ void Config::SaveRendererValues() {
qt_config->beginGroup(QStringLiteral("Renderer"));
WriteSetting(QStringLiteral("use_hw_renderer"), Settings::values.use_hw_renderer, true);
WriteSetting(QStringLiteral("use_hw_shader"), Settings::values.use_hw_shader, true);
#ifdef __APPLE__
// Hardware shader is broken on macos thanks to poor drivers.
// We still want to provide this option for test/development purposes, but disable it by
// default.
WriteSetting(QStringLiteral("use_hw_shader"), Settings::values.use_hw_shader, false);
#else
WriteSetting(QStringLiteral("use_hw_shader"), Settings::values.use_hw_shader, true);
// TODO: enable this for none Intel GPUs
WriteSetting(QStringLiteral("use_seperable_shader"), Settings::values.seperable_shader, false);
#endif
WriteSetting(QStringLiteral("shaders_accurate_mul"), Settings::values.shaders_accurate_mul,
false);