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: no longer in the source branch.
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
=== modified file 'include/client/mir_toolkit/mir_display_configuration.h'
--- include/client/mir_toolkit/mir_display_configuration.h 2016-05-03 06:55:25 +0000
+++ include/client/mir_toolkit/mir_display_configuration.h 2016-08-09 07:09:23 +0000
@@ -413,6 +413,15 @@
413float mir_output_get_scale_factor(MirOutput const* output);413float mir_output_get_scale_factor(MirOutput const* output);
414414
415/**415/**
416 * Get the subpixel arrangement of a display
417 *
418 * \param [in] output The MirOutput to query
419 * \returns The MirSubpixelArrangement corresponding to the physical arrangement of subpixels
420 * on this display, or mir_subpixel_arrangement_unknown if this cannot be determined.
421 */
422MirSubpixelArrangement mir_output_get_subpixel_arrangement(MirOutput const* output);
423
424/**
416 * Get the form-factor of a connected output.425 * Get the form-factor of a connected output.
417 *426 *
418 * This call succeeds even if the output is not connected, but may return nonsense values.427 * This call succeeds even if the output is not connected, but may return nonsense values.
419428
=== modified file 'include/common/mir_toolkit/common.h'
--- include/common/mir_toolkit/common.h 2016-06-08 21:16:46 +0000
+++ include/common/mir_toolkit/common.h 2016-08-09 07:09:23 +0000
@@ -212,6 +212,22 @@
212 mir_form_factor_projector,212 mir_form_factor_projector,
213} MirFormFactor;213} MirFormFactor;
214214
215
216/**
217 * Physical arrangement of subpixels on the physical output
218 *
219 * This is always relative to the “natural” orientation of the display - mir_orientation_normal.
220 */
221typedef enum MirSubpixelArrangement
222{
223 mir_subpixel_arrangement_unknown, /**< Arrangement of subpixels cannot be determined */
224 mir_subpixel_arrangement_horizontal_rgb, /**< Subpixels are arranged horizontally, R, G, B from left to right */
225 mir_subpixel_arrangement_horizontal_bgr, /**< Subpixels are arranged horizontally, B, G, R from left to right */
226 mir_subpixel_arrangement_vertical_rgb, /**< Subpixels are arranged vertically, R, G, B from top to bottom */
227 mir_subpixel_arrangement_vertical_bgr, /**< Subpixels are arranged vertically, B, G, R from top to bottom */
228 mir_subpixel_arrangement_none /**< Device does not have regular subpixels */
229} MirSubpixelArrangement;
230
215/**231/**
216 * Shell chrome232 * Shell chrome
217 */233 */
218234
=== modified file 'include/platform/mir/graphics/display_configuration.h'
--- include/platform/mir/graphics/display_configuration.h 2016-04-26 03:20:39 +0000
+++ include/platform/mir/graphics/display_configuration.h 2016-08-09 07:09:23 +0000
@@ -117,6 +117,9 @@
117 /** Form factor of this output; phone display, tablet, monitor, TV, projector... */117 /** Form factor of this output; phone display, tablet, monitor, TV, projector... */
118 MirFormFactor form_factor;118 MirFormFactor form_factor;
119119
120 /** Subpixel arrangement of this output */
121 MirSubpixelArrangement subpixel_arrangement;
122
120 /** The logical rectangle occupied by the output, based on its position,123 /** The logical rectangle occupied by the output, based on its position,
121 current mode and orientation (rotation) */124 current mode and orientation (rotation) */
122 geometry::Rectangle extents() const;125 geometry::Rectangle extents() const;
@@ -145,6 +148,7 @@
145 MirOrientation& orientation;148 MirOrientation& orientation;
146 float& scale;149 float& scale;
147 MirFormFactor& form_factor;150 MirFormFactor& form_factor;
151 MirSubpixelArrangement& subpixel_arrangement;
148152
149 UserDisplayConfigurationOutput(DisplayConfigurationOutput& master);153 UserDisplayConfigurationOutput(DisplayConfigurationOutput& master);
150 geometry::Rectangle extents() const;154 geometry::Rectangle extents() const;
151155
=== modified file 'include/test/mir/test/doubles/stub_display_configuration.h'
--- include/test/mir/test/doubles/stub_display_configuration.h 2016-05-03 06:55:25 +0000
+++ include/test/mir/test/doubles/stub_display_configuration.h 2016-08-09 07:09:23 +0000
@@ -36,8 +36,28 @@
36 StubDisplayConfigurationOutput(36 StubDisplayConfigurationOutput(
37 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected);37 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected);
3838
39 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,39 StubDisplayConfigurationOutput(
40 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected);40 geometry::Size px_size,
41 geometry::Size mm_size,
42 MirPixelFormat format,
43 double vrefresh,
44 bool connected,
45 MirSubpixelArrangement subpixel_arrangement);
46
47 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
48 geometry::Size px_size,
49 geometry::Size mm_size,
50 MirPixelFormat format,
51 double vrefresh,
52 bool connected);
53
54 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
55 geometry::Size px_size,
56 geometry::Size mm_size,
57 MirPixelFormat format,
58 double vrefresh,
59 bool connected,
60 MirSubpixelArrangement subpixel_arrangement);
4161
42 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,62 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId id,
43 std::vector<graphics::DisplayConfigurationMode> modes, std::vector<MirPixelFormat> formats);63 std::vector<graphics::DisplayConfigurationMode> modes, std::vector<MirPixelFormat> formats);
4464
=== modified file 'src/client/display_configuration_api.cpp'
--- src/client/display_configuration_api.cpp 2016-05-03 06:55:25 +0000
+++ src/client/display_configuration_api.cpp 2016-08-09 07:09:23 +0000
@@ -306,6 +306,13 @@
306 return output->scale_factor();306 return output->scale_factor();
307}307}
308308
309MirSubpixelArrangement mir_output_get_subpixel_arrangement(MirOutput const* client_output)
310{
311 auto output = client_to_output(client_output);
312
313 return static_cast<MirSubpixelArrangement>(output->subpixel_arrangement());
314}
315
309MirFormFactor mir_output_get_form_factor(MirOutput const* client_output)316MirFormFactor mir_output_get_form_factor(MirOutput const* client_output)
310{317{
311 auto output = client_to_output(client_output);318 auto output = client_to_output(client_output);
312319
=== modified file 'src/client/symbols.map'
--- src/client/symbols.map 2016-07-18 10:11:34 +0000
+++ src/client/symbols.map 2016-08-09 07:09:23 +0000
@@ -419,5 +419,6 @@
419MIR_CLIENT_0.25 { # New functions in Mir 0.25419MIR_CLIENT_0.25 { # New functions in Mir 0.25
420 global:420 global:
421 mir_connection_create_spec_for_tip;421 mir_connection_create_spec_for_tip;
422 mir_output_get_subpixel_arrangement;
422} MIR_CLIENT_0.24;423} MIR_CLIENT_0.24;
423424
424425
=== modified file 'src/platform/graphics/display_configuration.cpp'
--- src/platform/graphics/display_configuration.cpp 2016-02-01 22:53:06 +0000
+++ src/platform/graphics/display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -320,7 +320,8 @@
320 power_mode(master.power_mode),320 power_mode(master.power_mode),
321 orientation(master.orientation),321 orientation(master.orientation),
322 scale(master.scale),322 scale(master.scale),
323 form_factor(master.form_factor)323 form_factor(master.form_factor),
324 subpixel_arrangement(master.subpixel_arrangement)
324{325{
325}326}
326327
327328
=== modified file 'src/platforms/android/server/display_configuration.cpp'
--- src/platforms/android/server/display_configuration.cpp 2016-04-26 03:20:39 +0000
+++ src/platforms/android/server/display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -45,6 +45,7 @@
45 auto const type = mg::DisplayConfigurationOutputType::virt;45 auto const type = mg::DisplayConfigurationOutputType::virt;
46 auto const form_factor = mir_form_factor_monitor;46 auto const form_factor = mir_form_factor_monitor;
47 float const scale{1.0f};47 float const scale{1.0f};
48 auto const subpixel_arrangement = mir_subpixel_arrangement_unknown;
48 std::vector<mg::DisplayConfigurationMode> external_modes;49 std::vector<mg::DisplayConfigurationMode> external_modes;
49 external_modes.emplace_back(mg::DisplayConfigurationMode{{1920,1080}, vrefresh_hz});50 external_modes.emplace_back(mg::DisplayConfigurationMode{{1920,1080}, vrefresh_hz});
5051
@@ -64,7 +65,8 @@
64 external_mode,65 external_mode,
65 mir_orientation_normal,66 mir_orientation_normal,
66 scale,67 scale,
67 form_factor68 form_factor,
69 subpixel_arrangement
68 };70 };
69}71}
70}72}
7173
=== modified file 'src/platforms/android/server/fb_device.cpp'
--- src/platforms/android/server/fb_device.cpp 2016-05-03 06:55:25 +0000
+++ src/platforms/android/server/fb_device.cpp 2016-08-09 07:09:23 +0000
@@ -88,7 +88,8 @@
88 mir_power_mode_on,88 mir_power_mode_on,
89 mir_orientation_normal,89 mir_orientation_normal,
90 1.0f,90 1.0f,
91 mir_form_factor_phone91 mir_form_factor_phone,
92 mir_subpixel_arrangement_unknown
92 };93 };
93}94}
9495
9596
=== modified file 'src/platforms/android/server/hwc_blanking_control.cpp'
--- src/platforms/android/server/hwc_blanking_control.cpp 2016-06-22 22:45:56 +0000
+++ src/platforms/android/server/hwc_blanking_control.cpp 2016-08-09 07:09:23 +0000
@@ -166,7 +166,8 @@
166 external_mode,166 external_mode,
167 mir_orientation_normal,167 mir_orientation_normal,
168 1.0f,168 1.0f,
169 form_factor169 form_factor,
170 mir_subpixel_arrangement_unknown
170 };171 };
171}172}
172173
173174
=== modified file 'src/platforms/mesa/server/kms/real_kms_display_configuration.cpp'
--- src/platforms/mesa/server/kms/real_kms_display_configuration.cpp 2016-05-26 02:12:27 +0000
+++ src/platforms/mesa/server/kms/real_kms_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -220,7 +220,7 @@
220 physical_size, connected, false, geom::Point(),220 physical_size, connected, false, geom::Point(),
221 current_mode_index, mir_pixel_format_xrgb_8888,221 current_mode_index, mir_pixel_format_xrgb_8888,
222 mir_power_mode_on, mir_orientation_normal,222 mir_power_mode_on, mir_orientation_normal,
223 1.0f, mir_form_factor_monitor});223 1.0f, mir_form_factor_monitor, mir_subpixel_arrangement_unknown});
224 }224 }
225 else225 else
226 {226 {
227227
=== modified file 'src/platforms/mesa/server/x11/graphics/display_configuration.cpp'
--- src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-07-01 18:40:38 +0000
+++ src/platforms/mesa/server/x11/graphics/display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -42,7 +42,8 @@
42 mir_power_mode_on,42 mir_power_mode_on,
43 orientation,43 orientation,
44 1.0f,44 1.0f,
45 mir_form_factor_monitor},45 mir_form_factor_monitor,
46 mir_subpixel_arrangement_unknown},
46 card{mg::DisplayConfigurationCardId{0}, 1}47 card{mg::DisplayConfigurationCardId{0}, 1}
47{48{
48}49}
4950
=== modified file 'src/protobuf/mir_protobuf.proto'
--- src/protobuf/mir_protobuf.proto 2016-06-21 21:31:05 +0000
+++ src/protobuf/mir_protobuf.proto 2016-08-09 07:09:23 +0000
@@ -216,6 +216,7 @@
216 optional sint32 orientation = 16;216 optional sint32 orientation = 16;
217 optional float scale_factor = 17;217 optional float scale_factor = 17;
218 optional uint32 form_factor = 18;218 optional uint32 form_factor = 18;
219 optional uint32 subpixel_arrangement = 19;
219}220}
220221
221message Connection {222message Connection {
222223
=== modified file 'src/server/frontend/protobuf_buffer_packer.cpp'
--- src/server/frontend/protobuf_buffer_packer.cpp 2016-05-03 06:55:25 +0000
+++ src/server/frontend/protobuf_buffer_packer.cpp 2016-08-09 07:09:23 +0000
@@ -69,6 +69,7 @@
69 protobuf_output.set_orientation(display_output.orientation);69 protobuf_output.set_orientation(display_output.orientation);
70 protobuf_output.set_scale_factor(display_output.scale);70 protobuf_output.set_scale_factor(display_output.scale);
71 protobuf_output.set_form_factor(display_output.form_factor);71 protobuf_output.set_form_factor(display_output.form_factor);
72 protobuf_output.set_subpixel_arrangement(display_output.subpixel_arrangement);
72}73}
7374
74}75}
7576
=== modified file 'src/server/graphics/nested/nested_display_configuration.cpp'
--- src/server/graphics/nested/nested_display_configuration.cpp 2016-01-29 08:18:22 +0000
+++ src/server/graphics/nested/nested_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -110,7 +110,8 @@
110 mir_output.power_mode,110 mir_output.power_mode,
111 mir_output.orientation,111 mir_output.orientation,
112 local_config.scale,112 local_config.scale,
113 local_config.form_factor113 local_config.form_factor,
114 local_config.subpixel_arrangement
114 };115 };
115116
116 f(output);117 f(output);
@@ -168,13 +169,14 @@
168 mir_output.power_mode,169 mir_output.power_mode,
169 mir_output.orientation,170 mir_output.orientation,
170 local_config.scale,171 local_config.scale,
171 local_config.form_factor172 local_config.form_factor,
173 local_config.subpixel_arrangement
172 };174 };
173 UserDisplayConfigurationOutput user(output);175 UserDisplayConfigurationOutput user(output);
174176
175 f(user);177 f(user);
176178
177 set_local_config_for(mir_output.output_id, {user.scale, user.form_factor });179 set_local_config_for(mir_output.output_id, {user.scale, user.form_factor , user.subpixel_arrangement});
178180
179 mir_output.current_mode = output.current_mode_index;181 mir_output.current_mode = output.current_mode_index;
180 mir_output.current_format = output.current_format;182 mir_output.current_format = output.current_format;
@@ -196,7 +198,7 @@
196{198{
197 std::lock_guard<std::mutex> lock{local_config_mutex};199 std::lock_guard<std::mutex> lock{local_config_mutex};
198200
199 constexpr LocalOutputConfig default_values {1.0f, mir_form_factor_monitor };201 constexpr LocalOutputConfig default_values {1.0f, mir_form_factor_monitor, mir_subpixel_arrangement_unknown };
200202
201 bool inserted;203 bool inserted;
202 decltype(local_config)::iterator keypair;204 decltype(local_config)::iterator keypair;
203205
=== modified file 'src/server/graphics/nested/nested_display_configuration.h'
--- src/server/graphics/nested/nested_display_configuration.h 2016-01-29 08:18:22 +0000
+++ src/server/graphics/nested/nested_display_configuration.h 2016-08-09 07:09:23 +0000
@@ -59,6 +59,7 @@
59 {59 {
60 float scale;60 float scale;
61 MirFormFactor form_factor;61 MirFormFactor form_factor;
62 MirSubpixelArrangement subpixel_arrangement;
62 };63 };
63 std::unordered_map<uint32_t, LocalOutputConfig> mutable local_config;64 std::unordered_map<uint32_t, LocalOutputConfig> mutable local_config;
6465
6566
=== modified file 'tests/acceptance-tests/test_new_display_configuration.cpp'
--- tests/acceptance-tests/test_new_display_configuration.cpp 2016-05-03 06:55:25 +0000
+++ tests/acceptance-tests/test_new_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -284,6 +284,7 @@
284struct DisplayPowerSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPowerMode> {};284struct DisplayPowerSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPowerMode> {};
285struct DisplayOrientationSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirOrientation> {};285struct DisplayOrientationSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirOrientation> {};
286struct DisplayFormatSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPixelFormat> {};286struct DisplayFormatSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirPixelFormat> {};
287struct DisplaySubpixelSetting : public DisplayConfigurationTest, public ::testing::WithParamInterface<MirSubpixelArrangement> {};
287288
288TEST_P(DisplayPowerSetting, can_get_power_mode)289TEST_P(DisplayPowerSetting, can_get_power_mode)
289{290{
@@ -392,12 +393,55 @@
392 client.disconnect();393 client.disconnect();
393}394}
394395
396TEST_P(DisplaySubpixelSetting, can_get_all_subpixel_arrangements)
397{
398 using namespace testing;
399
400 auto subpixel_arrangement = GetParam();
401 mtd::StubDisplayConfigurationOutput output{
402 {1920, 1200},
403 {200, 100},
404 mir_pixel_format_abgr_8888,
405 60.0,
406 true,
407 subpixel_arrangement};
408 mtd::StubDisplayConfig single_subpixel_config({output});
409
410 mock_display.emit_configuration_change_event(mt::fake_shared(single_subpixel_config));
411 mock_display.wait_for_configuration_change_handler();
412
413 DisplayClient client{new_connection()};
414
415 client.connect();
416
417 auto client_config = client.get_base_config();
418
419 for (int i = 0; i < mir_display_config_get_num_outputs(client_config.get()); ++i)
420 {
421 auto output = mir_display_config_get_output(client_config.get(), i);
422
423 EXPECT_THAT(mir_output_get_subpixel_arrangement(output), Eq(subpixel_arrangement));
424 }
425
426 client.disconnect();
427}
428
429
395INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayPowerSetting,430INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayPowerSetting,
396 Values(mir_power_mode_on, mir_power_mode_standby, mir_power_mode_suspend, mir_power_mode_off));431 Values(mir_power_mode_on, mir_power_mode_standby, mir_power_mode_suspend, mir_power_mode_off));
397432
398INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayFormatSetting,433INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplayFormatSetting,
399 ValuesIn(formats));434 ValuesIn(formats));
400435
436INSTANTIATE_TEST_CASE_P(DisplayConfiguration, DisplaySubpixelSetting,
437 Values(
438 mir_subpixel_arrangement_unknown,
439 mir_subpixel_arrangement_horizontal_rgb,
440 mir_subpixel_arrangement_horizontal_bgr,
441 mir_subpixel_arrangement_vertical_rgb,
442 mir_subpixel_arrangement_vertical_bgr,
443 mir_subpixel_arrangement_none));
444
401TEST_F(DisplayConfigurationTest, client_received_configuration_matches_server_config)445TEST_F(DisplayConfigurationTest, client_received_configuration_matches_server_config)
402{446{
403 mg::DisplayConfigurationMode hd{{1280, 720}, 60.0};447 mg::DisplayConfigurationMode hd{{1280, 720}, 60.0};
404448
=== modified file 'tests/mir_test/display_config_matchers.cpp'
--- tests/mir_test/display_config_matchers.cpp 2016-05-03 06:55:25 +0000
+++ tests/mir_test/display_config_matchers.cpp 2016-08-09 07:09:23 +0000
@@ -84,7 +84,8 @@
84 static_cast<MirPowerMode>(protobuf_output.power_mode()),84 static_cast<MirPowerMode>(protobuf_output.power_mode()),
85 static_cast<MirOrientation>(protobuf_output.orientation()),85 static_cast<MirOrientation>(protobuf_output.orientation()),
86 1.0f,86 1.0f,
87 mir_form_factor_monitor87 mir_form_factor_monitor,
88 mir_subpixel_arrangement_unknown
88 };89 };
8990
90 /* Modes */91 /* Modes */
@@ -152,7 +153,8 @@
152 static_cast<MirPowerMode>(client_output.power_mode),153 static_cast<MirPowerMode>(client_output.power_mode),
153 static_cast<MirOrientation>(client_output.orientation),154 static_cast<MirOrientation>(client_output.orientation),
154 1.0f,155 1.0f,
155 mir_form_factor_monitor156 mir_form_factor_monitor,
157 mir_subpixel_arrangement_unknown
156 };158 };
157159
158 /* Modes */160 /* Modes */
@@ -213,7 +215,8 @@
213 mir_output_get_power_mode(client_output),215 mir_output_get_power_mode(client_output),
214 mir_output_get_orientation(client_output),216 mir_output_get_orientation(client_output),
215 1.0f,217 1.0f,
216 mir_form_factor_monitor218 mir_form_factor_monitor,
219 mir_subpixel_arrangement_unknown
217 };220 };
218221
219 /* Modes */222 /* Modes */
220223
=== modified file 'tests/mir_test_doubles/stub_display_configuration.cpp'
--- tests/mir_test_doubles/stub_display_configuration.cpp 2016-05-03 06:55:25 +0000
+++ tests/mir_test_doubles/stub_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -25,13 +25,54 @@
2525
26mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(26mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
27 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected) :27 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected) :
28 StubDisplayConfigurationOutput(graphics::DisplayConfigurationOutputId{1}, px_size, mm_size, format, vrefresh, connected)28 StubDisplayConfigurationOutput(px_size, mm_size, format, vrefresh, connected, mir_subpixel_arrangement_unknown)
29{29{
30}30}
3131
32mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(32mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
33 graphics::DisplayConfigurationOutputId id,33 geometry::Size px_size,
34 geometry::Size px_size, geometry::Size mm_size, MirPixelFormat format, double vrefresh, bool connected) :34 geometry::Size mm_size,
35 MirPixelFormat format,
36 double vrefresh,
37 bool connected,
38 MirSubpixelArrangement subpixel_arrangement) :
39 StubDisplayConfigurationOutput(
40 graphics::DisplayConfigurationOutputId{1},
41 px_size,
42 mm_size,
43 format,
44 vrefresh,
45 connected,
46 subpixel_arrangement)
47{
48}
49
50mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
51 graphics::DisplayConfigurationOutputId id,
52 geometry::Size px_size,
53 geometry::Size mm_size,
54 MirPixelFormat format,
55 double vrefresh,
56 bool connected) :
57 StubDisplayConfigurationOutput(
58 id,
59 px_size,
60 mm_size,
61 format,
62 vrefresh,
63 connected,
64 mir_subpixel_arrangement_unknown)
65{
66}
67
68mtd::StubDisplayConfigurationOutput::StubDisplayConfigurationOutput(
69 graphics::DisplayConfigurationOutputId id,
70 geometry::Size px_size,
71 geometry::Size mm_size,
72 MirPixelFormat format,
73 double vrefresh,
74 bool connected,
75 MirSubpixelArrangement subpixel_arrangement) :
35 DisplayConfigurationOutput{76 DisplayConfigurationOutput{
36 id,77 id,
37 graphics::DisplayConfigurationCardId{0},78 graphics::DisplayConfigurationCardId{0},
@@ -48,7 +89,8 @@
48 mir_power_mode_on,89 mir_power_mode_on,
49 mir_orientation_normal,90 mir_orientation_normal,
50 1.0f,91 1.0f,
51 mir_form_factor_monitor92 mir_form_factor_monitor,
93 subpixel_arrangement
52 }94 }
53{95{
54}96}
@@ -73,7 +115,8 @@
73 mir_power_mode_on,115 mir_power_mode_on,
74 mir_orientation_normal,116 mir_orientation_normal,
75 1.0f,117 1.0f,
76 mir_form_factor_monitor118 mir_form_factor_monitor,
119 mir_subpixel_arrangement_unknown
77 }120 }
78{121{
79 if (modes.empty())122 if (modes.empty())
@@ -174,7 +217,8 @@
174 used(i) ? mir_power_mode_on : mir_power_mode_off,217 used(i) ? mir_power_mode_on : mir_power_mode_off,
175 mir_orientation_normal,218 mir_orientation_normal,
176 1.0f,219 1.0f,
177 mir_form_factor_monitor220 mir_form_factor_monitor,
221 mir_subpixel_arrangement_unknown
178 };222 };
179223
180 outputs.push_back(output);224 outputs.push_back(output);
@@ -203,7 +247,8 @@
203 mir_pixel_format_abgr_8888, mir_power_mode_on,247 mir_pixel_format_abgr_8888, mir_power_mode_on,
204 mir_orientation_normal,248 mir_orientation_normal,
205 1.0f,249 1.0f,
206 mir_form_factor_monitor250 mir_form_factor_monitor,
251 mir_subpixel_arrangement_unknown
207 };252 };
208253
209 outputs.push_back(output);254 outputs.push_back(output);
210255
=== modified file 'tests/unit-tests/graphics/mesa/kms/test_cursor.cpp'
--- tests/unit-tests/graphics/mesa/kms/test_cursor.cpp 2016-01-29 08:18:22 +0000
+++ tests/unit-tests/graphics/mesa/kms/test_cursor.cpp 2016-08-09 07:09:23 +0000
@@ -106,7 +106,8 @@
106 mir_power_mode_on,106 mir_power_mode_on,
107 mir_orientation_normal,107 mir_orientation_normal,
108 1.0f,108 1.0f,
109 mir_form_factor_monitor109 mir_form_factor_monitor,
110 mir_subpixel_arrangement_unknown
110 },111 },
111 {112 {
112 mg::DisplayConfigurationOutputId{11},113 mg::DisplayConfigurationOutputId{11},
@@ -127,7 +128,8 @@
127 mir_power_mode_on,128 mir_power_mode_on,
128 mir_orientation_normal,129 mir_orientation_normal,
129 1.0f,130 1.0f,
130 mir_form_factor_monitor131 mir_form_factor_monitor,
132 mir_subpixel_arrangement_unknown
131 },133 },
132 {134 {
133 mg::DisplayConfigurationOutputId{12},135 mg::DisplayConfigurationOutputId{12},
@@ -148,7 +150,8 @@
148 mir_power_mode_on,150 mir_power_mode_on,
149 mir_orientation_right,151 mir_orientation_right,
150 1.0f,152 1.0f,
151 mir_form_factor_monitor153 mir_form_factor_monitor,
154 mir_subpixel_arrangement_unknown
152 }}}155 }}}
153 {156 {
154 }157 }
155158
=== modified file 'tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp'
--- tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp 2016-06-02 05:33:50 +0000
+++ tests/unit-tests/graphics/mesa/kms/test_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -234,7 +234,8 @@
234 mir_power_mode_on,234 mir_power_mode_on,
235 mir_orientation_normal,235 mir_orientation_normal,
236 1.0f,236 1.0f,
237 mir_form_factor_monitor237 mir_form_factor_monitor,
238 mir_subpixel_arrangement_unknown
238 },239 },
239 {240 {
240 mg::DisplayConfigurationOutputId{connector1_id},241 mg::DisplayConfigurationOutputId{connector1_id},
@@ -252,7 +253,8 @@
252 mir_power_mode_on,253 mir_power_mode_on,
253 mir_orientation_normal,254 mir_orientation_normal,
254 1.0f,255 1.0f,
255 mir_form_factor_monitor256 mir_form_factor_monitor,
257 mir_subpixel_arrangement_unknown
256 },258 },
257 {259 {
258 mg::DisplayConfigurationOutputId{connector2_id},260 mg::DisplayConfigurationOutputId{connector2_id},
@@ -270,7 +272,8 @@
270 mir_power_mode_on,272 mir_power_mode_on,
271 mir_orientation_normal,273 mir_orientation_normal,
272 1.0f,274 1.0f,
273 mir_form_factor_monitor275 mir_form_factor_monitor,
276 mir_subpixel_arrangement_unknown
274 }277 }
275 };278 };
276279
@@ -428,7 +431,8 @@
428 mir_power_mode_on,431 mir_power_mode_on,
429 mir_orientation_normal,432 mir_orientation_normal,
430 1.0f,433 1.0f,
431 mir_form_factor_monitor434 mir_form_factor_monitor,
435 mir_subpixel_arrangement_unknown
432 },436 },
433 {437 {
434 mg::DisplayConfigurationOutputId(connector_ids[1]),438 mg::DisplayConfigurationOutputId(connector_ids[1]),
@@ -446,7 +450,8 @@
446 mir_power_mode_on,450 mir_power_mode_on,
447 mir_orientation_normal,451 mir_orientation_normal,
448 1.0f,452 1.0f,
449 mir_form_factor_monitor453 mir_form_factor_monitor,
454 mir_subpixel_arrangement_unknown
450 },455 },
451 };456 };
452457
@@ -468,7 +473,8 @@
468 mir_power_mode_on,473 mir_power_mode_on,
469 mir_orientation_normal,474 mir_orientation_normal,
470 1.0f,475 1.0f,
471 mir_form_factor_monitor476 mir_form_factor_monitor,
477 mir_subpixel_arrangement_unknown
472 },478 },
473 {479 {
474 mg::DisplayConfigurationOutputId(connector_ids[1]),480 mg::DisplayConfigurationOutputId(connector_ids[1]),
@@ -486,7 +492,8 @@
486 mir_power_mode_on,492 mir_power_mode_on,
487 mir_orientation_normal,493 mir_orientation_normal,
488 1.0f,494 1.0f,
489 mir_form_factor_monitor495 mir_form_factor_monitor,
496 mir_subpixel_arrangement_unknown
490 },497 },
491 };498 };
492499
@@ -617,7 +624,8 @@
617 mir_power_mode_on,624 mir_power_mode_on,
618 mir_orientation_normal,625 mir_orientation_normal,
619 1.0f,626 1.0f,
620 mir_form_factor_monitor627 mir_form_factor_monitor,
628 mir_subpixel_arrangement_unknown
621 },629 },
622 };630 };
623631
@@ -640,7 +648,8 @@
640 mir_power_mode_on,648 mir_power_mode_on,
641 mir_orientation_normal,649 mir_orientation_normal,
642 1.0f,650 1.0f,
643 mir_form_factor_monitor651 mir_form_factor_monitor,
652 mir_subpixel_arrangement_unknown
644 },653 },
645 };654 };
646655
647656
=== modified file 'tests/unit-tests/graphics/test_default_display_configuration_policy.cpp'
--- tests/unit-tests/graphics/test_default_display_configuration_policy.cpp 2016-01-29 08:18:22 +0000
+++ tests/unit-tests/graphics/test_default_display_configuration_policy.cpp 2016-08-09 07:09:23 +0000
@@ -64,7 +64,8 @@
64 mir_power_mode_on,64 mir_power_mode_on,
65 mir_orientation_normal,65 mir_orientation_normal,
66 1.0f,66 1.0f,
67 mir_form_factor_monitor67 mir_form_factor_monitor,
68 mir_subpixel_arrangement_unknown
68 };69 };
69}70}
7071
7172
=== modified file 'tests/unit-tests/graphics/test_display_configuration.cpp'
--- tests/unit-tests/graphics/test_display_configuration.cpp 2016-02-01 22:53:06 +0000
+++ tests/unit-tests/graphics/test_display_configuration.cpp 2016-08-09 07:09:23 +0000
@@ -49,7 +49,8 @@
49 mir_power_mode_on,49 mir_power_mode_on,
50 mir_orientation_normal,50 mir_orientation_normal,
51 1.0f,51 1.0f,
52 mir_form_factor_monitor52 mir_form_factor_monitor,
53 mir_subpixel_arrangement_unknown
53};54};
5455
55}56}
5657
=== modified file 'tests/unit-tests/graphics/test_overlapping_output_grouping.cpp'
--- tests/unit-tests/graphics/test_overlapping_output_grouping.cpp 2016-01-29 08:18:22 +0000
+++ tests/unit-tests/graphics/test_overlapping_output_grouping.cpp 2016-08-09 07:09:23 +0000
@@ -96,7 +96,8 @@
96 info.power_mode,96 info.power_mode,
97 info.orientation,97 info.orientation,
98 1.0f,98 1.0f,
99 mir_form_factor_monitor99 mir_form_factor_monitor,
100 mir_subpixel_arrangement_unknown
100 };101 };
101102
102 f(output);103 f(output);
103104
=== modified file 'tests/unit-tests/scene/test_mediating_display_changer.cpp'
--- tests/unit-tests/scene/test_mediating_display_changer.cpp 2016-06-02 05:33:50 +0000
+++ tests/unit-tests/scene/test_mediating_display_changer.cpp 2016-08-09 07:09:23 +0000
@@ -71,7 +71,8 @@
71 mode,71 mode,
72 mir_orientation_normal,72 mir_orientation_normal,
73 1.0f,73 1.0f,
74 mir_form_factor_phone74 mir_form_factor_phone,
75 mir_subpixel_arrangement_unknown
75 };76 };
76}77}
7778

Subscribers

People subscribed via source and target branches