From c62c1cc17ded117433d23ba5dd6c364b05fbcdbd Mon Sep 17 00:00:00 2001 From: Digish Pandya Date: Mon, 12 May 2014 14:37:04 +0530 Subject: Use alpha channel instead of red in drawCachedGlyphBitmap the correct value to copy in bitmap is alpha component from the cachebuffer. currently it is offset to red channel if format is RGBA which is wrong. this is followup fix for https://android-review.googlesource.com/#/c/93943/ Change-Id: I96b5ba35df5ccaef44caf2542d35d6585ba1df80 Signed-off-by: Digish Pandya --- libs/hwui/PixelBuffer.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'libs/hwui/PixelBuffer.h') diff --git a/libs/hwui/PixelBuffer.h b/libs/hwui/PixelBuffer.h index 9725a6162a2c..04225a20cfc2 100644 --- a/libs/hwui/PixelBuffer.h +++ b/libs/hwui/PixelBuffer.h @@ -175,6 +175,25 @@ public: return 0; } + /** + * Returns the alpha channel offset in the specified format. + * + * Supported formats: + * GL_ALPHA + * GL_RGBA + */ + static uint32_t formatAlphaOffset(GLenum format) { + switch (format) { + case GL_ALPHA: + return 0; + case GL_RGBA: + return 3; + } + + ALOGE("unsupported format: %d",format); + return 0; + } + protected: /** * Creates a new render buffer in the specified format and dimensions. -- cgit v1.2.3-59-g8ed1b