Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: bench/PatchBench.cpp

Issue 1798133003: Revert of Finish conversion to sk_sp<SkShader> (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bench/ImageFilterCollapse.cpp ('k') | bench/PatchGridBench.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 #include "Benchmark.h" 7 #include "Benchmark.h"
8 #include "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkGradientShader.h" 9 #include "SkGradientShader.h"
10 #include "SkPaint.h" 10 #include "SkPaint.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 } 62 }
63 63
64 virtual void setTexCoords() { 64 virtual void setTexCoords() {
65 const SkPoint texCoords[SkPatchUtils::kNumCorners] = { 65 const SkPoint texCoords[SkPatchUtils::kNumCorners] = {
66 {0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f,1.0f}, {0.0f, 1.0f} 66 {0.0f, 0.0f}, {1.0f, 0.0f}, {1.0f,1.0f}, {0.0f, 1.0f}
67 }; 67 };
68 memcpy(fTexCoords, texCoords, SkPatchUtils::kNumCorners * sizeof(SkPoint )); 68 memcpy(fTexCoords, texCoords, SkPatchUtils::kNumCorners * sizeof(SkPoint ));
69 } 69 }
70 70
71 // override this method to change the shader 71 // override this method to change the shader
72 virtual sk_sp<SkShader> createShader() { 72 virtual SkShader* createShader() {
73 const SkColor colors[] = { 73 const SkColor colors[] = {
74 SK_ColorRED, SK_ColorCYAN, SK_ColorGREEN, SK_ColorWHITE, 74 SK_ColorRED, SK_ColorCYAN, SK_ColorGREEN, SK_ColorWHITE,
75 SK_ColorMAGENTA, SK_ColorBLUE, SK_ColorYELLOW, 75 SK_ColorMAGENTA, SK_ColorBLUE, SK_ColorYELLOW,
76 }; 76 };
77 const SkPoint pts[] = { { 200.f / 4.f, 0.f }, { 3.f * 200.f / 4, 200.f } }; 77 const SkPoint pts[] = { { 200.f / 4.f, 0.f }, { 3.f * 200.f / 4, 200.f } };
78 78
79 return SkGradientShader::MakeLinear(pts, colors, nullptr, SK_ARRAY_COUNT (colors), 79 return SkGradientShader::CreateLinear(pts, colors, nullptr,
80 SkShader::kMirror_TileMode); 80 SK_ARRAY_COUNT(colors),
81 SkShader::kMirror_TileMode);
81 } 82 }
82 83
83 protected: 84 protected:
84 const char* onGetName() override { 85 const char* onGetName() override {
85 SkString vertexMode; 86 SkString vertexMode;
86 switch (fVertexMode) { 87 switch (fVertexMode) {
87 case kNone_VertexMode: 88 case kNone_VertexMode:
88 vertexMode.set("meshlines"); 89 vertexMode.set("meshlines");
89 break; 90 break;
90 case kColors_VertexMode: 91 case kColors_VertexMode:
(...skipping 16 matching lines...) Expand all
107 } 108 }
108 109
109 void onDelayedSetup() override { 110 void onDelayedSetup() override {
110 this->setCubics(); 111 this->setCubics();
111 this->setColors(); 112 this->setColors();
112 this->setTexCoords(); 113 this->setTexCoords();
113 this->setupPaint(&fPaint); 114 this->setupPaint(&fPaint);
114 switch (fVertexMode) { 115 switch (fVertexMode) {
115 case kTexCoords_VertexMode: 116 case kTexCoords_VertexMode:
116 case kBoth_VertexMode: 117 case kBoth_VertexMode:
117 fPaint.setShader(this->createShader()); 118 fPaint.setShader(this->createShader())->unref();
118 break; 119 break;
119 default: 120 default:
120 fPaint.setShader(nullptr); 121 fPaint.setShader(nullptr);
121 break; 122 break;
122 } 123 }
123 } 124 }
124 125
125 void onDraw(int loops, SkCanvas* canvas) override { 126 void onDraw(int loops, SkCanvas* canvas) override {
126 canvas->scale(fScale.x(), fScale.y()); 127 canvas->scale(fScale.x(), fScale.y());
127 for (int i = 0; i < loops; i++) { 128 for (int i = 0; i < loops; i++) {
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 DEF_BENCH( return new LoopPatchBench(SkVector::Make(1.0f, 1.0f), 316 DEF_BENCH( return new LoopPatchBench(SkVector::Make(1.0f, 1.0f),
316 PatchBench::kBoth_VertexMode); ) 317 PatchBench::kBoth_VertexMode); )
317 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f), 318 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f),
318 PatchBench::kNone_VertexMode); ) 319 PatchBench::kNone_VertexMode); )
319 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f), 320 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f),
320 PatchBench::kColors_VertexMode); ) 321 PatchBench::kColors_VertexMode); )
321 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f), 322 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f),
322 PatchBench::kTexCoords_VertexMode); ) 323 PatchBench::kTexCoords_VertexMode); )
323 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f), 324 DEF_BENCH( return new LoopPatchBench(SkVector::Make(3.0f, 3.0f),
324 PatchBench::kBoth_VertexMode); ) 325 PatchBench::kBoth_VertexMode); )
OLDNEW
« no previous file with comments | « bench/ImageFilterCollapse.cpp ('k') | bench/PatchGridBench.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698