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

Side by Side Diff: src/effects/SkPerlinNoiseShader.cpp

Issue 608253002: Add isSingleComponent bool to getConstantColorComponent (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix isSolidWhite Created 6 years, 2 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/SkMorphologyImageFilter.cpp ('k') | src/effects/SkTableColorFilter.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 * 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 "SkDither.h" 8 #include "SkDither.h"
9 #include "SkPerlinNoiseShader.h" 9 #include "SkPerlinNoiseShader.h"
10 #include "SkColorFilter.h" 10 #include "SkColorFilter.h"
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 fPaintingData->fBaseFrequency == s.fPaintingData->fBaseFrequency && 579 fPaintingData->fBaseFrequency == s.fPaintingData->fBaseFrequency &&
580 fNumOctaves == s.fNumOctaves && 580 fNumOctaves == s.fNumOctaves &&
581 fStitchTiles == s.fStitchTiles && 581 fStitchTiles == s.fStitchTiles &&
582 fCoordTransform.getMatrix() == s.fCoordTransform.getMatrix() && 582 fCoordTransform.getMatrix() == s.fCoordTransform.getMatrix() &&
583 fAlpha == s.fAlpha && 583 fAlpha == s.fAlpha &&
584 fPermutationsAccess.getTexture() == s.fPermutationsAccess.getText ure() && 584 fPermutationsAccess.getTexture() == s.fPermutationsAccess.getText ure() &&
585 fNoiseAccess.getTexture() == s.fNoiseAccess.getTexture() && 585 fNoiseAccess.getTexture() == s.fNoiseAccess.getTexture() &&
586 fPaintingData->fStitchDataInit == s.fPaintingData->fStitchDataIni t; 586 fPaintingData->fStitchDataInit == s.fPaintingData->fStitchDataIni t;
587 } 587 }
588 588
589 void onComputeInvariantOutput(InvariantOutput* inout) const SK_OVERRIDE {
590 inout->fValidFlags = 0; // This is noise. Nothing is constant.
591 inout->fIsSingleComponent = false;
592 }
593
589 GrPerlinNoiseEffect(SkPerlinNoiseShader::Type type, 594 GrPerlinNoiseEffect(SkPerlinNoiseShader::Type type,
590 int numOctaves, bool stitchTiles, 595 int numOctaves, bool stitchTiles,
591 SkPerlinNoiseShader::PaintingData* paintingData, 596 SkPerlinNoiseShader::PaintingData* paintingData,
592 GrTexture* permutationsTexture, GrTexture* noiseTexture, 597 GrTexture* permutationsTexture, GrTexture* noiseTexture,
593 const SkMatrix& matrix, uint8_t alpha) 598 const SkMatrix& matrix, uint8_t alpha)
594 : fType(type) 599 : fType(type)
595 , fNumOctaves(numOctaves) 600 , fNumOctaves(numOctaves)
596 , fStitchTiles(stitchTiles) 601 , fStitchTiles(stitchTiles)
597 , fAlpha(alpha) 602 , fAlpha(alpha)
598 , fPermutationsAccess(permutationsTexture) 603 , fPermutationsAccess(permutationsTexture)
(...skipping 10 matching lines...) Expand all
609 614
610 SkPerlinNoiseShader::Type fType; 615 SkPerlinNoiseShader::Type fType;
611 GrCoordTransform fCoordTransform; 616 GrCoordTransform fCoordTransform;
612 int fNumOctaves; 617 int fNumOctaves;
613 bool fStitchTiles; 618 bool fStitchTiles;
614 uint8_t fAlpha; 619 uint8_t fAlpha;
615 GrTextureAccess fPermutationsAccess; 620 GrTextureAccess fPermutationsAccess;
616 GrTextureAccess fNoiseAccess; 621 GrTextureAccess fNoiseAccess;
617 SkPerlinNoiseShader::PaintingData *fPaintingData; 622 SkPerlinNoiseShader::PaintingData *fPaintingData;
618 623
619 void getConstantColorComponents(GrColor*, uint32_t* validFlags) const SK_OVE RRIDE {
620 *validFlags = 0; // This is noise. Nothing is constant.
621 }
622
623 private: 624 private:
624 typedef GrFragmentProcessor INHERITED; 625 typedef GrFragmentProcessor INHERITED;
625 }; 626 };
626 627
627 ///////////////////////////////////////////////////////////////////// 628 /////////////////////////////////////////////////////////////////////
628 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrPerlinNoiseEffect); 629 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrPerlinNoiseEffect);
629 630
630 GrFragmentProcessor* GrPerlinNoiseEffect::TestCreate(SkRandom* random, 631 GrFragmentProcessor* GrPerlinNoiseEffect::TestCreate(SkRandom* random,
631 GrContext* context, 632 GrContext* context,
632 const GrDrawTargetCaps&, 633 const GrDrawTargetCaps&,
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 str->append(" seed: "); 1065 str->append(" seed: ");
1065 str->appendScalar(fSeed); 1066 str->appendScalar(fSeed);
1066 str->append(" stitch tiles: "); 1067 str->append(" stitch tiles: ");
1067 str->append(fStitchTiles ? "true " : "false "); 1068 str->append(fStitchTiles ? "true " : "false ");
1068 1069
1069 this->INHERITED::toString(str); 1070 this->INHERITED::toString(str);
1070 1071
1071 str->append(")"); 1072 str->append(")");
1072 } 1073 }
1073 #endif 1074 #endif
OLDNEW
« no previous file with comments | « src/effects/SkMorphologyImageFilter.cpp ('k') | src/effects/SkTableColorFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698