Mir

Merge lp:~kdub/mir/unbreak-abi-0.21 into lp:mir/0.21

Proposed by Kevin DuBois
Status: Merged
Approved by: Alberto Aguirre
Approved revision: no longer in the source branch.
Merged at revision: 3412
Proposed branch: lp:~kdub/mir/unbreak-abi-0.21
Merge into: lp:mir/0.21
Diff against target: 355 lines (+63/-72)
11 files modified
include/server/mir/scene/surface.h (+0/-2)
include/server/mir/shell/surface_specification.h (+0/-1)
src/server/compositor/stream.cpp (+1/-0)
src/server/frontend/session_mediator.cpp (+4/-16)
src/server/scene/application_session.cpp (+1/-1)
src/server/scene/basic_surface.cpp (+2/-6)
tests/acceptance-tests/test_client_scaling.cpp (+9/-0)
tests/unit-tests/frontend/test_session_mediator.cpp (+2/-2)
tests/unit-tests/scene/test_application_session.cpp (+6/-6)
tests/unit-tests/scene/test_basic_surface.cpp (+33/-33)
tests/unit-tests/scene/test_surface_stack.cpp (+5/-5)
To merge this branch: bzr merge lp:~kdub/mir/unbreak-abi-0.21
Reviewer Review Type Date Requested Status
Alberto Aguirre (community) Approve
Review via email: mp+289520@code.launchpad.net

Commit message

server: Unbreak the mirserver ABI at the expense of breaking some scaling tests for the NBS (which isn't on or used at this time; mir_demo_client_prerendered_frames still works).

Description of the change

server: Unbreak the mirserver ABI at the expense of breaking some scaling tests for the NBS (which isn't on or used at this time; mir_demo_client_prerendered_frames still works).

To post a comment you must log in.
Revision history for this message
Alberto Aguirre (albaguirre) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/server/mir/scene/surface.h'
2--- include/server/mir/scene/surface.h 2016-03-14 10:13:49 +0000
3+++ include/server/mir/scene/surface.h 2016-03-18 15:29:12 +0000
4@@ -23,7 +23,6 @@
5 #include "mir/input/surface.h"
6 #include "mir/frontend/surface.h"
7 #include "mir/compositor/compositor_id.h"
8-#include "mir/optional_value.h"
9
10 #include <vector>
11 #include <list>
12@@ -41,7 +40,6 @@
13 {
14 std::shared_ptr<compositor::BufferStream> stream;
15 geometry::Displacement displacement;
16- optional_value<geometry::Size> size;
17 };
18
19 class SurfaceObserver;
20
21=== modified file 'include/server/mir/shell/surface_specification.h'
22--- include/server/mir/shell/surface_specification.h 2016-03-14 10:13:49 +0000
23+++ include/server/mir/shell/surface_specification.h 2016-03-18 15:29:12 +0000
24@@ -43,7 +43,6 @@
25 {
26 frontend::BufferStreamId stream_id;
27 geometry::Displacement displacement;
28- optional_value<geometry::Size> size;
29 };
30
31 /// Specification of surface properties requested by client
32
33=== modified file 'src/server/compositor/stream.cpp'
34--- src/server/compositor/stream.cpp 2016-03-14 10:13:49 +0000
35+++ src/server/compositor/stream.cpp 2016-03-18 15:29:12 +0000
36@@ -80,6 +80,7 @@
37 {
38 std::lock_guard<decltype(mutex)> lk(mutex);
39 first_frame_posted = true;
40+ size = buffer->size();
41 buffers->receive_buffer(buffer->id());
42 schedule->schedule((*buffers)[buffer->id()]);
43 if (buffers->client_owned_buffer_count() == 0)
44
45=== modified file 'src/server/frontend/session_mediator.cpp'
46--- src/server/frontend/session_mediator.cpp 2016-03-16 06:59:01 +0000
47+++ src/server/frontend/session_mediator.cpp 2016-03-18 15:29:12 +0000
48@@ -592,22 +592,10 @@
49 std::vector<msh::StreamSpecification> stream_spec;
50 for (auto& stream : surface_specification.stream())
51 {
52- if (stream.has_width() && stream.has_height())
53- {
54- stream_spec.emplace_back(
55- msh::StreamSpecification{
56- mf::BufferStreamId{stream.id().value()},
57- geom::Displacement{stream.displacement_x(), stream.displacement_y()},
58- geom::Size{stream.width(), stream.height()}});
59- }
60- else
61- {
62- stream_spec.emplace_back(
63- msh::StreamSpecification{
64- mf::BufferStreamId{stream.id().value()},
65- geom::Displacement{stream.displacement_x(), stream.displacement_y()},
66- {}});
67- }
68+ stream_spec.emplace_back(
69+ msh::StreamSpecification{
70+ mf::BufferStreamId{stream.id().value()},
71+ geom::Displacement{stream.displacement_x(), stream.displacement_y()}});
72 }
73 mods.streams = std::move(stream_spec);
74 }
75
76=== modified file 'src/server/scene/application_session.cpp'
77--- src/server/scene/application_session.cpp 2016-03-16 06:59:01 +0000
78+++ src/server/scene/application_session.cpp 2016-03-18 15:29:12 +0000
79@@ -370,7 +370,7 @@
80 for (auto& stream : streams)
81 {
82 auto s = checked_find(stream.stream_id)->second;
83- list.emplace_back(ms::StreamInfo{s, stream.displacement, stream.size});
84+ list.emplace_back(ms::StreamInfo{s, stream.displacement});
85 }
86 surface.set_streams(list);
87 }
88
89=== modified file 'src/server/scene/basic_surface.cpp'
90--- src/server/scene/basic_surface.cpp 2016-03-16 06:59:01 +0000
91+++ src/server/scene/basic_surface.cpp 2016-03-18 15:29:12 +0000
92@@ -222,7 +222,7 @@
93 cursor_image_(cursor_image),
94 report(report),
95 parent_(parent),
96- layers({StreamInfo{buffer_stream, {0,0}, {}}}),
97+ layers({StreamInfo{buffer_stream, {0,0}}}),
98 cursor_stream_adapter{std::make_unique<ms::CursorStreamImageAdapter>(*this)},
99 input_validator([this](MirEvent const& ev) { this->input_sender->send_event(ev, server_input_channel); })
100 {
101@@ -891,11 +891,7 @@
102 {
103 if (info.stream->has_submitted_buffer())
104 {
105- geom::Size size;
106- if (info.size.is_set())
107- size = info.size.value();
108- else
109- size = info.stream->stream_size();
110+ geom::Size size = info.stream->stream_size();
111
112 list.emplace_back(std::make_shared<SurfaceSnapshot>(
113 info.stream, id,
114
115=== modified file 'tests/acceptance-tests/test_client_scaling.cpp'
116--- tests/acceptance-tests/test_client_scaling.cpp 2016-03-14 10:13:49 +0000
117+++ tests/acceptance-tests/test_client_scaling.cpp 2016-03-18 15:29:12 +0000
118@@ -158,6 +158,15 @@
119
120 TEST_F(SurfaceScaling, compositor_sees_size_different_when_scaled)
121 {
122+ //FIXME: need an ABI break to get this to work for NBS. Temporarily disabled for a
123+ // no ABI break release.
124+ auto nbuffers_opt = getenv("MIR_SERVER_NBUFFERS");
125+ if (nbuffers_opt && !strcmp(nbuffers_opt, "0"))
126+ {
127+ SUCCEED() << "temporarily disabled test for MIR_SERVER_NBUFFERS=0";
128+ return;
129+ }
130+
131 using namespace std::literals::chrono_literals;
132 auto scale = 2.0f;
133 auto stream = mir_surface_get_buffer_stream(surface);
134
135=== modified file 'tests/unit-tests/frontend/test_session_mediator.cpp'
136--- tests/unit-tests/frontend/test_session_mediator.cpp 2016-03-16 06:59:01 +0000
137+++ tests/unit-tests/frontend/test_session_mediator.cpp 2016-03-18 15:29:12 +0000
138@@ -963,8 +963,8 @@
139 EXPECT_CALL(*shell, modify_surface(_,
140 mf::SurfaceId{surface_response.id().value()},
141 StreamsAre(std::vector<msh::StreamSpecification>{
142- {mf::BufferStreamId(streams[0].id().value()), displacement[0], {}},
143- {mf::BufferStreamId(streams[1].id().value()), displacement[1], {}},
144+ {mf::BufferStreamId(streams[0].id().value()), displacement[0]},
145+ {mf::BufferStreamId(streams[1].id().value()), displacement[1]},
146 })));
147
148 mediator.modify_surface(&mods, &null, null_callback.get());
149
150=== modified file 'tests/unit-tests/scene/test_application_session.cpp'
151--- tests/unit-tests/scene/test_application_session.cpp 2016-03-16 06:59:01 +0000
152+++ tests/unit-tests/scene/test_application_session.cpp 2016-03-18 15:29:12 +0000
153@@ -574,15 +574,15 @@
154 auto stream_id2 = session->create_buffer_stream(stream_properties);
155
156 std::list<ms::StreamInfo> info {
157- {streams[2], geom::Displacement{0,3}, {}},
158- {streams[0], geom::Displacement{-1,1}, {}},
159- {streams[1], geom::Displacement{0,2}, {}}
160+ {streams[2], geom::Displacement{0,3}},
161+ {streams[0], geom::Displacement{-1,1}},
162+ {streams[1], geom::Displacement{0,2}}
163 };
164 EXPECT_CALL(*mock_surface, set_streams(Pointwise(StreamEq(), info)));
165 session->configure_streams(*mock_surface, {
166- {stream_id2, geom::Displacement{0,3}, {}},
167- {stream_id0, geom::Displacement{-1,1}, {}},
168- {stream_id1, geom::Displacement{0,2}, {}}
169+ {stream_id2, geom::Displacement{0,3}},
170+ {stream_id0, geom::Displacement{-1,1}},
171+ {stream_id1, geom::Displacement{0,2}}
172 });
173 }
174
175
176=== modified file 'tests/unit-tests/scene/test_basic_surface.cpp'
177--- tests/unit-tests/scene/test_basic_surface.cpp 2016-03-16 06:59:01 +0000
178+++ tests/unit-tests/scene/test_basic_surface.cpp 2016-03-18 15:29:12 +0000
179@@ -811,10 +811,10 @@
180 auto buffer_stream2 = std::make_shared<NiceMock<mtd::MockBufferStream>>();
181
182 std::list<ms::StreamInfo> streams = {
183- { mock_buffer_stream, {0,0}, {}},
184- { buffer_stream0, d0, {} },
185- { buffer_stream1, d1, {} },
186- { buffer_stream2, d2, {} }
187+ { mock_buffer_stream, {0,0}},
188+ { buffer_stream0, d0 },
189+ { buffer_stream1, d1 },
190+ { buffer_stream2, d2 }
191 };
192 surface.set_streams(streams);
193
194@@ -835,8 +835,8 @@
195 auto buffer_stream = std::make_shared<NiceMock<mtd::MockBufferStream>>();
196
197 std::list<ms::StreamInfo> streams = {
198- { mock_buffer_stream, {0,0}, {} },
199- { buffer_stream, d, {} }
200+ { mock_buffer_stream, {0,0} },
201+ { buffer_stream, d }
202 };
203
204 surface.set_streams(streams);
205@@ -868,8 +868,8 @@
206 auto buffer_stream0 = std::make_shared<NiceMock<mtd::MockBufferStream>>();
207 auto buffer_stream1 = std::make_shared<NiceMock<mtd::MockBufferStream>>();
208 std::list<ms::StreamInfo> streams = {
209- { buffer_stream0, {0,0}, {} },
210- { buffer_stream1, {0,0}, {} }
211+ { buffer_stream0, {0,0} },
212+ { buffer_stream1, {0,0} }
213 };
214 surface.set_streams(streams);
215 auto renderables = surface.generate_renderables(this);
216@@ -909,18 +909,18 @@
217 .InSequence(seq1);
218
219 std::list<ms::StreamInfo> streams = {
220- { buffer_stream0, {0,0}, {} },
221- { buffer_stream1, {0,0}, {} },
222+ { buffer_stream0, {0,0} },
223+ { buffer_stream1, {0,0} },
224 };
225 surface.set_streams(streams);
226
227- streams = { { buffer_stream0, {0,0}, {} } };
228- surface.set_streams(streams);
229-
230- streams = { { buffer_stream1, {0,0}, {} } };
231- surface.set_streams(streams);
232-
233- streams = { { buffer_stream0, {0,0}, {} } };
234+ streams = { { buffer_stream0, {0,0} } };
235+ surface.set_streams(streams);
236+
237+ streams = { { buffer_stream1, {0,0} } };
238+ surface.set_streams(streams);
239+
240+ streams = { { buffer_stream0, {0,0} } };
241 surface.set_streams(streams);
242 }
243
244@@ -929,8 +929,8 @@
245 using namespace testing;
246 auto buffer_stream = std::make_shared<NiceMock<mtd::MockBufferStream>>();
247 std::list<ms::StreamInfo> streams = {
248- { mock_buffer_stream, {0,0}, {} },
249- { buffer_stream, {0,0}, {} }
250+ { mock_buffer_stream, {0,0} },
251+ { buffer_stream, {0,0} }
252 };
253 surface.set_streams(streams);
254
255@@ -950,8 +950,8 @@
256
257 auto buffer_stream = std::make_shared<NiceMock<mtd::MockBufferStream>>();
258 std::list<ms::StreamInfo> streams = {
259- { mock_buffer_stream, {0,0}, {} },
260- { buffer_stream, {0,0}, {} }
261+ { mock_buffer_stream, {0,0} },
262+ { buffer_stream, {0,0} }
263 };
264
265 surface.set_streams(streams);
266@@ -967,7 +967,7 @@
267 EXPECT_THAT(renderables[1], IsRenderableOfAlpha(alpha));
268 }
269
270-TEST_F(BasicSurfaceTest, setting_streams_with_size_changes_sizes)
271+TEST_F(BasicSurfaceTest, DISABLED_setting_streams_with_size_changes_sizes)
272 {
273 using namespace testing;
274
275@@ -980,8 +980,8 @@
276 ON_CALL(*buffer_stream, stream_size())
277 .WillByDefault(Return(bad_size));
278 std::list<ms::StreamInfo> streams = {
279- { mock_buffer_stream, {0,0}, size0 },
280- { buffer_stream, {0,0}, size1 }
281+ { mock_buffer_stream, {0,0} },
282+ { buffer_stream, {0,0} }
283 };
284
285 surface.set_streams(streams);
286@@ -997,8 +997,8 @@
287
288 auto buffer_stream = std::make_shared<NiceMock<mtd::MockBufferStream>>();
289 std::list<ms::StreamInfo> streams = {
290- { mock_buffer_stream, {0,0}, {} },
291- { buffer_stream, {0,0}, {} }
292+ { mock_buffer_stream, {0,0} },
293+ { buffer_stream, {0,0} }
294 };
295
296 EXPECT_CALL(*mock_buffer_stream, allow_framedropping(true));
297@@ -1020,8 +1020,8 @@
298 ON_CALL(*mock_buffer_stream1, has_submitted_buffer())
299 .WillByDefault(Invoke([&stream2_visible] { return stream2_visible; }));
300 std::list<ms::StreamInfo> streams = {
301- { mock_buffer_stream, {0,0}, {} },
302- { mock_buffer_stream1, displacement, {} },
303+ { mock_buffer_stream, {0,0} },
304+ { mock_buffer_stream1, displacement },
305 };
306 surface.set_streams(streams);
307
308@@ -1059,9 +1059,9 @@
309 .WillOnce(Return(1));
310
311 std::list<ms::StreamInfo> streams = {
312- { mock_buffer_stream, {0,0}, {} },
313- { buffer_stream0, {0,0}, {} },
314- { buffer_stream1, {0,0}, {} },
315+ { mock_buffer_stream, {0,0} },
316+ { buffer_stream0, {0,0} },
317+ { buffer_stream1, {0,0} },
318 };
319 surface.set_streams(streams);
320 EXPECT_THAT(surface.buffers_ready_for_compositor(this), Eq(3));
321@@ -1083,8 +1083,8 @@
322 .WillByDefault(Return(size1));
323
324 std::list<ms::StreamInfo> streams = {
325- { mock_buffer_stream, d0, {} },
326- { buffer_stream, d1, {} },
327+ { mock_buffer_stream, d0 },
328+ { buffer_stream, d1 },
329 };
330 surface.set_streams(streams);
331
332
333=== modified file 'tests/unit-tests/scene/test_surface_stack.cpp'
334--- tests/unit-tests/scene/test_surface_stack.cpp 2016-03-14 10:13:49 +0000
335+++ tests/unit-tests/scene/test_surface_stack.cpp 2016-03-18 15:29:12 +0000
336@@ -228,15 +228,15 @@
337 auto stub_stream1 = std::make_shared<mtd::StubBufferStream>();
338 auto stub_stream2 = std::make_shared<mtd::StubBufferStream>();
339 std::list<ms::StreamInfo> streams = {
340- { stub_surface1->buffer_stream(), {0,0}, {} },
341- { stub_stream0, {2,2}, {} },
342- { stub_stream1, {2,3}, {} },
343+ { stub_surface1->buffer_stream(), {0,0} },
344+ { stub_stream0, {2,2} },
345+ { stub_stream1, {2,3} },
346 };
347 stub_surface1->set_streams(streams);
348
349 streams = {
350- { stub_stream2, {2,4}, {} },
351- { stub_surface3->buffer_stream(), {0,0}, {} }
352+ { stub_stream2, {2,4} },
353+ { stub_surface3->buffer_stream(), {0,0} }
354 };
355 stub_surface3->set_streams(streams);
356

Subscribers

People subscribed via source and target branches