From f864ec467dfd518e32f6e4d709fafe57f1b3dbc6 Mon Sep 17 00:00:00 2001 From: "bsalomon@google.com" Date: Mon, 12 Dec 2011 21:57:03 +0000 Subject: [PATCH] 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 --- src/gpu/GrContext.cpp | 8 ++++++-- 1 file 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);