summaryrefslogtreecommitdiffstats
path: root/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/tiles/gpu_image_decode_cache_perftest.cc')
-rw-r--r--chromium/cc/tiles/gpu_image_decode_cache_perftest.cc62
1 files changed, 34 insertions, 28 deletions
diff --git a/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc b/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc
index b201c58b0af..8b1d4239d40 100644
--- a/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc
+++ b/chromium/cc/tiles/gpu_image_decode_cache_perftest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <memory>
#include <vector>
#include "base/timer/lap_timer.h"
@@ -12,7 +13,7 @@
#include "components/viz/test/test_in_process_context_provider.h"
#include "gpu/command_buffer/client/raster_interface.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/perf/perf_test.h"
+#include "testing/perf/perf_result_reporter.h"
#include "third_party/skia/include/core/SkSurface.h"
namespace cc {
@@ -48,17 +49,14 @@ class GpuImageDecodeCachePerfTest
context_provider_(
base::MakeRefCounted<viz::TestInProcessContextProvider>(
UseTransferCache(),
- false /* support_locking */)),
- cache_(context_provider_.get(),
- UseTransferCache(),
- kRGBA_8888_SkColorType,
- kCacheSize,
- MaxTextureSize(),
- PaintImage::kDefaultGeneratorClientId) {
- // Initializing context here is ok because image decode cache does not use
- // context provider in its constructor.
+ false /* support_locking */)) {}
+
+ void SetUp() override {
gpu::ContextResult result = context_provider_->BindToCurrentThread();
- DCHECK_EQ(result, gpu::ContextResult::kSuccess);
+ ASSERT_EQ(result, gpu::ContextResult::kSuccess);
+ cache_ = std::make_unique<GpuImageDecodeCache>(
+ context_provider_.get(), UseTransferCache(), kRGBA_8888_SkColorType,
+ kCacheSize, MaxTextureSize(), PaintImage::kDefaultGeneratorClientId);
}
protected:
@@ -87,9 +85,17 @@ class GpuImageDecodeCachePerfTest
}
}
+ perf_test::PerfResultReporter SetUpReporter(
+ const std::string& metric_suffix) {
+ perf_test::PerfResultReporter reporter("gpu_image_decode_cache",
+ ParamName());
+ reporter.RegisterImportantMetric(metric_suffix, "runs/s");
+ return reporter;
+ }
+
base::LapTimer timer_;
scoped_refptr<viz::TestInProcessContextProvider> context_provider_;
- GpuImageDecodeCache cache_;
+ std::unique_ptr<GpuImageDecodeCache> cache_;
};
INSTANTIATE_TEST_SUITE_P(P,
@@ -110,14 +116,14 @@ TEST_P(GpuImageDecodeCachePerfTest, DecodeWithColorConversion) {
CreateMatrix(SkSize::Make(1.0f, 1.0f)), 0u,
gfx::ColorSpace::CreateXYZD50());
- DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image);
- cache_.DrawWithImageFinished(image, decoded_image);
+ DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image);
+ cache_->DrawWithImageFinished(image, decoded_image);
timer_.NextLap();
} while (!timer_.HasTimeLimitExpired());
- perf_test::PrintResult("gpu_image_decode_cache_decode_with_color_conversion",
- ParamName(), "result", timer_.LapsPerSecond(),
- "runs/s", true);
+ perf_test::PerfResultReporter reporter =
+ SetUpReporter("_with_color_conversion");
+ reporter.AddResult("_with_color_conversion", timer_.LapsPerSecond());
}
using GpuImageDecodeCachePerfTestNoSw = GpuImageDecodeCachePerfTest;
@@ -142,7 +148,7 @@ TEST_P(GpuImageDecodeCachePerfTestNoSw, DecodeWithMips) {
SkIRect::MakeWH(1024, 2048), kMedium_SkFilterQuality,
CreateMatrix(SkSize::Make(0.6f, 0.6f)), 0u, gfx::ColorSpace());
- DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image);
+ DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image);
if (GetParam() == TestMode::kGpu) {
SkPaint paint;
@@ -153,12 +159,12 @@ TEST_P(GpuImageDecodeCachePerfTestNoSw, DecodeWithMips) {
surface->flush();
}
- cache_.DrawWithImageFinished(image, decoded_image);
+ cache_->DrawWithImageFinished(image, decoded_image);
timer_.NextLap();
} while (!timer_.HasTimeLimitExpired());
- perf_test::PrintResult("gpu_image_decode_cache_decode_with_mips", ParamName(),
- "result", timer_.LapsPerSecond(), "runs/s", true);
+ perf_test::PerfResultReporter reporter = SetUpReporter("_with_mips");
+ reporter.AddResult("_with_mips", timer_.LapsPerSecond());
}
TEST_P(GpuImageDecodeCachePerfTest, AcquireExistingImages) {
@@ -172,18 +178,18 @@ TEST_P(GpuImageDecodeCachePerfTest, AcquireExistingImages) {
CreateMatrix(SkSize::Make(1.0f, 1.0f)), 0u,
gfx::ColorSpace::CreateXYZD50());
- DecodedDrawImage decoded_image = cache_.GetDecodedImageForDraw(image);
- cache_.DrawWithImageFinished(image, decoded_image);
+ DecodedDrawImage decoded_image = cache_->GetDecodedImageForDraw(image);
+ cache_->DrawWithImageFinished(image, decoded_image);
do {
- decoded_image = cache_.GetDecodedImageForDraw(image);
- cache_.DrawWithImageFinished(image, decoded_image);
+ decoded_image = cache_->GetDecodedImageForDraw(image);
+ cache_->DrawWithImageFinished(image, decoded_image);
timer_.NextLap();
} while (!timer_.HasTimeLimitExpired());
- perf_test::PrintResult("gpu_image_decode_cache_acquire_existing_images",
- ParamName(), "result", timer_.LapsPerSecond(),
- "runs/s", true);
+ perf_test::PerfResultReporter reporter =
+ SetUpReporter("_acquire_existing_images");
+ reporter.AddResult("_acquire_existing_images", timer_.LapsPerSecond());
}
} // namespace