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

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

Issue 611653002: Cleanup of shader building system (Closed) Base URL: https://skia.googlesource.com/skia.git@solo_gp
Patch Set: more cleanup Created 6 years, 2 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 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 "GrDistanceFieldTextureEffect.h" 8 #include "GrDistanceFieldTextureEffect.h"
9 #include "gl/builders/GrGLFullProgramBuilder.h" 9 #include "gl/builders/GrGLSkiaProgramBuilder.h"
10 #include "gl/GrGLProcessor.h" 10 #include "gl/GrGLProcessor.h"
11 #include "gl/GrGLSL.h" 11 #include "gl/GrGLSL.h"
12 #include "gl/GrGLTexture.h" 12 #include "gl/GrGLTexture.h"
13 #include "gl/GrGLGeometryProcessor.h" 13 #include "gl/GrGLGeometryProcessor.h"
14 #include "GrTBackendProcessorFactory.h" 14 #include "GrTBackendProcessorFactory.h"
15 #include "GrTexture.h" 15 #include "GrTexture.h"
16 16
17 #include "SkDistanceFieldGen.h" 17 #include "SkDistanceFieldGen.h"
18 18
19 // To get optical sizes people don't complain about when we blit correctly, 19 // To get optical sizes people don't complain about when we blit correctly,
(...skipping 13 matching lines...) Expand all
33 public: 33 public:
34 GrGLDistanceFieldTextureEffect(const GrBackendProcessorFactory& factory, 34 GrGLDistanceFieldTextureEffect(const GrBackendProcessorFactory& factory,
35 const GrProcessor&) 35 const GrProcessor&)
36 : INHERITED (factory) 36 : INHERITED (factory)
37 , fTextureSize(SkISize::Make(-1,-1)) 37 , fTextureSize(SkISize::Make(-1,-1))
38 #ifdef SK_GAMMA_APPLY_TO_A8 38 #ifdef SK_GAMMA_APPLY_TO_A8
39 , fLuminance(-1.0f) 39 , fLuminance(-1.0f)
40 #endif 40 #endif
41 {} 41 {}
42 42
43 virtual void emitCode(GrGLFullProgramBuilder* builder, 43 virtual void emitCode(GrGLGeometryProcessorProgramBuilder* builder,
44 const GrGeometryProcessor& geometryProcessor, 44 const GrGeometryProcessor& geometryProcessor,
45 const GrProcessorKey& key, 45 const GrProcessorKey& key,
46 const char* outputColor, 46 const char* outputColor,
47 const char* inputColor, 47 const char* inputColor,
48 const TransformedCoordsArray&, 48 const TransformedCoordsArray&,
49 const TextureSamplerArray& samplers) SK_OVERRIDE { 49 const TextureSamplerArray& samplers) SK_OVERRIDE {
50 const GrDistanceFieldTextureEffect& dfTexEffect = 50 const GrDistanceFieldTextureEffect& dfTexEffect =
51 geometryProcessor.cast<GrDistanceFieldTextureEffect>(); 51 geometryProcessor.cast<GrDistanceFieldTextureEffect>();
52 SkASSERT(1 == dfTexEffect.getVertexAttribs().count()); 52 SkASSERT(1 == dfTexEffect.getVertexAttribs().count());
53 53
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 /////////////////////////////////////////////////////////////////////////////// 262 ///////////////////////////////////////////////////////////////////////////////
263 263
264 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor { 264 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor {
265 public: 265 public:
266 GrGLDistanceFieldLCDTextureEffect(const GrBackendProcessorFactory& factory, 266 GrGLDistanceFieldLCDTextureEffect(const GrBackendProcessorFactory& factory,
267 const GrProcessor&) 267 const GrProcessor&)
268 : INHERITED (factory) 268 : INHERITED (factory)
269 , fTextureSize(SkISize::Make(-1,-1)) 269 , fTextureSize(SkISize::Make(-1,-1))
270 , fTextColor(GrColor_ILLEGAL) {} 270 , fTextColor(GrColor_ILLEGAL) {}
271 271
272 virtual void emitCode(GrGLFullProgramBuilder* builder, 272 virtual void emitCode(GrGLGeometryProcessorProgramBuilder* builder,
273 const GrGeometryProcessor& geometryProcessor, 273 const GrGeometryProcessor& geometryProcessor,
274 const GrProcessorKey& key, 274 const GrProcessorKey& key,
275 const char* outputColor, 275 const char* outputColor,
276 const char* inputColor, 276 const char* inputColor,
277 const TransformedCoordsArray&, 277 const TransformedCoordsArray&,
278 const TextureSamplerArray& samplers) SK_OVERRIDE { 278 const TextureSamplerArray& samplers) SK_OVERRIDE {
279 const GrDistanceFieldLCDTextureEffect& dfTexEffect = 279 const GrDistanceFieldLCDTextureEffect& dfTexEffect =
280 geometryProcessor.cast<GrDistanceFieldLCDTextureEffect>(); 280 geometryProcessor.cast<GrDistanceFieldLCDTextureEffect>();
281 SkASSERT(1 == dfTexEffect.getVertexAttribs().count()); 281 SkASSERT(1 == dfTexEffect.getVertexAttribs().count());
282 282
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 random->nextULessThan(256), 520 random->nextULessThan(256),
521 random->nextULessThan(256)); 521 random->nextULessThan(256));
522 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 522 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
523 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 523 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
524 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 524 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
525 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params, 525 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params,
526 textures[texIdx2], params2, 526 textures[texIdx2], params2,
527 textColor, 527 textColor,
528 flags); 528 flags);
529 } 529 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698