| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "SkLinearGradient.h" | 8 #include "SkLinearGradient.h" |
| 9 | 9 |
| 10 static const float kInv255Float = 1.0f / 255; | 10 static const float kInv255Float = 1.0f / 255; |
| (...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 *dstC++ = cache[toggle + index]; | 508 *dstC++ = cache[toggle + index]; |
| 509 toggle = next_dither_toggle16(toggle); | 509 toggle = next_dither_toggle16(toggle); |
| 510 | 510 |
| 511 dstX += SK_Scalar1; | 511 dstX += SK_Scalar1; |
| 512 } while (--count != 0); | 512 } while (--count != 0); |
| 513 } | 513 } |
| 514 } | 514 } |
| 515 | 515 |
| 516 #if SK_SUPPORT_GPU | 516 #if SK_SUPPORT_GPU |
| 517 | 517 |
| 518 #include "gl/builders/GrGLProgramBuilder.h" | 518 #include "glsl/GrGLSLCaps.h" |
| 519 #include "glsl/GrGLSLFragmentShaderBuilder.h" |
| 519 #include "SkGr.h" | 520 #include "SkGr.h" |
| 520 | 521 |
| 521 ///////////////////////////////////////////////////////////////////// | 522 ///////////////////////////////////////////////////////////////////// |
| 522 | 523 |
| 523 class GrGLLinearGradient : public GrGLGradientEffect { | 524 class GrGLLinearGradient : public GrGLGradientEffect { |
| 524 public: | 525 public: |
| 525 | 526 |
| 526 GrGLLinearGradient(const GrProcessor&) {} | 527 GrGLLinearGradient(const GrProcessor&) {} |
| 527 | 528 |
| 528 virtual ~GrGLLinearGradient() { } | 529 virtual ~GrGLLinearGradient() { } |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, | 597 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, |
| 597 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality); | 598 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality); |
| 598 GrAlwaysAssert(fp); | 599 GrAlwaysAssert(fp); |
| 599 return fp; | 600 return fp; |
| 600 } | 601 } |
| 601 | 602 |
| 602 ///////////////////////////////////////////////////////////////////// | 603 ///////////////////////////////////////////////////////////////////// |
| 603 | 604 |
| 604 void GrGLLinearGradient::emitCode(EmitArgs& args) { | 605 void GrGLLinearGradient::emitCode(EmitArgs& args) { |
| 605 const GrLinearGradient& ge = args.fFp.cast<GrLinearGradient>(); | 606 const GrLinearGradient& ge = args.fFp.cast<GrLinearGradient>(); |
| 606 this->emitUniforms(args.fBuilder, ge); | 607 this->emitUniforms(args.fUniformHandler, ge); |
| 607 SkString t = args.fFragBuilder->ensureFSCoords2D(args.fCoords, 0); | 608 SkString t = args.fFragBuilder->ensureFSCoords2D(args.fCoords, 0); |
| 608 t.append(".x"); | 609 t.append(".x"); |
| 609 this->emitColor(args.fBuilder, | 610 this->emitColor(args.fFragBuilder, |
| 610 args.fFragBuilder, | 611 args.fUniformHandler, |
| 611 args.fGLSLCaps, | 612 args.fGLSLCaps, |
| 612 ge, t.c_str(), | 613 ge, t.c_str(), |
| 613 args.fOutputColor, | 614 args.fOutputColor, |
| 614 args.fInputColor, | 615 args.fInputColor, |
| 615 args.fSamplers); | 616 args.fSamplers); |
| 616 } | 617 } |
| 617 | 618 |
| 618 ///////////////////////////////////////////////////////////////////// | 619 ///////////////////////////////////////////////////////////////////// |
| 619 | 620 |
| 620 const GrFragmentProcessor* SkLinearGradient::asFragmentProcessor( | 621 const GrFragmentProcessor* SkLinearGradient::asFragmentProcessor( |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 920 } | 921 } |
| 921 } else { | 922 } else { |
| 922 if (fApplyAlphaAfterInterp) { | 923 if (fApplyAlphaAfterInterp) { |
| 923 this->shade4_dx_clamp<true, false>(dstC, count, fx, dx, invDx, dithe
r); | 924 this->shade4_dx_clamp<true, false>(dstC, count, fx, dx, invDx, dithe
r); |
| 924 } else { | 925 } else { |
| 925 this->shade4_dx_clamp<false, false>(dstC, count, fx, dx, invDx, dith
er); | 926 this->shade4_dx_clamp<false, false>(dstC, count, fx, dx, invDx, dith
er); |
| 926 } | 927 } |
| 927 } | 928 } |
| 928 } | 929 } |
| 929 | 930 |
| OLD | NEW |