gpu: Remove Echo and SwapCompletion GL interfaces
commit42243047e7418892929a8e5b19fe12b9db4b9c4c
authorsievers <sievers@chromium.org>
Thu, 2 Oct 2014 18:35:09 +0000 (2 11:35 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 2 Oct 2014 18:35:34 +0000 (2 18:35 +0000)
treebc9e54f49a493d79c2a7de62e8379c788f97eeb7
parent462b2fbc2e486d47ab682770418fa6deacfe67be
gpu: Remove Echo and SwapCompletion GL interfaces

This functionality can be implemented with sync point callbacks.

Now that swap completion is entirely an implementation detail
of the OutputSurface this also allows for eliminating some
IPC message redundancy. Ideally SwapCompletion would be unsolicited
and also include LatencyInfo (where needed/supported).

Also remove the message pattern matching logic in gpu_channel.cc
for Flush/Echo. This kind of matching does not work reliably,
since OnMessageReceived races with HandleMessage
(i.e. the next msg might or might not be in deferred_messages_).
Also, the original motivation in bug 407529 is described
as making sure SwapBuffers gets handled immediately,
which was separately fixed by merging the LatencyInfo with
the Flush IPC.

BUG=417945

Review URL: https://codereview.chromium.org/619453002

Cr-Commit-Position: refs/heads/master@{#297869}
26 files changed:
cc/output/output_surface.cc
cc/test/test_context_support.cc
cc/test/test_context_support.h
content/common/gpu/client/command_buffer_proxy_impl.cc
content/common/gpu/client/command_buffer_proxy_impl.h
content/common/gpu/gpu_channel.cc
content/common/gpu/gpu_channel.h
content/common/gpu/gpu_command_buffer_stub.cc
content/common/gpu/gpu_command_buffer_stub.h
content/common/gpu/gpu_messages.h
content/renderer/pepper/ppb_graphics_3d_impl.cc
gpu/command_buffer/client/client_test_helper.h
gpu/command_buffer/client/context_support.h
gpu/command_buffer/client/gles2_implementation.cc
gpu/command_buffer/client/gles2_implementation.h
gpu/command_buffer/client/gpu_control.h
gpu/command_buffer/service/in_process_command_buffer.cc
gpu/command_buffer/service/in_process_command_buffer.h
gpu/command_buffer/tests/gl_manager.cc
gpu/command_buffer/tests/gl_manager.h
gpu/gles2_conform_support/egl/display.cc
gpu/gles2_conform_support/egl/display.h
mojo/gles2/command_buffer_client_impl.cc
mojo/gles2/command_buffer_client_impl.h
ppapi/proxy/ppapi_command_buffer_proxy.cc
ppapi/proxy/ppapi_command_buffer_proxy.h