Index: src/core/SkLightingShader.cpp |
diff --git a/src/core/SkLightingShader.cpp b/src/core/SkLightingShader.cpp |
index d011712feac5130fdcb67a3b61878d7c575e15a4..73d5c79c0e2cea64469b7326ca58322bc4823f14 100644 |
--- a/src/core/SkLightingShader.cpp |
+++ b/src/core/SkLightingShader.cpp |
@@ -75,7 +75,8 @@ public: |
const GrFragmentProcessor* asFragmentProcessor(GrContext*, |
const SkMatrix& viewM, |
const SkMatrix* localMatrix, |
- SkFilterQuality) const override; |
+ SkFilterQuality, |
+ bool gammaCorrect) const override; |
#endif |
class LightingShaderContext : public SkShader::Context { |
@@ -353,7 +354,8 @@ const GrFragmentProcessor* SkLightingShaderImpl::asFragmentProcessor( |
GrContext* context, |
const SkMatrix& viewM, |
const SkMatrix* localMatrix, |
- SkFilterQuality filterQuality) const { |
+ SkFilterQuality filterQuality, |
+ bool gammaCorrect) const { |
// we assume diffuse and normal maps have same width and height |
// TODO: support different sizes |
SkASSERT(fDiffuseMap.width() == fNormalMap.width() && |
@@ -386,7 +388,8 @@ const GrFragmentProcessor* SkLightingShaderImpl::asFragmentProcessor( |
// TODO: support other tile modes |
GrTextureParams diffParams(kClamp_TileMode, diffFilterMode); |
SkAutoTUnref<GrTexture> diffuseTexture(GrRefCachedBitmapTexture(context, |
- fDiffuseMap, diffParams)); |
+ fDiffuseMap, diffParams, |
+ gammaCorrect)); |
if (!diffuseTexture) { |
SkErrorInternals::SetError(kInternalError_SkError, "Couldn't convert bitmap to texture."); |
return nullptr; |
@@ -394,7 +397,8 @@ const GrFragmentProcessor* SkLightingShaderImpl::asFragmentProcessor( |
GrTextureParams normParams(kClamp_TileMode, normFilterMode); |
SkAutoTUnref<GrTexture> normalTexture(GrRefCachedBitmapTexture(context, |
- fNormalMap, normParams)); |
+ fNormalMap, normParams, |
+ gammaCorrect)); |
if (!normalTexture) { |
SkErrorInternals::SetError(kInternalError_SkError, "Couldn't convert bitmap to texture."); |
return nullptr; |