am bb5f8f5c: am 08897806: Merge "Add tracing for saveLayer" into lmp-mr1-dev

* commit 'bb5f8f5c94610f8eb23a6f74c3f0a5a7dd402606':
  Add tracing for saveLayer
This commit is contained in:
Chris Craik
2014-10-01 01:42:24 +00:00
committed by Android Git Automerger

View File

@@ -51,6 +51,21 @@
#define EVENT_LOGD(...) #define EVENT_LOGD(...)
#endif #endif
static void atraceFormatBegin(const char* fmt, ...) {
const int BUFFER_SIZE = 256;
va_list ap;
char buf[BUFFER_SIZE];
va_start(ap, fmt);
vsnprintf(buf, BUFFER_SIZE, fmt, ap);
va_end(ap);
ATRACE_BEGIN(buf);
}
#define ATRACE_FORMAT_BEGIN(fmt, ...) \
if (CC_UNLIKELY(ATRACE_ENABLED())) atraceFormatBegin(fmt, ##__VA_ARGS__)
namespace android { namespace android {
namespace uirenderer { namespace uirenderer {
@@ -537,17 +552,18 @@ void OpenGLRenderer::flushLayers() {
// Note: it is very important to update the layers in order // Note: it is very important to update the layers in order
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
Layer* layer = mLayerUpdates.itemAt(i);
sprintf(layerName, "Layer #%d", i); sprintf(layerName, "Layer #%d", i);
startMark(layerName); startMark(layerName);
ATRACE_FORMAT_BEGIN("flushLayer %ux%u", layer->getWidth(), layer->getHeight());
ATRACE_BEGIN("flushLayer");
Layer* layer = mLayerUpdates.itemAt(i);
layer->flush(); layer->flush();
ATRACE_END(); ATRACE_END();
endMark();
mCaches.resourceCache.decrementRefcount(layer); mCaches.resourceCache.decrementRefcount(layer);
endMark();
} }
mLayerUpdates.clear(); mLayerUpdates.clear();
@@ -631,6 +647,7 @@ void OpenGLRenderer::onSnapshotRestored(const Snapshot& removed, const Snapshot&
if (restoreLayer) { if (restoreLayer) {
endMark(); // Savelayer endMark(); // Savelayer
ATRACE_END(); // SaveLayer
startMark("ComposeLayer"); startMark("ComposeLayer");
composeLayer(removed, restored); composeLayer(removed, restored);
endMark(); endMark();
@@ -814,6 +831,9 @@ bool OpenGLRenderer::createLayer(float left, float top, float right, float botto
mSnapshot->flags |= Snapshot::kFlagIsLayer; mSnapshot->flags |= Snapshot::kFlagIsLayer;
mSnapshot->layer = layer; mSnapshot->layer = layer;
ATRACE_FORMAT_BEGIN("%ssaveLayer %ux%u",
fboLayer ? "" : "unclipped ",
layer->getWidth(), layer->getHeight());
startMark("SaveLayer"); startMark("SaveLayer");
if (fboLayer) { if (fboLayer) {
return createFboLayer(layer, bounds, clip); return createFboLayer(layer, bounds, clip);