| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 "SkArithmeticMode_gpu.h" | 8 #include "SkArithmeticMode_gpu.h" |
| 9 | 9 |
| 10 #if SK_SUPPORT_GPU | 10 #if SK_SUPPORT_GPU |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 | 55 |
| 56 class GLArithmeticFP : public GrGLSLFragmentProcessor { | 56 class GLArithmeticFP : public GrGLSLFragmentProcessor { |
| 57 public: | 57 public: |
| 58 void emitCode(EmitArgs& args) override { | 58 void emitCode(EmitArgs& args) override { |
| 59 const GrArithmeticFP& arith = args.fFp.cast<GrArithmeticFP>(); | 59 const GrArithmeticFP& arith = args.fFp.cast<GrArithmeticFP>(); |
| 60 | 60 |
| 61 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; | 61 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; |
| 62 SkString dstColor("dstColor"); | 62 SkString dstColor("dstColor"); |
| 63 this->emitChild(0, nullptr, &dstColor, args); | 63 this->emitChild(0, nullptr, &dstColor, args); |
| 64 | 64 |
| 65 fKUni = args.fUniformHandler->addUniform(GrGLSLUniformHandler::kFragment
_Visibility, | 65 fKUni = args.fUniformHandler->addUniform(kFragment_GrShaderFlag, |
| 66 kVec4f_GrSLType, kDefault_GrSLP
recision, | 66 kVec4f_GrSLType, kDefault_GrSLP
recision, |
| 67 "k"); | 67 "k"); |
| 68 const char* kUni = args.fUniformHandler->getUniformCStr(fKUni); | 68 const char* kUni = args.fUniformHandler->getUniformCStr(fKUni); |
| 69 | 69 |
| 70 add_arithmetic_code(fragBuilder, | 70 add_arithmetic_code(fragBuilder, |
| 71 args.fInputColor, | 71 args.fInputColor, |
| 72 dstColor.c_str(), | 72 dstColor.c_str(), |
| 73 args.fOutputColor, | 73 args.fOutputColor, |
| 74 kUni, | 74 kUni, |
| 75 arith.enforcePMColor()); | 75 arith.enforcePMColor()); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 206 |
| 207 private: | 207 private: |
| 208 void emitBlendCodeForDstRead(GrGLSLXPFragmentBuilder* fragBuilder, | 208 void emitBlendCodeForDstRead(GrGLSLXPFragmentBuilder* fragBuilder, |
| 209 GrGLSLUniformHandler* uniformHandler, | 209 GrGLSLUniformHandler* uniformHandler, |
| 210 const char* srcColor, | 210 const char* srcColor, |
| 211 const char* srcCoverage, | 211 const char* srcCoverage, |
| 212 const char* dstColor, | 212 const char* dstColor, |
| 213 const char* outColor, | 213 const char* outColor, |
| 214 const char* outColorSecondary, | 214 const char* outColorSecondary, |
| 215 const GrXferProcessor& proc) override { | 215 const GrXferProcessor& proc) override { |
| 216 fKUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visib
ility, | 216 fKUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
| 217 kVec4f_GrSLType, kDefault_GrSLPrecisi
on, | 217 kVec4f_GrSLType, kDefault_GrSLPrecisi
on, |
| 218 "k"); | 218 "k"); |
| 219 const char* kUni = uniformHandler->getUniformCStr(fKUni); | 219 const char* kUni = uniformHandler->getUniformCStr(fKUni); |
| 220 | 220 |
| 221 add_arithmetic_code(fragBuilder, srcColor, dstColor, outColor, kUni, fEn
forcePMColor); | 221 add_arithmetic_code(fragBuilder, srcColor, dstColor, outColor, kUni, fEn
forcePMColor); |
| 222 | 222 |
| 223 // Apply coverage. | 223 // Apply coverage. |
| 224 INHERITED::DefaultCoverageModulation(fragBuilder, srcCoverage, dstColor,
outColor, | 224 INHERITED::DefaultCoverageModulation(fragBuilder, srcCoverage, dstColor,
outColor, |
| 225 outColorSecondary, proc); | 225 outColorSecondary, proc); |
| 226 } | 226 } |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 float k1 = d->fRandom->nextF(); | 298 float k1 = d->fRandom->nextF(); |
| 299 float k2 = d->fRandom->nextF(); | 299 float k2 = d->fRandom->nextF(); |
| 300 float k3 = d->fRandom->nextF(); | 300 float k3 = d->fRandom->nextF(); |
| 301 float k4 = d->fRandom->nextF(); | 301 float k4 = d->fRandom->nextF(); |
| 302 bool enforcePMColor = d->fRandom->nextBool(); | 302 bool enforcePMColor = d->fRandom->nextBool(); |
| 303 | 303 |
| 304 return GrArithmeticXPFactory::Create(k1, k2, k3, k4, enforcePMColor); | 304 return GrArithmeticXPFactory::Create(k1, k2, k3, k4, enforcePMColor); |
| 305 } | 305 } |
| 306 | 306 |
| 307 #endif | 307 #endif |
| OLD | NEW |