Add utils to better quantize grayscale values to three bit indices while
compressing coverage masks.
Signed-off-by: Pavel Krajcevski <pavel@cs.unc.edu>
BUG=skia:
Review URL: https://codereview.chromium.org/669243003
diff --git a/src/utils/SkTextureCompressor_R11EAC.cpp b/src/utils/SkTextureCompressor_R11EAC.cpp
index 9996eb9..43226e0 100644
--- a/src/utils/SkTextureCompressor_R11EAC.cpp
+++ b/src/utils/SkTextureCompressor_R11EAC.cpp
@@ -7,6 +7,7 @@
#include "SkTextureCompressor.h"
#include "SkTextureCompressor_Blitter.h"
+#include "SkTextureCompressor_Utils.h"
#include "SkBlitter.h"
#include "SkEndian.h"
@@ -320,7 +321,7 @@
// Most of the voodoo in this function comes from Hacker's Delight, section 2-18
static inline uint32_t convert_indices(uint32_t x) {
// Take the top three bits...
- x = (x & 0xE0E0E0E0) >> 5;
+ x = SkTextureCompressor::ConvertToThreeBitIndex(x);
// Negate...
x = ~((0x80808080 - x) ^ 0x7F7F7F7F);