From d968a6f29e92230ee118ec9cdfff0329bf83d602 Mon Sep 17 00:00:00 2001 From: tomhudson Date: Thu, 26 Mar 2015 11:28:06 -0700 Subject: Android HWUI backend Nanobench Uses filtering canvas from utils/android, shared with DM. Follow-up plans in https://skbug.com/3589, https://skbug.com/3595 R=djsollen@google.com Review URL: https://codereview.chromium.org/1029423010 --- bench/nanobenchAndroid.h | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 bench/nanobenchAndroid.h (limited to 'bench/nanobenchAndroid.h') diff --git a/bench/nanobenchAndroid.h b/bench/nanobenchAndroid.h new file mode 100644 index 0000000000..3baeb1270f --- /dev/null +++ b/bench/nanobenchAndroid.h @@ -0,0 +1,49 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef nanobenchAndroid_DEFINED +#define nanobenchAndroid_DEFINED + +#include "DisplayListRenderer.h" +#include "RenderNode.h" +#include "SkAndroidSDKCanvas.h" +#include "gui/BufferQueue.h" +#include "gui/CpuConsumer.h" +#include "gui/IGraphicBufferConsumer.h" +#include "gui/IGraphicBufferProducer.h" +#include "gui/Surface.h" +#include "renderthread/RenderProxy.h" + +#include "nanobench.h" + +struct HWUITarget : public Target { + explicit HWUITarget(const Config& c, Benchmark* bench); + + SkAutoTDelete rootNode; + SkAutoTDelete proxy; + SkAutoTDelete renderer; + android::sp producer; + android::sp consumer; + android::sp cpuConsumer; + android::sp androidSurface; + SkISize size; + SkAndroidSDKCanvas fc; + + void setup() override; + SkCanvas* beginTiming(SkCanvas* canvas) override; + void endTiming() override; + void fence() override; + bool needsFrameTiming() const override; + + /// Returns false if initialization fails + bool init(SkImageInfo info, Benchmark* bench) override; + bool capturePixels(SkBitmap* bmp) override; +}; + + + +#endif // nanobenchAndroid_DEFINED -- cgit v1.2.3