Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Win32] Limit OpenGL video driver to OpenGL 3.2 or newer. #9077

Merged
merged 2 commits into from Apr 22, 2021

Conversation

@michicc
Copy link
Member

@michicc michicc commented Apr 21, 2021

Motivation / Problem / Description

All OpenGL issue reports with enough info seem to have in common that they happen on Windows with old hardware.

To limit potential problems, only accept drivers that can support OpenGL 3.2 or newer on Windows to cut off the oldest hardware/drivers. As all problem reports seem to be specific to Windows, I don't see a need to prematurely limit platforms besides Windows.

The check is done in the OpenGL backend and not in the Windows driver (by forcing it with wglCreateContextAttribsARB) as a missing wglCreateContextAttribsARB proc does not automatically mean a too old OpenGL version (and theoretically SDL2 could also be used). Many drivers supply the newest supported OGL version if nothing specific is requested.

While we're at it, let Windows aim for a 4.5 context first, before falling back to 3.2, as drivers are technically not required to expose the newer functionality as GL extensions (even if everything we use also has an alternative extension specified).

Limitations

Once again, it is unknown if it fixes/circumvents any of the reported issues.

Checklist for review

Some things are not automated, and forgotten often. This list is a reminder for the reviewers.

  • The bug fix is important enough to be backported? (label: 'backport requested')
  • This PR affects the save game format? (label 'savegame upgrade')
  • This PR affects the GS/AI API? (label 'needs review: Script API')
    • ai_changelog.hpp, gs_changelog.hpp need updating.
    • The compatibility wrappers (compat_*.nut) need updating.
  • This PR affects the NewGRF API? (label 'needs review: NewGRF')
src/video/win32_v.cpp Show resolved Hide resolved
@michicc michicc merged commit d1dd997 into OpenTTD:master Apr 22, 2021
14 checks passed
@michicc michicc deleted the pr/gl_win_32 branch Apr 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants