Mir

Merge lp:~andreas-pokorny/mir/fix-1598267 into lp:mir

Proposed by Andreas Pokorny
Status: Merged
Approved by: Alexandros Frantzis
Approved revision: no longer in the source branch.
Merged at revision: 3573
Proposed branch: lp:~andreas-pokorny/mir/fix-1598267
Merge into: lp:mir
Diff against target: 79 lines (+29/-4)
4 files modified
src/platforms/mesa/server/x11/graphics/display.cpp (+2/-1)
src/platforms/mesa/server/x11/graphics/display_configuration.cpp (+2/-2)
src/platforms/mesa/server/x11/graphics/display_configuration.h (+4/-1)
tests/unit-tests/graphics/mesa/x11/test_display.cpp (+21/-0)
To merge this branch: bzr merge lp:~andreas-pokorny/mir/fix-1598267
Reviewer Review Type Date Requested Status
Alexandros Frantzis (community) Approve
Mir CI Bot continuous-integration Approve
Review via email: mp+298937@code.launchpad.net

Commit message

Do not use the window size in mm as resolution

Description of the change

stupid mistake..

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3569
https://mir-jenkins.ubuntu.com/job/mir-ci/1223/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1409/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1460
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1451
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/1451
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1423
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1423/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1423
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1423/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1423
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1423/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1423
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1423/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1423/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/1223/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3569
https://mir-jenkins.ubuntu.com/job/mir-ci/1227/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/1414
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1465
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1456
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/1456
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1428
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1428/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1428
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/1428/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1428
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1428/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1428
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1428/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1428
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/1428/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/1227/rebuild

review: Approve (continuous-integration)
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

OK.

review: Approve
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

... we could avoid such mistakes if we had dedicated types for physical width/height/size

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/mesa/server/x11/graphics/display.cpp'
2--- src/platforms/mesa/server/x11/graphics/display.cpp 2016-06-28 08:24:02 +0000
3+++ src/platforms/mesa/server/x11/graphics/display.cpp 2016-07-01 18:43:40 +0000
4@@ -309,7 +309,8 @@
5
6 std::unique_ptr<mg::DisplayConfiguration> mgx::Display::configuration() const
7 {
8- return std::make_unique<mgx::DisplayConfiguration>(pf, geom::Size{size.width*pixel_width, size.height*pixel_height}, orientation);
9+ return std::make_unique<mgx::DisplayConfiguration>(
10+ pf, size, geom::Size{size.width * pixel_width, size.height * pixel_height}, orientation);
11 }
12
13 void mgx::Display::configure(mg::DisplayConfiguration const& new_configuration)
14
15=== modified file 'src/platforms/mesa/server/x11/graphics/display_configuration.cpp'
16--- src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-06-28 08:24:02 +0000
17+++ src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-07-01 18:43:40 +0000
18@@ -24,14 +24,14 @@
19 namespace mgx = mg::X;
20 namespace geom = mir::geometry;
21
22-mgx::DisplayConfiguration::DisplayConfiguration(MirPixelFormat pf, geom::Size const size, MirOrientation orientation) :
23+mgx::DisplayConfiguration::DisplayConfiguration(MirPixelFormat pf, geom::Size const pixels, geom::Size const size, MirOrientation orientation) :
24 configuration{
25 mg::DisplayConfigurationOutputId{1},
26 mg::DisplayConfigurationCardId{0},
27 mg::DisplayConfigurationOutputType::unknown,
28 {pf},
29 //TODO: query fps
30- {mg::DisplayConfigurationMode{size, 60.0}},
31+ {mg::DisplayConfigurationMode{pixels, 60.0}},
32 0,
33 size,
34 true,
35
36=== modified file 'src/platforms/mesa/server/x11/graphics/display_configuration.h'
37--- src/platforms/mesa/server/x11/graphics/display_configuration.h 2016-01-29 08:18:22 +0000
38+++ src/platforms/mesa/server/x11/graphics/display_configuration.h 2016-07-01 18:43:40 +0000
39@@ -33,7 +33,10 @@
40 class DisplayConfiguration : public graphics::DisplayConfiguration
41 {
42 public:
43- DisplayConfiguration(MirPixelFormat pf, mir::geometry::Size const size, MirOrientation orientation);
44+ DisplayConfiguration(MirPixelFormat pf,
45+ mir::geometry::Size const pixels,
46+ mir::geometry::Size const size_mm,
47+ MirOrientation orientation);
48 DisplayConfiguration(DisplayConfiguration const&);
49
50 virtual ~DisplayConfiguration() = default;
51
52=== modified file 'tests/unit-tests/graphics/mesa/x11/test_display.cpp'
53--- tests/unit-tests/graphics/mesa/x11/test_display.cpp 2016-06-28 08:24:02 +0000
54+++ tests/unit-tests/graphics/mesa/x11/test_display.cpp 2016-07-01 18:43:40 +0000
55@@ -177,3 +177,24 @@
56
57 EXPECT_THAT(reported_size, Eq(expected_size));
58 }
59+
60+TEST_F(X11DisplayTest, reports_a_resolution_that_matches_the_window_size)
61+{
62+ auto const pixel = geom::Size{2560, 1080};
63+ auto const mm = geom::Size{677, 290};
64+ auto const window = geom::Size{1280, 1024};
65+
66+ setup_x11_screen(pixel, mm, window);
67+
68+ auto display = create_display();
69+ auto config = display->configuration();
70+ geom::Size reported_resolution;
71+ config->for_each_output(
72+ [&reported_resolution](mg::DisplayConfigurationOutput const& output)
73+ {
74+ reported_resolution = output.modes[0].size;
75+ }
76+ );
77+
78+ EXPECT_THAT(reported_resolution, Eq(window));
79+}

Subscribers

People subscribed via source and target branches