Merge lp:~alan-griffiths/mir/mir-on-mir-platform into lp:mir
- mir-on-mir-platform
- Merge into development-branch
Status: | Work in progress |
---|---|
Proposed branch: | lp:~alan-griffiths/mir/mir-on-mir-platform |
Merge into: | lp:mir |
Diff against target: |
1306 lines (+318/-225) 49 files modified
debian/control (+15/-0) debian/mir-platform-graphics-mir13.install (+1/-0) include/platform/mir/graphics/cursor.h (+0/-1) include/platform/mir/graphics/gl_extensions_base.h (+3/-3) include/platform/mir/graphics/platform.h (+14/-12) include/platform/mir/graphics/surfaceless_egl_context.h (+3/-3) include/test/mir/test/doubles/stub_cursor.h (+0/-1) src/include/server/mir/default_server_configuration.h (+0/-1) src/platform/graphics/CMakeLists.txt (+5/-1) src/platform/graphics/gl_extensions_base.cpp (+3/-3) src/platform/graphics/surfaceless_egl_context.cpp (+3/-3) src/platform/symbols.map (+7/-0) src/platforms/CMakeLists.txt (+1/-0) src/platforms/eglstream-kms/server/platform_symbols.cpp (+2/-1) src/platforms/mesa/server/kms/cursor.cpp (+0/-11) src/platforms/mesa/server/kms/cursor.h (+0/-1) src/platforms/mesa/server/kms/platform_symbols.cpp (+2/-1) src/platforms/mesa/server/x11/graphics/graphics.cpp (+2/-1) src/platforms/mir/CMakeLists.txt (+41/-0) src/platforms/mir/cursor.cpp (+2/-8) src/platforms/mir/cursor.h (+2/-4) src/platforms/mir/display.cpp (+2/-2) src/platforms/mir/platform.cpp (+134/-0) src/platforms/mir/symbols.map.in (+20/-0) src/server/CMakeLists.txt (+0/-1) src/server/graphics/CMakeLists.txt (+0/-3) src/server/graphics/default_configuration.cpp (+9/-74) src/server/graphics/software_cursor.cpp (+0/-12) src/server/graphics/software_cursor.h (+0/-1) src/server/input/default_configuration.cpp (+0/-12) src/server/symbols.map (+0/-1) tests/acceptance-tests/test_nested_mir.cpp (+6/-13) tests/include/mir/test/doubles/stub_host_connection.h (+7/-5) tests/mir_test_framework/headless_nested_server_runner.cpp (+1/-1) tests/mir_test_framework/platform_graphics_throw.cpp (+3/-2) tests/mir_test_framework/stubbed_graphics_platform.cpp (+2/-1) tests/unit-tests/graphics/test_software_cursor.cpp (+0/-19) tests/unit-tests/input/CMakeLists.txt (+0/-1) tests/unit-tests/platforms/mesa/kms/test_cursor.cpp (+1/-1) tests/unit-tests/platforms/nested/CMakeLists.txt (+2/-0) tests/unit-tests/platforms/nested/test_buffer.cpp (+5/-2) tests/unit-tests/platforms/nested/test_host_buffer.cpp (+1/-1) tests/unit-tests/platforms/nested/test_ipc_operations.cpp (+2/-2) tests/unit-tests/platforms/nested/test_nested_cursor.cpp (+6/-6) tests/unit-tests/platforms/nested/test_nested_display.cpp (+3/-3) tests/unit-tests/platforms/nested/test_nested_display_buffer.cpp (+5/-5) tests/unit-tests/platforms/nested/test_nested_display_configuration.cpp (+1/-1) tests/unit-tests/platforms/nested/test_nested_input_platform.cpp (+1/-1) tools/update_package_abis.sh (+1/-0) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/mir-on-mir-platform |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Needs Fixing | ||
Mir CI Bot | continuous-integration | Needs Fixing | |
Review via email: mp+325931@code.launchpad.net |
Commit message
Mir-on-Mir as a platform
Description of the change
Alan Griffiths (alan-griffiths) wrote : | # |
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:4199
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Alan Griffiths (alan-griffiths) wrote : | # |
Yep, that's the sort of thing I saw too:
16:24:57 11: [ RUN ] NestedInput.
16:24:57 11: [2017-06-19 16:24:56.684528] mirserver: Starting
16:24:57 11: [2017-06-19 16:24:56.687228] mirserver: Selected driver: mir:stub-graphics (version 0.27.0)
16:24:57 11: [2017-06-19 16:24:56.874292] mirserver: Using software cursor
16:24:57 11: [2017-06-19 16:24:56.904316] mirserver: Selected input driver: mir:stub-input (version: 0.27.0)
16:24:57 11: [2017-06-19 16:24:56.929421] mirserver: Mir version 0.27.0
16:24:57 11: [2017-06-19 16:24:57.085794] mirserver: Initial display configuration:
16:24:57 11: [2017-06-19 16:24:57.086460] mirserver: CMakeFiles CTestTestfile.cmake Makefile cmake_install.cmake mir_acceptance_
16:24:57 11: [2017-06-19 16:24:57.086656] mirserver: . |_ Physical size 0.0" 0x0mm
16:24:57 11: [2017-06-19 16:24:57.086807] mirserver: . |_ Power is on
16:24:57 11: [2017-06-19 16:24:57.086988] mirserver: . |_ Current mode 1920x1080 60.00Hz
16:24:57 11: [2017-06-19 16:24:57.087161] mirserver: . |_ Preferred mode 1920x1080 60.00Hz
16:24:57 11: [2017-06-19 16:24:57.087305] mirserver: . |_ Orientation normal
16:24:57 11: [2017-06-19 16:24:57.087465] mirserver: . |_ Logical size 1920x1080
16:24:57 11: [2017-06-19 16:24:57.087617] mirserver: . |_ Logical position +0+0
16:24:57 11: [2017-06-19 16:24:57.087773] mirserver: . |_ Scaling factor: 1.00
16:24:58 11: [2017-06-19 16:24:57.192869] mirserver: Starting
16:24:58 11: [2017-06-19 16:24:57.196132] mirserver: Selected driver: mir:mir (version 0.27.0)
16:24:59 11: [2017-06-19 16:24:58.279249] mirserver: Using hardware cursor
16:24:59 11: [2017-06-19 16:24:58.512087] mirserver: Selected input driver: mir:mir-input (version: 0.27.0)
16:24:59 11: [2017-06-19 16:24:58.579084] mirserver: Mir version 0.27.0
16:24:59 11: [2017-06-19 16:24:58.859170] mirserver: Initial display configuration:
16:24:59 11: [2017-06-19 16:24:58.860082] mirserver: CMakeFiles CTestTestfile.cmake Makefile cmake_install.cmake mir_acceptance_
16:24:59 11: [2017-06-19 16:24:58.860288] mirserver: . |_ Physical size 0.0" 0x0mm
16:24:59 11: [2017-06-19 16:24:58.860449] mirserver: . |_ Power is on
16:24:59 11: [2017-06-19 16:24:58.860644] mirserver: . |_ Current mode 1920x1080 60.00Hz
16:24:59 11: [2017-06-19 16:24:58.860829] mirserver: . |_ Preferred mode 1920x1080 60.00Hz
16:24:59 11: [2017-06-19 16:24:58.860989] mirserver: . |_ Orientation normal
16:24:59 11: [2017-06-19 16:24:58.861159] mirserver: . |_ Logical size 1920x1080
16:24:59 11: [2017-06-19 16:24:58.861321] mirserver: . |_ Logical position +0+0
16:24:59 11: [2017-06-19 16:24:58.861488] mirserver: . |_ Scaling factor: 1.00
16:24:59 11: [2017-06-19 16:24:58.917833] mirserver: Stopping
18:54:59 debian/rules:20: recipe for target 'override_
18:54:59 Makefile:130: recipe for target 'test' failed
18:54:59 make[1]: *** [override_
18...
Unmerged revisions
- 4199. By Alan Griffiths
-
Fix some tests of mir-on-mir cursor
- 4198. By Alan Griffiths
-
Ensure nested tests use nested platform
- 4197. By Alan Griffiths
-
Better naming for Mir-on-Mir
- 4196. By Alan Griffiths
-
merge & fixup ~kdub/mir/
real-nested- platform
Preview Diff
1 | === modified file 'debian/control' |
2 | --- debian/control 2017-05-25 08:58:03 +0000 |
3 | +++ debian/control 2017-06-19 15:01:38 +0000 |
4 | @@ -347,6 +347,20 @@ |
5 | Contains the shared libraries required for the Mir server to interact with |
6 | the hardware platform using the Mesa drivers. |
7 | |
8 | +Package: mir-platform-graphics-mir13 |
9 | +Section: libs |
10 | +Architecture: linux-any |
11 | +Multi-Arch: same |
12 | +Pre-Depends: ${misc:Pre-Depends} |
13 | +Depends: ${misc:Depends}, |
14 | + ${shlibs:Depends}, |
15 | +Description: Display server for Ubuntu - platform library for Nested servers |
16 | + Mir is a display server running on linux systems, with a focus on efficiency, |
17 | + robust operation and a well-defined driver model. |
18 | + . |
19 | + Contains the shared libraries required for the Mir server to connect to |
20 | + another Mir server. |
21 | + |
22 | Package: mir-platform-input-evdev7 |
23 | Section: libs |
24 | Architecture: linux-any |
25 | @@ -399,6 +413,7 @@ |
26 | mir-platform-graphics-mesa-x13, |
27 | mir-client-platform-mesa5, |
28 | mir-platform-input-evdev7, |
29 | + mir-platform-graphics-mir13, |
30 | Description: Display server for Ubuntu - desktop driver metapackage |
31 | Mir is a display server running on linux systems, with a focus on efficiency, |
32 | robust operation and a well-defined driver model. |
33 | |
34 | === added file 'debian/mir-platform-graphics-mir13.install' |
35 | --- debian/mir-platform-graphics-mir13.install 1970-01-01 00:00:00 +0000 |
36 | +++ debian/mir-platform-graphics-mir13.install 2017-06-19 15:01:38 +0000 |
37 | @@ -0,0 +1,1 @@ |
38 | +usr/lib/*/mir/server-platform/server-mir.so.13 |
39 | |
40 | === modified file 'include/platform/mir/graphics/cursor.h' |
41 | --- include/platform/mir/graphics/cursor.h 2015-04-28 07:54:10 +0000 |
42 | +++ include/platform/mir/graphics/cursor.h 2017-06-19 15:01:38 +0000 |
43 | @@ -33,7 +33,6 @@ |
44 | class Cursor |
45 | { |
46 | public: |
47 | - virtual void show() = 0; |
48 | virtual void show(CursorImage const& cursor_image) = 0; |
49 | virtual void hide() = 0; |
50 | |
51 | |
52 | === renamed file 'src/include/server/mir/graphics/gl_extensions_base.h' => 'include/platform/mir/graphics/gl_extensions_base.h' |
53 | --- src/include/server/mir/graphics/gl_extensions_base.h 2015-02-22 07:46:25 +0000 |
54 | +++ include/platform/mir/graphics/gl_extensions_base.h 2017-06-19 15:01:38 +0000 |
55 | @@ -2,15 +2,15 @@ |
56 | * Copyright © 2013 Canonical Ltd. |
57 | * |
58 | * This program is free software: you can redistribute it and/or modify it |
59 | - * under the terms of the GNU General Public License version 3, |
60 | + * under the terms of the GNU Lesser General Public License version 3, |
61 | * as published by the Free Software Foundation. |
62 | * |
63 | * This program is distributed in the hope that it will be useful, |
64 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
65 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
66 | - * GNU General Public License for more details. |
67 | + * GNU Lesser General Public License for more details. |
68 | * |
69 | - * You should have received a copy of the GNU General Public License |
70 | + * You should have received a copy of the GNU Lesser General Public License |
71 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
72 | * |
73 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
74 | |
75 | === modified file 'include/platform/mir/graphics/platform.h' |
76 | --- include/platform/mir/graphics/platform.h 2017-06-09 11:19:23 +0000 |
77 | +++ include/platform/mir/graphics/platform.h 2017-06-19 15:01:38 +0000 |
78 | @@ -29,6 +29,7 @@ |
79 | namespace mir |
80 | { |
81 | class EmergencyCleanupRegistry; |
82 | +namespace shell { class HostLifecycleEventListener; } |
83 | |
84 | namespace logging { class Logger; } |
85 | |
86 | @@ -149,22 +150,20 @@ |
87 | /** |
88 | * A measure of how well a platform supports a device |
89 | * |
90 | - * \note This is compared as an integer; best + 1 is a valid PlatformPriority that |
91 | - * will be used in preference to a module that reports best. |
92 | + * \note This is compared as an integer; request + 1 is a valid PlatformPriority that |
93 | + * will be used in preference to a module that reports request. |
94 | * Platform modules distributed with Mir will never use a priority higher |
95 | - * than best. |
96 | + * than request. |
97 | */ |
98 | enum PlatformPriority : uint32_t |
99 | { |
100 | unsupported = 0, /**< Unable to function at all on this device */ |
101 | - dummy = 1, /**< Used only for dummy or stub platforms. |
102 | - */ |
103 | + dummy = 1, /**< Used only for dummy or stub platforms. */ |
104 | supported = 128, /**< Capable of providing a functioning Platform on this device, |
105 | - * possibly with degraded performance or features. |
106 | - */ |
107 | - best = 256 /**< Capable of providing a Platform with the best features and |
108 | - * performance this device is capable of. |
109 | - */ |
110 | + * possibly with degraded performance or features. */ |
111 | + best = 192, /**< Capable of providing a Platform with the best features and |
112 | + * performance this device is capable of.*/ |
113 | + requested = 256 /**< Provides a Platform that satisfies a user request. */ |
114 | }; |
115 | |
116 | //The host/guest platform concept is soon to be removed. Use CreateRenderingPlatform and |
117 | @@ -173,7 +172,8 @@ |
118 | std::shared_ptr<mir::options::Option> const& options, |
119 | std::shared_ptr<mir::EmergencyCleanupRegistry> const& emergency_cleanup_registry, |
120 | std::shared_ptr<mir::graphics::DisplayReport> const& report, |
121 | - std::shared_ptr<mir::logging::Logger> const& logger); |
122 | + std::shared_ptr<mir::logging::Logger> const& logger, |
123 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const& host_lifecycle_event_listener); |
124 | |
125 | typedef void(*AddPlatformOptions)( |
126 | boost::program_options::options_description& config); |
127 | @@ -210,6 +210,7 @@ |
128 | * \param [in] options options to use for this platform |
129 | * \param [in] emergency_cleanup_registry object to register emergency shutdown handlers with |
130 | * \param [in] report the object to use to report interesting events from the display subsystem |
131 | + * \param [in] host_lifecycle_event_listener the object to use to listen to events from a host server |
132 | * |
133 | * This factory function needs to be implemented by each platform. |
134 | * |
135 | @@ -219,7 +220,8 @@ |
136 | std::shared_ptr<mir::options::Option> const& options, |
137 | std::shared_ptr<mir::EmergencyCleanupRegistry> const& emergency_cleanup_registry, |
138 | std::shared_ptr<mir::graphics::DisplayReport> const& report, |
139 | - std::shared_ptr<mir::logging::Logger> const& logger); |
140 | + std::shared_ptr<mir::logging::Logger> const& logger, |
141 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const& host_lifecycle_event_listener); |
142 | |
143 | /** |
144 | * Function prototype used to add platform specific options to the platform-independent server options. |
145 | |
146 | === renamed file 'src/include/server/mir/graphics/surfaceless_egl_context.h' => 'include/platform/mir/graphics/surfaceless_egl_context.h' |
147 | --- src/include/server/mir/graphics/surfaceless_egl_context.h 2016-07-28 09:10:43 +0000 |
148 | +++ include/platform/mir/graphics/surfaceless_egl_context.h 2017-06-19 15:01:38 +0000 |
149 | @@ -2,15 +2,15 @@ |
150 | * Copyright © 2013 Canonical Ltd. |
151 | * |
152 | * This program is free software: you can redistribute it and/or modify it |
153 | - * under the terms of the GNU General Public License version 3, |
154 | + * under the terms of the GNU Lesser General Public License version 3, |
155 | * as published by the Free Software Foundation. |
156 | * |
157 | * This program is distributed in the hope that it will be useful, |
158 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
159 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
160 | - * GNU General Public License for more details. |
161 | + * GNU Lesser General Public License for more details. |
162 | * |
163 | - * You should have received a copy of the GNU General Public License |
164 | + * You should have received a copy of the GNU Lesser General Public License |
165 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
166 | * |
167 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
168 | |
169 | === modified file 'include/test/mir/test/doubles/stub_cursor.h' |
170 | --- include/test/mir/test/doubles/stub_cursor.h 2016-01-29 08:18:22 +0000 |
171 | +++ include/test/mir/test/doubles/stub_cursor.h 2017-06-19 15:01:38 +0000 |
172 | @@ -30,7 +30,6 @@ |
173 | |
174 | struct StubCursor : public graphics::Cursor |
175 | { |
176 | - void show() override {} |
177 | void show(graphics::CursorImage const&) override {} |
178 | void hide() override {} |
179 | void move_to(geometry::Point) override {} |
180 | |
181 | === modified file 'src/include/server/mir/default_server_configuration.h' |
182 | --- src/include/server/mir/default_server_configuration.h 2017-05-08 03:04:26 +0000 |
183 | +++ src/include/server/mir/default_server_configuration.h 2017-06-19 15:01:38 +0000 |
184 | @@ -208,7 +208,6 @@ |
185 | virtual std::shared_ptr<renderer::RendererFactory> the_renderer_factory(); |
186 | virtual std::shared_ptr<shell::DisplayConfigurationController> the_display_configuration_controller(); |
187 | virtual std::shared_ptr<graphics::DisplayConfigurationPolicy> the_display_configuration_policy(); |
188 | - virtual std::shared_ptr<graphics::nested::HostConnection> the_host_connection(); |
189 | virtual std::shared_ptr<graphics::GLConfig> the_gl_config(); |
190 | /** @} */ |
191 | |
192 | |
193 | === modified file 'src/platform/graphics/CMakeLists.txt' |
194 | --- src/platform/graphics/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
195 | +++ src/platform/graphics/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
196 | @@ -1,4 +1,6 @@ |
197 | -include_directories(${GL_INCLUDE_DIRS}) |
198 | +include_directories( |
199 | + ${GL_INCLUDE_DIRS} |
200 | + ${PROJECT_SOURCE_DIR}/include/renderers/gl) |
201 | |
202 | set( |
203 | GRAPHICS_SOURCES |
204 | @@ -6,6 +8,8 @@ |
205 | egl_extensions.cpp |
206 | egl_resources.cpp |
207 | egl_error.cpp |
208 | + surfaceless_egl_context.cpp |
209 | + gl_extensions_base.cpp |
210 | display_configuration.cpp |
211 | gamma_curves.cpp |
212 | buffer_basic.cpp |
213 | |
214 | === renamed file 'src/server/graphics/gl_extensions_base.cpp' => 'src/platform/graphics/gl_extensions_base.cpp' |
215 | --- src/server/graphics/gl_extensions_base.cpp 2013-12-13 05:24:22 +0000 |
216 | +++ src/platform/graphics/gl_extensions_base.cpp 2017-06-19 15:01:38 +0000 |
217 | @@ -2,15 +2,15 @@ |
218 | * Copyright © 2013 Canonical Ltd. |
219 | * |
220 | * This program is free software: you can redistribute it and/or modify it |
221 | - * under the terms of the GNU General Public License version 3, |
222 | + * under the terms of the GNU Lesser General Public License version 3, |
223 | * as published by the Free Software Foundation. |
224 | * |
225 | * This program is distributed in the hope that it will be useful, |
226 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
227 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
228 | - * GNU General Public License for more details. |
229 | + * GNU Lesser General Public License for more details. |
230 | * |
231 | - * You should have received a copy of the GNU General Public License |
232 | + * You should have received a copy of the GNU Lesser General Public License |
233 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
234 | * |
235 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
236 | |
237 | === renamed file 'src/server/graphics/surfaceless_egl_context.cpp' => 'src/platform/graphics/surfaceless_egl_context.cpp' |
238 | --- src/server/graphics/surfaceless_egl_context.cpp 2017-05-08 03:04:26 +0000 |
239 | +++ src/platform/graphics/surfaceless_egl_context.cpp 2017-06-19 15:01:38 +0000 |
240 | @@ -2,15 +2,15 @@ |
241 | * Copyright © 2013 Canonical Ltd. |
242 | * |
243 | * This program is free software: you can redistribute it and/or modify it |
244 | - * under the terms of the GNU General Public License version 3, |
245 | + * under the terms of the GNU Lesser General Public License version 3, |
246 | * as published by the Free Software Foundation. |
247 | * |
248 | * This program is distributed in the hope that it will be useful, |
249 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
250 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
251 | - * GNU General Public License for more details. |
252 | + * GNU Lesser General Public License for more details. |
253 | * |
254 | - * You should have received a copy of the GNU General Public License |
255 | + * You should have received a copy of the GNU Lesser General Public License |
256 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
257 | * |
258 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
259 | |
260 | === modified file 'src/platform/symbols.map' |
261 | --- src/platform/symbols.map 2017-05-25 08:58:03 +0000 |
262 | +++ src/platform/symbols.map 2017-06-19 15:01:38 +0000 |
263 | @@ -21,9 +21,16 @@ |
264 | mir::graphics::EventHandlerRegister::register_signal_handler*; |
265 | mir::graphics::EventHandlerRegister::unregister_fd_handler*; |
266 | mir::graphics::GammaCurves::GammaCurves*; |
267 | + mir::graphics::GLExtensionsBase::GLExtensionsBase*; |
268 | + mir::graphics::GLExtensionsBase::support*; |
269 | mir::graphics::LinearGammaLUTs::LinearGammaLUTs*; |
270 | mir::graphics::module_for_device*; |
271 | mir::graphics::operator*; |
272 | + mir::graphics::SurfacelessEGLContext::SurfacelessEGLContext*; |
273 | + mir::graphics::SurfacelessEGLContext::make_current*; |
274 | + mir::graphics::SurfacelessEGLContext::operator*; |
275 | + mir::graphics::SurfacelessEGLContext::release_current*; |
276 | + mir::graphics::SurfacelessEGLContext::?SurfacelessEGLContext*; |
277 | mir::graphics::UserDisplayConfigurationOutput::extents*; |
278 | mir::graphics::UserDisplayConfigurationOutput::UserDisplayConfigurationOutput*; |
279 | mir::options::arw_server_socket_opt*; |
280 | |
281 | === modified file 'src/platforms/CMakeLists.txt' |
282 | --- src/platforms/CMakeLists.txt 2017-05-17 04:48:46 +0000 |
283 | +++ src/platforms/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
284 | @@ -72,4 +72,5 @@ |
285 | add_subdirectory(eglstream-kms) |
286 | endif() |
287 | |
288 | +add_subdirectory(mir/) |
289 | add_subdirectory(evdev/) |
290 | |
291 | === modified file 'src/platforms/eglstream-kms/server/platform_symbols.cpp' |
292 | --- src/platforms/eglstream-kms/server/platform_symbols.cpp 2017-06-09 11:19:23 +0000 |
293 | +++ src/platforms/eglstream-kms/server/platform_symbols.cpp 2017-06-19 15:01:38 +0000 |
294 | @@ -74,7 +74,8 @@ |
295 | std::shared_ptr<mo::Option> const&, |
296 | std::shared_ptr<mir::EmergencyCleanupRegistry> const&, |
297 | std::shared_ptr<mg::DisplayReport> const&, |
298 | - std::shared_ptr<mir::logging::Logger> const&) |
299 | + std::shared_ptr<mir::logging::Logger> const&, |
300 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const&) |
301 | { |
302 | mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
303 | return mir::make_module_ptr<mge::Platform>( |
304 | |
305 | === modified file 'src/platforms/mesa/server/kms/cursor.cpp' |
306 | --- src/platforms/mesa/server/kms/cursor.cpp 2017-06-09 10:22:15 +0000 |
307 | +++ src/platforms/mesa/server/kms/cursor.cpp 2017-06-19 15:01:38 +0000 |
308 | @@ -216,17 +216,6 @@ |
309 | write_buffer_data_locked(lg, buffer, &padded[0], padded_size); |
310 | } |
311 | |
312 | -void mgm::Cursor::show() |
313 | -{ |
314 | - std::lock_guard<std::mutex> lg(guard); |
315 | - |
316 | - if (!visible) |
317 | - { |
318 | - visible = true; |
319 | - place_cursor_at_locked(lg, current_position, ForceState); |
320 | - } |
321 | -} |
322 | - |
323 | void mgm::Cursor::show(CursorImage const& cursor_image) |
324 | { |
325 | std::lock_guard<std::mutex> lg(guard); |
326 | |
327 | === modified file 'src/platforms/mesa/server/kms/cursor.h' |
328 | --- src/platforms/mesa/server/kms/cursor.h 2017-06-08 08:34:56 +0000 |
329 | +++ src/platforms/mesa/server/kms/cursor.h 2017-06-19 15:01:38 +0000 |
330 | @@ -74,7 +74,6 @@ |
331 | |
332 | ~Cursor() noexcept; |
333 | |
334 | - void show() override; |
335 | void show(CursorImage const& cursor_image) override; |
336 | void hide() override; |
337 | |
338 | |
339 | === modified file 'src/platforms/mesa/server/kms/platform_symbols.cpp' |
340 | --- src/platforms/mesa/server/kms/platform_symbols.cpp 2017-06-09 15:10:57 +0000 |
341 | +++ src/platforms/mesa/server/kms/platform_symbols.cpp 2017-06-19 15:01:38 +0000 |
342 | @@ -106,7 +106,8 @@ |
343 | std::shared_ptr<mo::Option> const& options, |
344 | std::shared_ptr<mir::EmergencyCleanupRegistry> const& emergency_cleanup_registry, |
345 | std::shared_ptr<mg::DisplayReport> const& report, |
346 | - std::shared_ptr<mir::logging::Logger> const& /*logger*/) |
347 | + std::shared_ptr<mir::logging::Logger> const& /*logger*/, |
348 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const&) |
349 | { |
350 | mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
351 | // ensure mesa finds the mesa mir-platform symbols |
352 | |
353 | === modified file 'src/platforms/mesa/server/x11/graphics/graphics.cpp' |
354 | --- src/platforms/mesa/server/x11/graphics/graphics.cpp 2017-06-09 11:24:39 +0000 |
355 | +++ src/platforms/mesa/server/x11/graphics/graphics.cpp 2017-06-19 15:01:38 +0000 |
356 | @@ -46,7 +46,8 @@ |
357 | std::shared_ptr<mo::Option> const& options, |
358 | std::shared_ptr<mir::EmergencyCleanupRegistry> const&, |
359 | std::shared_ptr<mg::DisplayReport> const& report, |
360 | - std::shared_ptr<mir::logging::Logger> const& /*logger*/) |
361 | + std::shared_ptr<mir::logging::Logger> const& /*logger*/, |
362 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const&) |
363 | { |
364 | mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
365 | if (!x11_resources.get_conn()) |
366 | |
367 | === renamed directory 'src/server/graphics/nested' => 'src/platforms/mir' |
368 | === modified file 'src/platforms/mir/CMakeLists.txt' |
369 | --- src/server/graphics/nested/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
370 | +++ src/platforms/mir/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
371 | @@ -1,7 +1,16 @@ |
372 | +add_definitions(-DMIR_SERVER_GRAPHICS_PLATFORM_VERSION="${MIR_SERVER_GRAPHICS_PLATFORM_VERSION}") |
373 | + |
374 | include_directories( |
375 | + ${PROJECT_SOURCE_DIR}/include/client |
376 | + ${PROJECT_SOURCE_DIR}/include/platform |
377 | ${PROJECT_SOURCE_DIR}/include/renderers/gl |
378 | ${PROJECT_SOURCE_DIR}/include/platforms/mesa |
379 | ${PROJECT_SOURCE_DIR}/include/platforms/common |
380 | + ${PROJECT_SOURCE_DIR}/src/include/common # TODO platforms should not depend on private headers |
381 | + ${PROJECT_SOURCE_DIR}/src/include/platform # TODO platforms should not depend on private headers |
382 | + ${PROJECT_SOURCE_DIR}/src/include/client # TODO platforms should not depend on private headers |
383 | + ${PROJECT_SOURCE_DIR}/include/server # TODO platforms should not depend on server |
384 | + ${PROJECT_SOURCE_DIR}/src/include/server # TODO platforms should not depend on private headers |
385 | ) |
386 | |
387 | add_library( |
388 | @@ -18,3 +27,35 @@ |
389 | ipc_operations.cpp |
390 | host_buffer.cpp |
391 | ) |
392 | + |
393 | +add_library(mirplatformgraphicsnested SHARED |
394 | + $<TARGET_OBJECTS:mirnestedgraphics> |
395 | + $<TARGET_OBJECTS:mirgl> |
396 | +) |
397 | + |
398 | +target_link_libraries( |
399 | + mirplatformgraphicsnested |
400 | + |
401 | + server_platform_common |
402 | + mirplatform |
403 | + mirclient |
404 | + ${EGL_LDFLAGS} ${EGL_LIBRARIES} |
405 | + ${GLESv2_LDFLAGS} ${GLESv2_LIBRARIES} |
406 | + ${Boost_PROGRAM_OPTIONS_LIBRARY} |
407 | +) |
408 | + |
409 | +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/symbols.map.in |
410 | + ${CMAKE_CURRENT_BINARY_DIR}/symbols.map) |
411 | +set(symbol_map ${CMAKE_CURRENT_BINARY_DIR}/symbols.map) |
412 | + |
413 | +set_target_properties( |
414 | + mirplatformgraphicsnested PROPERTIES |
415 | + OUTPUT_NAME server-mir |
416 | + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/server-modules |
417 | + PREFIX "" |
418 | + SUFFIX ".so.${MIR_SERVER_GRAPHICS_PLATFORM_ABI}" |
419 | + LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}" |
420 | + LINK_DEPENDS ${symbol_map} |
421 | +) |
422 | + |
423 | +install(TARGETS mirplatformgraphicsnested LIBRARY DESTINATION ${MIR_SERVER_PLATFORM_PATH}) |
424 | |
425 | === modified file 'src/platforms/mir/cursor.cpp' |
426 | --- src/server/graphics/nested/cursor.cpp 2017-05-08 03:04:26 +0000 |
427 | +++ src/platforms/mir/cursor.cpp 2017-06-19 15:01:38 +0000 |
428 | @@ -24,9 +24,8 @@ |
429 | namespace mgn = mir::graphics::nested; |
430 | namespace geom = mir::geometry; |
431 | |
432 | -mgn::Cursor::Cursor(std::shared_ptr<HostConnection> const& host_connection, std::shared_ptr<mg::CursorImage> const& default_image) |
433 | - : connection(host_connection), |
434 | - default_image(default_image) |
435 | +mgn::Cursor::Cursor(std::shared_ptr<HostConnection> const& host_connection) |
436 | + : connection(host_connection) |
437 | { |
438 | } |
439 | |
440 | @@ -43,11 +42,6 @@ |
441 | connection->set_cursor_image(cursor_image); |
442 | } |
443 | |
444 | -void mgn::Cursor::show() |
445 | -{ |
446 | - connection->set_cursor_image(*default_image); |
447 | -} |
448 | - |
449 | void mgn::Cursor::hide() |
450 | { |
451 | connection->hide_cursor(); |
452 | |
453 | === modified file 'src/platforms/mir/cursor.h' |
454 | --- src/server/graphics/nested/cursor.h 2016-01-29 08:18:22 +0000 |
455 | +++ src/platforms/mir/cursor.h 2017-06-19 15:01:38 +0000 |
456 | @@ -31,18 +31,16 @@ |
457 | class Cursor : public graphics::Cursor |
458 | { |
459 | public: |
460 | - Cursor(std::shared_ptr<HostConnection> const& host_connection, std::shared_ptr<CursorImage> const& default_image); |
461 | + Cursor(std::shared_ptr<HostConnection> const& host_connection); |
462 | ~Cursor(); |
463 | |
464 | void show(CursorImage const& image) override; |
465 | - void show() override; |
466 | - |
467 | + |
468 | void hide() override; |
469 | |
470 | void move_to(geometry::Point position) override; |
471 | private: |
472 | std::shared_ptr<HostConnection> const connection; |
473 | - std::shared_ptr<CursorImage> const default_image; |
474 | }; |
475 | } |
476 | } |
477 | |
478 | === modified file 'src/platforms/mir/display.cpp' |
479 | --- src/server/graphics/nested/display.cpp 2017-05-31 17:56:19 +0000 |
480 | +++ src/platforms/mir/display.cpp 2017-06-19 15:01:38 +0000 |
481 | @@ -17,6 +17,7 @@ |
482 | */ |
483 | |
484 | #include "display.h" |
485 | +#include "cursor.h" |
486 | #include "nested_display_configuration.h" |
487 | #include "display_buffer.h" |
488 | #include "host_connection.h" |
489 | @@ -365,8 +366,7 @@ |
490 | |
491 | auto mgn::Display::create_hardware_cursor() -> std::shared_ptr<mg::Cursor> |
492 | { |
493 | - BOOST_THROW_EXCEPTION(std::logic_error("Initialization loop: we already need the Cursor when creating the Display")); |
494 | - // So we can't do this: return std::make_shared<Cursor>(connection); |
495 | + return std::make_shared<Cursor>(connection); |
496 | } |
497 | |
498 | std::unique_ptr<mg::VirtualOutput> mgn::Display::create_virtual_output(int /*width*/, int /*height*/) |
499 | |
500 | === modified file 'src/platforms/mir/platform.cpp' |
501 | --- src/server/graphics/nested/platform.cpp 2017-06-09 14:16:54 +0000 |
502 | +++ src/platforms/mir/platform.cpp 2017-06-19 15:01:38 +0000 |
503 | @@ -19,13 +19,24 @@ |
504 | #include "platform.h" |
505 | #include "host_connection.h" |
506 | #include "display.h" |
507 | +#include "mir_client_host_connection.h" |
508 | #include "buffer.h" |
509 | #include "native_buffer.h" |
510 | #include "ipc_operations.h" |
511 | #include "mir/shared_library.h" |
512 | +#include "mir/module_deleter.h" |
513 | +#include "mir/options/option.h" |
514 | +#include "mir/options/configuration.h" |
515 | +#include "mir/options/program_option.h" |
516 | +#include "mir/options/default_configuration.h" |
517 | #include "mir/graphics/graphic_buffer_allocator.h" |
518 | #include "mir/graphics/display.h" |
519 | #include "mir/graphics/platform_ipc_operations.h" |
520 | +#include "mir/input/platform.h" |
521 | +#include "input_platform.h" |
522 | +#include "mir/libname.h" |
523 | +#include "mir/assert_module_entry_point.h" |
524 | +#include "mir/abnormal_exit.h" |
525 | #include "mir/options/option.h" |
526 | #include "mir/options/configuration.h" |
527 | #include "mir/graphics/buffer_ipc_message.h" |
528 | @@ -34,6 +45,7 @@ |
529 | #include "mir/graphics/platform_authentication_wrapper.h" |
530 | #include "mir/renderer/gl/egl_platform.h" |
531 | |
532 | +namespace mi = mir::input; |
533 | namespace mg = mir::graphics; |
534 | namespace mgn = mir::graphics::nested; |
535 | namespace mo = mir::options; |
536 | @@ -222,3 +234,125 @@ |
537 | { |
538 | return display_platform->extensions(); |
539 | } |
540 | + |
541 | +namespace |
542 | +{ |
543 | +std::shared_ptr<mgn::MirClientHostConnection> global_conn = nullptr; |
544 | + |
545 | +mir::ModuleProperties const graphics_description = { |
546 | + "mir:mir", |
547 | + MIR_VERSION_MAJOR, |
548 | + MIR_VERSION_MINOR, |
549 | + MIR_VERSION_MICRO, |
550 | + mir::libname() |
551 | +}; |
552 | + |
553 | +mir::ModuleProperties const input_description = { |
554 | + "mir:mir-input", |
555 | + MIR_VERSION_MAJOR, |
556 | + MIR_VERSION_MINOR, |
557 | + MIR_VERSION_MICRO, |
558 | + mir::libname() |
559 | +}; |
560 | +} |
561 | + |
562 | +mir::UniqueModulePtr<mg::Platform> create_host_platform( |
563 | + std::shared_ptr<mo::Option> const& options, |
564 | + std::shared_ptr<mir::EmergencyCleanupRegistry> const&, |
565 | + std::shared_ptr<mir::graphics::DisplayReport> const& display_report, |
566 | + std::shared_ptr<mir::logging::Logger> const&, |
567 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const& host_lifecycle_event_listener) |
568 | +{ |
569 | + mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
570 | + |
571 | + if (!options->is_set(mo::host_socket_opt)) |
572 | + BOOST_THROW_EXCEPTION(mir::AbnormalExit( |
573 | + std::string("Exiting Mir! Reason: Nested Mir needs either $MIR_SOCKET or --") + |
574 | + mo::host_socket_opt)); |
575 | + |
576 | + auto host_socket = options->get<std::string>(mo::host_socket_opt); |
577 | + |
578 | + std::string server_socket{"none"}; |
579 | + |
580 | + if (!options->is_set(mir::options::no_server_socket_opt)) |
581 | + { |
582 | + server_socket = options->get<std::string>(mo::server_socket_opt); |
583 | + |
584 | + if (server_socket == host_socket) |
585 | + BOOST_THROW_EXCEPTION(mir::AbnormalExit( |
586 | + "Exiting Mir! Reason: Nested Mir and Host Mir cannot use " |
587 | + "the same socket file to accept connections!")); |
588 | + } |
589 | + |
590 | + auto const my_name = options->is_set(mo::name_opt) ? |
591 | + options->get<std::string>(mo::name_opt) : |
592 | + "nested-mir@:" + server_socket; |
593 | + |
594 | + auto connection = std::make_shared<mgn::MirClientHostConnection>( |
595 | + host_socket, |
596 | + my_name, |
597 | + host_lifecycle_event_listener); |
598 | + |
599 | + auto const platform_library = std::make_shared<mir::SharedLibrary>(connection->graphics_platform_library()); |
600 | + |
601 | + auto const buffer_platform = std::make_shared<mgn::NestedBufferPlatform>( |
602 | + platform_library, connection, display_report, options); |
603 | + |
604 | + global_conn = connection; |
605 | + return mir::make_module_ptr<mgn::Platform>( |
606 | + buffer_platform, |
607 | + std::make_unique<mgn::NestedDisplayPlatform>(buffer_platform, connection, display_report, *options)); |
608 | +} |
609 | + |
610 | +void add_graphics_platform_options(boost::program_options::options_description&) |
611 | +{ |
612 | + mir::assert_entry_point_signature<mg::AddPlatformOptions>(&add_graphics_platform_options); |
613 | +} |
614 | + |
615 | +mg::PlatformPriority probe_graphics_platform(mo::ProgramOption const& options) |
616 | +{ |
617 | + mir::assert_entry_point_signature<mg::PlatformProbe>(&probe_graphics_platform); |
618 | + |
619 | + bool option_present = false; |
620 | + for (auto &s : options.unparsed_command_line()) |
621 | + option_present |= (s.find(mo::host_socket_opt) != std::string::npos); |
622 | + option_present |= options.is_set(mo::host_socket_opt); |
623 | + option_present |= (nullptr != getenv("MIR_SERVER_HOST_SOCKET")); |
624 | + |
625 | + if (option_present) |
626 | + return mg::PlatformPriority::requested; |
627 | + else |
628 | + return mg::PlatformPriority::unsupported; |
629 | +} |
630 | + |
631 | +mir::ModuleProperties const* describe_graphics_module() |
632 | +{ |
633 | + mir::assert_entry_point_signature<mg::DescribeModule>(&describe_graphics_module); |
634 | + return &graphics_description; |
635 | +} |
636 | + |
637 | +mi::PlatformPriority probe_input_platform( |
638 | + mo::Option const& options) |
639 | +{ |
640 | + mir::assert_entry_point_signature<mi::ProbePlatform>(&probe_input_platform); |
641 | + if (options.is_set("host-socket")) |
642 | + return mi::PlatformPriority::best; |
643 | + return mi::PlatformPriority::unsupported; |
644 | +} |
645 | + |
646 | +mir::UniqueModulePtr<mi::Platform> create_input_platform( |
647 | + mo::Option const& /*options*/, |
648 | + std::shared_ptr<mir::EmergencyCleanupRegistry> const& /*emergency_cleanup_registry*/, |
649 | + std::shared_ptr<mi::InputDeviceRegistry> const& input_device_registry, |
650 | + std::shared_ptr<mi::InputReport> const& input_report) |
651 | +{ |
652 | + mir::assert_entry_point_signature<mi::CreatePlatform>(&create_input_platform); |
653 | + return mir::make_module_ptr<mgn::InputPlatform>(global_conn, input_device_registry, input_report); |
654 | +} |
655 | + |
656 | +mir::ModuleProperties const* describe_input_module() |
657 | +{ |
658 | + mir::assert_entry_point_signature<mi::DescribeModule>(&describe_input_module); |
659 | + return &input_description; |
660 | +} |
661 | + |
662 | |
663 | === added file 'src/platforms/mir/symbols.map.in' |
664 | --- src/platforms/mir/symbols.map.in 1970-01-01 00:00:00 +0000 |
665 | +++ src/platforms/mir/symbols.map.in 2017-06-19 15:01:38 +0000 |
666 | @@ -0,0 +1,20 @@ |
667 | +@MIR_SERVER_GRAPHICS_PLATFORM_VERSION@ { |
668 | + global: |
669 | + add_graphics_platform_options; |
670 | + create_host_platform; |
671 | + create_guest_platform; |
672 | + probe_graphics_platform; |
673 | + describe_graphics_module; |
674 | + local: |
675 | + *; |
676 | +}; |
677 | + |
678 | +@MIR_SERVER_INPUT_PLATFORM_VERSION@ { |
679 | + global: |
680 | + add_input_platform_options; |
681 | + create_input_platform; |
682 | + probe_input_platform; |
683 | + describe_input_module; |
684 | + local: |
685 | + *; |
686 | +}; |
687 | |
688 | === modified file 'src/server/CMakeLists.txt' |
689 | --- src/server/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
690 | +++ src/server/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
691 | @@ -81,7 +81,6 @@ |
692 | $<TARGET_OBJECTS:mirreport> |
693 | $<TARGET_OBJECTS:mirlogging> |
694 | $<TARGET_OBJECTS:mirnullreport> |
695 | - $<TARGET_OBJECTS:mirnestedgraphics> |
696 | $<TARGET_OBJECTS:miroffscreengraphics> |
697 | $<TARGET_OBJECTS:mirthread> |
698 | |
699 | |
700 | === modified file 'src/server/graphics/CMakeLists.txt' |
701 | --- src/server/graphics/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
702 | +++ src/server/graphics/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
703 | @@ -8,13 +8,10 @@ |
704 | |
705 | default_configuration.cpp |
706 | default_display_configuration_policy.cpp |
707 | - gl_extensions_base.cpp |
708 | - surfaceless_egl_context.cpp |
709 | software_cursor.cpp |
710 | ${PROJECT_SOURCE_DIR}/include/server/mir/graphics/display_configuration_observer.h |
711 | display_configuration_observer_multiplexer.cpp |
712 | display_configuration_observer_multiplexer.h |
713 | ) |
714 | |
715 | -add_subdirectory(nested/) |
716 | add_subdirectory(offscreen/) |
717 | |
718 | === modified file 'src/server/graphics/default_configuration.cpp' |
719 | --- src/server/graphics/default_configuration.cpp 2017-05-31 17:56:19 +0000 |
720 | +++ src/server/graphics/default_configuration.cpp 2017-06-19 15:01:38 +0000 |
721 | @@ -22,16 +22,14 @@ |
722 | |
723 | #include "mir/graphics/default_display_configuration_policy.h" |
724 | #include "mir/graphics/graphic_buffer_allocator.h" |
725 | -#include "nested/mir_client_host_connection.h" |
726 | -#include "nested/cursor.h" |
727 | -#include "nested/display.h" |
728 | -#include "nested/platform.h" |
729 | +#include "mir/renderer/gl/egl_platform.h" |
730 | #include "offscreen/display.h" |
731 | #include "software_cursor.h" |
732 | |
733 | #include "mir/graphics/gl_config.h" |
734 | #include "mir/graphics/platform.h" |
735 | #include "mir/graphics/cursor.h" |
736 | +#include "mir/graphics/display.h" |
737 | #include "mir/graphics/platform_probe.h" |
738 | #include "display_configuration_observer_multiplexer.h" |
739 | |
740 | @@ -52,7 +50,6 @@ |
741 | |
742 | namespace mg = mir::graphics; |
743 | namespace ml = mir::logging; |
744 | -namespace mgn = mir::graphics::nested; |
745 | |
746 | std::shared_ptr<mg::DisplayConfigurationPolicy> |
747 | mir::DefaultServerConfiguration::the_display_configuration_policy() |
748 | @@ -81,21 +78,6 @@ |
749 | std::stringstream error_report; |
750 | try |
751 | { |
752 | - // if a host socket is set we should use the host graphics module to create a "guest" platform |
753 | - if (the_options()->is_set(options::host_socket_opt)) |
754 | - { |
755 | - auto const host_connection = the_host_connection(); |
756 | - |
757 | - platform_library = std::make_shared<mir::SharedLibrary>(host_connection->graphics_platform_library()); |
758 | - auto buffer_platform = std::make_shared<mgn::NestedBufferPlatform>( |
759 | - platform_library, host_connection, the_display_report(), the_options()); |
760 | - return std::make_shared<mgn::Platform>( |
761 | - buffer_platform, |
762 | - std::make_unique<mgn::NestedDisplayPlatform>( |
763 | - buffer_platform, host_connection, the_display_report(), *the_options())); |
764 | - } |
765 | - |
766 | - // fallback to standalone if host socket is unset |
767 | if (the_options()->is_set(options::platform_graphics_lib)) |
768 | { |
769 | platform_library = std::make_shared<mir::SharedLibrary>(the_options()->get<std::string>(options::platform_graphics_lib)); |
770 | @@ -124,7 +106,12 @@ |
771 | description->minor_version, |
772 | description->micro_version); |
773 | |
774 | - return create_host_platform(the_options(), the_emergency_cleanup(), the_display_report(), the_logger()); |
775 | + return create_host_platform( |
776 | + the_options(), |
777 | + the_emergency_cleanup(), |
778 | + the_display_report(), |
779 | + the_logger(), |
780 | + the_host_lifecycle_event_listener()); |
781 | } |
782 | catch(...) |
783 | { |
784 | @@ -186,14 +173,7 @@ |
785 | |
786 | auto cursor_choice = the_options()->get<std::string>(options::cursor_opt); |
787 | |
788 | - if (the_options()->is_set(options::host_socket_opt)) |
789 | - { |
790 | - mir::log_info("Using nested cursor"); |
791 | - primary_cursor = std::make_shared<mgn::Cursor>( |
792 | - the_host_connection(), |
793 | - the_default_cursor_image()); |
794 | - } |
795 | - else if (cursor_choice != "software" && |
796 | + if (cursor_choice != "software" && |
797 | (primary_cursor = the_display()->create_hardware_cursor())) |
798 | { |
799 | mir::log_info("Using hardware cursor"); |
800 | @@ -217,51 +197,6 @@ |
801 | return wrapped; |
802 | } |
803 | |
804 | -auto mir::DefaultServerConfiguration::the_host_connection() |
805 | --> std::shared_ptr<graphics::nested::HostConnection> |
806 | -{ |
807 | - return the_mir_client_host_connection(); |
808 | -} |
809 | - |
810 | -auto mir::DefaultServerConfiguration::the_mir_client_host_connection() |
811 | --> std::shared_ptr<graphics::nested::MirClientHostConnection> |
812 | -{ |
813 | - return host_connection( |
814 | - [this]() |
815 | - { |
816 | - auto const options = the_options(); |
817 | - |
818 | - if (!options->is_set(options::host_socket_opt)) |
819 | - BOOST_THROW_EXCEPTION(mir::AbnormalExit( |
820 | - std::string("Exiting Mir! Reason: Nested Mir needs either $MIR_SOCKET or --") + |
821 | - options::host_socket_opt)); |
822 | - |
823 | - auto host_socket = options->get<std::string>(options::host_socket_opt); |
824 | - |
825 | - std::string server_socket{"none"}; |
826 | - |
827 | - if (!the_options()->is_set(options::no_server_socket_opt)) |
828 | - { |
829 | - server_socket = the_socket_file(); |
830 | - |
831 | - if (server_socket == host_socket) |
832 | - BOOST_THROW_EXCEPTION(mir::AbnormalExit( |
833 | - "Exiting Mir! Reason: Nested Mir and Host Mir cannot use " |
834 | - "the same socket file to accept connections!")); |
835 | - } |
836 | - |
837 | - auto const my_name = options->is_set(options::name_opt) ? |
838 | - options->get<std::string>(options::name_opt) : |
839 | - "nested-mir@:" + server_socket; |
840 | - |
841 | - return std::make_shared<graphics::nested::MirClientHostConnection>( |
842 | - host_socket, |
843 | - my_name, |
844 | - the_host_lifecycle_event_listener() |
845 | - ); |
846 | - }); |
847 | -} |
848 | - |
849 | std::shared_ptr<mg::GLConfig> |
850 | mir::DefaultServerConfiguration::the_gl_config() |
851 | { |
852 | |
853 | === modified file 'src/server/graphics/software_cursor.cpp' |
854 | --- src/server/graphics/software_cursor.cpp 2017-05-08 03:04:26 +0000 |
855 | +++ src/server/graphics/software_cursor.cpp 2017-06-19 15:01:38 +0000 |
856 | @@ -129,18 +129,6 @@ |
857 | hide(); |
858 | } |
859 | |
860 | -void mg::SoftwareCursor::show() |
861 | -{ |
862 | - bool needs_scene_change = false; |
863 | - { |
864 | - std::lock_guard<std::mutex> lg{guard}; |
865 | - if (!visible) |
866 | - visible = needs_scene_change = true; |
867 | - } |
868 | - if (needs_scene_change && renderable) |
869 | - scene->add_input_visualization(renderable); |
870 | -} |
871 | - |
872 | void mg::SoftwareCursor::show(CursorImage const& cursor_image) |
873 | { |
874 | std::shared_ptr<detail::CursorRenderable> new_renderable; |
875 | |
876 | === modified file 'src/server/graphics/software_cursor.h' |
877 | --- src/server/graphics/software_cursor.h 2015-06-17 05:20:42 +0000 |
878 | +++ src/server/graphics/software_cursor.h 2017-06-19 15:01:38 +0000 |
879 | @@ -45,7 +45,6 @@ |
880 | std::shared_ptr<input::Scene> const& scene); |
881 | ~SoftwareCursor(); |
882 | |
883 | - void show() override; |
884 | void show(CursorImage const& cursor_image) override; |
885 | void hide() override; |
886 | void move_to(geometry::Point position) override; |
887 | |
888 | === modified file 'src/server/input/default_configuration.cpp' |
889 | --- src/server/input/default_configuration.cpp 2017-05-25 08:58:03 +0000 |
890 | +++ src/server/input/default_configuration.cpp 2017-06-19 15:01:38 +0000 |
891 | @@ -32,7 +32,6 @@ |
892 | #include "surface_input_dispatcher.h" |
893 | #include "basic_seat.h" |
894 | #include "seat_observer_multiplexer.h" |
895 | -#include "../graphics/nested/input_platform.h" |
896 | |
897 | #include "mir/input/touch_visualizer.h" |
898 | #include "mir/input/input_probe.h" |
899 | @@ -56,7 +55,6 @@ |
900 | namespace mr = mir::report; |
901 | namespace ms = mir::scene; |
902 | namespace mg = mir::graphics; |
903 | -namespace mgn = mg::nested; |
904 | namespace msh = mir::shell; |
905 | namespace md = mir::dispatch; |
906 | |
907 | @@ -200,16 +198,6 @@ |
908 | { |
909 | return std::make_shared<mi::NullInputManager>(); |
910 | } |
911 | - else if (options->is_set(options::host_socket_opt)) |
912 | - { |
913 | - auto const device_registry = the_input_device_registry(); |
914 | - auto const input_report = the_input_report(); |
915 | - |
916 | - // TODO: move this into a nested graphics platform |
917 | - auto platform = std::make_shared<mgn::InputPlatform>(the_host_connection(), device_registry, input_report); |
918 | - |
919 | - return std::make_shared<mi::DefaultInputManager>(the_input_reading_multiplexer(), std::move(platform)); |
920 | - } |
921 | else |
922 | { |
923 | auto const emergency_cleanup = the_emergency_cleanup(); |
924 | |
925 | === modified file 'src/server/symbols.map' |
926 | --- src/server/symbols.map 2017-05-08 03:04:26 +0000 |
927 | +++ src/server/symbols.map 2017-06-19 15:01:38 +0000 |
928 | @@ -866,7 +866,6 @@ |
929 | mir::DefaultServerConfiguration::the_gl_config*; |
930 | mir::DefaultServerConfiguration::the_global_event_sink*; |
931 | mir::DefaultServerConfiguration::the_graphics_platform*; |
932 | - mir::DefaultServerConfiguration::the_host_connection*; |
933 | mir::DefaultServerConfiguration::the_host_lifecycle_event_listener*; |
934 | mir::DefaultServerConfiguration::the_input_configuration_changer*; |
935 | mir::DefaultServerConfiguration::the_input_device_hub*; |
936 | |
937 | === modified file 'tests/acceptance-tests/test_nested_mir.cpp' |
938 | --- tests/acceptance-tests/test_nested_mir.cpp 2017-05-08 03:04:26 +0000 |
939 | +++ tests/acceptance-tests/test_nested_mir.cpp 2017-06-19 15:01:38 +0000 |
940 | @@ -115,7 +115,8 @@ |
941 | |
942 | struct MockCursor : public mtd::StubCursor |
943 | { |
944 | -MOCK_METHOD1(show, void(mg::CursorImage const&)); |
945 | + MOCK_METHOD1(show, void(mg::CursorImage const&)); |
946 | + MOCK_METHOD0(hide, void()); |
947 | }; |
948 | |
949 | struct MockHostLifecycleEventListener : msh::HostLifecycleEventListener |
950 | @@ -200,22 +201,13 @@ |
951 | struct CursorWrapper : mg::Cursor |
952 | { |
953 | CursorWrapper(std::shared_ptr<mg::Cursor> const& wrapped) : wrapped{wrapped} {} |
954 | - void show() override { if (!hidden) wrapped->show(); } |
955 | - void show(mg::CursorImage const& cursor_image) override { if (!hidden) wrapped->show(cursor_image); } |
956 | + void show(mg::CursorImage const& cursor_image) override { wrapped->show(cursor_image); } |
957 | void hide() override { wrapped->hide(); } |
958 | |
959 | void move_to(geom::Point position) override { wrapped->move_to(position); } |
960 | |
961 | - void set_hidden(bool hidden) |
962 | - { |
963 | - this->hidden = hidden; |
964 | - if (hidden) hide(); |
965 | - else show(); |
966 | - } |
967 | - |
968 | private: |
969 | std::shared_ptr<mg::Cursor> const wrapped; |
970 | - bool hidden{false}; |
971 | }; |
972 | |
973 | struct MockDisplayConfigurationPolicy : mg::DisplayConfigurationPolicy |
974 | @@ -264,6 +256,7 @@ |
975 | |
976 | virtual ~NestedMirRunner() |
977 | { |
978 | + cursor_wrapper.reset(); |
979 | stop_server(); |
980 | } |
981 | |
982 | @@ -1051,9 +1044,9 @@ |
983 | condition.wait_for(timeout); |
984 | Mock::VerifyAndClearExpectations(mock_cursor.get()); |
985 | |
986 | - nested_mir.cursor_wrapper->set_hidden(true); |
987 | + EXPECT_CALL(*mock_cursor, hide()).Times(AtLeast(1)); |
988 | |
989 | - EXPECT_CALL(*mock_cursor, show(_)).Times(0); |
990 | + nested_mir.cursor_wrapper->hide(); |
991 | |
992 | for (int i = 0; i != frames; ++i) |
993 | { |
994 | |
995 | === modified file 'tests/include/mir/test/doubles/stub_host_connection.h' |
996 | --- tests/include/mir/test/doubles/stub_host_connection.h 2017-06-09 14:16:54 +0000 |
997 | +++ tests/include/mir/test/doubles/stub_host_connection.h 2017-06-19 15:01:38 +0000 |
998 | @@ -19,12 +19,14 @@ |
999 | #ifndef MIR_TEST_DOUBLES_STUB_HOST_CONNECTION_H_ |
1000 | #define MIR_TEST_DOUBLES_STUB_HOST_CONNECTION_H_ |
1001 | |
1002 | -#include "src/server/graphics/nested/host_connection.h" |
1003 | -#include "src/server/graphics/nested/host_surface.h" |
1004 | -#include "src/server/graphics/nested/host_stream.h" |
1005 | -#include "src/server/graphics/nested/host_chain.h" |
1006 | -#include "src/server/graphics/nested/host_surface_spec.h" |
1007 | #include "src/client/display_configuration.h" |
1008 | +#include "src/platforms/mir/host_connection.h" |
1009 | +#include "src/platforms/mir/host_surface.h" |
1010 | +#include "src/platforms/mir/host_connection.h" |
1011 | +#include "src/platforms/mir/host_surface.h" |
1012 | +#include "src/platforms/mir/host_stream.h" |
1013 | +#include "src/platforms/mir/host_chain.h" |
1014 | +#include "src/platforms/mir/host_surface_spec.h" |
1015 | #include "src/include/client/mir/input/input_devices.h" |
1016 | #include "mir/graphics/platform_operation_message.h" |
1017 | |
1018 | |
1019 | === modified file 'tests/mir_test_framework/headless_nested_server_runner.cpp' |
1020 | --- tests/mir_test_framework/headless_nested_server_runner.cpp 2017-05-08 03:04:26 +0000 |
1021 | +++ tests/mir_test_framework/headless_nested_server_runner.cpp 2017-06-19 15:01:38 +0000 |
1022 | @@ -25,7 +25,7 @@ |
1023 | mtf::HeadlessNestedServerRunner::HeadlessNestedServerRunner(std::string const& connect_string) : |
1024 | passthrough_tracker(std::make_shared<mtf::PassthroughTracker>()) |
1025 | { |
1026 | - add_to_environment("MIR_SERVER_PLATFORM_GRAPHICS_LIB", mtf::server_platform("graphics-dummy.so").c_str()); |
1027 | + add_to_environment("MIR_SERVER_PLATFORM_GRAPHICS_LIB", mtf::server_platform("server-mir.so.13").c_str()); |
1028 | add_to_environment("MIR_SERVER_HOST_SOCKET", connect_string.c_str()); |
1029 | server.override_the_display_buffer_compositor_factory([this] |
1030 | { |
1031 | |
1032 | === modified file 'tests/mir_test_framework/platform_graphics_throw.cpp' |
1033 | --- tests/mir_test_framework/platform_graphics_throw.cpp 2017-06-09 11:19:23 +0000 |
1034 | +++ tests/mir_test_framework/platform_graphics_throw.cpp 2017-06-19 15:01:38 +0000 |
1035 | @@ -55,7 +55,7 @@ |
1036 | mir::SharedLibrary stub_platform_library{std::string(platform_path) + "/graphics-dummy.so"}; |
1037 | auto create_stub_platform = stub_platform_library.load_function<mg::CreateHostPlatform>("create_host_platform"); |
1038 | |
1039 | - stub_platform = create_stub_platform(nullptr, nullptr, nullptr, nullptr); |
1040 | + stub_platform = create_stub_platform(nullptr, nullptr, nullptr, nullptr, nullptr); |
1041 | } |
1042 | |
1043 | mir::UniqueModulePtr<mg::GraphicBufferAllocator> create_buffer_allocator() override |
1044 | @@ -170,7 +170,8 @@ |
1045 | std::shared_ptr<mo::Option> const&, |
1046 | std::shared_ptr<mir::EmergencyCleanupRegistry> const&, |
1047 | std::shared_ptr<mg::DisplayReport> const&, |
1048 | - std::shared_ptr<mir::logging::Logger> const&) |
1049 | + std::shared_ptr<mir::logging::Logger> const&, |
1050 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const&) |
1051 | { |
1052 | mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
1053 | return mir::make_module_ptr<ExceptionThrowingPlatform>(); |
1054 | |
1055 | === modified file 'tests/mir_test_framework/stubbed_graphics_platform.cpp' |
1056 | --- tests/mir_test_framework/stubbed_graphics_platform.cpp 2017-06-09 11:19:23 +0000 |
1057 | +++ tests/mir_test_framework/stubbed_graphics_platform.cpp 2017-06-19 15:01:38 +0000 |
1058 | @@ -357,7 +357,8 @@ |
1059 | std::shared_ptr<mo::Option> const&, |
1060 | std::shared_ptr<mir::EmergencyCleanupRegistry> const&, |
1061 | std::shared_ptr<mg::DisplayReport> const&, |
1062 | - std::shared_ptr<mir::logging::Logger> const&) |
1063 | + std::shared_ptr<mir::logging::Logger> const&, |
1064 | + std::shared_ptr<mir::shell::HostLifecycleEventListener> const&) |
1065 | { |
1066 | mir::assert_entry_point_signature<mg::CreateHostPlatform>(&create_host_platform); |
1067 | std::shared_ptr<mg::Platform> result{}; |
1068 | |
1069 | === modified file 'tests/unit-tests/graphics/test_software_cursor.cpp' |
1070 | --- tests/unit-tests/graphics/test_software_cursor.cpp 2017-05-08 03:04:26 +0000 |
1071 | +++ tests/unit-tests/graphics/test_software_cursor.cpp 2017-06-19 15:01:38 +0000 |
1072 | @@ -199,25 +199,6 @@ |
1073 | cursor.move_to({22,23}); |
1074 | } |
1075 | |
1076 | -TEST_F(SoftwareCursor, multiple_shows_just_show) |
1077 | -{ |
1078 | - using namespace testing; |
1079 | - |
1080 | - InSequence s; |
1081 | - EXPECT_CALL(mock_input_scene, add_input_visualization(_)); |
1082 | - |
1083 | - EXPECT_CALL(mock_input_scene, remove_input_visualization(_)); |
1084 | - EXPECT_CALL(mock_input_scene, add_input_visualization(_)); |
1085 | - |
1086 | - EXPECT_CALL(mock_input_scene, remove_input_visualization(_)); // removal on destruction |
1087 | - |
1088 | - cursor.show(stub_cursor_image); |
1089 | - cursor.hide(); |
1090 | - cursor.show(); |
1091 | - cursor.show(); |
1092 | -} |
1093 | - |
1094 | - |
1095 | TEST_F(SoftwareCursor, creates_renderable_with_filled_buffer) |
1096 | { |
1097 | using namespace testing; |
1098 | |
1099 | === modified file 'tests/unit-tests/input/CMakeLists.txt' |
1100 | --- tests/unit-tests/input/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
1101 | +++ tests/unit-tests/input/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
1102 | @@ -16,7 +16,6 @@ |
1103 | ${CMAKE_CURRENT_SOURCE_DIR}/test_seat_input_device_tracker.cpp |
1104 | ${CMAKE_CURRENT_SOURCE_DIR}/test_key_repeat_dispatcher.cpp |
1105 | ${CMAKE_CURRENT_SOURCE_DIR}/test_validator.cpp |
1106 | - ${CMAKE_CURRENT_SOURCE_DIR}/test_nested_input_platform.cpp |
1107 | ) |
1108 | |
1109 | list(APPEND UMOCK_UNIT_TEST_SOURCES |
1110 | |
1111 | === modified file 'tests/unit-tests/platforms/mesa/kms/test_cursor.cpp' |
1112 | --- tests/unit-tests/platforms/mesa/kms/test_cursor.cpp 2017-06-07 08:29:04 +0000 |
1113 | +++ tests/unit-tests/platforms/mesa/kms/test_cursor.cpp 2017-06-19 15:01:38 +0000 |
1114 | @@ -760,7 +760,7 @@ |
1115 | output_container.verify_and_clear_expectations(); |
1116 | |
1117 | EXPECT_CALL(*output_container.outputs[0], set_cursor(_)); |
1118 | - cursor.show(); |
1119 | + cursor.show(stub_image); |
1120 | } |
1121 | |
1122 | TEST_F(MesaCursorTest, show_cursor_sets_cursor_with_hotspot) |
1123 | |
1124 | === modified file 'tests/unit-tests/platforms/nested/CMakeLists.txt' |
1125 | --- tests/unit-tests/platforms/nested/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
1126 | +++ tests/unit-tests/platforms/nested/CMakeLists.txt 2017-06-19 15:01:38 +0000 |
1127 | @@ -5,11 +5,13 @@ |
1128 | ${CMAKE_CURRENT_SOURCE_DIR}/test_nested_cursor.cpp |
1129 | ${CMAKE_CURRENT_SOURCE_DIR}/test_buffer.cpp |
1130 | ${CMAKE_CURRENT_SOURCE_DIR}/test_nested_display_buffer.cpp |
1131 | + ${CMAKE_CURRENT_SOURCE_DIR}/test_nested_input_platform.cpp |
1132 | ${CMAKE_CURRENT_SOURCE_DIR}/test_ipc_operations.cpp |
1133 | ${CMAKE_CURRENT_SOURCE_DIR}/test_host_buffer.cpp |
1134 | $<TARGET_OBJECTS:mir-test-doubles-udev> |
1135 | ${MIR_PLATFORM_OBJECTS} |
1136 | ${MIR_SERVER_OBJECTS} |
1137 | + $<TARGET_OBJECTS:mirnestedgraphics> |
1138 | ) |
1139 | |
1140 | target_link_libraries( |
1141 | |
1142 | === modified file 'tests/unit-tests/platforms/nested/test_buffer.cpp' |
1143 | --- tests/unit-tests/platforms/nested/test_buffer.cpp 2017-05-08 03:04:26 +0000 |
1144 | +++ tests/unit-tests/platforms/nested/test_buffer.cpp 2017-06-19 15:01:38 +0000 |
1145 | @@ -16,8 +16,11 @@ |
1146 | * Authored by: Kevin DuBois <kevin.dubois@canonical.com> |
1147 | */ |
1148 | |
1149 | -#include "src/server/graphics/nested/native_buffer.h" |
1150 | -#include "src/server/graphics/nested/buffer.h" |
1151 | +#include "src/platforms/mir/buffer.h" |
1152 | +#include "src/platforms/mir/native_buffer.h" |
1153 | +#include "src/platforms/mir/buffer.h" |
1154 | +#include "src/platforms/mir/native_buffer.h" |
1155 | +#include "src/platforms/mir/buffer.h" |
1156 | #include "src/client/buffer.h" |
1157 | #include "mir/graphics/buffer_properties.h" |
1158 | #include "mir/test/doubles/stub_host_connection.h" |
1159 | |
1160 | === modified file 'tests/unit-tests/platforms/nested/test_host_buffer.cpp' |
1161 | --- tests/unit-tests/platforms/nested/test_host_buffer.cpp 2017-05-08 03:04:26 +0000 |
1162 | +++ tests/unit-tests/platforms/nested/test_host_buffer.cpp 2017-06-19 15:01:38 +0000 |
1163 | @@ -16,7 +16,7 @@ |
1164 | * Authored by: Kevin DuBois <kevin.dubois@canonical.com> |
1165 | */ |
1166 | |
1167 | -#include "src/server/graphics/nested/host_buffer.h" |
1168 | +#include "src/platforms/mir/host_buffer.h" |
1169 | #include "src/client/default_connection_configuration.h" |
1170 | #include "src/client/mir_connection.h" |
1171 | #include "src/client/buffer_factory.h" |
1172 | |
1173 | === modified file 'tests/unit-tests/platforms/nested/test_ipc_operations.cpp' |
1174 | --- tests/unit-tests/platforms/nested/test_ipc_operations.cpp 2017-05-08 03:04:26 +0000 |
1175 | +++ tests/unit-tests/platforms/nested/test_ipc_operations.cpp 2017-06-19 15:01:38 +0000 |
1176 | @@ -16,8 +16,8 @@ |
1177 | * Authored by: Kevin DuBois <kevin.dubois@canonical.com> |
1178 | */ |
1179 | |
1180 | -#include "src/server/graphics/nested/ipc_operations.h" |
1181 | -#include "src/server/graphics/nested/native_buffer.h" |
1182 | +#include "src/platforms/mir/ipc_operations.h" |
1183 | +#include "src/platforms/mir/native_buffer.h" |
1184 | #include "mir/test/doubles/stub_buffer.h" |
1185 | #include "mir/test/doubles/mock_buffer_ipc_message.h" |
1186 | #include "mir/test/doubles/mock_platform_ipc_operations.h" |
1187 | |
1188 | === modified file 'tests/unit-tests/platforms/nested/test_nested_cursor.cpp' |
1189 | --- tests/unit-tests/platforms/nested/test_nested_cursor.cpp 2017-05-08 03:04:26 +0000 |
1190 | +++ tests/unit-tests/platforms/nested/test_nested_cursor.cpp 2017-06-19 15:01:38 +0000 |
1191 | @@ -16,7 +16,7 @@ |
1192 | * Authored by: Robert Carr <robert.carr@canonical.com> |
1193 | */ |
1194 | |
1195 | -#include "src/server/graphics/nested/cursor.h" |
1196 | +#include "src/platforms/mir/cursor.h" |
1197 | #include "mir/graphics/cursor_image.h" |
1198 | |
1199 | #include "mir/test/fake_shared.h" |
1200 | @@ -63,8 +63,8 @@ |
1201 | { |
1202 | EXPECT_CALL(*connection, set_cursor_image(CursorImageEquals(a_cursor_image.as_argb_8888()))).Times(1); |
1203 | |
1204 | - mgn::Cursor cursor(connection, mt::fake_shared(a_cursor_image)); |
1205 | - cursor.show(); |
1206 | + mgn::Cursor cursor(connection); |
1207 | + cursor.show(a_cursor_image); |
1208 | } |
1209 | |
1210 | TEST_F(NestedCursor, can_set_other_images) |
1211 | @@ -72,7 +72,7 @@ |
1212 | EXPECT_CALL(*connection, set_cursor_image(CursorImageEquals(a_cursor_image.as_argb_8888()))).Times(0); |
1213 | EXPECT_CALL(*connection, set_cursor_image(CursorImageEquals(another_cursor_image.as_argb_8888()))).Times(1); |
1214 | |
1215 | - mgn::Cursor cursor(connection, mt::fake_shared(a_cursor_image)); |
1216 | + mgn::Cursor cursor(connection); |
1217 | cursor.show(another_cursor_image); |
1218 | } |
1219 | |
1220 | @@ -83,8 +83,8 @@ |
1221 | EXPECT_CALL(*connection, hide_cursor()).Times(1); |
1222 | EXPECT_CALL(*connection, set_cursor_image(CursorImageEquals(another_cursor_image.as_argb_8888()))).Times(1); |
1223 | |
1224 | - mgn::Cursor cursor(connection, mt::fake_shared(a_cursor_image)); |
1225 | - cursor.show(); |
1226 | + mgn::Cursor cursor(connection); |
1227 | + cursor.show(a_cursor_image); |
1228 | cursor.hide(); |
1229 | cursor.show(another_cursor_image); |
1230 | } |
1231 | |
1232 | === modified file 'tests/unit-tests/platforms/nested/test_nested_display.cpp' |
1233 | --- tests/unit-tests/platforms/nested/test_nested_display.cpp 2017-06-09 14:16:54 +0000 |
1234 | +++ tests/unit-tests/platforms/nested/test_nested_display.cpp 2017-06-19 15:01:38 +0000 |
1235 | @@ -16,9 +16,9 @@ |
1236 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
1237 | */ |
1238 | |
1239 | -#include "src/server/graphics/nested/display.h" |
1240 | -#include "src/server/graphics/nested/host_connection.h" |
1241 | -#include "src/server/graphics/nested/host_surface.h" |
1242 | +#include "src/platforms/mir/display.h" |
1243 | +#include "src/platforms/mir/host_connection.h" |
1244 | +#include "src/platforms/mir/host_surface.h" |
1245 | #include "src/server/report/null/display_report.h" |
1246 | #include "mir/graphics/default_display_configuration_policy.h" |
1247 | #include "src/server/input/null_input_dispatcher.h" |
1248 | |
1249 | === modified file 'tests/unit-tests/platforms/nested/test_nested_display_buffer.cpp' |
1250 | --- tests/unit-tests/platforms/nested/test_nested_display_buffer.cpp 2017-05-08 03:04:26 +0000 |
1251 | +++ tests/unit-tests/platforms/nested/test_nested_display_buffer.cpp 2017-06-19 15:01:38 +0000 |
1252 | @@ -16,11 +16,11 @@ |
1253 | * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com> |
1254 | */ |
1255 | |
1256 | -#include "src/server/graphics/nested/display_buffer.h" |
1257 | -#include "src/server/graphics/nested/native_buffer.h" |
1258 | -#include "src/server/graphics/nested/host_stream.h" |
1259 | -#include "src/server/graphics/nested/host_chain.h" |
1260 | -#include "src/server/graphics/nested/host_surface_spec.h" |
1261 | +#include "src/platforms/mir/display_buffer.h" |
1262 | +#include "src/platforms/mir/native_buffer.h" |
1263 | +#include "src/platforms/mir/host_stream.h" |
1264 | +#include "src/platforms/mir/host_chain.h" |
1265 | +#include "src/platforms/mir/host_surface_spec.h" |
1266 | |
1267 | #include "mir/events/event_builders.h" |
1268 | |
1269 | |
1270 | === modified file 'tests/unit-tests/platforms/nested/test_nested_display_configuration.cpp' |
1271 | --- tests/unit-tests/platforms/nested/test_nested_display_configuration.cpp 2017-05-25 08:58:03 +0000 |
1272 | +++ tests/unit-tests/platforms/nested/test_nested_display_configuration.cpp 2017-06-19 15:01:38 +0000 |
1273 | @@ -16,7 +16,7 @@ |
1274 | * Authored by: Alan Griffiths <alan@octopull.co.uk> |
1275 | */ |
1276 | |
1277 | -#include "src/server/graphics/nested/nested_display_configuration.h" |
1278 | +#include "src/platforms/mir/nested_display_configuration.h" |
1279 | #include "mir_display_configuration_builder.h" |
1280 | #include "mir_toolkit/mir_display_configuration.h" |
1281 | |
1282 | |
1283 | === renamed file 'tests/unit-tests/input/test_nested_input_platform.cpp' => 'tests/unit-tests/platforms/nested/test_nested_input_platform.cpp' |
1284 | --- tests/unit-tests/input/test_nested_input_platform.cpp 2017-05-08 03:04:26 +0000 |
1285 | +++ tests/unit-tests/platforms/nested/test_nested_input_platform.cpp 2017-06-19 15:01:38 +0000 |
1286 | @@ -16,7 +16,7 @@ |
1287 | * Authored by: Andreas Pokorny <andreas.pokorny@canonical.com> |
1288 | */ |
1289 | |
1290 | -#include "src/server/graphics/nested/input_platform.h" |
1291 | +#include "src/platforms/mir/input_platform.h" |
1292 | #include "src/server/report/null_report_factory.h" |
1293 | #include "src/include/client/mir/input/input_devices.h" |
1294 | #include "src/server/input/default_event_builder.h" |
1295 | |
1296 | === modified file 'tools/update_package_abis.sh' |
1297 | --- tools/update_package_abis.sh 2017-05-08 03:04:26 +0000 |
1298 | +++ tools/update_package_abis.sh 2017-06-19 15:01:38 +0000 |
1299 | @@ -21,6 +21,7 @@ |
1300 | mir-client-platform-mesa:MIR_CLIENT_PLATFORM_ABI \ |
1301 | mir-platform-graphics-mesa-x:MIR_SERVER_GRAPHICS_PLATFORM_ABI \ |
1302 | mir-platform-graphics-mesa-kms:MIR_SERVER_GRAPHICS_PLATFORM_ABI \ |
1303 | + mir-platform-graphics-mir:MIR_SERVER_GRAPHICS_PLATFORM_ABI \ |
1304 | mir-platform-input-evdev:MIR_SERVER_INPUT_PLATFORM_ABI" |
1305 | |
1306 | package_name() |
I've seen intermittent tests failing to shutdown. Need to investigate further.