OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef nanobenchAndroid_DEFINED | 8 #ifndef SkHwuiRenderer_DEFINED |
9 #define nanobenchAndroid_DEFINED | 9 #define SkHwuiRenderer_DEFINED |
10 | 10 |
11 #include "DisplayListRenderer.h" | 11 #include "DisplayListRenderer.h" |
12 #include "RenderNode.h" | 12 #include "RenderNode.h" |
13 #include "SkAndroidSDKCanvas.h" | 13 #include "SkTypes.h" |
14 #include "gui/BufferQueue.h" | |
15 #include "gui/CpuConsumer.h" | 14 #include "gui/CpuConsumer.h" |
16 #include "gui/IGraphicBufferConsumer.h" | 15 #include "gui/IGraphicBufferConsumer.h" |
17 #include "gui/IGraphicBufferProducer.h" | 16 #include "gui/IGraphicBufferProducer.h" |
18 #include "gui/Surface.h" | 17 #include "gui/Surface.h" |
19 #include "renderthread/RenderProxy.h" | 18 #include "renderthread/RenderProxy.h" |
20 | 19 |
21 #include "nanobench.h" | 20 class SkBitmap; |
22 | 21 |
23 struct HWUITarget : public Target { | 22 struct SkHwuiRenderer { |
24 explicit HWUITarget(const Config& c, Benchmark* bench); | |
25 | |
26 SkAutoTDelete<android::uirenderer::RenderNode> rootNode; | 23 SkAutoTDelete<android::uirenderer::RenderNode> rootNode; |
27 SkAutoTDelete<android::uirenderer::renderthread::RenderProxy> proxy; | 24 SkAutoTDelete<android::uirenderer::renderthread::RenderProxy> proxy; |
28 SkAutoTDelete<android::uirenderer::DisplayListRenderer> renderer; | 25 SkAutoTDelete<android::uirenderer::DisplayListRenderer> renderer; |
29 android::sp<android::IGraphicBufferProducer> producer; | 26 android::sp<android::IGraphicBufferProducer> producer; |
30 android::sp<android::IGraphicBufferConsumer> consumer; | 27 android::sp<android::IGraphicBufferConsumer> consumer; |
31 android::sp<android::CpuConsumer> cpuConsumer; | 28 android::sp<android::CpuConsumer> cpuConsumer; |
32 android::sp<android::Surface> androidSurface; | 29 android::sp<android::Surface> androidSurface; |
33 SkISize size; | 30 SkISize size; |
34 SkAndroidSDKCanvas fc; | |
35 | 31 |
36 void setup() override; | 32 void initialize(SkISize size); |
37 SkCanvas* beginTiming(SkCanvas* canvas) override; | |
38 void endTiming() override; | |
39 void fence() override; | |
40 bool needsFrameTiming() const override; | |
41 | 33 |
42 /// Returns false if initialization fails | 34 /// Returns a canvas to draw into. |
43 bool init(SkImageInfo info, Benchmark* bench) override; | 35 SkCanvas* prepareToDraw(); |
44 bool capturePixels(SkBitmap* bmp) override; | 36 |
| 37 void finishDrawing(); |
| 38 |
| 39 bool capturePixels(SkBitmap* bmp); |
45 }; | 40 }; |
46 | 41 |
47 | 42 #endif // SkHwuiRenderer_DEFINED |
48 | |
49 #endif // nanobenchAndroid_DEFINED | |
OLD | NEW |