gpu: Separate GpuControlService from GpuControl
commit01952a69ee1e27e99736bf21f8eb21751a59b150
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 2 May 2014 05:22:01 +0000 (2 05:22 +0000)
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 2 May 2014 05:22:01 +0000 (2 05:22 +0000)
tree403a27837df5b0da1125239f413c4fd29612cc63
parent5ed381a4ae1757903fcb534c7390a8c6b8119a5c
gpu: Separate GpuControlService from GpuControl

Orignal goal of this CL is to make
InProcessCommandBuffer::CreateGpuMemoryBuffer and
DestroyGpuMemoryBuffer thread safe. Before this, Create runs
on the client thread and Destroy runs on the service thread
without any kind of synchronization. This change makes the
division closer to the cross-process implementation, moving
parts of the implementation from GpuControlService to
GpuControl/InProcessViewRenderer.

As a result, GpuControlService no longer needs to inherit
GpuControl. And GLES2Decoder has enough information to
decide on all gpu::Capabilities.

Need to implement the bare minimum client GpuControl for
gl_tests and gles2_conform_test. This currently involves
some boilerplate and duplication.

BUG=362346

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267753 0039d316-1c4b-4281-b951-d872f2087c98
29 files changed:
content/common/gpu/client/command_buffer_proxy_impl.h
content/common/gpu/gpu_command_buffer_stub.cc
content/common/gpu/gpu_command_buffer_stub.h
gpu/command_buffer/client/client_test_helper.h
gpu/command_buffer/client/gles2_implementation.cc
gpu/command_buffer/client/gpu_control.h [moved from gpu/command_buffer/common/gpu_control.h with 90% similarity]
gpu/command_buffer/client/gpu_memory_buffer_tracker.cc
gpu/command_buffer/common/capabilities.h
gpu/command_buffer/service/gles2_cmd_decoder.cc
gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
gpu/command_buffer/service/gpu_control_service.cc
gpu/command_buffer/service/gpu_control_service.h
gpu/command_buffer/service/gpu_memory_buffer_manager.h
gpu/command_buffer/service/image_manager.cc
gpu/command_buffer/service/image_manager.h
gpu/command_buffer/service/in_process_command_buffer.cc
gpu/command_buffer/service/in_process_command_buffer.h
gpu/command_buffer/service/vertex_array_manager.cc
gpu/command_buffer/service/vertex_array_manager.h
gpu/command_buffer/service/vertex_array_manager_unittest.cc
gpu/command_buffer/tests/gl_manager.cc
gpu/command_buffer/tests/gl_manager.h
gpu/command_buffer_client.gypi
gpu/command_buffer_common.gypi
gpu/gles2_conform_support/egl/display.cc
gpu/gles2_conform_support/egl/display.h
mojo/gles2/command_buffer_client_impl.h
mojo/services/gles2/command_buffer_impl.cc
ppapi/proxy/ppapi_command_buffer_proxy.h