Merge lp://qastaging/~afrantzis/mir/fix-1418910-nested-egl-context-leak into lp://qastaging/mir
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Alan Griffiths | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 2306 | ||||
Proposed branch: | lp://qastaging/~afrantzis/mir/fix-1418910-nested-egl-context-leak | ||||
Merge into: | lp://qastaging/mir | ||||
Diff against target: |
201 lines (+76/-19) 6 files modified
src/server/graphics/nested/nested_display.cpp (+2/-0) tests/include/mir_test_doubles/mock_egl.h (+4/-0) tests/mir_test_doubles/mock_egl.cpp (+10/-1) tests/unit-tests/graphics/mesa/test_display_multi_monitor.cpp (+4/-0) tests/unit-tests/graphics/nested/test_nested_display.cpp (+38/-18) tests/unit-tests/graphics/offscreen/test_offscreen_display.cpp (+18/-0) |
||||
To merge this branch: | bzr merge lp://qastaging/~afrantzis/mir/fix-1418910-nested-egl-context-leak | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Robert Carr (community) | Approve | ||
Review via email:
|
Commit message
nested: Don't leak the NestedDisplay EGLContext
Release the context so it can be freed by eglTerminate().
Description of the change
nested: Don't leak the NestedDisplay EGLContext
Release the context so it can be freed by eglTerminate().
This MP also changes some EGL mocks to behave more like real implementations by default. This led to a few changes in tests as they needed to adapt to the new behavior.
A sample valgrind run of a nested server before this fix:
==14831== definitely lost: 1,077 bytes in 3 blocks
==14831== indirectly lost: 248 bytes in 6 blocks
==14831== possibly lost: 3,880 bytes in 31 blocks
==14831== still reachable: 744,539 bytes in 1,259 blocks
and after this fix:
==17480== definitely lost: 1,077 bytes in 3 blocks
==17480== indirectly lost: 248 bytes in 6 blocks
==17480== possibly lost: 0 bytes in 0 blocks
==17480== still reachable: 12,898 bytes in 44 blocks
==17480== suppressed: 0 bytes in 0 blocks
LGTM