summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Chet Haase <chet@google.com> 2011-03-24 15:55:05 -0700
committer Chet Haase <chet@google.com> 2011-03-24 15:55:05 -0700
commitf147340bd117c16a67287e2f6ca9ded651bb32b2 (patch)
tree695fc01badf4bea220a31765249f2edff90282a0 /libs/hwui/OpenGLRenderer.cpp
parent15cb32ed9d189526d5a98add386b28cea6bc46b7 (diff)
Fix bug with accelerated translucent rendering
There was a bug in the dirty region optimizations when using alpha layers. This prevented translucent objects from being drawn at all in many situations. Change-Id: I23e9bce3595fbd6fe2bda15e8753a0f35baffb82
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 6c454a4f2b38..c9a286b26ffe 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -647,6 +647,9 @@ void OpenGLRenderer::composeLayerRect(Layer* layer, const Rect& rect, bool swap)
void OpenGLRenderer::composeLayerRegion(Layer* layer, const Rect& rect) {
#if RENDER_LAYERS_AS_REGIONS
if (layer->region.isRect()) {
+ const android::Rect& bounds = layer->region.getBounds();
+ layer->regionRect.set(bounds.leftTop().x, bounds.leftTop().y,
+ bounds.rightBottom().x, bounds.rightBottom().y);
composeLayerRect(layer, layer->regionRect);
layer->region.clear();
return;