diff options
author | reed <reed@google.com> | 2016-06-10 11:41:47 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-06-10 11:41:47 -0700 |
commit | 6644d9353f3f0c09914385fd762e073f98d54205 (patch) | |
tree | 617f3b1d2ca2b06cc34decfb44c4c975ba903ca5 /src/core/SkBitmapProcState.h | |
parent | 7049396b65660907af5292d899053280430d929a (diff) |
respect srgb gamma when building mips
Proposed policy:
- If the target is *legacy* (e.g. L32/PMColor) ignore gamma
- If the target is S32/F16 respect gamma
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029373004
Review-Url: https://codereview.chromium.org/2029373004
Diffstat (limited to 'src/core/SkBitmapProcState.h')
-rw-r--r-- | src/core/SkBitmapProcState.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/core/SkBitmapProcState.h b/src/core/SkBitmapProcState.h index 40dc31a5e0..e2e4f96951 100644 --- a/src/core/SkBitmapProcState.h +++ b/src/core/SkBitmapProcState.h @@ -28,8 +28,10 @@ typedef SkFixed3232 SkFractionalInt; class SkPaint; struct SkBitmapProcInfo { - SkBitmapProcInfo(const SkBitmapProvider&, SkShader::TileMode tmx, SkShader::TileMode tmy); - SkBitmapProcInfo(const SkBitmap&, SkShader::TileMode tmx, SkShader::TileMode tmy); + SkBitmapProcInfo(const SkBitmapProvider&, SkShader::TileMode tmx, SkShader::TileMode tmy, + SkSourceGammaTreatment); + SkBitmapProcInfo(const SkBitmap&, SkShader::TileMode tmx, SkShader::TileMode tmy, + SkSourceGammaTreatment); ~SkBitmapProcInfo(); const SkBitmapProvider fProvider; @@ -43,6 +45,7 @@ struct SkBitmapProcInfo { SkShader::TileMode fTileModeY; SkFilterQuality fFilterQuality; SkMatrix::TypeMask fInvType; + SkSourceGammaTreatment fSrcGammaTreatment; bool init(const SkMatrix& inverse, const SkPaint&); @@ -55,10 +58,12 @@ private: }; struct SkBitmapProcState : public SkBitmapProcInfo { - SkBitmapProcState(const SkBitmapProvider& prov, SkShader::TileMode tmx, SkShader::TileMode tmy) - : SkBitmapProcInfo(prov, tmx, tmy) {} - SkBitmapProcState(const SkBitmap& bitmap, SkShader::TileMode tmx, SkShader::TileMode tmy) - : SkBitmapProcInfo(bitmap, tmx, tmy) {} + SkBitmapProcState(const SkBitmapProvider& prov, SkShader::TileMode tmx, SkShader::TileMode tmy, + SkSourceGammaTreatment treatment) + : SkBitmapProcInfo(prov, tmx, tmy, treatment) {} + SkBitmapProcState(const SkBitmap& bitmap, SkShader::TileMode tmx, SkShader::TileMode tmy, + SkSourceGammaTreatment treatment) + : SkBitmapProcInfo(bitmap, tmx, tmy, treatment) {} bool setup(const SkMatrix& inv, const SkPaint& paint) { return this->init(inv, paint) && this->chooseProcs(); |