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

Issue 1832573004: Gpu Image Decode Controller (Closed)

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

Description

Adds a GPU version of the ImageDecodeController to the compositor. This allows us to pre-decode and upload images before raster work starts, allowing for more parallelism in the GPU composting path. BUG: 577372, 601848 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/d2ff2a13b45d39e39e6f6459a736bd03379543d7 Cr-Commit-Position: refs/heads/master@{#386493}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : formatting and minor renames to improve readability #

Patch Set 6 : Add lock checks minor fixes #

Patch Set 7 : comments #

Total comments: 62

Patch Set 8 : feedback #

Patch Set 9 : unify skcolortype conversions #

Patch Set 10 : small fixes #

Total comments: 47

Patch Set 11 : feedback Visibility / Destructor Memory Cleanup #

Patch Set 12 : fix leak #

Patch Set 13 : YuV LayoutTests + Allow for image decode failures #

Patch Set 14 : rebase #

Patch Set 15 : rebaseline layout tests due to YuV rather than uploading images #

Patch Set 16 : rebase #

Total comments: 4

Patch Set 17 : scoped_ptr > std::unique_ptr #

Patch Set 18 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1536 lines, -82 lines) Patch
M cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -0 lines 0 comments Download
M cc/cc_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M cc/playback/draw_image.h View 1 chunk +1 line, -1 line 0 comments Download
M cc/raster/tile_task_runner.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +13 lines, -0 lines 0 comments Download
M cc/raster/tile_task_runner.cc View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M cc/raster/tile_task_worker_pool.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +4 lines, -3 lines 0 comments Download
M cc/resources/resource_format.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M cc/resources/resource_format.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -5 lines 0 comments Download
M cc/tiles/gpu_image_decode_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +151 lines, -5 lines 0 comments Download
M cc/tiles/gpu_image_decode_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +672 lines, -31 lines 0 comments Download
A cc/tiles/gpu_image_decode_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +606 lines, -0 lines 0 comments Download
M cc/tiles/image_decode_controller.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -0 lines 0 comments Download
M cc/tiles/software_image_decode_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +3 lines, -0 lines 0 comments Download
M cc/tiles/software_image_decode_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -24 lines 0 comments Download
M cc/tiles/tile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +19 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +26 lines, -11 lines 0 comments Download
M third_party/WebKit/LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +16 lines, -0 lines 0 comments Download

Messages

Total messages: 62 (35 generated)
ericrk
Here's my current WIP image decode patch - still doing some work on it, so ...
4 years, 9 months ago (2016-03-25 00:09:27 UTC) #4
ericrk
I think this is in good shape and ready for review :D - Thanks!
4 years, 9 months ago (2016-03-25 21:19:58 UTC) #7
vmpstr
https://codereview.chromium.org/1832573004/diff/120001/cc/raster/tile_task_runner.cc File cc/raster/tile_task_runner.cc (right): https://codereview.chromium.org/1832573004/diff/120001/cc/raster/tile_task_runner.cc#newcode50 cc/raster/tile_task_runner.cc:50: : dependency_(dependency) {} std::move(dependency) https://codereview.chromium.org/1832573004/diff/120001/cc/raster/tile_task_runner.h File cc/raster/tile_task_runner.h (right): https://codereview.chromium.org/1832573004/diff/120001/cc/raster/tile_task_runner.h#newcode68 ...
4 years, 9 months ago (2016-03-25 22:37:31 UTC) #8
ericrk
Thanks for the great feedback! Let me know how this looks now. https://codereview.chromium.org/1832573004/diff/120001/cc/raster/tile_task_runner.cc File cc/raster/tile_task_runner.cc ...
4 years, 8 months ago (2016-03-28 22:10:53 UTC) #10
vmpstr
https://codereview.chromium.org/1832573004/diff/200001/cc/raster/tile_task_runner.h File cc/raster/tile_task_runner.h (right): https://codereview.chromium.org/1832573004/diff/200001/cc/raster/tile_task_runner.h#newcode61 cc/raster/tile_task_runner.h:61: // Whether this ImageDecodeTask can be run at the ...
4 years, 8 months ago (2016-03-28 23:55:53 UTC) #11
vmiura
How do we deal with releasing uploaded GPU images when: a) Shutting down the TileManager? ...
4 years, 8 months ago (2016-03-29 01:33:17 UTC) #12
ericrk
Cleaned this up quite a bit: 1) We now only modify our bytes_used_ in two ...
4 years, 8 months ago (2016-03-29 23:11:30 UTC) #17
vmpstr
lgtm.
4 years, 8 months ago (2016-04-04 18:59:53 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/300001
4 years, 8 months ago (2016-04-05 17:23:22 UTC) #20
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/48613)
4 years, 8 months ago (2016-04-05 18:44:36 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/340001
4 years, 8 months ago (2016-04-05 23:36:22 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/84437)
4 years, 8 months ago (2016-04-06 01:33:14 UTC) #30
ericrk
Now that we skip YuV image decodes on Linux, had to re-base a number of ...
4 years, 8 months ago (2016-04-06 02:20:07 UTC) #31
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/380001
4 years, 8 months ago (2016-04-07 18:40:56 UTC) #34
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_gn/builds/15724) ios_dbg_simulator_ninja on ...
4 years, 8 months ago (2016-04-07 18:44:32 UTC) #36
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/420001
4 years, 8 months ago (2016-04-08 06:07:34 UTC) #39
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/92444)
4 years, 8 months ago (2016-04-08 06:11:28 UTC) #41
ericrk
Switching to updating LayoutTests rather than manually uploading rebaselined images. The cases in question all ...
4 years, 8 months ago (2016-04-08 18:12:36 UTC) #44
vmpstr
lgtm https://codereview.chromium.org/1832573004/diff/480001/cc/tiles/gpu_image_decode_controller.cc File cc/tiles/gpu_image_decode_controller.cc (right): https://codereview.chromium.org/1832573004/diff/480001/cc/tiles/gpu_image_decode_controller.cc#newcode606 cc/tiles/gpu_image_decode_controller.cc:606: scoped_ptr<base::DiscardableMemory> backing_memory; Probably unique_ptr at this point. https://codereview.chromium.org/1832573004/diff/480001/cc/tiles/gpu_image_decode_controller.cc#newcode630 ...
4 years, 8 months ago (2016-04-08 18:24:59 UTC) #45
ericrk
https://codereview.chromium.org/1832573004/diff/480001/cc/tiles/gpu_image_decode_controller.cc File cc/tiles/gpu_image_decode_controller.cc (right): https://codereview.chromium.org/1832573004/diff/480001/cc/tiles/gpu_image_decode_controller.cc#newcode606 cc/tiles/gpu_image_decode_controller.cc:606: scoped_ptr<base::DiscardableMemory> backing_memory; On 2016/04/08 18:24:59, vmpstr wrote: > Probably ...
4 years, 8 months ago (2016-04-08 20:55:18 UTC) #46
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/500001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/500001
4 years, 8 months ago (2016-04-08 20:56:07 UTC) #48
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-08 22:13:04 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/500001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/500001
4 years, 8 months ago (2016-04-11 18:28:31 UTC) #53
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/84612) linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, ...
4 years, 8 months ago (2016-04-11 18:32:53 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1832573004/520001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1832573004/520001
4 years, 8 months ago (2016-04-11 18:46:59 UTC) #58
commit-bot: I haz the power
Committed patchset #18 (id:520001)
4 years, 8 months ago (2016-04-11 22:16:13 UTC) #60
commit-bot: I haz the power
4 years, 8 months ago (2016-04-11 22:17:59 UTC) #62
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/d2ff2a13b45d39e39e6f6459a736bd03379543d7
Cr-Commit-Position: refs/heads/master@{#386493}

Powered by Google App Engine
This is Rietveld 408576698