Remove the hardcoded lists of renderer names and instead try to do detection based on supported OpenGL version.
Remark: testing whether gl_major_version > 2 isn't very useful on OS X, as OS X doesn't allow one to use newer GL functions with the functions deprecated in GL 3.
This can't really be fixed until we drop all deprecated GL usage.
Details
- Reviewers
vladislavbelov - Trac Tickets
- #4451
Test whether the expected options are set for the "problematic" hardware configurations using the attached test.js.
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Branch
- arcpatch-D86
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 607 Build 960: Vulcan Build Jenkins Build 959: arc lint + arc unit
Event Timeline
Build is green
Updating workspaces. Build (release)... Build (debug)... Running debug tests... Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
http://jw:8080/job/phabricator/231/ for more details.
I'm not sure I will review that very soon but I do need to have a look at hardware detection so I'm assigning myself, if you don't mind. If you want to have this committed soon you should ask someone to review it before I do :-)
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (302 tests)..............................................................................................................................................................................................................................................................................................................OK!
http://jw:8080/job/phabricator/415/ for more details.
Some comments.
binaries/data/mods/mod/hwdetect/hwdetect.js | ||
---|---|---|
64 | Why changing unix to linux here? | |
129 | Do you really mean || rather than && here? if (os_linux && GL_RENDERER.match(/^Mesa DRI R[123]00 /) || (GL_RENDERER.match(/Intel/) && gl_major_version < 3) || | |
131 | This conditions seems a bit difficult to understand. | |
215 | Maybe leave GL_VENDOR and GL_EXTENSIONS commented if not actually used here? They may eventually be used in future. |
I suppose, we should have some hardcoded lists (probably not these). Because there are many video cards and drivers that contain weird bugs, which nobody will fix. E.g. Chromium has a huge list of exceptions: https://cs.chromium.org/chromium/src/gpu/config/software_rendering_list.json
I'm letting Vlad handle this patch after the revamp of the feedback page ? I'm still subscribed here.