Mir

Merge lp:~vanvugt/mir/make-older-clang-happy into lp:mir

Proposed by Daniel van Vugt
Status: Merged
Approved by: Daniel van Vugt
Approved revision: no longer in the source branch.
Merged at revision: 4163
Proposed branch: lp:~vanvugt/mir/make-older-clang-happy
Merge into: lp:mir
Diff against target: 104 lines (+30/-12)
3 files modified
src/platforms/mesa/client/client_platform.cpp (+18/-9)
src/platforms/mesa/server/kms/display.cpp (+2/-2)
tests/unit-tests/platforms/nested/test_host_buffer.cpp (+10/-1)
To merge this branch: bzr merge lp:~vanvugt/mir/make-older-clang-happy
Reviewer Review Type Date Requested Status
Andreas Pokorny (community) Approve
Mir CI Bot continuous-integration Approve
Mir development team Pending
Review via email: mp+323456@code.launchpad.net

Commit message

Minor fixes to restore support for legacy clang (3.8) on xenial.

Description of the change

They were reasonable complaints, so worth fixing.

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

PASSED: Continuous integration, rev:4159
https://mir-jenkins.ubuntu.com/job/mir-ci/3386/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/4584
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4712
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4701
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4701
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/4616
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/4616/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/4616
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/4616/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/4616
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/4616/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/4616
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=mesa,release=zesty/4616/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/4616
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/4616/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

that should not cause a warning..

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

No they shouldn't, but compilers are often imperfect. So it's a choice between what builds and what doesn't :)

Revision history for this message
Andreas Pokorny (andreas-pokorny) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/platforms/mesa/client/client_platform.cpp'
--- src/platforms/mesa/client/client_platform.cpp 2017-04-13 07:00:27 +0000
+++ src/platforms/mesa/client/client_platform.cpp 2017-05-01 09:59:05 +0000
@@ -151,12 +151,7 @@
151 available_callback, available_context);151 available_callback, available_context);
152}152}
153153
154MirBuffer* allocate_buffer_gbm_sync(154namespace
155 MirConnection* connection,
156 uint32_t width, uint32_t height,
157 uint32_t gbm_pixel_format,
158 uint32_t gbm_bo_flags)
159try
160{155{
161 struct BufferSync156 struct BufferSync
162 {157 {
@@ -177,11 +172,25 @@
177 std::mutex mutex;172 std::mutex mutex;
178 std::condition_variable cv;173 std::condition_variable cv;
179 MirBuffer* buffer = nullptr;174 MirBuffer* buffer = nullptr;
180 } sync;175 };
181176
177 void allocate_buffer_gbm_sync_cb(MirBuffer* b, void* context)
178 {
179 reinterpret_cast<BufferSync*>(context)->set_buffer(b);
180 }
181}
182
183MirBuffer* allocate_buffer_gbm_sync(
184 MirConnection* connection,
185 uint32_t width, uint32_t height,
186 uint32_t gbm_pixel_format,
187 uint32_t gbm_bo_flags)
188try
189{
190 BufferSync sync;
182 allocate_buffer_gbm(191 allocate_buffer_gbm(
183 connection, width, height, gbm_pixel_format, gbm_bo_flags,192 connection, width, height, gbm_pixel_format, gbm_bo_flags,
184 [](auto* b, auto* context){ reinterpret_cast<BufferSync*>(context)->set_buffer(b); }, &sync);193 &allocate_buffer_gbm_sync_cb, &sync);
185 return sync.wait_for_buffer();194 return sync.wait_for_buffer();
186}195}
187catch (...)196catch (...)
188197
=== modified file 'src/platforms/mesa/server/kms/display.cpp'
--- src/platforms/mesa/server/kms/display.cpp 2017-04-06 05:30:53 +0000
+++ src/platforms/mesa/server/kms/display.cpp 2017-05-01 09:59:05 +0000
@@ -557,8 +557,8 @@
557 bounding_rect.size.height.as_uint32_t()};557 bounding_rect.size.height.as_uint32_t()};
558558
559 auto const physical_size = transformation * logical_size;559 auto const physical_size = transformation * logical_size;
560 uint32_t width = abs(physical_size.x);560 uint32_t width = abs(int(physical_size.x));
561 uint32_t height = abs(physical_size.y);561 uint32_t height = abs(int(physical_size.y));
562562
563 for (auto const& group : kms_output_groups)563 for (auto const& group : kms_output_groups)
564 {564 {
565565
=== modified file 'tests/unit-tests/platforms/nested/test_host_buffer.cpp'
--- tests/unit-tests/platforms/nested/test_host_buffer.cpp 2017-04-13 07:00:27 +0000
+++ tests/unit-tests/platforms/nested/test_host_buffer.cpp 2017-05-01 09:59:05 +0000
@@ -36,6 +36,9 @@
36namespace mcl = mir::client;36namespace mcl = mir::client;
37namespace mtd = mir::test::doubles;37namespace mtd = mir::test::doubles;
3838
39namespace
40{
41
39std::unique_ptr<mir::Fd> fd = nullptr;42std::unique_ptr<mir::Fd> fd = nullptr;
40int get_fence(MirBuffer*)43int get_fence(MirBuffer*)
41{44{
@@ -44,6 +47,10 @@
44 return -1;47 return -1;
45}48}
4649
50void null_connected_callback(MirConnection*, void*)
51{
52}
53
47struct TestConnectionConfiguration : mir::client::DefaultConnectionConfiguration54struct TestConnectionConfiguration : mir::client::DefaultConnectionConfiguration
48{55{
49public:56public:
@@ -110,6 +117,8 @@
110 }117 }
111};118};
112119
120}
121
113struct HostBuffer : Test122struct HostBuffer : Test
114{123{
115 HostBuffer()124 HostBuffer()
@@ -133,7 +142,7 @@
133 fd = std::make_unique<mir::Fd>( fileno(tmpfile()) );142 fd = std::make_unique<mir::Fd>( fileno(tmpfile()) );
134143
135 MirConnection connection{*config};144 MirConnection connection{*config};
136 connection.connect("", [](auto*, auto*){}, nullptr)->wait_for_all();145 connection.connect("", &null_connected_callback, nullptr)->wait_for_all();
137 mgn::HostBuffer buffer(&connection, mir::geometry::Size{1,1}, mir_pixel_format_abgr_8888);146 mgn::HostBuffer buffer(&connection, mir::geometry::Size{1,1}, mir_pixel_format_abgr_8888);
138 {147 {
139 auto fence = buffer.fence();148 auto fence = buffer.fence();

Subscribers

People subscribed via source and target branches