aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
diff options
context:
space:
mode:
authorGravatar Stan Iliev <stani@google.com>2017-06-08 15:16:53 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-08 20:23:05 +0000
commitba81af27cff1c1e23051d2957612b2f3e0fbf885 (patch)
tree26d9a5a1dd6766ea3055975409ab3cd44d2a4448 /include/core
parent0cb31675f3aa9cc878aa3a9e1a7ad09efdb350fc (diff)
Add support for SkImageGenerator creating external textures
Copy the SkImageGenerator texture if tiling is needed and original texture target is GR_GL_TEXTURE_EXTERNAL. Bug: skia: Change-Id: I98f5acc3883e2060b1a35f80633b02b08a706107 Reviewed-on: https://skia-review.googlesource.com/18268 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stan Iliev <stani@google.com>
Diffstat (limited to 'include/core')
-rw-r--r--include/core/SkImageGenerator.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/core/SkImageGenerator.h b/include/core/SkImageGenerator.h
index 4514a2dadf..776df56368 100644
--- a/include/core/SkImageGenerator.h
+++ b/include/core/SkImageGenerator.h
@@ -176,7 +176,13 @@ protected:
virtual bool onGetYUV8Planes(const SkYUVSizeInfo&, void*[3] /*planes*/) { return false; }
#if SK_SUPPORT_GPU
- virtual bool onCanGenerateTexture() const { return false; }
+ enum class TexGenType {
+ kNone, //image generator does not implement onGenerateTexture
+ kCheap, //onGenerateTexture is implemented and it is fast (does not render offscreen)
+ kExpensive, //onGenerateTexture is implemented and it is relatively slow
+ };
+
+ virtual TexGenType onCanGenerateTexture() const { return TexGenType::kNone; }
virtual sk_sp<GrTextureProxy> onGenerateTexture(GrContext*, const SkImageInfo&,
const SkIPoint&); // returns nullptr
#endif