diff options
author | 2015-03-26 11:28:06 -0700 | |
---|---|---|
committer | 2015-03-26 11:28:06 -0700 | |
commit | d968a6f29e92230ee118ec9cdfff0329bf83d602 (patch) | |
tree | 58e2ad5ae0b39731929ed8f23f1238c53f8d4503 /bench/nanobenchAndroid.h | |
parent | e0b19d4985846d64bb581013828a9dc5af401a5d (diff) |
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
Diffstat (limited to 'bench/nanobenchAndroid.h')
-rw-r--r-- | bench/nanobenchAndroid.h | 49 |
1 files changed, 49 insertions, 0 deletions
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<android::uirenderer::RenderNode> rootNode; + SkAutoTDelete<android::uirenderer::renderthread::RenderProxy> proxy; + SkAutoTDelete<android::uirenderer::DisplayListRenderer> renderer; + android::sp<android::IGraphicBufferProducer> producer; + android::sp<android::IGraphicBufferConsumer> consumer; + android::sp<android::CpuConsumer> cpuConsumer; + android::sp<android::Surface> 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 |