Merge "Properly computer gradient textures width" into jb-mr2-dev

This commit is contained in:
Romain Guy
2013-04-12 23:39:26 +00:00
committed by Android (Google) Code Review

View File

@@ -148,8 +148,11 @@ void GradientCache::getGradientInfo(const uint32_t* colors, const int count,
GradientInfo& info) { GradientInfo& info) {
uint32_t width = 256 * (count - 1); uint32_t width = 256 * (count - 1);
if (!mHasNpot) { // If the npot extension is not supported we cannot use non-clamp
width = 1 << (31 - __builtin_clz(width)); // wrap modes. We therefore find the nearest largest power of 2
// unless width is already a power of 2
if (!mHasNpot && (width & (width - 1)) != 0) {
width = 1 << (32 - __builtin_clz(width));
} }
bool hasAlpha = false; bool hasAlpha = false;