diff options
author | brianosman <brianosman@google.com> | 2016-04-06 07:38:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-06 07:38:23 -0700 |
commit | 898235c4864df66aa7f6d32bc2a8b8551040ce1e (patch) | |
tree | 5fb30f04825c59a970a208cabadd4bad0be283b3 /src/core/SkSpecialSurface.cpp | |
parent | 1817d282cda17cb8c2db0ac6fdc937743c026016 (diff) |
SkSurfaceProps now has a gamma-correct ("AllowSRGBInputs") flag. That's propagated in a few places so that the backend can do the right thing for L32 vs S32 mode.
Also added SkSurfaceProps to SkSpecialImage, so that Image -> Surface conversion can preserve the desired behavior during filtering.
Many small changes, including a bunch of comments about places where we may be losing information right now. My approach was to ensure that if anything fails, it will always fall back to "legacy" mode - gamma-correctness is opt-in, so I'll just have to feed things through as missing cases are exposed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838953007
Review URL: https://codereview.chromium.org/1845283003
Diffstat (limited to 'src/core/SkSpecialSurface.cpp')
-rw-r--r-- | src/core/SkSpecialSurface.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/SkSpecialSurface.cpp b/src/core/SkSpecialSurface.cpp index 2ac71ffb52..7dced71eb2 100644 --- a/src/core/SkSpecialSurface.cpp +++ b/src/core/SkSpecialSurface.cpp @@ -82,7 +82,8 @@ public: ~SkSpecialSurface_Raster() override { } sk_sp<SkSpecialImage> onMakeImageSnapshot() override { - return SkSpecialImage::MakeFromRaster(this->proxy(), this->subset(), fBitmap); + return SkSpecialImage::MakeFromRaster(this->proxy(), this->subset(), fBitmap, + &this->props()); } private: @@ -139,7 +140,8 @@ public: sk_sp<SkSpecialImage> onMakeImageSnapshot() override { return SkSpecialImage::MakeFromGpu(this->proxy(), this->subset(), - kNeedNewImageUniqueID_SpecialImage, fTexture); + kNeedNewImageUniqueID_SpecialImage, fTexture, + &this->props()); } private: |