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

Side by Side Diff: gm/bleed.cpp

Issue 1418473004: Allow max tile size to be overridden separately from max texture size. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix comment spelling Created 5 years, 1 month 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 | include/gpu/GrCaps.h » ('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 2013 Google Inc. 2 * Copyright 2013 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 "gm.h" 8 #include "gm.h"
9 #include "SkBlurMask.h" 9 #include "SkBlurMask.h"
10 #include "SkBlurMaskFilter.h" 10 #include "SkBlurMaskFilter.h"
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 SkISize onISize() override { 208 SkISize onISize() override {
209 return SkISize::Make(1050, 780); 209 return SkISize::Make(1050, 780);
210 } 210 }
211 211
212 void onOnceBeforeDraw() override { 212 void onOnceBeforeDraw() override {
213 gBleedRec[fBT].fBmpMaker(&fBitmapSmall, kSmallTextureSize, kSmallTexture Size); 213 gBleedRec[fBT].fBmpMaker(&fBitmapSmall, kSmallTextureSize, kSmallTexture Size);
214 fImageSmall.reset(SkImage::NewFromBitmap(fBitmapSmall)); 214 fImageSmall.reset(SkImage::NewFromBitmap(fBitmapSmall));
215 215
216 // To exercise the GPU's tiling path we need a texture 216 // To exercise the GPU's tiling path we need a texture
217 // too big for the GPU to handle in one go 217 // too big for the GPU to handle in one go
218 gBleedRec[fBT].fBmpMaker(&fBitmapBig, 2*kMaxTextureSize, 2*kMaxTextureSi ze); 218 gBleedRec[fBT].fBmpMaker(&fBitmapBig, 2*kMaxTileSize, 2*kMaxTileSize);
219 fImageBig.reset(SkImage::NewFromBitmap(fBitmapBig)); 219 fImageBig.reset(SkImage::NewFromBitmap(fBitmapBig));
220 220
221 fShader.reset(gBleedRec[fBT].fShaderMaker()); 221 fShader.reset(gBleedRec[fBT].fShaderMaker());
222 } 222 }
223 223
224 // Draw only the center of the small bitmap 224 // Draw only the center of the small bitmap
225 void drawCase1(SkCanvas* canvas, int transX, int transY, bool aa, 225 void drawCase1(SkCanvas* canvas, int transX, int transY, bool aa,
226 SkCanvas::SrcRectConstraint constraint, SkFilterQuality filte r) { 226 SkCanvas::SrcRectConstraint constraint, SkFilterQuality filte r) {
227 SkRect src = SkRect::MakeXYWH(2, 2, 227 SkRect src = SkRect::MakeXYWH(2, 2,
228 SkIntToScalar(kSmallTextureSize-4), 228 SkIntToScalar(kSmallTextureSize-4),
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 SkTMax(corners[2].fX, corners[3 ].fX)); 371 SkTMax(corners[2].fX, corners[3 ].fX));
372 maxX = SkTMax(maxX, x); 372 maxX = SkTMax(maxX, x);
373 canvas->restore(); 373 canvas->restore();
374 } 374 }
375 canvas->restore(); 375 canvas->restore();
376 } 376 }
377 } 377 }
378 378
379 #if SK_SUPPORT_GPU 379 #if SK_SUPPORT_GPU
380 void modifyGrContextOptions(GrContextOptions* options) override { 380 void modifyGrContextOptions(GrContextOptions* options) override {
381 options->fMaxTextureSizeOverride = kMaxTextureSize; 381 options->fMaxTileSizeOverride = kMaxTileSize;
382 } 382 }
383 #endif 383 #endif
384 384
385 private: 385 private:
386 static const int kBlockSize = 70; 386 static const int kBlockSize = 70;
387 static const int kBlockSpacing = 5; 387 static const int kBlockSpacing = 5;
388 388
389 static const int kCol0X = kBlockSpacing; 389 static const int kCol0X = kBlockSpacing;
390 static const int kCol1X = 2*kBlockSpacing + kBlockSize; 390 static const int kCol1X = 2*kBlockSpacing + kBlockSize;
391 static const int kCol2X = 3*kBlockSpacing + 2*kBlockSize; 391 static const int kCol2X = 3*kBlockSpacing + 2*kBlockSize;
392 static const int kCol3X = 4*kBlockSpacing + 3*kBlockSize; 392 static const int kCol3X = 4*kBlockSpacing + 3*kBlockSize;
393 static const int kCol4X = 5*kBlockSpacing + 4*kBlockSize; 393 static const int kCol4X = 5*kBlockSpacing + 4*kBlockSize;
394 static const int kCol5X = 6*kBlockSpacing + 5*kBlockSize; 394 static const int kCol5X = 6*kBlockSpacing + 5*kBlockSize;
395 static const int kWidth = 7*kBlockSpacing + 6*kBlockSize; 395 static const int kWidth = 7*kBlockSpacing + 6*kBlockSize;
396 396
397 static const int kRow0Y = kBlockSpacing; 397 static const int kRow0Y = kBlockSpacing;
398 static const int kRow1Y = 2*kBlockSpacing + kBlockSize; 398 static const int kRow1Y = 2*kBlockSpacing + kBlockSize;
399 static const int kRow2Y = 3*kBlockSpacing + 2*kBlockSize; 399 static const int kRow2Y = 3*kBlockSpacing + 2*kBlockSize;
400 static const int kRow3Y = 4*kBlockSpacing + 3*kBlockSize; 400 static const int kRow3Y = 4*kBlockSpacing + 3*kBlockSize;
401 401
402 static const int kSmallTextureSize = 6; 402 static const int kSmallTextureSize = 6;
403 static const int kMaxTextureSize = 32; 403 static const int kMaxTileSize = 32;
404 404
405 SkBitmap fBitmapSmall; 405 SkBitmap fBitmapSmall;
406 SkBitmap fBitmapBig; 406 SkBitmap fBitmapBig;
407 SkAutoTUnref<SkImage> fImageSmall; 407 SkAutoTUnref<SkImage> fImageSmall;
408 SkAutoTUnref<SkImage> fImageBig; 408 SkAutoTUnref<SkImage> fImageBig;
409 409
410 SkAutoTUnref<SkShader> fShader; 410 SkAutoTUnref<SkShader> fShader;
411 411
412 const BleedTest fBT; 412 const BleedTest fBT;
413 413
414 typedef GM INHERITED; 414 typedef GM INHERITED;
415 }; 415 };
416 416
417 DEF_GM( return new BleedGM(kUseBitmap_BleedTest); ) 417 DEF_GM( return new BleedGM(kUseBitmap_BleedTest); )
418 DEF_GM( return new BleedGM(kUseImage_BleedTest); ) 418 DEF_GM( return new BleedGM(kUseImage_BleedTest); )
419 DEF_GM( return new BleedGM(kUseAlphaBitmap_BleedTest); ) 419 DEF_GM( return new BleedGM(kUseAlphaBitmap_BleedTest); )
420 DEF_GM( return new BleedGM(kUseAlphaImage_BleedTest); ) 420 DEF_GM( return new BleedGM(kUseAlphaImage_BleedTest); )
421 #if 0 // Currently crashes GPU backend
422 DEF_GM(return new BleedGM(kUseAlphaBitmapShader_BleedTest); ) 421 DEF_GM(return new BleedGM(kUseAlphaBitmapShader_BleedTest); )
423 DEF_GM(return new BleedGM(kUseAlphaImageShader_BleedTest); ) 422 DEF_GM(return new BleedGM(kUseAlphaImageShader_BleedTest); )
424 #endif
OLDNEW
« no previous file with comments | « no previous file | include/gpu/GrCaps.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698