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

Side by Side Diff: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp

Issue 1684063006: Add GrShaderFlags enum (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Bit->Flag Created 4 years, 10 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
« no previous file with comments | « src/effects/gradients/SkGradientShader.cpp ('k') | src/gpu/GrDefaultGeoProcFactory.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 /* 2 /*
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkTwoPointConicalGradient_gpu.h" 9 #include "SkTwoPointConicalGradient_gpu.h"
10 10
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrProcessor&) 220 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrProcessor&)
221 : fVSVaryingName(nullptr) 221 : fVSVaryingName(nullptr)
222 , fFSVaryingName(nullptr) 222 , fFSVaryingName(nullptr)
223 , fCachedRadius(-SK_ScalarMax) 223 , fCachedRadius(-SK_ScalarMax)
224 , fCachedDiffRadius(-SK_ScalarMax) {} 224 , fCachedDiffRadius(-SK_ScalarMax) {}
225 225
226 void GLEdge2PtConicalEffect::emitCode(EmitArgs& args) { 226 void GLEdge2PtConicalEffect::emitCode(EmitArgs& args) {
227 const Edge2PtConicalEffect& ge = args.fFp.cast<Edge2PtConicalEffect>(); 227 const Edge2PtConicalEffect& ge = args.fFp.cast<Edge2PtConicalEffect>();
228 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; 228 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
229 this->emitUniforms(uniformHandler, ge); 229 this->emitUniforms(uniformHandler, ge);
230 fParamUni = uniformHandler->addUniformArray(GrGLSLUniformHandler::kFragment_ Visibility, 230 fParamUni = uniformHandler->addUniformArray(kFragment_GrShaderFlag,
231 kFloat_GrSLType, kDefault_GrSLPr ecision, 231 kFloat_GrSLType, kDefault_GrSLPr ecision,
232 "Conical2FSParams", 3); 232 "Conical2FSParams", 3);
233 233
234 SkString cName("c"); 234 SkString cName("c");
235 SkString tName("t"); 235 SkString tName("t");
236 SkString p0; // start radius 236 SkString p0; // start radius
237 SkString p1; // start radius squared 237 SkString p1; // start radius squared
238 SkString p2; // difference in radii (r1 - r0) 238 SkString p2; // difference in radii (r1 - r0)
239 239
240 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(0, &p0); 240 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(0, &p0);
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 , fFSVaryingName(nullptr) 503 , fFSVaryingName(nullptr)
504 , fCachedFocal(SK_ScalarMax) { 504 , fCachedFocal(SK_ScalarMax) {
505 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>(); 505 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>();
506 fIsFlipped = data.isFlipped(); 506 fIsFlipped = data.isFlipped();
507 } 507 }
508 508
509 void GLFocalOutside2PtConicalEffect::emitCode(EmitArgs& args) { 509 void GLFocalOutside2PtConicalEffect::emitCode(EmitArgs& args) {
510 const FocalOutside2PtConicalEffect& ge = args.fFp.cast<FocalOutside2PtConica lEffect>(); 510 const FocalOutside2PtConicalEffect& ge = args.fFp.cast<FocalOutside2PtConica lEffect>();
511 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; 511 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
512 this->emitUniforms(uniformHandler, ge); 512 this->emitUniforms(uniformHandler, ge);
513 fParamUni = uniformHandler->addUniformArray(GrGLSLUniformHandler::kFragment_ Visibility, 513 fParamUni = uniformHandler->addUniformArray(kFragment_GrShaderFlag,
514 kFloat_GrSLType, kDefault_GrSLPr ecision, 514 kFloat_GrSLType, kDefault_GrSLPr ecision,
515 "Conical2FSParams", 2); 515 "Conical2FSParams", 2);
516 SkString tName("t"); 516 SkString tName("t");
517 SkString p0; // focalX 517 SkString p0; // focalX
518 SkString p1; // 1 - focalX * focalX 518 SkString p1; // 1 - focalX * focalX
519 519
520 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(0, &p0); 520 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(0, &p0);
521 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(1, &p1); 521 uniformHandler->getUniformVariable(fParamUni).appendArrayAccess(1, &p1);
522 522
523 // if we have a vec3 from being in perspective, convert it to a vec2 first 523 // if we have a vec3 from being in perspective, convert it to a vec2 first
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
713 713
714 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrProcessor&) 714 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrProcessor&)
715 : fVSVaryingName(nullptr) 715 : fVSVaryingName(nullptr)
716 , fFSVaryingName(nullptr) 716 , fFSVaryingName(nullptr)
717 , fCachedFocal(SK_ScalarMax) {} 717 , fCachedFocal(SK_ScalarMax) {}
718 718
719 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) { 719 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) {
720 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>(); 720 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>();
721 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; 721 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
722 this->emitUniforms(uniformHandler, ge); 722 this->emitUniforms(uniformHandler, ge);
723 fFocalUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visib ility, 723 fFocalUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
724 kFloat_GrSLType, kDefault_GrSLPrecisi on, 724 kFloat_GrSLType, kDefault_GrSLPrecisi on,
725 "Conical2FSParams"); 725 "Conical2FSParams");
726 SkString tName("t"); 726 SkString tName("t");
727 727
728 // this is the distance along x-axis from the end center to focal point in 728 // this is the distance along x-axis from the end center to focal point in
729 // transformed coordinates 729 // transformed coordinates
730 GrGLSLShaderVar focal = uniformHandler->getUniformVariable(fFocalUni); 730 GrGLSLShaderVar focal = uniformHandler->getUniformVariable(fFocalUni);
731 731
732 // if we have a vec3 from being in perspective, convert it to a vec2 first 732 // if we have a vec3 from being in perspective, convert it to a vec2 first
733 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; 733 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder;
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 , fCachedCenterX(SK_ScalarMax) 965 , fCachedCenterX(SK_ScalarMax)
966 , fCachedCenterY(SK_ScalarMax) 966 , fCachedCenterY(SK_ScalarMax)
967 , fCachedA(SK_ScalarMax) 967 , fCachedA(SK_ScalarMax)
968 , fCachedB(SK_ScalarMax) 968 , fCachedB(SK_ScalarMax)
969 , fCachedC(SK_ScalarMax) {} 969 , fCachedC(SK_ScalarMax) {}
970 970
971 void GLCircleInside2PtConicalEffect::emitCode(EmitArgs& args) { 971 void GLCircleInside2PtConicalEffect::emitCode(EmitArgs& args) {
972 const CircleInside2PtConicalEffect& ge = args.fFp.cast<CircleInside2PtConica lEffect>(); 972 const CircleInside2PtConicalEffect& ge = args.fFp.cast<CircleInside2PtConica lEffect>();
973 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; 973 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
974 this->emitUniforms(uniformHandler, ge); 974 this->emitUniforms(uniformHandler, ge);
975 fCenterUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visi bility, 975 fCenterUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
976 kVec2f_GrSLType, kDefault_GrSLPrecis ion, 976 kVec2f_GrSLType, kDefault_GrSLPrecis ion,
977 "Conical2FSCenter"); 977 "Conical2FSCenter");
978 fParamUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visib ility, 978 fParamUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
979 kVec3f_GrSLType, kDefault_GrSLPrecisi on, 979 kVec3f_GrSLType, kDefault_GrSLPrecisi on,
980 "Conical2FSParams"); 980 "Conical2FSParams");
981 SkString tName("t"); 981 SkString tName("t");
982 982
983 GrGLSLShaderVar center = uniformHandler->getUniformVariable(fCenterUni); 983 GrGLSLShaderVar center = uniformHandler->getUniformVariable(fCenterUni);
984 // params.x = A 984 // params.x = A
985 // params.y = B 985 // params.y = B
986 // params.z = C 986 // params.z = C
987 GrGLSLShaderVar params = uniformHandler->getUniformVariable(fParamUni); 987 GrGLSLShaderVar params = uniformHandler->getUniformVariable(fParamUni);
988 988
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 , fCachedC(SK_ScalarMax) 1202 , fCachedC(SK_ScalarMax)
1203 , fCachedTLimit(SK_ScalarMax) { 1203 , fCachedTLimit(SK_ScalarMax) {
1204 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>(); 1204 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>();
1205 fIsFlipped = data.isFlipped(); 1205 fIsFlipped = data.isFlipped();
1206 } 1206 }
1207 1207
1208 void GLCircleOutside2PtConicalEffect::emitCode(EmitArgs& args) { 1208 void GLCircleOutside2PtConicalEffect::emitCode(EmitArgs& args) {
1209 const CircleOutside2PtConicalEffect& ge = args.fFp.cast<CircleOutside2PtConi calEffect>(); 1209 const CircleOutside2PtConicalEffect& ge = args.fFp.cast<CircleOutside2PtConi calEffect>();
1210 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; 1210 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler;
1211 this->emitUniforms(uniformHandler, ge); 1211 this->emitUniforms(uniformHandler, ge);
1212 fCenterUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visi bility, 1212 fCenterUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
1213 kVec2f_GrSLType, kDefault_GrSLPrecis ion, 1213 kVec2f_GrSLType, kDefault_GrSLPrecis ion,
1214 "Conical2FSCenter"); 1214 "Conical2FSCenter");
1215 fParamUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visib ility, 1215 fParamUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
1216 kVec4f_GrSLType, kDefault_GrSLPrecisi on, 1216 kVec4f_GrSLType, kDefault_GrSLPrecisi on,
1217 "Conical2FSParams"); 1217 "Conical2FSParams");
1218 SkString tName("t"); 1218 SkString tName("t");
1219 1219
1220 GrGLSLShaderVar center = uniformHandler->getUniformVariable(fCenterUni); 1220 GrGLSLShaderVar center = uniformHandler->getUniformVariable(fCenterUni);
1221 // params.x = A 1221 // params.x = A
1222 // params.y = B 1222 // params.y = B
1223 // params.z = C 1223 // params.z = C
1224 GrGLSLShaderVar params = uniformHandler->getUniformVariable(fParamUni); 1224 GrGLSLShaderVar params = uniformHandler->getUniformVariable(fParamUni);
1225 1225
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1342 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o); 1342 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o);
1343 } else if (type == kEdge_ConicalType) { 1343 } else if (type == kEdge_ConicalType) {
1344 set_matrix_edge_conical(shader, &matrix); 1344 set_matrix_edge_conical(shader, &matrix);
1345 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); 1345 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
1346 } else { 1346 } else {
1347 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo); 1347 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo);
1348 } 1348 }
1349 } 1349 }
1350 1350
1351 #endif 1351 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkGradientShader.cpp ('k') | src/gpu/GrDefaultGeoProcFactory.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698