|
gpu: Allow waiting on sync tokens without sync token client.
This CL adds SyncPointManager::Wait which takes a sync token and an
order number. This enables the upcoming gpu scheduler to wait on sync
tokens that a flush depends on without executing the flush. Such waits
are safe from deadlock if the order number of the message is used.
Misc cleanup in this CL:
1. Hide SyncPointClientState and instead use sync tokens for waiting.
2. The wait methods do not run the callback if the wait is invalid.
3. The cmd decoder wait sync token callback returns true on valid waits.
4. Added few more cmd buffer message types that don't need MakeCurrent.
5. Changed the sync point tests to use sync tokens everywhere.
R=jbauman@chromium.org
BUG= 514813
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2722883002
Cr-Commit-Position: refs/heads/master@{#454361}
Committed: https://chromium.googlesource.com/chromium/src/+/9147a531d69c35b928d4dc1a11684bb5baf1d6f9
Total comments: 2
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+548 lines, -817 lines) |
Patch |
 |
M |
android_webview/browser/deferred_gpu_command_service.cc
|
View
|
1
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.h
|
View
|
|
3 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
|
5 chunks |
+12 lines, -9 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_mock.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
|
View
|
|
3 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
View
|
|
1 chunk |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/sync_point_manager.h
|
View
|
1
2
3
4
5
|
8 chunks |
+98 lines, -128 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/sync_point_manager.cc
|
View
|
|
7 chunks |
+123 lines, -154 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/service/sync_point_manager_unittest.cc
|
View
|
|
10 chunks |
+154 lines, -211 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/tests/fuzzer_main.cc
|
View
|
|
4 chunks |
+11 lines, -20 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/tests/gl_fence_sync_unittest.cc
|
View
|
|
2 chunks |
+2 lines, -11 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/tests/gl_manager.h
|
View
|
1
2
3
|
3 chunks |
+20 lines, -22 lines |
0 comments
|
Download
|
 |
M |
gpu/command_buffer/tests/gl_manager.cc
|
View
|
1
2
|
4 chunks |
+21 lines, -51 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/in_process_command_buffer.h
|
View
|
|
1 chunk |
+2 lines, -6 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/in_process_command_buffer.cc
|
View
|
1
2
3
4
|
7 chunks |
+33 lines, -70 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/service/gpu_channel_manager.h
|
View
|
|
2 chunks |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/service/gpu_channel_manager.cc
|
View
|
|
2 chunks |
+5 lines, -15 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/service/gpu_channel_test_common.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
gpu/ipc/service/gpu_command_buffer_stub.h
|
View
|
|
2 chunks |
+2 lines, -10 lines |
0 comments
|
Download
|
 |
M |
gpu/ipc/service/gpu_command_buffer_stub.cc
|
View
|
|
8 chunks |
+43 lines, -83 lines |
0 comments
|
Download
|
 |
M |
services/ui/gpu/gpu_service.cc
|
View
|
|
1 chunk |
+1 line, -3 lines |
0 comments
|
Download
|
Total messages: 42 (29 generated)
|