Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 6d2febd

Browse files
egdanielSkia Commit-Bot
authored andcommitted
Reland "Add create backend texture with color upload bench."
This reverts commit 1ff415d. Reason for revert: relanding with fix Original change's description: > Revert "Add create backend texture with color upload bench." > > This reverts commit 690b4c4. > > Reason for revert: breaking bots > > Original change's description: > > Add create backend texture with color upload bench. > > > > Change-Id: Id4994cb809d6e19ca511b63dba71b45257eca927 > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287618 > > Commit-Queue: Greg Daniel <[email protected]> > > Reviewed-by: Robert Phillips <[email protected]> > > [email protected],[email protected] > > Change-Id: I2ac38977abc0004b38a94dacf0a235ae4fbac5d3 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287636 > Reviewed-by: Greg Daniel <[email protected]> > Commit-Queue: Greg Daniel <[email protected]> [email protected],[email protected] Change-Id: I287a1d829d4d861d149b0f1d9adf556a38e44abb No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287638 Reviewed-by: Greg Daniel <[email protected]> Reviewed-by: Robert Phillips <[email protected]> Commit-Queue: Greg Daniel <[email protected]>
1 parent d5f937b commit 6d2febd

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Copyright 2020 Google LLC
3+
*
4+
* Use of this source code is governed by a BSD-style license that can be
5+
* found in the LICENSE file.
6+
*/
7+
8+
#include "bench/Benchmark.h"
9+
#include "include/core/SkCanvas.h"
10+
#include "include/gpu/GrContext.h"
11+
12+
class CreateBackendTextureBench : public Benchmark {
13+
private:
14+
SkString fName;
15+
SkTArray<GrBackendTexture> fBackendTextures;
16+
GrMipMapped fMipMapped;
17+
18+
public:
19+
CreateBackendTextureBench(GrMipMapped mipMapped) : fMipMapped(mipMapped) {
20+
fName.printf("create_backend_texture%s", mipMapped == GrMipMapped::kYes ? "_mipped" : "");
21+
}
22+
23+
private:
24+
bool isSuitableFor(Backend backend) override { return kGPU_Backend == backend; }
25+
26+
const char* onGetName() override { return fName.c_str(); }
27+
28+
void onDraw(int loops, SkCanvas* canvas) override {
29+
GrContext* context = canvas->getGrContext();
30+
31+
fBackendTextures.reserve(loops);
32+
33+
static const int kSize = 16;
34+
for (int i = 0; i < loops; ++i) {
35+
fBackendTextures.push_back(context->createBackendTexture(
36+
kSize, kSize, kRGBA_8888_SkColorType, SkColors::kRed, fMipMapped,
37+
GrRenderable::kNo, GrProtected::kNo));
38+
}
39+
}
40+
41+
void onPerCanvasPostDraw(SkCanvas* canvas) override {
42+
GrContext* context = canvas->getGrContext();
43+
44+
GrFlushInfo info;
45+
info.fFlags = kSyncCpu_GrFlushFlag;
46+
context->flush(info);
47+
48+
for (int i = 0; i < fBackendTextures.count(); ++i) {
49+
if (fBackendTextures[i].isValid()) {
50+
context->deleteBackendTexture(fBackendTextures[i]);
51+
}
52+
}
53+
fBackendTextures.reset();
54+
}
55+
};
56+
57+
DEF_BENCH(return new CreateBackendTextureBench(GrMipMapped::kNo);)
58+
DEF_BENCH(return new CreateBackendTextureBench(GrMipMapped::kYes);)

gn/bench.gni

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ bench_sources = [
3737
"$_bench/CompositingImagesBench.cpp",
3838
"$_bench/ControlBench.cpp",
3939
"$_bench/CoverageBench.cpp",
40+
"$_bench/CreateBackendTextureBench.cpp",
4041
"$_bench/CubicKLMBench.cpp",
4142
"$_bench/CubicMapBench.cpp",
4243
"$_bench/DDLRecorderBench.cpp",

0 commit comments

Comments
 (0)