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

Side by Side Diff: src/gpu/effects/Gr1DKernelEffect.h

Issue 1216623003: Bilinear optimization for 1D convolution. Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 #ifndef Gr1DKernelEffect_DEFINED 8 #ifndef Gr1DKernelEffect_DEFINED
9 #define Gr1DKernelEffect_DEFINED 9 #define Gr1DKernelEffect_DEFINED
10 10
(...skipping 10 matching lines...) Expand all
21 */ 21 */
22 22
23 class Gr1DKernelEffect : public GrSingleTextureEffect { 23 class Gr1DKernelEffect : public GrSingleTextureEffect {
24 24
25 public: 25 public:
26 enum Direction { 26 enum Direction {
27 kX_Direction, 27 kX_Direction,
28 kY_Direction, 28 kY_Direction,
29 }; 29 };
30 30
31 // Constructor using default nearest-neighbor sampling for the input texture
32 // filter mode.
31 Gr1DKernelEffect(GrTexture* texture, 33 Gr1DKernelEffect(GrTexture* texture,
32 Direction direction, 34 Direction direction,
33 int radius) 35 int radius)
34 : GrSingleTextureEffect(texture, GrCoordTransform::MakeDivByTextureWHMat rix(texture)) 36 : GrSingleTextureEffect(texture, GrCoordTransform::MakeDivByTextureWHMat rix(texture))
35 , fDirection(direction) 37 , fDirection(direction)
36 , fRadius(radius) {} 38 , fRadius(radius) {}
37 39
40 Gr1DKernelEffect(GrTexture* texture,
41 Direction direction,
42 int radius,
43 GrTextureParams::FilterMode filterMode)
44 : GrSingleTextureEffect(texture,
45 GrCoordTransform::MakeDivByTextureWHMatrix(textu re),
46 filterMode)
47 , fDirection(direction)
48 , fRadius(radius) {}
49
38 virtual ~Gr1DKernelEffect() {}; 50 virtual ~Gr1DKernelEffect() {};
39 51
40 static int WidthFromRadius(int radius) { return 2 * radius + 1; } 52 static int WidthFromRadius(int radius) { return 2 * radius + 1; }
41 53
42 int radius() const { return fRadius; } 54 int radius() const { return fRadius; }
43 int width() const { return WidthFromRadius(fRadius); } 55 int width() const { return WidthFromRadius(fRadius); }
44 Direction direction() const { return fDirection; } 56 Direction direction() const { return fDirection; }
45 57
46 private: 58 private:
47 59
48 Direction fDirection; 60 Direction fDirection;
49 int fRadius; 61 int fRadius;
50 62
51 typedef GrSingleTextureEffect INHERITED; 63 typedef GrSingleTextureEffect INHERITED;
52 }; 64 };
53 65
54 #endif 66 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/effects/GrConvolutionEffect.cpp » ('j') | src/gpu/effects/GrConvolutionEffect.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698