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

Issue 2537683002: cc: Add image decode queue functionality to image manager. (Closed)

Created:
4 years ago by vmpstr
Modified:
3 years, 11 months ago
Reviewers:
danakj, enne (OOO), ericrk
CC:
cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: Add image decode queue functionality to image manager. This patch adds an ability to request an image decode from the compositor. The caller should specify which image (SkImage) to decode and a callback. In return, it gets an id. When the image is decoded, the callback is issued with this id. The decode is then kept alive for 2 compositor frames. Right now, only unittests are using this functionality. R=enne@chromium.org, ericrk@chromium.org, danakj@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2537683002 Cr-Original-Commit-Position: refs/heads/master@{#443085} Committed: https://chromium.googlesource.com/chromium/src/+/bb991d41668aa0f37aa6d6712e3bf9b52a5480ae Review-Url: https://codereview.chromium.org/2537683002 Cr-Commit-Position: refs/heads/master@{#443341} Committed: https://chromium.googlesource.com/chromium/src/+/a6b30160a85adeaa983877116a089ed46fa4bd62

Patch Set 1 #

Patch Set 2 : image-queue: update #

Total comments: 3

Patch Set 3 : wipwipwip #

Patch Set 4 : working_on_tests #

Patch Set 5 : image-queue: update #

Patch Set 6 : image-queue: update #

Patch Set 7 : update #

Total comments: 24

Patch Set 8 : image-decode: update #

Total comments: 3

Patch Set 9 : update #

Patch Set 10 : update #

Patch Set 11 : update #

Patch Set 12 : update #

Patch Set 13 : test fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1196 lines, -93 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M cc/playback/image_hijack_canvas_unittest.cc View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M cc/raster/task.h View 3 chunks +4 lines, -0 lines 0 comments Download
M cc/raster/task.cc View 2 chunks +21 lines, -0 lines 0 comments Download
M cc/test/fake_layer_tree_host_impl.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M cc/test/fake_tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -2 lines 0 comments Download
M cc/test/fake_tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -16 lines 0 comments Download
M cc/test/layer_tree_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -1 line 0 comments Download
A cc/tiles/decoded_image_tracker.h View 1 2 3 4 5 6 7 1 chunk +56 lines, -0 lines 0 comments Download
A cc/tiles/decoded_image_tracker.cc View 1 2 3 4 5 6 7 1 chunk +50 lines, -0 lines 0 comments Download
A cc/tiles/decoded_image_tracker_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +90 lines, -0 lines 0 comments Download
M cc/tiles/gpu_image_decode_cache.h View 1 2 3 4 5 6 5 chunks +19 lines, -2 lines 0 comments Download
M cc/tiles/gpu_image_decode_cache.cc View 1 2 3 4 5 6 10 chunks +65 lines, -21 lines 0 comments Download
M cc/tiles/gpu_image_decode_cache_unittest.cc View 1 3 chunks +7 lines, -3 lines 0 comments Download
M cc/tiles/image_controller.h View 1 2 3 4 5 6 7 8 3 chunks +66 lines, -2 lines 0 comments Download
M cc/tiles/image_controller.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +260 lines, -2 lines 0 comments Download
M cc/tiles/image_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +399 lines, -9 lines 0 comments Download
M cc/tiles/image_decode_cache.h View 1 1 chunk +9 lines, -0 lines 0 comments Download
M cc/tiles/software_image_decode_cache.h View 1 2 3 4 5 6 4 chunks +19 lines, -3 lines 0 comments Download
M cc/tiles/software_image_decode_cache.cc View 1 2 3 4 5 6 9 chunks +54 lines, -10 lines 0 comments Download
M cc/tiles/tile_manager.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +5 lines, -1 line 0 comments Download
M cc/tiles/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +17 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 4 chunks +6 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +10 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +7 lines, -6 lines 0 comments Download
M cc/trees/layer_tree_host_in_process.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_in_process.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -2 lines 0 comments Download
M content/renderer/gpu/render_widget_compositor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +11 lines, -0 lines 0 comments Download

Messages

Total messages: 78 (47 generated)
vmpstr
Behold, a patch! There are still some things to fix, which are mentioned in the ...
4 years ago (2016-11-29 01:04:09 UTC) #3
ericrk
GPU part seems good - a few nits - will continue to review the rest. ...
4 years ago (2016-12-06 23:22:53 UTC) #7
vmpstr
Please take a look.
3 years, 11 months ago (2017-01-03 19:42:02 UTC) #22
enne (OOO)
What do you think about separating out the logic of knowing about frames and the ...
3 years, 11 months ago (2017-01-03 19:51:29 UTC) #23
vmpstr
On 2017/01/03 19:51:29, enne wrote: > What do you think about separating out the logic ...
3 years, 11 months ago (2017-01-03 19:57:02 UTC) #24
enne (OOO)
On 2017/01/03 at 19:57:02, vmpstr wrote: > On 2017/01/03 19:51:29, enne wrote: > > What ...
3 years, 11 months ago (2017-01-03 21:01:51 UTC) #25
enne (OOO)
https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc File cc/layers/layer_unittest.cc (right): https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc#newcode136 cc/layers/layer_unittest.cc:136: params.image_worker_task_runner = nullptr; Doesn't this default to nullptr? https://codereview.chromium.org/2537683002/diff/120001/cc/tiles/gpu_image_decode_cache.h ...
3 years, 11 months ago (2017-01-03 21:15:25 UTC) #26
vmpstr
Just responses for now, I haven't uploaded a new PS yet. https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc File cc/layers/layer_unittest.cc (right): ...
3 years, 11 months ago (2017-01-03 21:40:35 UTC) #27
enne (OOO)
https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc File cc/layers/layer_unittest.cc (right): https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc#newcode136 cc/layers/layer_unittest.cc:136: params.image_worker_task_runner = nullptr; On 2017/01/03 at 21:40:34, vmpstr wrote: ...
3 years, 11 months ago (2017-01-03 21:49:42 UTC) #28
ericrk
https://codereview.chromium.org/2537683002/diff/120001/cc/tiles/gpu_image_decode_cache.cc File cc/tiles/gpu_image_decode_cache.cc (right): https://codereview.chromium.org/2537683002/diff/120001/cc/tiles/gpu_image_decode_cache.cc#newcode747 cc/tiles/gpu_image_decode_cache.cc:747: scoped_refptr<TileTask>& existing_task = I assume we can't end up ...
3 years, 11 months ago (2017-01-04 07:48:32 UTC) #29
enne (OOO)
On 2017/01/04 at 07:48:32, ericrk wrote: > > Maybe my question is more fundamental? Why ...
3 years, 11 months ago (2017-01-04 22:19:37 UTC) #30
vmpstr
On 2017/01/04 22:19:37, enne wrote: > On 2017/01/04 at 07:48:32, ericrk wrote: > > > ...
3 years, 11 months ago (2017-01-04 22:53:07 UTC) #31
vmpstr
PTAL https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc File cc/layers/layer_unittest.cc (right): https://codereview.chromium.org/2537683002/diff/120001/cc/layers/layer_unittest.cc#newcode136 cc/layers/layer_unittest.cc:136: params.image_worker_task_runner = nullptr; On 2017/01/03 21:49:42, enne wrote: ...
3 years, 11 months ago (2017-01-06 01:19:03 UTC) #32
enne (OOO)
re: uploading after decoding. So long as there's some sort of plan for handling this ...
3 years, 11 months ago (2017-01-09 19:48:42 UTC) #33
ericrk
One minor question, but LGTM https://codereview.chromium.org/2537683002/diff/120001/cc/tiles/gpu_image_decode_cache.cc File cc/tiles/gpu_image_decode_cache.cc (right): https://codereview.chromium.org/2537683002/diff/120001/cc/tiles/gpu_image_decode_cache.cc#newcode747 cc/tiles/gpu_image_decode_cache.cc:747: scoped_refptr<TileTask>& existing_task = On ...
3 years, 11 months ago (2017-01-09 21:07:27 UTC) #34
vmpstr
https://codereview.chromium.org/2537683002/diff/140001/cc/tiles/image_controller.cc File cc/tiles/image_controller.cc (right): https://codereview.chromium.org/2537683002/diff/140001/cc/tiles/image_controller.cc#newcode138 cc/tiles/image_controller.cc:138: if (cache_) On 2017/01/09 21:07:27, ericrk wrote: > From ...
3 years, 11 months ago (2017-01-09 21:13:24 UTC) #35
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/2537683002/180001
3 years, 11 months ago (2017-01-10 00:25:05 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/209684)
3 years, 11 months ago (2017-01-10 01:58:34 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/2537683002/220001
3 years, 11 months ago (2017-01-10 23:54:35 UTC) #55
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/97475)
3 years, 11 months ago (2017-01-11 01:29:33 UTC) #57
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/2537683002/220001
3 years, 11 months ago (2017-01-11 18:55:27 UTC) #59
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/98423)
3 years, 11 months ago (2017-01-11 20:01:51 UTC) #61
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/2537683002/220001
3 years, 11 months ago (2017-01-11 22:15:22 UTC) #63
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://chromium.googlesource.com/chromium/src/+/bb991d41668aa0f37aa6d6712e3bf9b52a5480ae
3 years, 11 months ago (2017-01-12 00:39:38 UTC) #66
findit-for-me
FYI: Findit identified this CL at revision 443085 as the culprit for failures in the ...
3 years, 11 months ago (2017-01-12 01:37:29 UTC) #67
dschuyler
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/2631453002/ by dschuyler@chromium.org. ...
3 years, 11 months ago (2017-01-12 02:35:52 UTC) #68
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/2537683002/240001
3 years, 11 months ago (2017-01-12 19:05:43 UTC) #72
commit-bot: I haz the power
Committed patchset #13 (id:240001) as https://chromium.googlesource.com/chromium/src/+/a6b30160a85adeaa983877116a089ed46fa4bd62
3 years, 11 months ago (2017-01-12 20:23:42 UTC) #75
Peter Mayo
On 2017/01/12 20:23:42, commit-bot: I haz the power wrote: > Committed patchset #13 (id:240001) as ...
3 years, 11 months ago (2017-01-17 22:35:25 UTC) #76
vmpstr
On 2017/01/17 22:35:25, Peter Mayo wrote: > On 2017/01/12 20:23:42, commit-bot: I haz the power ...
3 years, 11 months ago (2017-01-17 23:29:21 UTC) #77
vmpstr
3 years, 11 months ago (2017-01-18 01:22:46 UTC) #78
Message was sent while issue was closed.
On 2017/01/17 23:29:21, vmpstr wrote:
> On 2017/01/17 22:35:25, Peter Mayo wrote:
> > On 2017/01/12 20:23:42, commit-bot: I haz the power wrote:
> > > Committed patchset #13 (id:240001) as
> > >
> >
>
https://chromium.googlesource.com/chromium/src/+/a6b30160a85adeaa983877116a08...
> > 
> > FWIW, this change breaks cc_unittests when --single-process-tests is passed.
> > 
> > That's sad because it's really useful for making rr recordings a lot easier
to
> > follow.
> > 
> > It ends up failing with a timeout, that seems to call Task->Quit() from a
> > different thread.  I'm not sure timeouts work in the tests.
> 
> Hmm this was certainly not the intent. I'll take a look ASAP to see if we need
> to revert this or if it's an easy fix.

This patch should fix it: https://codereview.chromium.org/2640553003/

Powered by Google App Engine
This is Rietveld 408576698