From f147340bd117c16a67287e2f6ca9ded651bb32b2 Mon Sep 17 00:00:00 2001 From: Chet Haase Date: Thu, 24 Mar 2011 15:55:05 -0700 Subject: 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 --- libs/hwui/OpenGLRenderer.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libs/hwui/OpenGLRenderer.cpp') 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; -- cgit v1.2.3-59-g8ed1b