Merge "Textured text calls could be invisible Bug #6597730" into jb-dev

This commit is contained in:
Romain Guy
2012-06-11 17:31:44 -07:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 0 deletions

View File

@ -598,6 +598,7 @@ void FontRenderer::allocateTextureMemory(CacheTexture* cacheTexture) {
glGenTextures(1, &cacheTexture->mTextureId);
}
Caches::getInstance().activeTexture(0);
glBindTexture(GL_TEXTURE_2D, cacheTexture->mTextureId);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
// Initialize texture dimensions
@ -826,6 +827,7 @@ void FontRenderer::checkTextureUpdate() {
}
}
caches.activeTexture(0);
glBindTexture(GL_TEXTURE_2D, mCurrentCacheTexture->mTextureId);
if (mLinearFiltering != mCurrentCacheTexture->mLinearFiltering) {
const GLenum filtering = mLinearFiltering ? GL_LINEAR : GL_NEAREST;

View File

@ -2422,6 +2422,7 @@ status_t OpenGLRenderer::drawText(const char* text, int bytesCount, int count,
linearFilter = fabs(y - (int) y) > 0.0f || fabs(x - (int) x) > 0.0f;
}
// The font renderer will always use texture unit 0
mCaches.activeTexture(0);
setupDraw();
setupDrawDirtyRegionsDisabled();
@ -2432,6 +2433,8 @@ status_t OpenGLRenderer::drawText(const char* text, int bytesCount, int count,
setupDrawBlending(true, mode);
setupDrawProgram();
setupDrawModelView(x, y, x, y, pureTranslate, true);
// See comment above; the font renderer must use texture unit 0
// assert(mTextureUnit == 0)
setupDrawTexture(fontRenderer.getTexture(linearFilter));
setupDrawPureColorUniforms();
setupDrawColorFilterUniforms();