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

Issue 2262233002: Make GrTextureStripAtlas flush pending IO on newly acquired texture (Closed)

Created:
4 years, 4 months ago by ajuma
Modified:
4 years, 4 months ago
Reviewers:
bsalomon, mtklein_C
CC:
reviews_skia.org
Base URL:
https://chromium.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Make GrTextureStripAtlas flush pending IO on newly acquired texture GrTextureStripAtlas uses its own lock counts to protect against overwriting its own earlier writes, but that doesn't protect against IO that was pending when a texture was first acquired. BUG=chromium:637678 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2262233002 Committed: https://skia.googlesource.com/skia/+/95243ebb68cae9ff4821ea57b9a32a194f2a87cf

Patch Set 1 #

Total comments: 2

Patch Set 2 : Add comment and test #

Total comments: 4

Patch Set 3 : Address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+90 lines, -191 lines) Patch
M gyp/gpu.gypi View 1 2 chunks +1 line, -1 line 0 comments Download
M include/gpu/GrContext.h View 1 chunk +6 lines, -0 lines 0 comments Download
A + include/private/GrTextureStripAtlas.h View 1 0 chunks +-1 lines, --1 lines 0 comments Download
M src/effects/SkTableColorFilter.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M src/effects/gradients/SkGradientShader.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/GrContext.cpp View 1 chunk +8 lines, -0 lines 0 comments Download
D src/gpu/effects/GrTextureStripAtlas.h View 1 1 chunk +0 lines, -189 lines 0 comments Download
M src/gpu/effects/GrTextureStripAtlas.cpp View 1 1 chunk +4 lines, -0 lines 0 comments Download
A tests/GrTextureStripAtlasTest.cpp View 1 2 1 chunk +70 lines, -0 lines 0 comments Download

Messages

Total messages: 38 (25 generated)
ajuma
What's a good place to add a test for this?
4 years, 4 months ago (2016-08-22 16:30:37 UTC) #4
bsalomon
request for comment, otherwise lgtm. https://codereview.chromium.org/2262233002/diff/1/src/gpu/effects/GrTextureStripAtlas.cpp File src/gpu/effects/GrTextureStripAtlas.cpp (right): https://codereview.chromium.org/2262233002/diff/1/src/gpu/effects/GrTextureStripAtlas.cpp#newcode213 src/gpu/effects/GrTextureStripAtlas.cpp:213: fDesc.fContext->flushSurfaceIO(fTexture); Could you add ...
4 years, 4 months ago (2016-08-22 16:52:58 UTC) #5
bsalomon
On 2016/08/22 16:30:37, ajuma wrote: > What's a good place to add a test for ...
4 years, 4 months ago (2016-08-22 16:56:32 UTC) #6
ajuma
Added a test, ptal. https://codereview.chromium.org/2262233002/diff/1/src/gpu/effects/GrTextureStripAtlas.cpp File src/gpu/effects/GrTextureStripAtlas.cpp (right): https://codereview.chromium.org/2262233002/diff/1/src/gpu/effects/GrTextureStripAtlas.cpp#newcode213 src/gpu/effects/GrTextureStripAtlas.cpp:213: fDesc.fContext->flushSurfaceIO(fTexture); On 2016/08/22 16:52:57, bsalomon ...
4 years, 4 months ago (2016-08-24 13:12:39 UTC) #22
bsalomon
nice test https://codereview.chromium.org/2262233002/diff/80001/tests/GrTextureStripAtlasTest.cpp File tests/GrTextureStripAtlasTest.cpp (right): https://codereview.chromium.org/2262233002/diff/80001/tests/GrTextureStripAtlasTest.cpp#newcode24 tests/GrTextureStripAtlasTest.cpp:24: GrTexture* texture = context->textureProvider()->createTexture(desc, SkBudgeted::kYes, nullptr, 0); ...
4 years, 4 months ago (2016-08-24 13:31:10 UTC) #23
ajuma
https://codereview.chromium.org/2262233002/diff/80001/tests/GrTextureStripAtlasTest.cpp File tests/GrTextureStripAtlasTest.cpp (right): https://codereview.chromium.org/2262233002/diff/80001/tests/GrTextureStripAtlasTest.cpp#newcode24 tests/GrTextureStripAtlasTest.cpp:24: GrTexture* texture = context->textureProvider()->createTexture(desc, SkBudgeted::kYes, nullptr, 0); On 2016/08/24 ...
4 years, 4 months ago (2016-08-24 14:56:09 UTC) #28
bsalomon
lgtm, thanks for fixing this!
4 years, 4 months ago (2016-08-24 15:09:20 UTC) #29
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/2262233002/100001
4 years, 4 months ago (2016-08-24 15:18:08 UTC) #31
commit-bot: I haz the power
Committed patchset #3 (id:100001) as https://skia.googlesource.com/skia/+/95243ebb68cae9ff4821ea57b9a32a194f2a87cf
4 years, 4 months ago (2016-08-24 15:19:07 UTC) #33
mtklein_C
LSAN says this is leaking memory: https://luci-milo.appspot.com/swarming/task/30d636e0f1be5410/steps/dm/0/stdout
4 years, 4 months ago (2016-08-24 16:56:58 UTC) #35
bsalomon
On 2016/08/24 16:56:58, mtklein_C wrote: > LSAN says this is leaking memory: > https://luci-milo.appspot.com/swarming/task/30d636e0f1be5410/steps/dm/0/stdout Oh ...
4 years, 4 months ago (2016-08-24 17:17:07 UTC) #36
bsalomon
On 2016/08/24 17:17:07, bsalomon wrote: > On 2016/08/24 16:56:58, mtklein_C wrote: > > LSAN says ...
4 years, 4 months ago (2016-08-24 17:17:25 UTC) #37
ajuma
4 years, 4 months ago (2016-08-24 17:39:54 UTC) #38
Message was sent while issue was closed.
On 2016/08/24 17:17:25, bsalomon wrote:
> On 2016/08/24 17:17:07, bsalomon wrote:
> > On 2016/08/24 16:56:58, mtklein_C wrote:
> > > LSAN says this is leaking memory:
> > >
> https://luci-milo.appspot.com/swarming/task/30d636e0f1be5410/steps/dm/0/stdout
> > 
> > Oh yeah, looks like the atlas object is leaked.
> 
> In the new test

Whoops, looks like I forgot to call unlockRow. Putting up a fix.

Powered by Google App Engine
This is Rietveld 408576698