Changing scale, formFactor or DPI in display configuration causes renderer teardown/recreate unnecessarily
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Chris Halse Rogers | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
DisplayConfigur
However if the shell changes any of these values, it causes the server MultiThreadedCo
It would be nice to avoid this unnecessary tear-down/recreate cycle for DisplayConfigur
However then, need an API to allow QtMir detect those properties changed. Currently QtMir only checks for DisplayConfigur
Related branches
- Mir CI Bot: Approve (continuous-integration)
- Cemil Azizoglu (community): Approve
- Alan Griffiths: Approve
-
Diff: 541 lines (+293/-13)16 files modifiedinclude/platform/mir/graphics/display.h (+18/-0)
include/test/mir/test/doubles/null_display.h (+4/-0)
src/platforms/android/server/display.cpp (+6/-0)
src/platforms/android/server/display.h (+1/-0)
src/platforms/eglstream-kms/server/display.cpp (+6/-0)
src/platforms/eglstream-kms/server/display.h (+2/-0)
src/platforms/mesa/server/kms/display.cpp (+6/-0)
src/platforms/mesa/server/kms/display.h (+1/-0)
src/platforms/mesa/server/x11/graphics/display.cpp (+6/-0)
src/platforms/mesa/server/x11/graphics/display.h (+3/-0)
src/server/graphics/nested/display.cpp (+6/-0)
src/server/graphics/nested/display.h (+3/-0)
src/server/scene/mediating_display_changer.cpp (+37/-4)
tests/include/mir/test/doubles/mock_display.h (+2/-0)
tests/mir_test_framework/stubbed_graphics_platform.cpp (+4/-0)
tests/unit-tests/scene/test_mediating_display_changer.cpp (+188/-9)
- Mir CI Bot: Approve (continuous-integration)
- Kevin DuBois (community): Approve
- Andreas Pokorny (community): Approve
- Daniel van Vugt: Approve
-
Diff: 329 lines (+169/-107)4 files modifiedsrc/platforms/mesa/server/kms/display.cpp (+121/-106)
src/platforms/mesa/server/kms/display.h (+4/-0)
src/platforms/mesa/server/kms/real_kms_display_configuration.cpp (+4/-1)
tests/unit-tests/platforms/mesa/kms/test_display.cpp (+40/-0)
- Mir CI Bot: Approve (continuous-integration)
- Kevin DuBois (community): Approve
- Andreas Pokorny (community): Approve
-
Diff: 385 lines (+140/-57)16 files modifiedinclude/platform/mir/graphics/display.h (+1/-1)
include/test/mir/test/doubles/null_display.h (+1/-1)
src/platform/graphics/CMakeLists.txt (+1/-0)
src/platforms/android/server/display.cpp (+68/-43)
src/platforms/android/server/display.h (+4/-1)
src/platforms/eglstream-kms/server/display.cpp (+1/-1)
src/platforms/eglstream-kms/server/display.h (+1/-1)
src/platforms/mesa/server/kms/display.cpp (+1/-1)
src/platforms/mesa/server/kms/display.h (+1/-1)
src/platforms/mesa/server/x11/graphics/display.cpp (+1/-1)
src/platforms/mesa/server/x11/graphics/display.h (+1/-1)
src/server/graphics/nested/display.cpp (+1/-1)
src/server/graphics/nested/display.h (+1/-1)
tests/include/mir/test/doubles/mock_display.h (+1/-2)
tests/mir_test_framework/stubbed_graphics_platform.cpp (+1/-1)
tests/unit-tests/platforms/android/server/test_display.cpp (+55/-0)
- Alan Griffiths: Approve
- Andreas Pokorny (community): Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 453 lines (+272/-72)4 files modifiedsrc/server/graphics/nested/display.cpp (+127/-67)
src/server/graphics/nested/display.h (+1/-1)
tests/acceptance-tests/test_nested_mir.cpp (+12/-4)
tests/unit-tests/platforms/nested/test_nested_display.cpp (+132/-0)
- Alan Griffiths: Approve
- Chris Halse Rogers: Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 106 lines (+42/-3)3 files modifiedinclude/test/mir/test/doubles/fake_display.h (+3/-1)
tests/mir_test_doubles/fake_display.cpp (+37/-0)
tests/mir_test_framework/stubbed_graphics_platform.cpp (+2/-2)
Changed in mir: | |
milestone: | none → 0.25.0 |
status: | Triaged → In Progress |
Changed in mir: | |
milestone: | 0.25.0 → 0.26.0 |
Changed in mir: | |
status: | Fix Committed → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Yeah, seems to be an ongoing issue. A while back I reported the same bug for screen rotation, which Cemil fixed. However scale, formFactor and DPI are all features that have been added since then. So more fixing is required.