aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2017-10-09 09:57:35 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-11 17:11:07 +0000
commitf88c12ea2047c5ccb13613534b1794944bb233e8 (patch)
tree47e6ddc042c84d39a4578c0889ae8df41e0e53be /src/core
parent1fc0909065d7c1d629d4c177c5cbfc0f8d9d9d88 (diff)
Add api for passing mipped hint into ImageGenerator onGenerateTexture
This does not actually add any additional functionality to the generators. Once this lands I will enable the generators one at a time to more easily monitor the effects of each one. Bug: skia: Change-Id: I382a1acfaebcbf9ad44c9873b87cdbbe02a13602 Reviewed-on: https://skia-review.googlesource.com/57083 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkColorSpaceXformImageGenerator.cpp2
-rw-r--r--src/core/SkColorSpaceXformImageGenerator.h3
-rw-r--r--src/core/SkImageGenerator.cpp8
-rw-r--r--src/core/SkPictureImageGenerator.cpp2
-rw-r--r--src/core/SkPictureImageGenerator.h3
5 files changed, 11 insertions, 7 deletions
diff --git a/src/core/SkColorSpaceXformImageGenerator.cpp b/src/core/SkColorSpaceXformImageGenerator.cpp
index ea277fe410..94566d5d2a 100644
--- a/src/core/SkColorSpaceXformImageGenerator.cpp
+++ b/src/core/SkColorSpaceXformImageGenerator.cpp
@@ -64,7 +64,7 @@ bool SkColorSpaceXformImageGenerator::onGetPixels(const SkImageInfo& info, void*
sk_sp<GrTextureProxy> SkColorSpaceXformImageGenerator::onGenerateTexture(
GrContext* ctx, const SkImageInfo& info, const SkIPoint& origin,
- SkTransferFunctionBehavior) {
+ SkTransferFunctionBehavior, bool willNeedMipMaps) {
// FIXME:
// This always operates as if SkTranferFunctionBehavior is kIgnore. Should we add
// options so that caller can also request kRespect?
diff --git a/src/core/SkColorSpaceXformImageGenerator.h b/src/core/SkColorSpaceXformImageGenerator.h
index ab72eba9ff..3fd6b94a23 100644
--- a/src/core/SkColorSpaceXformImageGenerator.h
+++ b/src/core/SkColorSpaceXformImageGenerator.h
@@ -23,7 +23,8 @@ protected:
#if SK_SUPPORT_GPU
sk_sp<GrTextureProxy> onGenerateTexture(GrContext*, const SkImageInfo&, const SkIPoint&,
- SkTransferFunctionBehavior) override;
+ SkTransferFunctionBehavior,
+ bool willNeedMipMaps) override;
TexGenType onCanGenerateTexture() const override {
return TexGenType::kExpensive;
}
diff --git a/src/core/SkImageGenerator.cpp b/src/core/SkImageGenerator.cpp
index a3e825302b..865a718e44 100644
--- a/src/core/SkImageGenerator.cpp
+++ b/src/core/SkImageGenerator.cpp
@@ -66,17 +66,19 @@ bool SkImageGenerator::getYUV8Planes(const SkYUVSizeInfo& sizeInfo, void* planes
sk_sp<GrTextureProxy> SkImageGenerator::generateTexture(GrContext* ctx, const SkImageInfo& info,
const SkIPoint& origin,
- SkTransferFunctionBehavior behavior) {
+ SkTransferFunctionBehavior behavior,
+ bool willNeedMipMaps) {
SkIRect srcRect = SkIRect::MakeXYWH(origin.x(), origin.y(), info.width(), info.height());
if (!SkIRect::MakeWH(fInfo.width(), fInfo.height()).contains(srcRect)) {
return nullptr;
}
- return this->onGenerateTexture(ctx, info, origin, behavior);
+ return this->onGenerateTexture(ctx, info, origin, behavior, willNeedMipMaps);
}
sk_sp<GrTextureProxy> SkImageGenerator::onGenerateTexture(GrContext*, const SkImageInfo&,
const SkIPoint&,
- SkTransferFunctionBehavior) {
+ SkTransferFunctionBehavior,
+ bool willNeedMipMaps) {
return nullptr;
}
#endif
diff --git a/src/core/SkPictureImageGenerator.cpp b/src/core/SkPictureImageGenerator.cpp
index 75861329d6..f6c36ca93c 100644
--- a/src/core/SkPictureImageGenerator.cpp
+++ b/src/core/SkPictureImageGenerator.cpp
@@ -102,7 +102,7 @@ SkImageGenerator::MakeFromPicture(const SkISize& size, sk_sp<SkPicture> picture,
#if SK_SUPPORT_GPU
sk_sp<GrTextureProxy> SkPictureImageGenerator::onGenerateTexture(
GrContext* ctx, const SkImageInfo& info, const SkIPoint& origin,
- SkTransferFunctionBehavior behavior) {
+ SkTransferFunctionBehavior behavior, bool willNeedMipMaps) {
SkASSERT(ctx);
bool useXformCanvas = SkTransferFunctionBehavior::kIgnore == behavior && info.colorSpace();
diff --git a/src/core/SkPictureImageGenerator.h b/src/core/SkPictureImageGenerator.h
index f2ebc809c9..4c5f8e3a75 100644
--- a/src/core/SkPictureImageGenerator.h
+++ b/src/core/SkPictureImageGenerator.h
@@ -23,7 +23,8 @@ protected:
#if SK_SUPPORT_GPU
TexGenType onCanGenerateTexture() const override { return TexGenType::kExpensive; }
sk_sp<GrTextureProxy> onGenerateTexture(GrContext*, const SkImageInfo&, const SkIPoint&,
- SkTransferFunctionBehavior) override;
+ SkTransferFunctionBehavior,
+ bool willNeedMipMaps) override;
#endif
private: