aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar cdalton <cdalton@nvidia.com>2016-02-22 08:08:25 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-22 08:08:25 -0800
commit31c45bbd5a4129b73843872e00b3bd86bd32008f (patch)
treeee2cfe43b1f60146215fcc8e87bd8fea163bd816
parent33ad701bc30387127c427fb1e38c781d5de33491 (diff)
Fix nanobench SKP flushes between loops
Updates SKPBench to actually flush between draw loops, as this was the original intent of the flush logic. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1715873002 Review URL: https://codereview.chromium.org/1715873002
-rw-r--r--bench/SKPBench.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/bench/SKPBench.cpp b/bench/SKPBench.cpp
index db55b45f43..b4724195df 100644
--- a/bench/SKPBench.cpp
+++ b/bench/SKPBench.cpp
@@ -110,21 +110,22 @@ SkIPoint SKPBench::onGetSize() {
void SKPBench::onDraw(int loops, SkCanvas* canvas) {
SkASSERT(fDoLooping || 1 == loops);
- if (fUseMultiPictureDraw) {
- for (int i = 0; i < loops; i++) {
+ while (1) {
+ if (fUseMultiPictureDraw) {
this->drawMPDPicture();
- }
- } else {
- for (int i = 0; i < loops; i++) {
+ } else {
this->drawPicture();
}
- }
+ if (0 == --loops) {
+ break;
+ }
#if SK_SUPPORT_GPU
- // Ensure the GrContext doesn't batch across draw loops.
- if (GrContext* context = canvas->getGrContext()) {
- context->flush();
- }
+ // Ensure the GrContext doesn't batch across draw loops.
+ if (GrContext* context = canvas->getGrContext()) {
+ context->flush();
+ }
#endif
+ }
}
void SKPBench::drawMPDPicture() {