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

Issue 1420533005: Mac: Kill lots of AcceleratedWidget code (with fire) (Closed)

Created:
5 years, 2 months ago by ccameron
Modified:
5 years, 1 month ago
CC:
chromium-reviews, yusukes+watch_chromium.org, shuchen+watch_chromium.org, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, James Su
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mac: Remove lots of AcceleratedWidget code In the non-remote-CALayer model, we render to an IOSurface and pass it to the browser process, where we draw that into a CAOpenGLLayer. Delete all of the code to do that, and just set the contents of a CALayer to be that IOSurface. While we're in the neighborhood, change the software path to render into an IOSurface, and use that same path to draw it. Double-buffer the software output surface in SoftwareOutputDeviceMac, to avoid writing the next frame with the CPU while the WindowServer is drawing it (it appears that the WindowServer does not respect the IOSurface locks). BUG=546691 Committed: https://crrev.com/3c29f968998edc5aca9f8b228196b29268938deb Cr-Commit-Position: refs/heads/master@{#356129}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix native build #

Total comments: 14

Patch Set 3 : Incorporate review feedback #

Total comments: 2

Patch Set 4 : Rebase #

Patch Set 5 : Formatting #

Total comments: 40

Patch Set 6 : Incorporate review feedback #

Patch Set 7 : Fix flip_y #

Total comments: 2

Patch Set 8 : Feedback 2 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -1204 lines) Patch
M content/browser/compositor/software_output_device_mac.h View 1 2 3 4 5 2 chunks +28 lines, -0 lines 0 comments Download
M content/browser/compositor/software_output_device_mac.mm View 1 2 3 4 5 6 7 1 chunk +136 lines, -6 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 chunk +0 lines, -1 line 0 comments Download
M content/common/gpu/image_transport_surface_iosurface_mac.cc View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M ui/accelerated_widget_mac/BUILD.gn View 1 2 3 4 5 2 chunks +1 line, -12 lines 0 comments Download
M ui/accelerated_widget_mac/accelerated_widget_mac.h View 7 chunks +16 lines, -20 lines 0 comments Download
M ui/accelerated_widget_mac/accelerated_widget_mac.gyp View 1 2 3 4 5 2 chunks +0 lines, -9 lines 0 comments Download
M ui/accelerated_widget_mac/accelerated_widget_mac.mm View 1 2 3 4 5 6 10 chunks +69 lines, -138 lines 0 comments Download
D ui/accelerated_widget_mac/io_surface_layer.h View 1 chunk +0 lines, -163 lines 0 comments Download
D ui/accelerated_widget_mac/io_surface_layer.mm View 1 chunk +0 lines, -303 lines 0 comments Download
D ui/accelerated_widget_mac/io_surface_texture.h View 1 chunk +0 lines, -132 lines 0 comments Download
D ui/accelerated_widget_mac/io_surface_texture.mm View 1 chunk +0 lines, -325 lines 0 comments Download
D ui/accelerated_widget_mac/software_layer.h View 1 chunk +0 lines, -22 lines 0 comments Download
D ui/accelerated_widget_mac/software_layer.mm View 1 chunk +0 lines, -67 lines 0 comments Download
M ui/views/widget/native_widget_mac_unittest.mm View 1 2 3 4 5 1 chunk +2 lines, -4 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 20 (7 generated)
ccameron
(with fire) https://codereview.chromium.org/1420533005/diff/1/content/common/gpu/image_transport_surface_iosurface_mac.cc File content/common/gpu/image_transport_surface_iosurface_mac.cc (right): https://codereview.chromium.org/1420533005/diff/1/content/common/gpu/image_transport_surface_iosurface_mac.cc#newcode15 content/common/gpu/image_transport_surface_iosurface_mac.cc:15: const uint32 kIOSurfaceDimensionRoundup = 1; This is ...
5 years, 2 months ago (2015-10-22 06:09:28 UTC) #3
tapted
this looks really neat! I started skimming, but then realised this will need more brainpower ...
5 years, 2 months ago (2015-10-22 08:26:50 UTC) #4
ccameron
Thanks! Adding kbr@ to get the review a bit sooner (I'm building another patch to ...
5 years, 2 months ago (2015-10-22 19:26:11 UTC) #6
ccameron
Adding avi@ (cause the bulk of the change is to CoreAnimation code).
5 years, 2 months ago (2015-10-23 17:46:15 UTC) #8
Avi (use Gerrit)
I'm willing to stamp, but I'm not qualified to review the graphics changes. Also, the ...
5 years, 2 months ago (2015-10-23 19:41:58 UTC) #9
ccameron
I think I may have to wait for tapted then :( https://codereview.chromium.org/1420533005/diff/40001/content/browser/compositor/software_output_device_mac.mm File content/browser/compositor/software_output_device_mac.mm (right): ...
5 years, 2 months ago (2015-10-23 19:50:29 UTC) #10
tapted
very cool change. Sorry for the delay in review. mostly just nits, just one concern ...
5 years, 1 month ago (2015-10-26 02:51:42 UTC) #11
ccameron
Thanks!! Updated. https://codereview.chromium.org/1420533005/diff/80001/content/browser/compositor/software_output_device_mac.h File content/browser/compositor/software_output_device_mac.h (right): https://codereview.chromium.org/1420533005/diff/80001/content/browser/compositor/software_output_device_mac.h#newcode40 content/browser/compositor/software_output_device_mac.h:40: float scale_factor_; On 2015/10/26 02:51:41, tapted (OOO ...
5 years, 1 month ago (2015-10-26 06:40:34 UTC) #12
tapted
sweet! lgtm https://codereview.chromium.org/1420533005/diff/120001/content/browser/compositor/software_output_device_mac.mm File content/browser/compositor/software_output_device_mac.mm (right): https://codereview.chromium.org/1420533005/diff/120001/content/browser/compositor/software_output_device_mac.mm#newcode7 content/browser/compositor/software_output_device_mac.mm:7: #import "content/browser/compositor/software_output_device_mac.h" I think this can stay ...
5 years, 1 month ago (2015-10-26 06:59:43 UTC) #13
ccameron
Thanks!! https://codereview.chromium.org/1420533005/diff/120001/content/browser/compositor/software_output_device_mac.mm File content/browser/compositor/software_output_device_mac.mm (right): https://codereview.chromium.org/1420533005/diff/120001/content/browser/compositor/software_output_device_mac.mm#newcode7 content/browser/compositor/software_output_device_mac.mm:7: #import "content/browser/compositor/software_output_device_mac.h" On 2015/10/26 06:59:42, tapted (OOO soon) ...
5 years, 1 month ago (2015-10-26 20:21:59 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1420533005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1420533005/140001
5 years, 1 month ago (2015-10-26 20:22:46 UTC) #17
commit-bot: I haz the power
Committed patchset #8 (id:140001)
5 years, 1 month ago (2015-10-26 21:35:19 UTC) #19
commit-bot: I haz the power
5 years, 1 month ago (2015-10-26 21:36:19 UTC) #20
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/3c29f968998edc5aca9f8b228196b29268938deb
Cr-Commit-Position: refs/heads/master@{#356129}

Powered by Google App Engine
This is Rietveld 408576698