Chromium Code Reviews| Index: src/utils/SkTextureCompressor.h |
| diff --git a/src/utils/SkTextureCompressor.h b/src/utils/SkTextureCompressor.h |
| index c6305bab45172c2ca869f9b1ce16bad11f397a1e..db0ca6b28b87c29165b6002f867c451ed875afff 100644 |
| --- a/src/utils/SkTextureCompressor.h |
| +++ b/src/utils/SkTextureCompressor.h |
| @@ -44,6 +44,24 @@ namespace SkTextureCompressor { |
| int width, int height, int rowBytes, Format format, |
| bool opt = true /* Use optimization if available */); |
|
robertphillips
2014/07/31 15:01:01
typo.
krajcevski
2014/07/31 15:12:18
Done.
|
| + // Decomrpesses the given src data from the format specified into the |
| + // destination buffer. The width and height of the data passed corresponds |
| + // to the width and height of the uncompressed image. The destination buffer (dst) |
| + // is assumed to be large enough to hold the entire decompressed image. The |
| + // decompressed image colors are determined based on the passed format: |
| + // |
| + // LATC -> Alpha 8 |
| + // R11_EAC -> Alpha 8 |
| + // ASTC -> RGBA |
| + // |
| + // Note, CompressBufferToFormat compresses A8 data into ASTC. However, |
| + // general ASTC data encodes RGBA data, so that is what the decompressor |
| + // operates on. |
| + // |
| + // Returns true if successfully decompresses the src data. |
| + bool DecompressBufferFromFormat(uint8_t* dst, int dstRowBytes, const uint8_t* src, |
| + int width, int height, Format format); |
| + |
| // This typedef defines what the nominal aspects of a compression function |
| // are. The typedef is not meant to be used by clients of the API, but rather |
| // allows SIMD optimized compression functions to be implemented. |
| @@ -59,8 +77,9 @@ namespace SkTextureCompressor { |
| // Returns the desired dimensions of the block size for the given format. These dimensions |
| // don't necessarily correspond to the hardware-specified dimensions, since there may |
| // be specialized algorithms that operate on multiple blocks at once. These dimensions |
| - // reflect that optimization and return the appropriate operable dimensions. |
| - void GetBlockDimensions(Format format, int* dimX, int* dimY); |
| + // reflect that optimization and return the appropriate operable dimensions. If the |
| + // flag 'hardware' is true, then the actual hardware dimensions are returned. |
| + void GetBlockDimensions(Format format, int* dimX, int* dimY, bool hardware = false); |
| } |
| #endif |