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

Side by Side Diff: src/gpu/effects/GrRRectEffect.cpp

Issue 755363002: remove proc key (Closed) Base URL: https://skia.googlesource.com/skia.git@fixkey
Patch Set: address nit Created 6 years 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 | « src/gpu/effects/GrOvalEffect.cpp ('k') | src/gpu/effects/GrSimpleTextureEffect.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 7
8 #include "gl/builders/GrGLProgramBuilder.h" 8 #include "gl/builders/GrGLProgramBuilder.h"
9 #include "GrRRectEffect.h" 9 #include "GrRRectEffect.h"
10 10
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } 132 }
133 133
134 ////////////////////////////////////////////////////////////////////////////// 134 //////////////////////////////////////////////////////////////////////////////
135 135
136 class GLCircularRRectEffect : public GrGLFragmentProcessor { 136 class GLCircularRRectEffect : public GrGLFragmentProcessor {
137 public: 137 public:
138 GLCircularRRectEffect(const GrBackendProcessorFactory&, const GrProcessor&); 138 GLCircularRRectEffect(const GrBackendProcessorFactory&, const GrProcessor&);
139 139
140 virtual void emitCode(GrGLFPBuilder* builder, 140 virtual void emitCode(GrGLFPBuilder* builder,
141 const GrFragmentProcessor& fp, 141 const GrFragmentProcessor& fp,
142 const GrProcessorKey& key,
143 const char* outputColor, 142 const char* outputColor,
144 const char* inputColor, 143 const char* inputColor,
145 const TransformedCoordsArray&, 144 const TransformedCoordsArray&,
146 const TextureSamplerArray&) SK_OVERRIDE; 145 const TextureSamplerArray&) SK_OVERRIDE;
147 146
148 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*); 147 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*);
149 148
150 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 149 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
151 150
152 private: 151 private:
153 GrGLProgramDataManager::UniformHandle fInnerRectUniform; 152 GrGLProgramDataManager::UniformHandle fInnerRectUniform;
154 GrGLProgramDataManager::UniformHandle fRadiusPlusHalfUniform; 153 GrGLProgramDataManager::UniformHandle fRadiusPlusHalfUniform;
155 SkRRect fPrevRRect; 154 SkRRect fPrevRRect;
156 typedef GrGLFragmentProcessor INHERITED; 155 typedef GrGLFragmentProcessor INHERITED;
157 }; 156 };
158 157
159 GLCircularRRectEffect::GLCircularRRectEffect(const GrBackendProcessorFactory& fa ctory, 158 GLCircularRRectEffect::GLCircularRRectEffect(const GrBackendProcessorFactory& fa ctory,
160 const GrProcessor& ) 159 const GrProcessor& )
161 : INHERITED (factory) { 160 : INHERITED (factory) {
162 fPrevRRect.setEmpty(); 161 fPrevRRect.setEmpty();
163 } 162 }
164 163
165 void GLCircularRRectEffect::emitCode(GrGLFPBuilder* builder, 164 void GLCircularRRectEffect::emitCode(GrGLFPBuilder* builder,
166 const GrFragmentProcessor& fp, 165 const GrFragmentProcessor& fp,
167 const GrProcessorKey& key, 166 const char* outputColor,
168 const char* outputColor, 167 const char* inputColor,
169 const char* inputColor, 168 const TransformedCoordsArray&,
170 const TransformedCoordsArray&, 169 const TextureSamplerArray& samplers) {
171 const TextureSamplerArray& samplers) {
172 const CircularRRectEffect& crre = fp.cast<CircularRRectEffect>(); 170 const CircularRRectEffect& crre = fp.cast<CircularRRectEffect>();
173 const char *rectName; 171 const char *rectName;
174 const char *radiusPlusHalfName; 172 const char *radiusPlusHalfName;
175 // The inner rect is the rrect bounds inset by the radius. Its left, top, ri ght, and bottom 173 // The inner rect is the rrect bounds inset by the radius. Its left, top, ri ght, and bottom
176 // edges correspond to components x, y, z, and w, respectively. When a side of the rrect has 174 // edges correspond to components x, y, z, and w, respectively. When a side of the rrect has
177 // only rectangular corners, that side's value corresponds to the rect edge' s value outset by 175 // only rectangular corners, that side's value corresponds to the rect edge' s value outset by
178 // half a pixel. 176 // half a pixel.
179 fInnerRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi lity, 177 fInnerRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi lity,
180 kVec4f_GrSLType, 178 kVec4f_GrSLType,
181 "innerRect", 179 "innerRect",
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 } 485 }
488 486
489 ////////////////////////////////////////////////////////////////////////////// 487 //////////////////////////////////////////////////////////////////////////////
490 488
491 class GLEllipticalRRectEffect : public GrGLFragmentProcessor { 489 class GLEllipticalRRectEffect : public GrGLFragmentProcessor {
492 public: 490 public:
493 GLEllipticalRRectEffect(const GrBackendProcessorFactory&, const GrProcessor& ); 491 GLEllipticalRRectEffect(const GrBackendProcessorFactory&, const GrProcessor& );
494 492
495 virtual void emitCode(GrGLFPBuilder* builder, 493 virtual void emitCode(GrGLFPBuilder* builder,
496 const GrFragmentProcessor& effect, 494 const GrFragmentProcessor& effect,
497 const GrProcessorKey& key,
498 const char* outputColor, 495 const char* outputColor,
499 const char* inputColor, 496 const char* inputColor,
500 const TransformedCoordsArray&, 497 const TransformedCoordsArray&,
501 const TextureSamplerArray&) SK_OVERRIDE; 498 const TextureSamplerArray&) SK_OVERRIDE;
502 499
503 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*); 500 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*);
504 501
505 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 502 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
506 503
507 private: 504 private:
508 GrGLProgramDataManager::UniformHandle fInnerRectUniform; 505 GrGLProgramDataManager::UniformHandle fInnerRectUniform;
509 GrGLProgramDataManager::UniformHandle fInvRadiiSqdUniform; 506 GrGLProgramDataManager::UniformHandle fInvRadiiSqdUniform;
510 SkRRect fPrevRRect; 507 SkRRect fPrevRRect;
511 typedef GrGLFragmentProcessor INHERITED; 508 typedef GrGLFragmentProcessor INHERITED;
512 }; 509 };
513 510
514 GLEllipticalRRectEffect::GLEllipticalRRectEffect(const GrBackendProcessorFactory & factory, 511 GLEllipticalRRectEffect::GLEllipticalRRectEffect(const GrBackendProcessorFactory & factory,
515 const GrProcessor& effect) 512 const GrProcessor& effect)
516 : INHERITED (factory) { 513 : INHERITED (factory) {
517 fPrevRRect.setEmpty(); 514 fPrevRRect.setEmpty();
518 } 515 }
519 516
520 void GLEllipticalRRectEffect::emitCode(GrGLFPBuilder* builder, 517 void GLEllipticalRRectEffect::emitCode(GrGLFPBuilder* builder,
521 const GrFragmentProcessor& effect, 518 const GrFragmentProcessor& effect,
522 const GrProcessorKey& key,
523 const char* outputColor, 519 const char* outputColor,
524 const char* inputColor, 520 const char* inputColor,
525 const TransformedCoordsArray&, 521 const TransformedCoordsArray&,
526 const TextureSamplerArray& samplers) { 522 const TextureSamplerArray& samplers) {
527 const EllipticalRRectEffect& erre = effect.cast<EllipticalRRectEffect>(); 523 const EllipticalRRectEffect& erre = effect.cast<EllipticalRRectEffect>();
528 const char *rectName; 524 const char *rectName;
529 // The inner rect is the rrect bounds inset by the x/y radii 525 // The inner rect is the rrect bounds inset by the x/y radii
530 fInnerRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi lity, 526 fInnerRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi lity,
531 kVec4f_GrSLType, 527 kVec4f_GrSLType,
532 "innerRect", 528 "innerRect",
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 if (rrect.isNinePatch()) { 725 if (rrect.isNinePatch()) {
730 return EllipticalRRectEffect::Create(edgeType, rrect); 726 return EllipticalRRectEffect::Create(edgeType, rrect);
731 } 727 }
732 return NULL; 728 return NULL;
733 } 729 }
734 } 730 }
735 } 731 }
736 732
737 return NULL; 733 return NULL;
738 } 734 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrOvalEffect.cpp ('k') | src/gpu/effects/GrSimpleTextureEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698