Index: src/utils/SkTextureCompressor_LATC.cpp |
diff --git a/src/utils/SkTextureCompressor_LATC.cpp b/src/utils/SkTextureCompressor_LATC.cpp |
index 0b9cf17ad635b0f7470f75047d7b975be6b51875..c9bf89ea4c1bc648a194a1ad5ccc3517ccd0cf41 100644 |
--- a/src/utils/SkTextureCompressor_LATC.cpp |
+++ b/src/utils/SkTextureCompressor_LATC.cpp |
@@ -414,6 +414,23 @@ void decompress_latc_block(uint8_t* dst, int dstRowBytes, const uint8_t* src) { |
} |
} |
+// This is the type passed as the CompressorType argument of the compressed |
+// blitter for the LATC format. The static functions required to be in this |
+// struct are documented in SkTextureCompressor_Blitter.h |
+struct CompressorLATC { |
+ static inline void CompressA8Vertical(uint8_t* dst, const uint8_t block[]) { |
+ compress_a8_latc_block<PackColumnMajor>(&dst, block, 4); |
+ } |
+ |
+ static inline void CompressA8Horizontal(uint8_t* dst, const uint8_t* src, |
+ int srcRowBytes) { |
+ compress_a8_latc_block<PackRowMajor>(&dst, src, srcRowBytes); |
+ } |
+ |
+ static inline void UpdateBlock(uint8_t* dst, const uint8_t* src) { |
+ } |
+}; |
+ |
//////////////////////////////////////////////////////////////////////////////// |
namespace SkTextureCompressor { |
@@ -444,7 +461,7 @@ SkBlitter* CreateLATCBlitter(int width, int height, void* outputBuffer, |
sk_bzero(outputBuffer, width * height / 2); |
return allocator->createT< |
- SkTCompressedAlphaBlitter<4, 8, CompressA8LATCBlockVertical>, int, int, void* > |
+ SkTCompressedAlphaBlitter<4, 8, CompressorLATC>, int, int, void* > |
(width, height, outputBuffer); |
#elif COMPRESS_LATC_SLOW |
// TODO (krajcevski) |