summaryrefslogtreecommitdiffstats
path: root/libs/hwui/tests/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/tests/main.cpp')
-rw-r--r--libs/hwui/tests/main.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/libs/hwui/tests/main.cpp b/libs/hwui/tests/main.cpp
index 62782af..aca7c52 100644
--- a/libs/hwui/tests/main.cpp
+++ b/libs/hwui/tests/main.cpp
@@ -14,8 +14,6 @@
* limitations under the License.
*/
-#include <stdio.h>
-
#include <cutils/log.h>
#include <gui/Surface.h>
#include <ui/PixelFormat.h>
@@ -28,6 +26,9 @@
#include "TestContext.h"
+#include <stdio.h>
+#include <unistd.h>
+
using namespace android;
using namespace android::uirenderer;
using namespace android::uirenderer::renderthread;
@@ -93,16 +94,27 @@ public:
animation.createContent(width, height, renderer);
endRecording(renderer, rootNode);
+ // Do a few cold runs then reset the stats so that the caches are all hot
+ for (int i = 0; i < 3; i++) {
+ testContext.waitForVsync();
+ proxy->syncAndDrawFrame();
+ }
+ proxy->resetProfileInfo();
+
for (int i = 0; i < animation.getFrameCount(); i++) {
-#if !HWUI_NULL_GPU
testContext.waitForVsync();
-#endif
+ // workaround b/20853441
+ proxy->fence();
ATRACE_NAME("UI-Draw Frame");
+ nsecs_t vsync = systemTime(CLOCK_MONOTONIC);
+ UiFrameInfoBuilder(proxy->frameInfo())
+ .setVsync(vsync, vsync);
animation.doFrame(i);
proxy->syncAndDrawFrame();
}
+ proxy->dumpProfileInfo(STDOUT_FILENO, 0);
rootNode->decStrong(nullptr);
}
};