Fix color filter LUT (install custom stage after reset of sampler). Over the shoulder review by TomH.

git-svn-id: http://skia.googlecode.com/svn/trunk@4691 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
bsalomon@google.com 2012-07-20 15:09:31 +00:00
parent 25f3e9bb63
commit cbd0ad9030

View File

@ -514,11 +514,11 @@ inline bool skPaint2GrPaintNoShader(SkGpuDevice* dev,
GrSamplerState* colorSampler = grPaint->textureSampler(kColorFilterTextureIdx);
GrTexture* texture = act->set(dev, colorTransformTable, colorSampler);
colorSampler->setCustomStage(SkNEW_ARGS(GrColorTableEffect, (texture)))->unref();
// reset() sets the sampler's matrix to I. The custom stage doesn't require the matrix.
// The shader generator will omit the matrix if it is I. Once the matrix is moved from the
// sampler state to the custom stage this will no longer be necessary.
colorSampler->reset(GrSamplerState::kClamp_WrapMode, GrSamplerState::kNearest_Filter);
colorSampler->setCustomStage(SkNEW_ARGS(GrColorTableEffect, (texture)))->unref();
} else {
grPaint->resetColorFilter();
}