Merge lp:~albaguirre/mir/fix-1539268 into lp:mir
Status: | Merged |
---|---|
Approved by: | Alberto Aguirre |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3283 |
Proposed branch: | lp:~albaguirre/mir/fix-1539268 |
Merge into: | lp:mir |
Diff against target: |
124 lines (+68/-2) 3 files modified
src/server/graphics/nested/display.cpp (+21/-2) src/server/graphics/nested/display.h (+3/-0) tests/unit-tests/graphics/nested/test_nested_display.cpp (+44/-0) |
To merge this branch: | bzr merge lp:~albaguirre/mir/fix-1539268 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Approve | ||
Chris Halse Rogers | Approve | ||
Daniel van Vugt | Needs Information | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Mir CI Bot | continuous-integration | Approve | |
Review via email: mp+284361@code.launchpad.net |
Commit message
nested-display: Use matching egl configs when creating any context (display, display buffer, shared gl context) (LP: #1539268)
Do not use arbitrary attributes when choosing an egl config for the context created during create_gl_context.
Description of the change
As described in bug report:
The surfacelesscontext created uses a default attribute list which may not match the actual attribute list used to create the egl context associated with the nested display.
This is problematic for qtmir - as it creates a temporary context in an effort to query the underlying eglconfig used for the display and inform Qt about R/G/B/A/
If the surfaceless context happens to choose a config that has no alpha, qtmir will inform Qt that there's no alpha (when there actually is) and rendering artifacts can occur.
PASSED: Continuous integration, rev:3276 /mir-jenkins. ubuntu. com/job/ mir-ci/ 182/ /mir-jenkins. ubuntu. com/job/ generic- update- mp/182/ console
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 182/rebuild
https:/