aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-12-12 21:57:03 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-12-12 21:57:03 +0000
commitf864ec467dfd518e32f6e4d709fafe57f1b3dbc6 (patch)
tree295d5ab147aa00b967b27c6f294ab486a13d939d /src/gpu
parent089130c24e29dd0ffc53f0396acdc8f0b50dabd4 (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.cpp8
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);