diff options
author | Jim Van Verth <jvanverth@google.com> | 2019-01-18 10:36:32 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2019-01-18 16:32:08 +0000 |
commit | ee06b33570f0c78616231d8c5ed1e639cd162e69 (patch) | |
tree | 63f1a6a3c28cd27909713f33e336397c5f2f4dab /include | |
parent | 3a33fa5371e948e3e79377b6002888c76e75f42e (diff) | |
download | skqp-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.h | 19 |
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); |