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

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

Issue 788733003: Make addUniform take a precision (Closed) Base URL: https://skia.googlesource.com/skia.git@move_prec
Patch Set: rebase 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
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 "GrDashingEffect.h" 8 #include "GrDashingEffect.h"
9 9
10 #include "../GrAARectRenderer.h" 10 #include "../GrAARectRenderer.h"
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 fPrevCenterX = SK_ScalarMin; 532 fPrevCenterX = SK_ScalarMin;
533 fPrevIntervalLength = SK_ScalarMax; 533 fPrevIntervalLength = SK_ScalarMax;
534 } 534 }
535 535
536 void GLDashingCircleEffect::emitCode(const EmitArgs& args) { 536 void GLDashingCircleEffect::emitCode(const EmitArgs& args) {
537 const DashingCircleEffect& dce = args.fGP.cast<DashingCircleEffect>(); 537 const DashingCircleEffect& dce = args.fGP.cast<DashingCircleEffect>();
538 const char *paramName; 538 const char *paramName;
539 // The param uniforms, xyz, refer to circle radius - 0.5, cicles center x co ord, and 539 // The param uniforms, xyz, refer to circle radius - 0.5, cicles center x co ord, and
540 // the total interval length of the dash. 540 // the total interval length of the dash.
541 fParamUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibilit y, 541 fParamUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibilit y,
542 kVec3f_GrSLType, 542 kVec3f_GrSLType, kDefault_GrSLPrecision ,
543 "params", 543 "params", &paramName);
544 &paramName);
545 544
546 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 545 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
547 546
548 GrGLVertToFrag v(kVec2f_GrSLType); 547 GrGLVertToFrag v(kVec2f_GrSLType);
549 args.fPB->addVarying("Coord", &v); 548 args.fPB->addVarying("Coord", &v);
550 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dce.inCoord()->fName); 549 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dce.inCoord()->fName);
551 550
552 // setup coord outputs 551 // setup coord outputs
553 vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), dce.inPositi on()->fName); 552 vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), dce.inPositi on()->fName);
554 vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), dce.inPosition( )->fName); 553 vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), dce.inPosition( )->fName);
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 fPrevRect.fLeft = SK_ScalarNaN; 754 fPrevRect.fLeft = SK_ScalarNaN;
756 fPrevIntervalLength = SK_ScalarMax; 755 fPrevIntervalLength = SK_ScalarMax;
757 } 756 }
758 757
759 void GLDashingLineEffect::emitCode(const EmitArgs& args) { 758 void GLDashingLineEffect::emitCode(const EmitArgs& args) {
760 const DashingLineEffect& de = args.fGP.cast<DashingLineEffect>(); 759 const DashingLineEffect& de = args.fGP.cast<DashingLineEffect>();
761 const char *rectName; 760 const char *rectName;
762 // The rect uniform's xyzw refer to (left + 0.5, top + 0.5, right - 0.5, bot tom - 0.5), 761 // The rect uniform's xyzw refer to (left + 0.5, top + 0.5, right - 0.5, bot tom - 0.5),
763 // respectively. 762 // respectively.
764 fRectUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibility , 763 fRectUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibility ,
765 kVec4f_GrSLType, 764 kVec4f_GrSLType, kDefault_GrSLPrecision,
766 "rect", 765 "rect",
767 &rectName); 766 &rectName);
768 const char *intervalName; 767 const char *intervalName;
769 // The interval uniform's refers to the total length of the interval (on + o ff) 768 // The interval uniform's refers to the total length of the interval (on + o ff)
770 fIntervalUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibi lity, 769 fIntervalUniform = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Visibi lity,
771 kFloat_GrSLType, 770 kFloat_GrSLType, kDefault_GrSLPrecis ion,
772 "interval", 771 "interval",
773 &intervalName); 772 &intervalName);
774 773
775 774
776 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 775 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
777 776
778 GrGLVertToFrag v(kVec2f_GrSLType); 777 GrGLVertToFrag v(kVec2f_GrSLType);
779 args.fPB->addVarying("Coord", &v); 778 args.fPB->addVarying("Coord", &v);
780 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), de.inCoord()->fName); 779 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), de.inCoord()->fName);
781 780
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 switch (cap) { 912 switch (cap) {
914 case GrDashingEffect::kRound_DashCap: 913 case GrDashingEffect::kRound_DashCap:
915 return DashingCircleEffect::Create(edgeType, info, SkScalarHalf(stro keWidth)); 914 return DashingCircleEffect::Create(edgeType, info, SkScalarHalf(stro keWidth));
916 case GrDashingEffect::kNonRound_DashCap: 915 case GrDashingEffect::kNonRound_DashCap:
917 return DashingLineEffect::Create(edgeType, info, strokeWidth); 916 return DashingLineEffect::Create(edgeType, info, strokeWidth);
918 default: 917 default:
919 SkFAIL("Unexpected dashed cap."); 918 SkFAIL("Unexpected dashed cap.");
920 } 919 }
921 return NULL; 920 return NULL;
922 } 921 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrConvolutionEffect.cpp ('k') | src/gpu/effects/GrDistanceFieldTextureEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698