Mir

Merge lp:~raof/mir/plumb-subpixel-info into lp:mir

Proposed by Chris Halse Rogers
Status: Merged
Approved by: Chris Halse Rogers
Approved revision: 3639
Merged at revision: 3642
Proposed branch: lp:~raof/mir/plumb-subpixel-info
Merge into: lp:mir
Diff against target: 690 lines (+218/-42)
25 files modified
include/client/mir_toolkit/mir_display_configuration.h (+9/-0)
include/common/mir_toolkit/common.h (+16/-0)
include/platform/mir/graphics/display_configuration.h (+4/-0)
include/test/mir/test/doubles/stub_display_configuration.h (+22/-2)
src/client/display_configuration_api.cpp (+7/-0)
src/client/symbols.map (+1/-0)
src/platform/graphics/display_configuration.cpp (+2/-1)
src/platforms/android/server/display_configuration.cpp (+3/-1)
src/platforms/android/server/fb_device.cpp (+2/-1)
src/platforms/android/server/hwc_blanking_control.cpp (+2/-1)
src/platforms/mesa/server/kms/real_kms_display_configuration.cpp (+1/-1)
src/platforms/mesa/server/x11/graphics/display_configuration.cpp (+2/-1)
src/protobuf/mir_protobuf.proto (+1/-0)
src/server/frontend/protobuf_buffer_packer.cpp (+1/-0)
src/server/graphics/nested/nested_display_configuration.cpp (+6/-4)
src/server/graphics/nested/nested_display_configuration.h (+1/-0)
tests/acceptance-tests/test_new_display_configuration.cpp (+44/-0)
tests/mir_test/display_config_matchers.cpp (+6/-3)
tests/mir_test_doubles/stub_display_configuration.cpp (+56/-11)
tests/unit-tests/graphics/mesa/kms/test_cursor.cpp (+6/-3)
tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp (+18/-9)
tests/unit-tests/graphics/test_default_display_configuration_policy.cpp (+2/-1)
tests/unit-tests/graphics/test_display_configuration.cpp (+2/-1)
tests/unit-tests/graphics/test_overlapping_output_grouping.cpp (+2/-1)
tests/unit-tests/scene/test_mediating_display_changer.cpp (+2/-1)
To merge this branch: bzr merge lp:~raof/mir/plumb-subpixel-info
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Cemil Azizoglu (community) Approve
Daniel van Vugt Approve
Kevin DuBois (community) Approve
Review via email: mp+302377@code.launchpad.net

Commit message

Add subpixel arrangement info to the display configuration API.

Current platforms only provide mir_subpixel_arrangement_unknown, and need to add support for setting this to platform-provided values before this will be useful.

Fixes (part one): https://bugs.launchpad.net/mir/+bug/1393578

To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Just at quick glance, a couple of things I was already thinking about:
  * "arrangement" is better known (and easier to type) as "order"
  * "horizontal_rgb" could be abbreviated to "hrgb" etc.
  * Consider adding "pentile" and friends. I known most OLED displays are pentile (except only for the PS Vita). And I also suspect my HP Chromebook 13 has a pentile-like LCD too (!?).

review: Needs Fixing
Revision history for this message
Chris Halse Rogers (raof) wrote :

Heh. Pentile was exactly the reason I did not choose “order”; pentile isn't an order, it's an arrangement :).

DRM uses HORIZONTAL_RGB, VERTICAL_RGB, etc. I could abbreviate, I guess.

I don't think any of our platforms can actually *report* a pentile arrangement; once we have an API that can actually return that value to us, it's easy to add it to the Mir enum :)

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Cool. I half expected as much.

I'm still annoyed and confused by pentile. It always seems to look worse...

review: Abstain
Revision history for this message
Chris Halse Rogers (raof) wrote :

That's because it *is* worse :).

It discards RGB information from each pixel.

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3639
https://mir-jenkins.ubuntu.com/job/mir-ci/1414/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/1725
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1778
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1769
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1769
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1769
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1747/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1747/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1747/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/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1747/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/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1747/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1747
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1747/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Kevin DuBois (kdub) wrote :

lgtm

review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

In the future I expect you would also want:

  mir_surface_get_subpixel_arrangement

For clients to choose the correct arrangement for their window. Interestingly my frame timing work has the same long-term requirement -- to know which output a surface is mostly on. Subpixel arrangement and frame timing are both specific to an output. While I can see this requirement, I also hate it. In a beautiful world a client should never know or care the attributes of a physical display it is on. With some luck most of the time all displays would have the same or very similar values.

On that note however, I still like the idea of having the option (a fake display mode) to triple the resolution and let the system compositor do sub-pixel rendering of everything(!).

review: Approve
Revision history for this message
Chris Halse Rogers (raof) wrote :

On Wed, Aug 10, 2016 at 5:37 PM, Daniel van Vugt
<email address hidden> wrote:
> Review: Approve
>
> In the future I expect you would also want:
>
> mir_surface_get_subpixel_arrangement

Actually, I think I'll just attach a MirOutput* to the surface output
event, and then clients can slurp all the relevant values out.

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/470/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1738/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/503/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1791
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1782
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1782
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1782
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1762/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1762
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1762/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1762
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1762/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/1762
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1762/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/1762
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1762/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1762
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1762/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

08:00:22 9: [ FAILED ] NestedServer.animated_cursor_image_changes_are_forwarded_to_host (1358 ms)

lp:1523621 I presume

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/471/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1739/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/504/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1792
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1783
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1783
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1783
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1763/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1763
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1763/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1763
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1763/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/1763
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1763/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/1763
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1763/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1763
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1763/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

LGTM

review: Approve
Revision history for this message
Chris Halse Rogers (raof) wrote :

[ FAILED ] NestedInput.nested_event_filter_receives_keyboard_from_host

Unlikely to be this branch; not the same as lp:1523621, but maybe similar?

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/478/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1754/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/511/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1807
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1798/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1798/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1798/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1778/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1778/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1778/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/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1778/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/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1778/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1778
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1778/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Java says no: java.io.IOException: Remote call on cyclops-node14 failed

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/480/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/1756/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/513/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/1809
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1800/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1800/console
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1800/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1780
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/1780/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/1780/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1780
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=yakkety/1780/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/1780
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/1780/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/1780
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/1780/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1780
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/1780/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Chris Halse Rogers (raof) wrote :

Java continues to run out of memory!

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

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/client/mir_toolkit/mir_display_configuration.h'
2--- include/client/mir_toolkit/mir_display_configuration.h 2016-05-03 06:55:25 +0000
3+++ include/client/mir_toolkit/mir_display_configuration.h 2016-08-09 07:09:23 +0000
4@@ -413,6 +413,15 @@
5 float mir_output_get_scale_factor(MirOutput const* output);
6
7 /**
8+ * Get the subpixel arrangement of a display
9+ *
10+ * \param [in] output The MirOutput to query
11+ * \returns The MirSubpixelArrangement corresponding to the physical arrangement of subpixels
12+ * on this display, or mir_subpixel_arrangement_unknown if this cannot be determined.
13+ */
14+MirSubpixelArrangement mir_output_get_subpixel_arrangement(MirOutput const* output);
15+
16+/**
17 * Get the form-factor of a connected output.
18 *
19 * This call succeeds even if the output is not connected, but may return nonsense values.
20
21=== modified file 'include/common/mir_toolkit/common.h'
22--- include/common/mir_toolkit/common.h 2016-06-08 21:16:46 +0000
23+++ include/common/mir_toolkit/common.h 2016-08-09 07:09:23 +0000
24@@ -212,6 +212,22 @@
25 mir_form_factor_projector,
26 } MirFormFactor;
27
28+
29+/**
30+ * Physical arrangement of subpixels on the physical output
31+ *
32+ * This is always relative to the “natural” orientation of the display - mir_orientation_normal.
33+ */
34+typedef enum MirSubpixelArrangement
35+{
36+ mir_subpixel_arrangement_unknown, /**< Arrangement of subpixels cannot be determined */
37+ mir_subpixel_arrangement_horizontal_rgb, /**< Subpixels are arranged horizontally, R, G, B from left to right */
38+ mir_subpixel_arrangement_horizontal_bgr, /**< Subpixels are arranged horizontally, B, G, R from left to right */
39+ mir_subpixel_arrangement_vertical_rgb, /**< Subpixels are arranged vertically, R, G, B from top to bottom */
40+ mir_subpixel_arrangement_vertical_bgr, /**< Subpixels are arranged vertically, B, G, R from top to bottom */
41+ mir_subpixel_arrangement_none /**< Device does not have regular subpixels */
42+} MirSubpixelArrangement;
43+
44 /**
45 * Shell chrome
46 */
47
48=== modified file 'include/platform/mir/graphics/display_configuration.h'
49--- include/platform/mir/graphics/display_configuration.h 2016-04-26 03:20:39 +0000
50+++ include/platform/mir/graphics/display_configuration.h 2016-08-09 07:09:23 +0000
51@@ -117,6 +117,9 @@
52 /** Form factor of this output; phone display, tablet, monitor, TV, projector... */
53 MirFormFactor form_factor;
54
55+ /** Subpixel arrangement of this output */
56+ MirSubpixelArrangement subpixel_arrangement;
57+
58 /** The logical rectangle occupied by the output, based on its position,
59 current mode and orientation (rotation) */
60 geometry::Rectangle extents() const;
61@@ -145,6 +148,7 @@
62 MirOrientation& orientation;
63 float& scale;
64 MirFormFactor& form_factor;
65+ MirSubpixelArrangement& subpixel_arrangement;
66
67 UserDisplayConfigurationOutput(DisplayConfigurationOutput& master);
68 geometry::Rectangle extents() const;
69
70=== modified file 'include/test/mir/test/doubles/stub_display_configuration.h'
71--- include/test/mir/test/doubles/stub_display_configuration.h 2016-05-03 06:55:25 +0000
72+++ include/test/mir/test/doubles/stub_display_configuration.h 2016-08-09 07:09:23 +0000
73@@ -36,8 +36,28 @@
74 StubDisplayConfigurationOutput(
75 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected);
76
77- StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
78- geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected);
79+ StubDisplayConfigurationOutput(
80+ geometry::Size px_size,
81+ geometry::Size mm_size,
82+ MirPixelFormat format,
83+ double vrefresh,
84+ bool connected,
85+ MirSubpixelArrangement subpixel_arrangement);
86+
87+ StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
88+ geometry::Size px_size,
89+ geometry::Size mm_size,
90+ MirPixelFormat format,
91+ double vrefresh,
92+ bool connected);
93+
94+ StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
95+ geometry::Size px_size,
96+ geometry::Size mm_size,
97+ MirPixelFormat format,
98+ double vrefresh,
99+ bool connected,
100+ MirSubpixelArrangement subpixel_arrangement);
101
102 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
103 std::vector<graphics::DisplayConfigurationMode> modes, std::vector<MirPixelFormat> formats);
104
105=== modified file 'src/client/display_configuration_api.cpp'
106--- src/client/display_configuration_api.cpp 2016-05-03 06:55:25 +0000
107+++ src/client/display_configuration_api.cpp 2016-08-09 07:09:23 +0000
108@@ -306,6 +306,13 @@
109 return output->scale_factor();
110 }
111
112+MirSubpixelArrangement mir_output_get_subpixel_arrangement(MirOutput const* client_output)
113+{
114+ auto output = client_to_output(client_output);
115+
116+ return static_cast<MirSubpixelArrangement>(output->subpixel_arrangement());
117+}
118+
119 MirFormFactor mir_output_get_form_factor(MirOutput const* client_output)
120 {
121 auto output = client_to_output(client_output);
122
123=== modified file 'src/client/symbols.map'
124--- src/client/symbols.map 2016-07-18 10:11:34 +0000
125+++ src/client/symbols.map 2016-08-09 07:09:23 +0000
126@@ -419,5 +419,6 @@
127 MIR_CLIENT_0.25 { # New functions in Mir 0.25
128 global:
129 mir_connection_create_spec_for_tip;
130+ mir_output_get_subpixel_arrangement;
131 } MIR_CLIENT_0.24;
132
133
134=== modified file 'src/platform/graphics/display_configuration.cpp'
135--- src/platform/graphics/display_configuration.cpp 2016-02-01 22:53:06 +0000
136+++ src/platform/graphics/display_configuration.cpp 2016-08-09 07:09:23 +0000
137@@ -320,7 +320,8 @@
138 power_mode(master.power_mode),
139 orientation(master.orientation),
140 scale(master.scale),
141- form_factor(master.form_factor)
142+ form_factor(master.form_factor),
143+ subpixel_arrangement(master.subpixel_arrangement)
144 {
145 }
146
147
148=== modified file 'src/platforms/android/server/display_configuration.cpp'
149--- src/platforms/android/server/display_configuration.cpp 2016-04-26 03:20:39 +0000
150+++ src/platforms/android/server/display_configuration.cpp 2016-08-09 07:09:23 +0000
151@@ -45,6 +45,7 @@
152 auto const type = mg::DisplayConfigurationOutputType::virt;
153 auto const form_factor = mir_form_factor_monitor;
154 float const scale{1.0f};
155+ auto const subpixel_arrangement = mir_subpixel_arrangement_unknown;
156 std::vector<mg::DisplayConfigurationMode> external_modes;
157 external_modes.emplace_back(mg::DisplayConfigurationMode{{1920,1080}, vrefresh_hz});
158
159@@ -64,7 +65,8 @@
160 external_mode,
161 mir_orientation_normal,
162 scale,
163- form_factor
164+ form_factor,
165+ subpixel_arrangement
166 };
167 }
168 }
169
170=== modified file 'src/platforms/android/server/fb_device.cpp'
171--- src/platforms/android/server/fb_device.cpp 2016-05-03 06:55:25 +0000
172+++ src/platforms/android/server/fb_device.cpp 2016-08-09 07:09:23 +0000
173@@ -88,7 +88,8 @@
174 mir_power_mode_on,
175 mir_orientation_normal,
176 1.0f,
177- mir_form_factor_phone
178+ mir_form_factor_phone,
179+ mir_subpixel_arrangement_unknown
180 };
181 }
182
183
184=== modified file 'src/platforms/android/server/hwc_blanking_control.cpp'
185--- src/platforms/android/server/hwc_blanking_control.cpp 2016-06-22 22:45:56 +0000
186+++ src/platforms/android/server/hwc_blanking_control.cpp 2016-08-09 07:09:23 +0000
187@@ -166,7 +166,8 @@
188 external_mode,
189 mir_orientation_normal,
190 1.0f,
191- form_factor
192+ form_factor,
193+ mir_subpixel_arrangement_unknown
194 };
195 }
196
197
198=== modified file 'src/platforms/mesa/server/kms/real_kms_display_configuration.cpp'
199--- src/platforms/mesa/server/kms/real_kms_display_configuration.cpp 2016-05-26 02:12:27 +0000
200+++ src/platforms/mesa/server/kms/real_kms_display_configuration.cpp 2016-08-09 07:09:23 +0000
201@@ -220,7 +220,7 @@
202 physical_size, connected, false, geom::Point(),
203 current_mode_index, mir_pixel_format_xrgb_8888,
204 mir_power_mode_on, mir_orientation_normal,
205- 1.0f, mir_form_factor_monitor});
206+ 1.0f, mir_form_factor_monitor, mir_subpixel_arrangement_unknown});
207 }
208 else
209 {
210
211=== modified file 'src/platforms/mesa/server/x11/graphics/display_configuration.cpp'
212--- src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-07-01 18:40:38 +0000
213+++ src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-08-09 07:09:23 +0000
214@@ -42,7 +42,8 @@
215 mir_power_mode_on,
216 orientation,
217 1.0f,
218- mir_form_factor_monitor},
219+ mir_form_factor_monitor,
220+ mir_subpixel_arrangement_unknown},
221 card{mg::DisplayConfigurationCardId{0}, 1}
222 {
223 }
224
225=== modified file 'src/protobuf/mir_protobuf.proto'
226--- src/protobuf/mir_protobuf.proto 2016-06-21 21:31:05 +0000
227+++ src/protobuf/mir_protobuf.proto 2016-08-09 07:09:23 +0000
228@@ -216,6 +216,7 @@
229 optional sint32 orientation = 16;
230 optional float scale_factor = 17;
231 optional uint32 form_factor = 18;
232+ optional uint32 subpixel_arrangement = 19;
233 }
234
235 message Connection {
236
237=== modified file 'src/server/frontend/protobuf_buffer_packer.cpp'
238--- src/server/frontend/protobuf_buffer_packer.cpp 2016-05-03 06:55:25 +0000
239+++ src/server/frontend/protobuf_buffer_packer.cpp 2016-08-09 07:09:23 +0000
240@@ -69,6 +69,7 @@
241 protobuf_output.set_orientation(display_output.orientation);
242 protobuf_output.set_scale_factor(display_output.scale);
243 protobuf_output.set_form_factor(display_output.form_factor);
244+ protobuf_output.set_subpixel_arrangement(display_output.subpixel_arrangement);
245 }
246
247 }
248
249=== modified file 'src/server/graphics/nested/nested_display_configuration.cpp'
250--- src/server/graphics/nested/nested_display_configuration.cpp 2016-01-29 08:18:22 +0000
251+++ src/server/graphics/nested/nested_display_configuration.cpp 2016-08-09 07:09:23 +0000
252@@ -110,7 +110,8 @@
253 mir_output.power_mode,
254 mir_output.orientation,
255 local_config.scale,
256- local_config.form_factor
257+ local_config.form_factor,
258+ local_config.subpixel_arrangement
259 };
260
261 f(output);
262@@ -168,13 +169,14 @@
263 mir_output.power_mode,
264 mir_output.orientation,
265 local_config.scale,
266- local_config.form_factor
267+ local_config.form_factor,
268+ local_config.subpixel_arrangement
269 };
270 UserDisplayConfigurationOutput user(output);
271
272 f(user);
273
274- set_local_config_for(mir_output.output_id, {user.scale, user.form_factor });
275+ set_local_config_for(mir_output.output_id, {user.scale, user.form_factor , user.subpixel_arrangement});
276
277 mir_output.current_mode = output.current_mode_index;
278 mir_output.current_format = output.current_format;
279@@ -196,7 +198,7 @@
280 {
281 std::lock_guard<std::mutex> lock{local_config_mutex};
282
283- constexpr LocalOutputConfig default_values {1.0f, mir_form_factor_monitor };
284+ constexpr LocalOutputConfig default_values {1.0f, mir_form_factor_monitor, mir_subpixel_arrangement_unknown };
285
286 bool inserted;
287 decltype(local_config)::iterator keypair;
288
289=== modified file 'src/server/graphics/nested/nested_display_configuration.h'
290--- src/server/graphics/nested/nested_display_configuration.h 2016-01-29 08:18:22 +0000
291+++ src/server/graphics/nested/nested_display_configuration.h 2016-08-09 07:09:23 +0000
292@@ -59,6 +59,7 @@
293 {
294 float scale;
295 MirFormFactor form_factor;
296+ MirSubpixelArrangement subpixel_arrangement;
297 };
298 std::unordered_map<uint32_t, LocalOutputConfig> mutable local_config;
299
300
301=== modified file 'tests/acceptance-tests/test_new_display_configuration.cpp'
302--- tests/acceptance-tests/test_new_display_configuration.cpp 2016-05-03 06:55:25 +0000
303+++ tests/acceptance-tests/test_new_display_configuration.cpp 2016-08-09 07:09:23 +0000
304@@ -284,6 +284,7 @@
305 struct DisplayPowerSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPowerMode> {};
306 struct DisplayOrientationSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirOrientation> {};
307 struct DisplayFormatSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPixelFormat> {};
308+struct DisplaySubpixelSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirSubpixelArrangement> {};
309
310 TEST_P(DisplayPowerSetting, can_get_power_mode)
311 {
312@@ -392,12 +393,55 @@
313 client.disconnect();
314 }
315
316+TEST_P(DisplaySubpixelSetting, can_get_all_subpixel_arrangements)
317+{
318+ using namespace testing;
319+
320+ auto subpixel_arrangement = GetParam();
321+ mtd::StubDisplayConfigurationOutput output{
322+ {1920, 1200},
323+ {200, 100},
324+ mir_pixel_format_abgr_8888,
325+ 60.0,
326+ true,
327+ subpixel_arrangement};
328+ mtd::StubDisplayConfig single_subpixel_config({output});
329+
330+ mock_display.emit_configuration_change_event(mt::fake_shared(single_subpixel_config));
331+ mock_display.wait_for_configuration_change_handler();
332+
333+ DisplayClient client{new_connection()};
334+
335+ client.connect();
336+
337+ auto client_config = client.get_base_config();
338+
339+ for (int i = 0; i < mir_display_config_get_num_outputs(client_config.get()); ++i)
340+ {
341+ auto output = mir_display_config_get_output(client_config.get(), i);
342+
343+ EXPECT_THAT(mir_output_get_subpixel_arrangement(output), Eq(subpixel_arrangement));
344+ }
345+
346+ client.disconnect();
347+}
348+
349+
350 INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayPowerSetting,
351 Values(mir_power_mode_on, mir_power_mode_standby, mir_power_mode_suspend, mir_power_mode_off));
352
353 INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayFormatSetting,
354 ValuesIn(formats));
355
356+INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplaySubpixelSetting,
357+ Values(
358+ mir_subpixel_arrangement_unknown,
359+ mir_subpixel_arrangement_horizontal_rgb,
360+ mir_subpixel_arrangement_horizontal_bgr,
361+ mir_subpixel_arrangement_vertical_rgb,
362+ mir_subpixel_arrangement_vertical_bgr,
363+ mir_subpixel_arrangement_none));
364+
365 TEST_F(DisplayConfigurationTest, client_received_configuration_matches_server_config)
366 {
367 mg::DisplayConfigurationMode hd{{1280, 720}, 60.0};
368
369=== modified file 'tests/mir_test/display_config_matchers.cpp'
370--- tests/mir_test/display_config_matchers.cpp 2016-05-03 06:55:25 +0000
371+++ tests/mir_test/display_config_matchers.cpp 2016-08-09 07:09:23 +0000
372@@ -84,7 +84,8 @@
373 static_cast<MirPowerMode>(protobuf_output.power_mode()),
374 static_cast<MirOrientation>(protobuf_output.orientation()),
375 1.0f,
376- mir_form_factor_monitor
377+ mir_form_factor_monitor,
378+ mir_subpixel_arrangement_unknown
379 };
380
381 /* Modes */
382@@ -152,7 +153,8 @@
383 static_cast<MirPowerMode>(client_output.power_mode),
384 static_cast<MirOrientation>(client_output.orientation),
385 1.0f,
386- mir_form_factor_monitor
387+ mir_form_factor_monitor,
388+ mir_subpixel_arrangement_unknown
389 };
390
391 /* Modes */
392@@ -213,7 +215,8 @@
393 mir_output_get_power_mode(client_output),
394 mir_output_get_orientation(client_output),
395 1.0f,
396- mir_form_factor_monitor
397+ mir_form_factor_monitor,
398+ mir_subpixel_arrangement_unknown
399 };
400
401 /* Modes */
402
403=== modified file 'tests/mir_test_doubles/stub_display_configuration.cpp'
404--- tests/mir_test_doubles/stub_display_configuration.cpp 2016-05-03 06:55:25 +0000
405+++ tests/mir_test_doubles/stub_display_configuration.cpp 2016-08-09 07:09:23 +0000
406@@ -25,13 +25,54 @@
407
408 mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
409 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected) :
410- StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId{1}, px_size, mm_size, format, vrefresh, connected)
411-{
412-}
413-
414-mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
415- graphics::DisplayConfigurationOutputId id,
416- geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected) :
417+ StubDisplayConfigurationOutput(px_size, mm_size, format, vrefresh, connected, mir_subpixel_arrangement_unknown)
418+{
419+}
420+
421+mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
422+ geometry::Size px_size,
423+ geometry::Size mm_size,
424+ MirPixelFormat format,
425+ double vrefresh,
426+ bool connected,
427+ MirSubpixelArrangement subpixel_arrangement) :
428+ StubDisplayConfigurationOutput(
429+ graphics::DisplayConfigurationOutputId{1},
430+ px_size,
431+ mm_size,
432+ format,
433+ vrefresh,
434+ connected,
435+ subpixel_arrangement)
436+{
437+}
438+
439+mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
440+ graphics::DisplayConfigurationOutputId id,
441+ geometry::Size px_size,
442+ geometry::Size mm_size,
443+ MirPixelFormat format,
444+ double vrefresh,
445+ bool connected) :
446+ StubDisplayConfigurationOutput(
447+ id,
448+ px_size,
449+ mm_size,
450+ format,
451+ vrefresh,
452+ connected,
453+ mir_subpixel_arrangement_unknown)
454+{
455+}
456+
457+mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
458+ graphics::DisplayConfigurationOutputId id,
459+ geometry::Size px_size,
460+ geometry::Size mm_size,
461+ MirPixelFormat format,
462+ double vrefresh,
463+ bool connected,
464+ MirSubpixelArrangement subpixel_arrangement) :
465 DisplayConfigurationOutput{
466 id,
467 graphics::DisplayConfigurationCardId{0},
468@@ -48,7 +89,8 @@
469 mir_power_mode_on,
470 mir_orientation_normal,
471 1.0f,
472- mir_form_factor_monitor
473+ mir_form_factor_monitor,
474+ subpixel_arrangement
475 }
476 {
477 }
478@@ -73,7 +115,8 @@
479 mir_power_mode_on,
480 mir_orientation_normal,
481 1.0f,
482- mir_form_factor_monitor
483+ mir_form_factor_monitor,
484+ mir_subpixel_arrangement_unknown
485 }
486 {
487 if (modes.empty())
488@@ -174,7 +217,8 @@
489 used(i) ? mir_power_mode_on : mir_power_mode_off,
490 mir_orientation_normal,
491 1.0f,
492- mir_form_factor_monitor
493+ mir_form_factor_monitor,
494+ mir_subpixel_arrangement_unknown
495 };
496
497 outputs.push_back(output);
498@@ -203,7 +247,8 @@
499 mir_pixel_format_abgr_8888, mir_power_mode_on,
500 mir_orientation_normal,
501 1.0f,
502- mir_form_factor_monitor
503+ mir_form_factor_monitor,
504+ mir_subpixel_arrangement_unknown
505 };
506
507 outputs.push_back(output);
508
509=== modified file 'tests/unit-tests/graphics/mesa/kms/test_cursor.cpp'
510--- tests/unit-tests/graphics/mesa/kms/test_cursor.cpp 2016-01-29 08:18:22 +0000
511+++ tests/unit-tests/graphics/mesa/kms/test_cursor.cpp 2016-08-09 07:09:23 +0000
512@@ -106,7 +106,8 @@
513 mir_power_mode_on,
514 mir_orientation_normal,
515 1.0f,
516- mir_form_factor_monitor
517+ mir_form_factor_monitor,
518+ mir_subpixel_arrangement_unknown
519 },
520 {
521 mg::DisplayConfigurationOutputId{11},
522@@ -127,7 +128,8 @@
523 mir_power_mode_on,
524 mir_orientation_normal,
525 1.0f,
526- mir_form_factor_monitor
527+ mir_form_factor_monitor,
528+ mir_subpixel_arrangement_unknown
529 },
530 {
531 mg::DisplayConfigurationOutputId{12},
532@@ -148,7 +150,8 @@
533 mir_power_mode_on,
534 mir_orientation_right,
535 1.0f,
536- mir_form_factor_monitor
537+ mir_form_factor_monitor,
538+ mir_subpixel_arrangement_unknown
539 }}}
540 {
541 }
542
543=== modified file 'tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp'
544--- tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp 2016-06-02 05:33:50 +0000
545+++ tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp 2016-08-09 07:09:23 +0000
546@@ -234,7 +234,8 @@
547 mir_power_mode_on,
548 mir_orientation_normal,
549 1.0f,
550- mir_form_factor_monitor
551+ mir_form_factor_monitor,
552+ mir_subpixel_arrangement_unknown
553 },
554 {
555 mg::DisplayConfigurationOutputId{connector1_id},
556@@ -252,7 +253,8 @@
557 mir_power_mode_on,
558 mir_orientation_normal,
559 1.0f,
560- mir_form_factor_monitor
561+ mir_form_factor_monitor,
562+ mir_subpixel_arrangement_unknown
563 },
564 {
565 mg::DisplayConfigurationOutputId{connector2_id},
566@@ -270,7 +272,8 @@
567 mir_power_mode_on,
568 mir_orientation_normal,
569 1.0f,
570- mir_form_factor_monitor
571+ mir_form_factor_monitor,
572+ mir_subpixel_arrangement_unknown
573 }
574 };
575
576@@ -428,7 +431,8 @@
577 mir_power_mode_on,
578 mir_orientation_normal,
579 1.0f,
580- mir_form_factor_monitor
581+ mir_form_factor_monitor,
582+ mir_subpixel_arrangement_unknown
583 },
584 {
585 mg::DisplayConfigurationOutputId(connector_ids[1]),
586@@ -446,7 +450,8 @@
587 mir_power_mode_on,
588 mir_orientation_normal,
589 1.0f,
590- mir_form_factor_monitor
591+ mir_form_factor_monitor,
592+ mir_subpixel_arrangement_unknown
593 },
594 };
595
596@@ -468,7 +473,8 @@
597 mir_power_mode_on,
598 mir_orientation_normal,
599 1.0f,
600- mir_form_factor_monitor
601+ mir_form_factor_monitor,
602+ mir_subpixel_arrangement_unknown
603 },
604 {
605 mg::DisplayConfigurationOutputId(connector_ids[1]),
606@@ -486,7 +492,8 @@
607 mir_power_mode_on,
608 mir_orientation_normal,
609 1.0f,
610- mir_form_factor_monitor
611+ mir_form_factor_monitor,
612+ mir_subpixel_arrangement_unknown
613 },
614 };
615
616@@ -617,7 +624,8 @@
617 mir_power_mode_on,
618 mir_orientation_normal,
619 1.0f,
620- mir_form_factor_monitor
621+ mir_form_factor_monitor,
622+ mir_subpixel_arrangement_unknown
623 },
624 };
625
626@@ -640,7 +648,8 @@
627 mir_power_mode_on,
628 mir_orientation_normal,
629 1.0f,
630- mir_form_factor_monitor
631+ mir_form_factor_monitor,
632+ mir_subpixel_arrangement_unknown
633 },
634 };
635
636
637=== modified file 'tests/unit-tests/graphics/test_default_display_configuration_policy.cpp'
638--- tests/unit-tests/graphics/test_default_display_configuration_policy.cpp 2016-01-29 08:18:22 +0000
639+++ tests/unit-tests/graphics/test_default_display_configuration_policy.cpp 2016-08-09 07:09:23 +0000
640@@ -64,7 +64,8 @@
641 mir_power_mode_on,
642 mir_orientation_normal,
643 1.0f,
644- mir_form_factor_monitor
645+ mir_form_factor_monitor,
646+ mir_subpixel_arrangement_unknown
647 };
648 }
649
650
651=== modified file 'tests/unit-tests/graphics/test_display_configuration.cpp'
652--- tests/unit-tests/graphics/test_display_configuration.cpp 2016-02-01 22:53:06 +0000
653+++ tests/unit-tests/graphics/test_display_configuration.cpp 2016-08-09 07:09:23 +0000
654@@ -49,7 +49,8 @@
655 mir_power_mode_on,
656 mir_orientation_normal,
657 1.0f,
658- mir_form_factor_monitor
659+ mir_form_factor_monitor,
660+ mir_subpixel_arrangement_unknown
661 };
662
663 }
664
665=== modified file 'tests/unit-tests/graphics/test_overlapping_output_grouping.cpp'
666--- tests/unit-tests/graphics/test_overlapping_output_grouping.cpp 2016-01-29 08:18:22 +0000
667+++ tests/unit-tests/graphics/test_overlapping_output_grouping.cpp 2016-08-09 07:09:23 +0000
668@@ -96,7 +96,8 @@
669 info.power_mode,
670 info.orientation,
671 1.0f,
672- mir_form_factor_monitor
673+ mir_form_factor_monitor,
674+ mir_subpixel_arrangement_unknown
675 };
676
677 f(output);
678
679=== modified file 'tests/unit-tests/scene/test_mediating_display_changer.cpp'
680--- tests/unit-tests/scene/test_mediating_display_changer.cpp 2016-06-02 05:33:50 +0000
681+++ tests/unit-tests/scene/test_mediating_display_changer.cpp 2016-08-09 07:09:23 +0000
682@@ -71,7 +71,8 @@
683 mode,
684 mir_orientation_normal,
685 1.0f,
686- mir_form_factor_phone
687+ mir_form_factor_phone,
688+ mir_subpixel_arrangement_unknown
689 };
690 }
691

Subscribers

People subscribed via source and target branches