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

Issue 2149843003: Fix MultiPictureDraw issues with GpuImageDecodeController (Closed)

Created:
4 years, 5 months ago by ericrk
Modified:
4 years, 5 months ago
Reviewers:
vmpstr
CC:
chromium-reviews, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix MultiPictureDraw issues with GpuImageDecodeController Currently, the GpuImageDecodeController (GPU IDC) is used during the initial playback of a RasterSource. Unfortunately, the initial playback is just used to generate an SkPicture, not to actually raster. Actual rasterization happens later, via MultiPictureDraw. Because of this the calls to GetDecodedImageForDraw and DrawWithImageFinished on the GPU IDC do not scope Skia's usage of an image, as was intended. This can lead to lifetime issues, especially with large, software-backed images. This change moves the usage of ImageHijackCanvas and the GPU IDC to the later MultiPictureDraw phase, allowing lifetimes to line up as expected. R=vmpstr@chromium.org BUG=612329, 628394 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_blink_rel Committed: https://crrev.com/1259d6e73e7f8904243aa3451bc9071a18f93cbd Cr-Commit-Position: refs/heads/master@{#405649}

Patch Set 1 #

Total comments: 8

Patch Set 2 : feedback #

Total comments: 2

Patch Set 3 : Cleanup tests and add max texture size validation #

Patch Set 4 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+160 lines, -17 lines) Patch
M cc/layers/picture_layer_impl.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M cc/playback/raster_source.h View 1 1 chunk +16 lines, -1 line 0 comments Download
M cc/playback/raster_source.cc View 1 1 chunk +0 lines, -6 lines 0 comments Download
M cc/playback/raster_source_unittest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M cc/raster/gpu_raster_buffer_provider.cc View 1 2 3 5 chunks +38 lines, -4 lines 0 comments Download
M cc/raster/raster_buffer_provider_unittest.cc View 1 2 1 chunk +6 lines, -2 lines 0 comments Download
M cc/test/skia_common.cc View 2 chunks +17 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest.cc View 1 2 3 3 chunks +80 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (15 generated)
ericrk
4 years, 5 months ago (2016-07-14 21:16:16 UTC) #2
vmpstr
https://codereview.chromium.org/2149843003/diff/1/cc/playback/raster_source.cc File cc/playback/raster_source.cc (right): https://codereview.chromium.org/2149843003/diff/1/cc/playback/raster_source.cc#newcode305 cc/playback/raster_source.cc:305: ImageDecodeController* RasterSource::GetImageDecodeController() const { You can just inline this ...
4 years, 5 months ago (2016-07-14 21:41:54 UTC) #5
ericrk
https://codereview.chromium.org/2149843003/diff/1/cc/playback/raster_source.cc File cc/playback/raster_source.cc (right): https://codereview.chromium.org/2149843003/diff/1/cc/playback/raster_source.cc#newcode305 cc/playback/raster_source.cc:305: ImageDecodeController* RasterSource::GetImageDecodeController() const { On 2016/07/14 21:41:53, vmpstr wrote: ...
4 years, 5 months ago (2016-07-14 22:04:20 UTC) #6
vmpstr
lgtm https://codereview.chromium.org/2149843003/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/2149843003/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode6813 cc/trees/layer_tree_host_unittest.cc:6813: // Add an image that will be larger ...
4 years, 5 months ago (2016-07-14 22:07:48 UTC) #9
ericrk
https://codereview.chromium.org/2149843003/diff/20001/cc/trees/layer_tree_host_unittest.cc File cc/trees/layer_tree_host_unittest.cc (right): https://codereview.chromium.org/2149843003/diff/20001/cc/trees/layer_tree_host_unittest.cc#newcode6813 cc/trees/layer_tree_host_unittest.cc:6813: // Add an image that will be larger than ...
4 years, 5 months ago (2016-07-14 23:15:46 UTC) #12
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/2149843003/40001
4 years, 5 months ago (2016-07-14 23:16:39 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/96744)
4 years, 5 months ago (2016-07-14 23:31:12 UTC) #17
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/2149843003/60001
4 years, 5 months ago (2016-07-15 00:03:06 UTC) #21
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 5 months ago (2016-07-15 00:47:46 UTC) #23
commit-bot: I haz the power
4 years, 5 months ago (2016-07-15 00:49:00 UTC) #25
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/1259d6e73e7f8904243aa3451bc9071a18f93cbd
Cr-Commit-Position: refs/heads/master@{#405649}

Powered by Google App Engine
This is Rietveld 408576698