Loading libs/hwui/LayerRenderer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -92,7 +92,11 @@ Region* LayerRenderer::getRegion() { void LayerRenderer::generateMesh() { #if RENDER_LAYERS_AS_REGIONS #if RENDER_LAYERS_RECT_AS_RECT if (mLayer->region.isRect() || mLayer->region.isEmpty()) { #else if (mLayer->region.isEmpty()) { #endif if (mLayer->mesh) { delete mLayer->mesh; delete mLayer->meshIndices; Loading libs/hwui/OpenGLRenderer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -636,11 +636,13 @@ void OpenGLRenderer::composeLayerRect(Layer* layer, const Rect& rect, bool swap) void OpenGLRenderer::composeLayerRegion(Layer* layer, const Rect& rect) { #if RENDER_LAYERS_AS_REGIONS #if RENDER_LAYERS_RECT_AS_RECT if (layer->region.isRect()) { composeLayerRect(layer, rect); layer->region.clear(); return; } #endif if (!layer->region.isEmpty()) { size_t count; Loading Loading @@ -1646,10 +1648,14 @@ void OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* paint) { #if RENDER_LAYERS_AS_REGIONS if (!layer->region.isEmpty()) { #if RENDER_LAYERS_RECT_AS_RECT if (layer->region.isRect()) { const Rect r(x, y, x + layer->layer.getWidth(), y + layer->layer.getHeight()); composeLayerRect(layer, r); } else if (layer->mesh) { #else if (layer->mesh) { #endif const float a = alpha / 255.0f; const Rect& rect = layer->layer; Loading libs/hwui/Properties.h +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ // If turned on, layers drawn inside FBOs are optimized with regions #define RENDER_LAYERS_AS_REGIONS 1 // If turned on, layers that map to a single rect are drawn as a rect #define RENDER_LAYERS_RECT_AS_RECT 0 /** * Debug level for app developers. Loading Loading
libs/hwui/LayerRenderer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -92,7 +92,11 @@ Region* LayerRenderer::getRegion() { void LayerRenderer::generateMesh() { #if RENDER_LAYERS_AS_REGIONS #if RENDER_LAYERS_RECT_AS_RECT if (mLayer->region.isRect() || mLayer->region.isEmpty()) { #else if (mLayer->region.isEmpty()) { #endif if (mLayer->mesh) { delete mLayer->mesh; delete mLayer->meshIndices; Loading
libs/hwui/OpenGLRenderer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -636,11 +636,13 @@ void OpenGLRenderer::composeLayerRect(Layer* layer, const Rect& rect, bool swap) void OpenGLRenderer::composeLayerRegion(Layer* layer, const Rect& rect) { #if RENDER_LAYERS_AS_REGIONS #if RENDER_LAYERS_RECT_AS_RECT if (layer->region.isRect()) { composeLayerRect(layer, rect); layer->region.clear(); return; } #endif if (!layer->region.isEmpty()) { size_t count; Loading Loading @@ -1646,10 +1648,14 @@ void OpenGLRenderer::drawLayer(Layer* layer, float x, float y, SkPaint* paint) { #if RENDER_LAYERS_AS_REGIONS if (!layer->region.isEmpty()) { #if RENDER_LAYERS_RECT_AS_RECT if (layer->region.isRect()) { const Rect r(x, y, x + layer->layer.getWidth(), y + layer->layer.getHeight()); composeLayerRect(layer, r); } else if (layer->mesh) { #else if (layer->mesh) { #endif const float a = alpha / 255.0f; const Rect& rect = layer->layer; Loading
libs/hwui/Properties.h +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ // If turned on, layers drawn inside FBOs are optimized with regions #define RENDER_LAYERS_AS_REGIONS 1 // If turned on, layers that map to a single rect are drawn as a rect #define RENDER_LAYERS_RECT_AS_RECT 0 /** * Debug level for app developers. Loading