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

Issue 1653983002: cc: Avoid extra flush calls to Skia GrContext (Closed)

Created:
4 years, 10 months ago by Kimmo Kinnunen
Modified:
4 years, 10 months ago
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

cc: Avoid extra flush calls to Skia GrContext Avoid calling GrContext::flush() upon every tile raster. The correct way to ensure rendering has been submitted to GPU API level is by "preparing for external io" the render target. This fixes the problem where Skia GPU resource cache resources grow old too quickly. Each flush will age the resources, and after becoming too old (64), the resources will be redundantly destroyed upon the next resource allocation. The flush is intended to be called at the rate the order of frames. Before this fix, the flush was called at least the amount relative to the amount of tiles. For MSAA, flush was called more than one time per tile. This fix reduces the amount of flushes. Also, after this fix the effect of potential extra flushes can be fixed in Skia. BUG=582858 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/adbacd950053d80419e4cfec6f998ccb470fc029 Cr-Commit-Position: refs/heads/master@{#375152}

Patch Set 1 #

Total comments: 1

Patch Set 2 : #

Total comments: 2

Patch Set 3 : address review comment #

Patch Set 4 : eh #

Total comments: 7

Patch Set 5 : remove the filter hunk #

Unified diffs Side-by-side diffs Delta from patch set Stats (+12 lines, -6 lines) Patch
M cc/raster/gpu_rasterizer.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M cc/raster/scoped_gpu_raster.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M cc/resources/resource_provider.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M cc/resources/resource_provider.cc View 1 2 3 4 1 chunk +9 lines, -2 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 43 (13 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1653983002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1653983002/1
4 years, 10 months ago (2016-02-01 07:37:41 UTC) #3
commit-bot: I haz the power
Dry run: No L-G-T-M from a valid reviewer yet. Only full committers are accepted. Even ...
4 years, 10 months ago (2016-02-01 07:37:43 UTC) #5
Kimmo Kinnunen
ericrk@ for the review bsalomon@ for to confirm Skia design related to the aging mechanism. ...
4 years, 10 months ago (2016-02-01 08:47:36 UTC) #8
bsalomon
https://chromiumcodereview.appspot.com/1653983002/diff/1/cc/raster/gpu_rasterizer.cc File cc/raster/gpu_rasterizer.cc (right): https://chromiumcodereview.appspot.com/1653983002/diff/1/cc/raster/gpu_rasterizer.cc#newcode82 cc/raster/gpu_rasterizer.cc:82: // This is undocumented: What is undocumented? Are we ...
4 years, 10 months ago (2016-02-01 14:55:59 UTC) #11
Kimmo Kinnunen
On 2016/02/01 14:55:59, bsalomon wrote: > https://chromiumcodereview.appspot.com/1653983002/diff/1/cc/raster/gpu_rasterizer.cc > File cc/raster/gpu_rasterizer.cc (right): > > https://chromiumcodereview.appspot.com/1653983002/diff/1/cc/raster/gpu_rasterizer.cc#newcode82 > ...
4 years, 10 months ago (2016-02-01 15:54:40 UTC) #12
bsalomon
On 2016/02/01 08:47:36, Kimmo Kinnunen wrote: > ericrk@ for the review > bsalomon@ for to ...
4 years, 10 months ago (2016-02-01 22:23:24 UTC) #13
Kimmo Kinnunen
On 2016/02/01 22:23:24, bsalomon wrote: > On 2016/02/01 08:47:36, Kimmo Kinnunen wrote: > > ericrk@ ...
4 years, 10 months ago (2016-02-02 09:54:19 UTC) #14
Kimmo Kinnunen
4 years, 10 months ago (2016-02-02 09:54:33 UTC) #16
Stephen White
Is there a test or performance benchmark which shows this bug? Ideally, we should add ...
4 years, 10 months ago (2016-02-02 13:44:55 UTC) #17
Kimmo Kinnunen
On 2016/02/02 13:44:55, Stephen White wrote: > Is there a test or performance benchmark which ...
4 years, 10 months ago (2016-02-02 14:08:08 UTC) #18
Kimmo Kinnunen
On 2016/02/02 14:08:08, Kimmo Kinnunen wrote: > On 2016/02/02 13:44:55, Stephen White wrote: > > ...
4 years, 10 months ago (2016-02-02 15:31:36 UTC) #19
Stephen White
On 2016/02/02 15:31:36, Kimmo Kinnunen wrote: > On 2016/02/02 14:08:08, Kimmo Kinnunen wrote: > > ...
4 years, 10 months ago (2016-02-02 16:58:40 UTC) #20
Stephen White
https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc File cc/raster/gpu_rasterizer.cc (right): https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc#newcode82 cc/raster/gpu_rasterizer.cc:82: multi_picture_draw.draw(true); This means we'll be calling SkCanvas::flush() on each ...
4 years, 10 months ago (2016-02-02 17:00:02 UTC) #22
bsalomon
On 2016/02/02 17:00:02, Stephen White wrote: > https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc > File cc/raster/gpu_rasterizer.cc (right): > > https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc#newcode82 ...
4 years, 10 months ago (2016-02-02 17:08:02 UTC) #23
Stephen White
On 2016/02/02 17:08:02, bsalomon wrote: > On 2016/02/02 17:00:02, Stephen White wrote: > > > ...
4 years, 10 months ago (2016-02-02 17:19:23 UTC) #24
bsalomon
On 2016/02/01 22:23:24, bsalomon wrote: > On 2016/02/01 08:47:36, Kimmo Kinnunen wrote: > > ericrk@ ...
4 years, 10 months ago (2016-02-04 15:42:14 UTC) #25
ericrk
https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc File cc/raster/gpu_rasterizer.cc (right): https://codereview.chromium.org/1653983002/diff/20001/cc/raster/gpu_rasterizer.cc#newcode82 cc/raster/gpu_rasterizer.cc:82: multi_picture_draw.draw(true); On 2016/02/02 17:00:01, Stephen White wrote: > This ...
4 years, 10 months ago (2016-02-08 18:08:19 UTC) #26
Kimmo Kinnunen
On 2016/02/08 18:08:19, ericrk wrote: > It seems like we may be able to achieve ...
4 years, 10 months ago (2016-02-09 12:24:25 UTC) #28
bsalomon
https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc#newcode992 cc/resources/resource_provider.cc:992: gr_surface_ = Why this change? Is there something missing ...
4 years, 10 months ago (2016-02-09 14:55:56 UTC) #29
Kimmo Kinnunen
https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc#newcode992 cc/resources/resource_provider.cc:992: gr_surface_ = On 2016/02/09 14:55:56, bsalomon wrote: > Why ...
4 years, 10 months ago (2016-02-09 18:13:44 UTC) #30
Kimmo Kinnunen
https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc#newcode1002 cc/resources/resource_provider.cc:1002: gr_surface_->prepareForExternalIO(); On 2016/02/09 18:13:44, Kimmo Kinnunen wrote: > For ...
4 years, 10 months ago (2016-02-09 18:17:27 UTC) #31
bsalomon
https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc File cc/resources/resource_provider.cc (right): https://codereview.chromium.org/1653983002/diff/60001/cc/resources/resource_provider.cc#newcode992 cc/resources/resource_provider.cc:992: gr_surface_ = On 2016/02/09 18:13:44, Kimmo Kinnunen wrote: > ...
4 years, 10 months ago (2016-02-09 18:22:12 UTC) #32
Kimmo Kinnunen
On 2016/02/09 18:22:12, bsalomon wrote: > I think that'd be preferable. I had been thinking ...
4 years, 10 months ago (2016-02-09 18:24:32 UTC) #33
ericrk
https://chromiumcodereview.appspot.com/1653983002/diff/60001/cc/raster/gpu_rasterizer.cc File cc/raster/gpu_rasterizer.cc (right): https://chromiumcodereview.appspot.com/1653983002/diff/60001/cc/raster/gpu_rasterizer.cc#newcode82 cc/raster/gpu_rasterizer.cc:82: multi_picture_draw.draw(false); Not sure I follow the change here. I ...
4 years, 10 months ago (2016-02-09 19:31:46 UTC) #34
Kimmo Kinnunen
On 2016/02/09 19:31:46, ericrk wrote: > https://chromiumcodereview.appspot.com/1653983002/diff/60001/cc/raster/gpu_rasterizer.cc > File cc/raster/gpu_rasterizer.cc (right): > > https://chromiumcodereview.appspot.com/1653983002/diff/60001/cc/raster/gpu_rasterizer.cc#newcode82 > ...
4 years, 10 months ago (2016-02-11 17:02:09 UTC) #36
ericrk
On 2016/02/02 at 17:19:23, senorblanco wrote: > On 2016/02/02 17:08:02, bsalomon wrote: > > On ...
4 years, 10 months ago (2016-02-11 23:58:18 UTC) #37
ericrk
On 2016/02/11 at 17:02:09, kkinnunen wrote: > On 2016/02/09 19:31:46, ericrk wrote: > > https://chromiumcodereview.appspot.com/1653983002/diff/60001/cc/raster/gpu_rasterizer.cc ...
4 years, 10 months ago (2016-02-12 00:05:15 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1653983002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1653983002/80001
4 years, 10 months ago (2016-02-12 08:39:37 UTC) #40
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 10 months ago (2016-02-12 10:08:22 UTC) #41
commit-bot: I haz the power
4 years, 10 months ago (2016-02-16 22:42:29 UTC) #43
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/adbacd950053d80419e4cfec6f998ccb470fc029
Cr-Commit-Position: refs/heads/master@{#375152}

Powered by Google App Engine
This is Rietveld 408576698