|
Switch DRM platform to using a separate thread
All DRM operations are now performed on a separate thread. In order to
facilitate simple communication between GPU main, and GPU IO and the DRM
thread, proxy helpers were introduced. To minimize the surface between
the threads the proxy was introduced at the DrmWindow and
DrmGpuPlatformSupport level.
For IPCs all messages arriving to the GPU IO are directly routed to the
DRM thread via the DrmGpuPlatformSupportProxy. One benefit is that there
is no need for special cases for the cursors since it is now set on the
same thread as all other DRM operations.
Since Ozone does not retain ownership of the SurfaceOzoneEGL &
SurfaceOzoneCanvs, these objects are kept on the GPU main/IO for
simplicity and to minimize the number of proxy objects. DrmWindow is
then the entry point into the DRM thread. Thus DrmWindowProxy is a
wrapper that abstracts sending of messages between threads.
BUG=none
Committed: https://crrev.com/14630e92ee1cba7bc76643434944b99272a1deff
Cr-Commit-Position: refs/heads/master@{#353819}
Total comments: 8
Total comments: 10
Total comments: 4
Total comments: 8
Total comments: 12
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+991 lines, -664 lines) |
Patch |
 |
M |
ui/ozone/platform/drm/BUILD.gn
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gbm.gypi
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_device.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+2 lines, -9 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_device.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+17 lines, -56 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_device_manager.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+0 lines, -18 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_device_manager.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
6 chunks |
+0 lines, -19 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+7 lines, -70 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+9 lines, -305 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_thread.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+118 lines, -0 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_thread.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+226 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
ui/ozone/platform/drm/gpu/drm_thread_message_proxy.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
3 chunks |
+33 lines, -38 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+263 lines, -0 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_thread_proxy.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_thread_proxy.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+42 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_vsync_provider.h
|
View
|
1
2
3
4
|
1 chunk |
+4 lines, -3 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_vsync_provider.cc
|
View
|
2
3
4
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_window.h
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_window.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_window_proxy.h
|
View
|
1
2
3
4
|
1 chunk |
+40 lines, -0 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/drm_window_proxy.cc
|
View
|
1
2
3
4
|
1 chunk |
+36 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/drm_window_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/gbm_buffer.h
|
View
|
1
2
3
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/gbm_surface_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -13 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/gbm_surface_factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
5 chunks |
+7 lines, -23 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/gbm_surfaceless.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
3 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/gbm_surfaceless.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+8 lines, -24 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/proxy_helpers.h
|
View
|
1
2
3
4
|
1 chunk |
+45 lines, -0 lines |
0 comments
|
Download
|
 |
A |
ui/ozone/platform/drm/gpu/proxy_helpers.cc
|
View
|
|
1 chunk |
+31 lines, -0 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/screen_manager.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/gpu/screen_manager_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
6 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
ui/ozone/platform/drm/ozone_platform_gbm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
4 chunks |
+13 lines, -64 lines |
0 comments
|
Download
|
Depends on Patchset:
Total messages: 34 (8 generated)
|