summaryrefslogtreecommitdiff
path: root/libs/hwui/FrameBuilder.cpp
diff options
context:
space:
mode:
author Chris Craik <ccraik@google.com> 2016-06-09 16:57:11 -0700
committer Chris Craik <ccraik@google.com> 2016-06-09 17:05:27 -0700
commitd4fe4d3b30aaefcaaae6a6d1b8dc4bf59e034768 (patch)
tree4ae5c99ecc5a507f9851281f4cee907f877e6a78 /libs/hwui/FrameBuilder.cpp
parentfe089e3dc5683d98f327353bfacb9259d6acbf54 (diff)
Fix framebuffer incomplete errors
bug:29127615 Primarily fixes case where 0 dimensioned layers could be created/updated. Additionally, adds more logging in incomplete framebuffer cases, if they still occur. Change-Id: Ib90dbbafd6905aca3c8f46e64064e13a308f713d
Diffstat (limited to 'libs/hwui/FrameBuilder.cpp')
-rw-r--r--libs/hwui/FrameBuilder.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/FrameBuilder.cpp b/libs/hwui/FrameBuilder.cpp
index cb8e55fbb21c..b8a5ce6686b4 100644
--- a/libs/hwui/FrameBuilder.cpp
+++ b/libs/hwui/FrameBuilder.cpp
@@ -86,7 +86,9 @@ void FrameBuilder::deferLayers(const LayerUpdateQueue& layers) {
ATRACE_FORMAT("Optimize HW Layer DisplayList %s %ux%u",
layerNode->getName(), layerNode->getWidth(), layerNode->getHeight());
- const Rect& layerDamage = layers.entries()[i].damage;
+ Rect layerDamage = layers.entries()[i].damage;
+ // TODO: ensure layer damage can't be larger than layer
+ layerDamage.doIntersect(0, 0, layer->viewportWidth, layer->viewportHeight);
layerNode->computeOrdering();
// map current light center into RenderNode's coordinate space