| Index: src/utils/SkTextureCompressor_R11EAC.cpp
|
| diff --git a/src/utils/SkTextureCompressor_R11EAC.cpp b/src/utils/SkTextureCompressor_R11EAC.cpp
|
| index 7baa219a28de88d05e2a6966b85b9d45ab2534e6..982fb012ef3cf9b3b6249b96eb1a6cb788789958 100644
|
| --- a/src/utils/SkTextureCompressor_R11EAC.cpp
|
| +++ b/src/utils/SkTextureCompressor_R11EAC.cpp
|
| @@ -28,6 +28,8 @@
|
| //
|
| // If mul is zero, then we set mul = 1/8, so that the formula becomes
|
| // clamp[0, 2047](base_cw * 8 + 4 + mod_val)
|
| +
|
| +#if COMPRESS_R11_EAC_SLOW
|
|
|
| static const int kNumR11EACPalettes = 16;
|
| static const int kR11EACPaletteSize = 8;
|
| @@ -49,8 +51,6 @@
|
| {-4, -6, -8, -9, 3, 5, 7, 8},
|
| {-3, -5, -7, -9, 2, 4, 6, 8}
|
| };
|
| -
|
| -#if COMPRESS_R11_EAC_SLOW
|
|
|
| // Pack the base codeword, palette, and multiplier into the 64 bits necessary
|
| // to decode it.
|
| @@ -557,38 +557,6 @@
|
| static_cast<uint64_t>(packedIndexColumn3));
|
| }
|
|
|
| -static inline int get_r11_eac_index(uint64_t block, int x, int y) {
|
| - SkASSERT(x >= 0 && x < 4);
|
| - SkASSERT(y >= 0 && y < 4);
|
| - const int idx = x*4 + y;
|
| - return (block >> ((15-idx)*3)) & 0x7;
|
| -}
|
| -
|
| -static void decompress_r11_eac_block(uint8_t* dst, int dstRowBytes, const uint8_t* src) {
|
| - const uint64_t block = SkEndian_SwapBE64(*(reinterpret_cast<const uint64_t *>(src)));
|
| -
|
| - const int base_cw = (block >> 56) & 0xFF;
|
| - const int mod = (block >> 52) & 0xF;
|
| - const int palette_idx = (block >> 48) & 0xF;
|
| -
|
| - const int* palette = kR11EACModifierPalettes[palette_idx];
|
| -
|
| - for (int j = 0; j < 4; ++j) {
|
| - for (int i = 0; i < 4; ++i) {
|
| - const int idx = get_r11_eac_index(block, i, j);
|
| - const int val = base_cw*8 + 4 + palette[idx]*mod*8;
|
| - if (val < 0) {
|
| - dst[i] = 0;
|
| - } else if (val > 2047) {
|
| - dst[i] = 0xFF;
|
| - } else {
|
| - dst[i] = (val >> 3) & 0xFF;
|
| - }
|
| - }
|
| - dst += dstRowBytes;
|
| - }
|
| -}
|
| -
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|
| namespace SkTextureCompressor {
|
| @@ -614,14 +582,4 @@
|
| (width, height, outputBuffer);
|
| }
|
|
|
| -void DecompressR11EAC(uint8_t* dst, int dstRowBytes, const uint8_t* src, int width, int height) {
|
| - for (int j = 0; j < height; j += 4) {
|
| - for (int i = 0; i < width; i += 4) {
|
| - decompress_r11_eac_block(dst + i, dstRowBytes, src);
|
| - src += 8;
|
| - }
|
| - dst += 4 * dstRowBytes;
|
| - }
|
| -}
|
| -
|
| } // namespace SkTextureCompressor
|
|
|