aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJim Van Verth <jvanverth@google.com>2019-01-18 10:36:32 -0500
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2019-01-18 16:32:08 +0000
commitee06b33570f0c78616231d8c5ed1e639cd162e69 (patch)
tree63f1a6a3c28cd27909713f33e336397c5f2f4dab /include
parent3a33fa5371e948e3e79377b6002888c76e75f42e (diff)
downloadskqp-ee06b33570f0c78616231d8c5ed1e639cd162e69.tar.gz
Reland "Add compressed data support for SkImage."
This is a reland of 57263c2e0ccddf4dd62814c427a39d9d615acbe5 Original change's description: > Add compressed data support for SkImage. > > Adds a new SkImage::MakeFromCompressed method which takes raw data, > a size, and a compression method, and returns a GPU-backed > image. > > Bug: skia:8684 > Change-Id: I570c9dafce283bcd64dfbef4fbe1c4bfeac6ce2a > Reviewed-on: https://skia-review.googlesource.com/c/184484 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> Bug: skia:8684 Change-Id: I25fb320e8cc05e1c5afa6faa81e1a55ffd83a7a3 Reviewed-on: https://skia-review.googlesource.com/c/185200 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'include')
-rw-r--r--include/core/SkImage.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/core/SkImage.h b/include/core/SkImage.h
index 764447f39b..c83769ccf7 100644
--- a/include/core/SkImage.h
+++ b/include/core/SkImage.h
@@ -176,6 +176,25 @@ public:
*/
static sk_sp<SkImage> MakeFromEncoded(sk_sp<SkData> encoded, const SkIRect* subset = nullptr);
+ enum CompressionType {
+ kETC1_CompressionType, //!< compressed data uses ETC1 compression
+ };
+
+ /** Creates a GPU-backed SkImage from compressed data.
+
+ SkImage is returned if format of the compressed data is supported.
+ Supported formats vary by platform.
+
+ @param context GPU context
+ @param data compressed data to store in SkImage
+ @param width width of full SkImage
+ @param height height of full SkImage
+ @param type type of compression used
+ @return created SkImage, or nullptr
+ */
+ static sk_sp<SkImage> MakeFromCompressed(GrContext* context, sk_sp<SkData> data,
+ int width, int height, CompressionType type);
+
/** User function called when supplied texture may be deleted.
*/
typedef void (*TextureReleaseProc)(ReleaseContext releaseContext);