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

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

Issue 691313003: Revert of Default geometry processor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 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 | « src/gpu/effects/GrDashingEffect.cpp ('k') | src/gpu/gl/GrGLSL.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 "GrDistanceFieldTextureEffect.h" 8 #include "GrDistanceFieldTextureEffect.h"
9 #include "gl/builders/GrGLProgramBuilder.h" 9 #include "gl/builders/GrGLProgramBuilder.h"
10 #include "gl/GrGLProcessor.h" 10 #include "gl/GrGLProcessor.h"
(...skipping 27 matching lines...) Expand all
38 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 38 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
39 SkAssertResult(fsBuilder->enableFeature( 39 SkAssertResult(fsBuilder->enableFeature(
40 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature)); 40 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature));
41 41
42 GrGLVertToFrag v(kVec2f_GrSLType); 42 GrGLVertToFrag v(kVec2f_GrSLType);
43 args.fPB->addVarying("TextureCoords", &v); 43 args.fPB->addVarying("TextureCoords", &v);
44 44
45 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 45 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
46 vsBuilder->codeAppendf("\t%s = %s;\n", v.vsOut(), dfTexEffect.inTextureC oords().c_str()); 46 vsBuilder->codeAppendf("\t%s = %s;\n", v.vsOut(), dfTexEffect.inTextureC oords().c_str());
47 47
48 // setup position varying
49 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() ,
50 vsBuilder->uViewM(), vsBuilder->inPosition());
51
52 const char* textureSizeUniName = NULL; 48 const char* textureSizeUniName = NULL;
53 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 49 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
54 kVec2f_GrSLType, "TextureSize", 50 kVec2f_GrSLType, "TextureSize",
55 &textureSizeUniName); 51 &textureSizeUniName);
56 52
57 fsBuilder->codeAppend("\tvec4 texColor = "); 53 fsBuilder->codeAppend("\tvec4 texColor = ");
58 fsBuilder->appendTextureLookup(args.fSamplers[0], 54 fsBuilder->appendTextureLookup(args.fSamplers[0],
59 v.fsIn(), 55 v.fsIn(),
60 kVec2f_GrSLType); 56 kVec2f_GrSLType);
61 fsBuilder->codeAppend(";\n"); 57 fsBuilder->codeAppend(";\n");
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 249 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
254 SkAssertResult(fsBuilder->enableFeature( 250 SkAssertResult(fsBuilder->enableFeature(
255 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature)); 251 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature));
256 252
257 GrGLVertToFrag v(kVec2f_GrSLType); 253 GrGLVertToFrag v(kVec2f_GrSLType);
258 args.fPB->addVarying("TextureCoords", &v); 254 args.fPB->addVarying("TextureCoords", &v);
259 255
260 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 256 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
261 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s().c_str()); 257 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s().c_str());
262 258
263 // setup position varying
264 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() ,
265 vsBuilder->uViewM(), vsBuilder->inPosition());
266
267 const char* textureSizeUniName = NULL; 259 const char* textureSizeUniName = NULL;
268 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 260 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
269 kVec2f_GrSLType, "TextureSize", 261 kVec2f_GrSLType, "TextureSize",
270 &textureSizeUniName); 262 &textureSizeUniName);
271 263
272 fsBuilder->codeAppend("vec4 texColor = "); 264 fsBuilder->codeAppend("vec4 texColor = ");
273 fsBuilder->appendTextureLookup(args.fSamplers[0], 265 fsBuilder->appendTextureLookup(args.fSamplers[0],
274 v.fsIn(), 266 v.fsIn(),
275 kVec2f_GrSLType); 267 kVec2f_GrSLType);
276 fsBuilder->codeAppend(";"); 268 fsBuilder->codeAppend(";");
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 const GrDistanceFieldLCDTextureEffect& dfTexEffect = 403 const GrDistanceFieldLCDTextureEffect& dfTexEffect =
412 args.fGP.cast<GrDistanceFieldLCDTextureEffect>(); 404 args.fGP.cast<GrDistanceFieldLCDTextureEffect>();
413 SkASSERT(1 == dfTexEffect.getVertexAttribs().count()); 405 SkASSERT(1 == dfTexEffect.getVertexAttribs().count());
414 406
415 GrGLVertToFrag v(kVec2f_GrSLType); 407 GrGLVertToFrag v(kVec2f_GrSLType);
416 args.fPB->addVarying("TextureCoords", &v); 408 args.fPB->addVarying("TextureCoords", &v);
417 409
418 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 410 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
419 vsBuilder->codeAppendf("\t%s = %s;\n", v.vsOut(), dfTexEffect.inTextureC oords().c_str()); 411 vsBuilder->codeAppendf("\t%s = %s;\n", v.vsOut(), dfTexEffect.inTextureC oords().c_str());
420 412
421 // setup position varying
422 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() ,
423 vsBuilder->uViewM(), vsBuilder->inPosition());
424
425 const char* textureSizeUniName = NULL; 413 const char* textureSizeUniName = NULL;
426 // width, height, 1/(3*width) 414 // width, height, 1/(3*width)
427 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 415 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
428 kVec3f_GrSLType, "TextureSize", 416 kVec3f_GrSLType, "TextureSize",
429 &textureSizeUniName); 417 &textureSizeUniName);
430 418
431 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 419 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
432 420
433 SkAssertResult(fsBuilder->enableFeature( 421 SkAssertResult(fsBuilder->enableFeature(
434 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature)); 422 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature));
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 random->nextULessThan(256), 632 random->nextULessThan(256),
645 random->nextULessThan(256)); 633 random->nextULessThan(256));
646 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 634 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
647 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 635 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
648 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 636 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
649 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params, 637 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params,
650 textures[texIdx2], params2, 638 textures[texIdx2], params2,
651 textColor, 639 textColor,
652 flags); 640 flags);
653 } 641 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrDashingEffect.cpp ('k') | src/gpu/gl/GrGLSL.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698