diff options
author | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-12-12 21:57:03 +0000 |
---|---|---|
committer | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-12-12 21:57:03 +0000 |
commit | f864ec467dfd518e32f6e4d709fafe57f1b3dbc6 (patch) | |
tree | 295d5ab147aa00b967b27c6f294ab486a13d939d /src/gpu | |
parent | 089130c24e29dd0ffc53f0396acdc8f0b50dabd4 (diff) |
skip paint->drawstate sampler copies when there is no texture
Review URL: http://codereview.appspot.com/5484053/
git-svn-id: http://skia.googlecode.com/svn/trunk@2859 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu')
-rw-r--r-- | src/gpu/GrContext.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 4a16d9d377..335c1ef3eb 100644 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -1913,7 +1913,9 @@ void GrContext::setPaint(const GrPaint& paint, GrDrawTarget* target) { int s = i + GrPaint::kFirstTextureStage; drawState->setTexture(s, paint.getTexture(i)); ASSERT_OWNED_RESOURCE(paint.getTexture(i)); - *drawState->sampler(s) = paint.getTextureSampler(i); + if (paint.getTexture(i)) { + *drawState->sampler(s) = paint.getTextureSampler(i); + } } drawState->setFirstCoverageStage(GrPaint::kFirstMaskStage); @@ -1922,7 +1924,9 @@ void GrContext::setPaint(const GrPaint& paint, GrDrawTarget* target) { int s = i + GrPaint::kFirstMaskStage; drawState->setTexture(s, paint.getMask(i)); ASSERT_OWNED_RESOURCE(paint.getMask(i)); - *drawState->sampler(s) = paint.getMaskSampler(i); + if (paint.getMask(i)) { + *drawState->sampler(s) = paint.getMaskSampler(i); + } } drawState->setColor(paint.fColor); |