Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Issue 1962493002: Make Mac swap code like other platforms (Closed)

Created:
4 years, 7 months ago by ccameron
Modified:
4 years, 7 months ago
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make Mac swap code like other platforms Swap buffer completion is sent from the GPU process to the browser process via the IPC GpuCommandBufferMsg_SwapBuffersCompleted on all platforms except for Mac, which uses the IPC GpuHostMsg_AcceleratedSurfaceBuffersSwapped. Mac needs (for now) to send a handful of additional parameters from the gpu process at every swap. These parameters are used to display in the browser process the CALayer tree that is created in the gpu process. Add these parameters to GpuHostMsg_AcceleratedSurfaceBuffersSwapped under a platform ifdef. These parameters will be able to be removed when layer tree construction is moved to be in the browser process. Pass these parameters along to GpuBrowserCompositorOutputSurface:: SwapBuffers, where they are consumed in Mac-specific code. This wart, the gpu::GpuProcessHostedCALayerTreeParamsMac structure being passed along, will be removed when the CALayer tree is constructed in the browser process. Swaps are acknowledged by the browser process to the gpu process in the AcceleratedSurfaceMsg_BufferPresented IPC. The purpose of this IPC was to send vsync data to the gpu process to coordinate swaps, but this data is no longer used by the gpu process, is entirely dead code, and can be removed. Remove other supporting code that is no longer needed. Not all supporting code is removed in this patch. BUG=604052 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/433204258d41867ad95c2af17c1248dfc64032ac Cr-Commit-Position: refs/heads/master@{#392419}

Patch Set 1 #

Patch Set 2 : Fix test build #

Patch Set 3 : Fix android build #

Patch Set 4 : Fix android build #

Total comments: 8

Patch Set 5 : Incorporate review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+198 lines, -487 lines) Patch
M components/mus/gpu/gpu_service_mus.h View 1 1 chunk +0 lines, -9 lines 0 comments Download
M components/mus/gpu/gpu_service_mus.cc View 1 1 chunk +0 lines, -12 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.h View 2 chunks +10 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.h View 2 chunks +6 lines, -3 lines 0 comments Download
M content/browser/compositor/gpu_browser_compositor_output_surface.cc View 2 chunks +20 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.h View 1 chunk +0 lines, -4 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 chunk +0 lines, -10 lines 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M content/browser/compositor/image_transport_factory.h View 1 chunk +0 lines, -5 lines 0 comments Download
M content/browser/compositor/offscreen_browser_compositor_output_surface.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/reflector_impl_unittest.cc View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/software_browser_compositor_output_surface.cc View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/test/no_transport_image_transport_factory.h View 1 chunk +0 lines, -4 lines 0 comments Download
M content/browser/compositor/vulkan_browser_compositor_output_surface.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/compositor/vulkan_browser_compositor_output_surface.cc View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/gpu/gpu_process_host.h View 1 chunk +0 lines, -3 lines 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 2 chunks +0 lines, -11 lines 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.h View 1 chunk +0 lines, -7 lines 0 comments Download
M content/browser/gpu/gpu_process_host_ui_shim.cc View 3 chunks +0 lines, -63 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 3 chunks +13 lines, -5 lines 0 comments Download
D content/common/accelerated_surface_buffers_swapped_params_mac.h View 1 chunk +0 lines, -31 lines 0 comments Download
D content/common/accelerated_surface_buffers_swapped_params_mac.cc View 1 chunk +0 lines, -16 lines 0 comments Download
D content/common/buffer_presented_params_mac.h View 1 chunk +0 lines, -24 lines 0 comments Download
D content/common/buffer_presented_params_mac.cc View 1 chunk +0 lines, -14 lines 0 comments Download
M content/common/gpu_host_messages.h View 4 chunks +0 lines, -41 lines 0 comments Download
M content/content_common.gypi View 2 chunks +0 lines, -4 lines 0 comments Download
M content/gpu/gpu_child_thread.h View 3 chunks +0 lines, -17 lines 0 comments Download
M content/gpu/gpu_child_thread.cc View 3 chunks +0 lines, -38 lines 0 comments Download
M gpu/gpu_ipc_client.gypi View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/ipc/client/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.h View 3 chunks +8 lines, -5 lines 0 comments Download
M gpu/ipc/client/command_buffer_proxy_impl.cc View 2 chunks +27 lines, -6 lines 0 comments Download
A gpu/ipc/client/gpu_process_hosted_ca_layer_tree_params.h View 1 chunk +28 lines, -0 lines 0 comments Download
A gpu/ipc/client/gpu_process_hosted_ca_layer_tree_params.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_messages.h View 2 chunks +22 lines, -3 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.h View 4 chunks +0 lines, -24 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.cc View 1 chunk +0 lines, -25 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager_delegate.h View 2 chunks +0 lines, -19 lines 0 comments Download
M gpu/ipc/service/gpu_channel_test_common.h View 1 1 chunk +0 lines, -11 lines 0 comments Download
M gpu/ipc/service/gpu_channel_test_common.cc View 1 1 chunk +0 lines, -12 lines 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.h View 3 chunks +2 lines, -3 lines 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M gpu/ipc/service/image_transport_surface_overlay_mac.h View 4 chunks +1 line, -11 lines 0 comments Download
M gpu/ipc/service/image_transport_surface_overlay_mac.mm View 6 chunks +19 lines, -30 lines 0 comments Download
M gpu/ipc/service/pass_through_image_transport_surface.cc View 2 chunks +5 lines, -1 line 0 comments Download

Messages

Total messages: 20 (10 generated)
ccameron
This has been overdue for a while. Mac's special IPCs no longer made sense when ...
4 years, 7 months ago (2016-05-08 19:22:17 UTC) #4
piman
lgtm https://codereview.chromium.org/1962493002/diff/60001/content/browser/compositor/gpu_browser_compositor_output_surface.cc File content/browser/compositor/gpu_browser_compositor_output_surface.cc (right): https://codereview.chromium.org/1962493002/diff/60001/content/browser/compositor/gpu_browser_compositor_output_surface.cc#newcode129 content/browser/compositor/gpu_browser_compositor_output_surface.cc:129: #if defined(OS_MACOSX) On 2016/05/08 19:22:17, ccameron wrote: > ...
4 years, 7 months ago (2016-05-09 16:23:59 UTC) #5
ccameron
Thanks Adding fsamuel@ for components/mus/gpu stamp. Adding wfh for _messages security. This patch removes 2 ...
4 years, 7 months ago (2016-05-09 18:40:37 UTC) #8
Will Harris
bug id, for context?
4 years, 7 months ago (2016-05-09 18:42:02 UTC) #9
Fady Samuel
mus lgtm
4 years, 7 months ago (2016-05-09 18:43:05 UTC) #10
ccameron
On 2016/05/09 18:42:02, Will Harris wrote: > bug id, for context? I put in crbug.com/604052, ...
4 years, 7 months ago (2016-05-09 19:41:08 UTC) #12
Will Harris
*_messages.h lgtm
4 years, 7 months ago (2016-05-09 19:46:31 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1962493002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1962493002/80001
4 years, 7 months ago (2016-05-09 19:49:43 UTC) #16
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 7 months ago (2016-05-09 20:58:12 UTC) #18
commit-bot: I haz the power
4 years, 7 months ago (2016-05-09 20:59:50 UTC) #20
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/433204258d41867ad95c2af17c1248dfc64032ac
Cr-Commit-Position: refs/heads/master@{#392419}

Powered by Google App Engine
This is Rietveld 408576698