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

Side by Side Diff: bench/SkLinearBitmapPipelineBench.cpp

Issue 1703203003: Don't you just feel bad every time you type 'delete'? (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 10 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 | « no previous file | no next file » | 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 2016 Google Inc. 2 * Copyright 2016 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 #include <memory> 8 #include <memory>
9 #include "SkColor.h" 9 #include "SkColor.h"
10 #include "SkLinearBitmapPipeline.h" 10 #include "SkLinearBitmapPipeline.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 } else { 125 } else {
126 name.set("Linr"); 126 name.set("Linr");
127 } 127 }
128 return name; 128 return name;
129 } 129 }
130 130
131 void onDraw(int loops, SkCanvas*) override { 131 void onDraw(int loops, SkCanvas*) override {
132 int width = fSrcSize.fWidth; 132 int width = fSrcSize.fWidth;
133 int height = fSrcSize.fHeight; 133 int height = fSrcSize.fHeight;
134 134
135 SkPM4f* FPbuffer = new SkPM4f[width * height]; 135 SkAutoTMalloc<SkPM4f> FPbuffer(width*height);
136 136
137 SkLinearBitmapPipeline pipeline{fInvert, fXTile, fYTile, fInfo, fBitmap. get(), }; 137 SkLinearBitmapPipeline pipeline{fInvert, fXTile, fYTile, fInfo, fBitmap. get(), };
138 138
139 int count = 100; 139 int count = 100;
140 140
141 for (int n = 0; n < 1000*loops; n++) { 141 for (int n = 0; n < 1000*loops; n++) {
142 pipeline.shadeSpan4f(3, 6, FPbuffer, count); 142 pipeline.shadeSpan4f(3, 6, FPbuffer, count);
143 } 143 }
144
145 delete [] FPbuffer;
146
147 } 144 }
148 }; 145 };
149 146
150 struct SkBitmapFPOrigShader : public CommonBitmapFPBenchmark { 147 struct SkBitmapFPOrigShader : public CommonBitmapFPBenchmark {
151 SkBitmapFPOrigShader( 148 SkBitmapFPOrigShader(
152 SkISize srcSize, 149 SkISize srcSize,
153 SkColorProfileType colorProfile, 150 SkColorProfileType colorProfile,
154 SkMatrix m, 151 SkMatrix m,
155 bool useBilerp, 152 bool useBilerp,
156 SkShader::TileMode xTile, 153 SkShader::TileMode xTile,
(...skipping 21 matching lines...) Expand all
178 } 175 }
179 176
180 void onPostDraw(SkCanvas*) override { 177 void onPostDraw(SkCanvas*) override {
181 178
182 } 179 }
183 180
184 void onDraw(int loops, SkCanvas*) override { 181 void onDraw(int loops, SkCanvas*) override {
185 int width = fSrcSize.fWidth; 182 int width = fSrcSize.fWidth;
186 int height = fSrcSize.fHeight; 183 int height = fSrcSize.fHeight;
187 184
188 SkPMColor *buffer4b = new SkPMColor[width * height]; 185 SkAutoTMalloc<SkPMColor> buffer4b(width*height);
189 186
190 uint32_t storage[200]; 187 uint32_t storage[200];
191 SkASSERT(fPaint.getShader()->contextSize() <= sizeof(storage)); 188 SkASSERT(fPaint.getShader()->contextSize() <= sizeof(storage));
192 SkShader::Context* ctx = fPaint.getShader()->createContext( 189 SkShader::Context* ctx = fPaint.getShader()->createContext(
193 {fPaint, fM, nullptr}, 190 {fPaint, fM, nullptr},
194 storage); 191 storage);
195 192
196 int count = 100; 193 int count = 100;
197 194
198 for (int n = 0; n < 1000*loops; n++) { 195 for (int n = 0; n < 1000*loops; n++) {
199 ctx->shadeSpan(3, 6, buffer4b, count); 196 ctx->shadeSpan(3, 6, buffer4b, count);
200 } 197 }
201 198
202 ctx->~Context(); 199 ctx->~Context();
203 delete buffer4b;
204 } 200 }
205 SkPaint fPaint; 201 SkPaint fPaint;
206 SkAutoTUnref<SkImage> fImage; 202 SkAutoTUnref<SkImage> fImage;
207 }; 203 };
208 204
209 static SkISize srcSize = SkISize::Make(120, 100); 205 static SkISize srcSize = SkISize::Make(120, 100);
210 static SkMatrix mI = SkMatrix::I(); 206 static SkMatrix mI = SkMatrix::I();
211 DEF_BENCH(return new SkBitmapFPGeneral( 207 DEF_BENCH(return new SkBitmapFPGeneral(
212 srcSize, kSRGB_SkColorProfileType, mI, false, 208 srcSize, kSRGB_SkColorProfileType, mI, false,
213 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);) 209 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);) 277 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
282 278
283 DEF_BENCH(return new SkBitmapFPGeneral( 279 DEF_BENCH(return new SkBitmapFPGeneral(
284 srcSize, kLinear_SkColorProfileType, mR, true, 280 srcSize, kLinear_SkColorProfileType, mR, true,
285 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);) 281 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
286 282
287 DEF_BENCH(return new SkBitmapFPOrigShader( 283 DEF_BENCH(return new SkBitmapFPOrigShader(
288 srcSize, kLinear_SkColorProfileType, mR, true, 284 srcSize, kLinear_SkColorProfileType, mR, true,
289 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);) 285 SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);)
290 286
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698