Display::create_gl_context may create context with incorrect attributes
Bug #1539268 reported by
Alberto Aguirre
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Alberto Aguirre | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
A context created by a nested display (through Display:
Related branches
lp:~albaguirre/mir/fix-1539268
- Alan Griffiths: Approve
- Chris Halse Rogers: Approve
- Daniel van Vugt: Needs Information
- PS Jenkins bot (community): Approve (continuous-integration)
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 124 lines (+68/-2)3 files modifiedsrc/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)
Changed in mir (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
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/ Depth/stencil sizes.
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.