diff options
author | 2017-06-08 15:16:53 -0400 | |
---|---|---|
committer | 2017-06-08 20:23:05 +0000 | |
commit | ba81af27cff1c1e23051d2957612b2f3e0fbf885 (patch) | |
tree | 26d9a5a1dd6766ea3055975409ab3cd44d2a4448 /include/core | |
parent | 0cb31675f3aa9cc878aa3a9e1a7ad09efdb350fc (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.h | 8 |
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 |