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

Issue 2738573002: Streamline the presentation of ImageBitmapRenderingContext (Closed)

Created:
3 years, 9 months ago by Justin Novosad
Modified:
3 years, 8 months ago
CC:
chromium-reviews, blink-reviews-html_chromium.org, blink-reviews-platform-graphics_chromium.org, dshwang, eae+blinkwatch, dmazzoni+watch_chromium.org, je_julie, kinuko+watch, Stephen Chennney, rwlbuis, krit, drott+blinkwatch_chromium.org, aboxhall, aboxhall+watch_chromium.org, szager+layoutwatch_chromium.org, dglazkov+blink, Rik, jchaffraix+rendering, blink-reviews-paint_chromium.org, blink-reviews, ajuma+watch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, jbroman, yuzo+watch_chromium.org, dmazzoni, haraken, piman+watch_chromium.org, pdr+graphicswatchlist_chromium.org, danakj+watch_chromium.org, ajuma+watch-canvas_chromium.org, pdr+renderingwatchlist_chromium.org, nektar+watch_chromium.org, leviw+renderwatch, fmalita+watch_chromium.org, nektarios, dtseng+watch_chromium.org, blink-reviews-frames_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Streamline the presentation of ImageBitmapRenderingContext This change adds an ImageLayerBridge class that provides a direct compositing path for displaying ImageBitmap objects, without going through a blink paint pass. As a consequence, there are no more GPU readbacks when the source of the image is GPU-accelerated. In canvas rendering context classes, the notion of being accelerated had to be decoupled from the notion of being composited. This is because non-accelerated canvases are are directly composited with ImageBitmapRenderingContext. BUG=696224, 585607 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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/2738573002 Cr-Commit-Position: refs/heads/master@{#462634} Committed: https://chromium.googlesource.com/chromium/src/+/300bd53cd8a10fd63b4362b52bb6b6b92e345821

Patch Set 1 #

Total comments: 10

Patch Set 2 : rebase #

Patch Set 3 : Fix crash in gpu test #

Total comments: 1

Patch Set 4 : tweaks #

Patch Set 5 : cp #

Patch Set 6 : spv2 suppressions and pixel test rebaselines #

Patch Set 7 : pixel test expectations #

Patch Set 8 : Fixed expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+416 lines, -83 lines) Patch
M content/test/gpu/gpu_tests/pixel_expectations.py View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M content/test/gpu/gpu_tests/pixel_test_pages.py View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 2 3 4 5 1 chunk +12 lines, -0 lines 0 comments Download
A third_party/WebKit/PerformanceTests/Canvas/transferFromImageBitmap.html View 1 chunk +26 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/ImageBitmap.h View 1 2 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/HTMLCanvasElement.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp View 1 2 3 4 9 chunks +22 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp View 1 2 3 4 2 chunks +5 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 5 6 6 chunks +7 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/HTMLCanvasPainter.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/HTMLCanvasPainterTest.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp View 1 2 chunks +5 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/imagebitmap/ImageBitmapRenderingContext.h View 4 chunks +9 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/modules/imagebitmap/ImageBitmapRenderingContext.cpp View 1 4 chunks +33 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp View 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp View 1 2 3 4 5 6 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/StaticBitmapImage.h View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
A third_party/WebKit/Source/platform/graphics/gpu/ImageLayerBridge.h View 1 2 3 1 chunk +84 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/graphics/gpu/ImageLayerBridge.cpp View 1 2 3 4 1 chunk +181 lines, -0 lines 0 comments Download

Messages

Total messages: 54 (39 generated)
Justin Novosad
PTAL @zmo: modules/webgl @dmazzoni: modules/accessibility @xlai: the rest.
3 years, 9 months ago (2017-03-06 22:26:22 UTC) #6
Zhenyao Mo
On 2017/03/06 22:26:22, Justin Novosad wrote: > PTAL > > @zmo: modules/webgl > @dmazzoni: modules/accessibility ...
3 years, 9 months ago (2017-03-06 22:44:38 UTC) #8
dmazzoni
lgtm for modules/accessibility
3 years, 9 months ago (2017-03-08 23:50:30 UTC) #11
xlai (Olivia)
Please fix the failed bots as well. https://codereview.chromium.org/2738573002/diff/1/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp File third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp (right): https://codereview.chromium.org/2738573002/diff/1/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp#newcode176 third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp:176: return isAccelerated(); ...
3 years, 9 months ago (2017-03-09 21:57:27 UTC) #12
Justin Novosad
https://codereview.chromium.org/2738573002/diff/1/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp File third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp (right): https://codereview.chromium.org/2738573002/diff/1/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp#newcode176 third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp:176: return isAccelerated(); On 2017/03/09 21:57:27, xlai (Olivia) wrote: > ...
3 years, 9 months ago (2017-03-10 21:09:59 UTC) #15
Justin Novosad
New patch
3 years, 9 months ago (2017-03-23 16:06:25 UTC) #23
Justin Novosad
On 2017/03/23 16:06:25, Justin Novosad wrote: > New patch @xlai PTAL
3 years, 9 months ago (2017-03-23 16:06:53 UTC) #25
xlai (Olivia)
lgtm with nits https://codereview.chromium.org/2738573002/diff/40001/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h File third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h (right): https://codereview.chromium.org/2738573002/diff/40001/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h#newcode58 third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h:58: bool isAccelerated() final { return true; ...
3 years, 9 months ago (2017-03-24 19:12:42 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2738573002/60001
3 years, 9 months ago (2017-03-24 20:19:13 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: android_optional_gpu_tests_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_optional_gpu_tests_rel/builds/3203)
3 years, 9 months ago (2017-03-24 21:22:54 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2738573002/100001
3 years, 8 months ago (2017-04-06 16:33:07 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/425052)
3 years, 8 months ago (2017-04-06 18:10:11 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2738573002/120001
3 years, 8 months ago (2017-04-06 19:08:00 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2738573002/140001
3 years, 8 months ago (2017-04-06 19:40:48 UTC) #51
commit-bot: I haz the power
3 years, 8 months ago (2017-04-06 21:50:10 UTC) #54
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/chromium/src/+/300bd53cd8a10fd63b4362b52bb6...

Powered by Google App Engine
This is Rietveld 408576698