Skip to content

Commit

Permalink
Disable OpenGL ANGLE backend.
Browse files Browse the repository at this point in the history
Currently ANGLE can work through desktop OpenGL only with enabled
attribute EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE.

Qt can't work with it enabled and shows vertically flipped content.
  • Loading branch information
john-preston committed Aug 10, 2023
1 parent 39a80c6 commit c571867
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Telegram/SourceFiles/core/application.cpp
Expand Up @@ -123,7 +123,7 @@ void SetCrashAnnotationsGL() {
case Ui::GL::ANGLE::D3D11: return "Direct3D 11";
case Ui::GL::ANGLE::D3D9: return "Direct3D 9";
case Ui::GL::ANGLE::D3D11on12: return "D3D11on12";
case Ui::GL::ANGLE::OpenGL: return "OpenGL";
//case Ui::GL::ANGLE::OpenGL: return "OpenGL";
}
Unexpected("Ui::GL::CurrentANGLE value in SetupANGLE.");
}());
Expand Down
15 changes: 8 additions & 7 deletions Telegram/SourceFiles/settings/settings_advanced.cpp
Expand Up @@ -737,18 +737,19 @@ void SetupANGLE(
tr::lng_settings_angle_backend_d3d11(tr::now),
tr::lng_settings_angle_backend_d3d9(tr::now),
tr::lng_settings_angle_backend_d3d11on12(tr::now),
tr::lng_settings_angle_backend_opengl(tr::now),
//tr::lng_settings_angle_backend_opengl(tr::now),
tr::lng_settings_angle_backend_disabled(tr::now),
};
const auto backendIndex = [] {
const auto disabled = int(options.size()) - 1;
const auto backendIndex = [=] {
if (Core::App().settings().disableOpenGL()) {
return 5;
return disabled;
} else switch (Ui::GL::CurrentANGLE()) {
case ANGLE::Auto: return 0;
case ANGLE::D3D11: return 1;
case ANGLE::D3D9: return 2;
case ANGLE::D3D11on12: return 3;
case ANGLE::OpenGL: return 4;
//case ANGLE::OpenGL: return 4;
}
Unexpected("Ui::GL::CurrentANGLE value in SetupANGLE.");
}();
Expand All @@ -764,20 +765,20 @@ void SetupANGLE(
return;
}
const auto confirmed = crl::guard(button, [=] {
const auto nowDisabled = (index == 5);
const auto nowDisabled = (index == disabled);
if (!nowDisabled) {
Ui::GL::ChangeANGLE([&] {
switch (index) {
case 0: return ANGLE::Auto;
case 1: return ANGLE::D3D11;
case 2: return ANGLE::D3D9;
case 3: return ANGLE::D3D11on12;
case 4: return ANGLE::OpenGL;
//case 4: return ANGLE::OpenGL;
}
Unexpected("Index in SetupANGLE.");
}());
}
const auto wasDisabled = (backendIndex == 5);
const auto wasDisabled = (backendIndex == disabled);
if (nowDisabled != wasDisabled) {
Core::App().settings().setDisableOpenGL(nowDisabled);
Local::writeSettings();
Expand Down
2 changes: 1 addition & 1 deletion Telegram/lib_ui

0 comments on commit c571867

Please sign in to comment.