diff options
author | 2013-02-27 23:47:54 +0000 | |
---|---|---|
committer | 2013-02-27 23:47:55 +0000 | |
commit | d80806b305ce337283c24f14522cc58fea090b8c (patch) | |
tree | 701d3e4ea59f356c20b273c3061b6206782206b9 /libs/hwui/OpenGLRenderer.cpp | |
parent | 122f4051b5c4d61044ba377b4b5fa10133ab7b37 (diff) | |
parent | 6c5b9be7450903762f676522c32d65f7545730df (diff) |
Merge "Fix T-junctions in layers' generated meshes" into jb-mr2-dev
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 6c8f38d2fd9b..d683c272bdcc 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1022,7 +1022,14 @@ void OpenGLRenderer::composeLayerRegion(Layer* layer, const Rect& rect) { // information about this implementation if (CC_LIKELY(!layer->region.isEmpty())) { size_t count; - const android::Rect* rects = layer->region.getArray(&count); + const android::Rect* rects; + Region safeRegion; + if (CC_LIKELY(hasRectToRectTransform())) { + rects = layer->region.getArray(&count); + } else { + safeRegion = Region::createTJunctionFreeRegion(layer->region); + rects = safeRegion.getArray(&count); + } const float alpha = layer->getAlpha() / 255.0f; const float texX = 1.0f / float(layer->getWidth()); |