| Index: src/gpu/GrTextureParamsAdjuster.h
|
| diff --git a/src/gpu/GrTextureParamsAdjuster.h b/src/gpu/GrTextureParamsAdjuster.h
|
| index c02f5b34f7edadce837cb9801586dd4cb89f71c7..dd159e47957855697b7a150bcbb2d9668b1b8d22 100644
|
| --- a/src/gpu/GrTextureParamsAdjuster.h
|
| +++ b/src/gpu/GrTextureParamsAdjuster.h
|
| @@ -64,7 +64,8 @@ public:
|
| const SkRect& constraintRect,
|
| FilterConstraint filterConstraint,
|
| bool coordsLimitedToConstraintRect,
|
| - const GrTextureParams::FilterMode* filterOrNullForBicubic) = 0;
|
| + const GrTextureParams::FilterMode* filterOrNullForBicubic,
|
| + bool gammaCorrect) = 0;
|
|
|
| virtual ~GrTextureProducer() {}
|
|
|
| @@ -127,14 +128,16 @@ public:
|
| outOffset will be the top-left corner of the subset if a copy is not made. Otherwise,
|
| the copy will be tight to the contents and outOffset will be (0, 0). If the copy's size
|
| does not match subset's dimensions then the contents are scaled to fit the copy.*/
|
| - GrTexture* refTextureSafeForParams(const GrTextureParams&, SkIPoint* outOffset);
|
| + GrTexture* refTextureSafeForParams(const GrTextureParams&, bool gammaCorrect,
|
| + SkIPoint* outOffset);
|
|
|
| const GrFragmentProcessor* createFragmentProcessor(
|
| const SkMatrix& textureMatrix,
|
| const SkRect& constraintRect,
|
| FilterConstraint,
|
| bool coordsLimitedToConstraintRect,
|
| - const GrTextureParams::FilterMode* filterOrNullForBicubic) override;
|
| + const GrTextureParams::FilterMode* filterOrNullForBicubic,
|
| + bool gammaCorrect) override;
|
|
|
| protected:
|
| /** The whole texture is content. */
|
| @@ -167,14 +170,15 @@ public:
|
| /** Returns a texture that is safe for use with the params. If the size of the returned texture
|
| does not match width()/height() then the contents of the original must be scaled to fit
|
| the texture. */
|
| - GrTexture* refTextureForParams(const GrTextureParams&);
|
| + GrTexture* refTextureForParams(const GrTextureParams&, bool gammaCorrect);
|
|
|
| const GrFragmentProcessor* createFragmentProcessor(
|
| const SkMatrix& textureMatrix,
|
| const SkRect& constraintRect,
|
| FilterConstraint filterConstraint,
|
| bool coordsLimitedToConstraintRect,
|
| - const GrTextureParams::FilterMode* filterOrNullForBicubic) override;
|
| + const GrTextureParams::FilterMode* filterOrNullForBicubic,
|
| + bool gammaCorrect) override;
|
|
|
| protected:
|
| GrTextureMaker(GrContext* context, int width, int height, bool isAlphaOnly)
|
| @@ -185,7 +189,7 @@ protected:
|
| * Return the maker's "original" texture. It is the responsibility of the maker to handle any
|
| * caching of the original if desired.
|
| */
|
| - virtual GrTexture* refOriginalTexture(bool willBeMipped) = 0;
|
| + virtual GrTexture* refOriginalTexture(bool willBeMipped, bool gammaCorrect) = 0;
|
|
|
| /**
|
| * Return a new (uncached) texture that is the stretch of the maker's original.
|
| @@ -197,7 +201,8 @@ protected:
|
| * Subclass may override this if they can handle creating the texture more directly than
|
| * by copying.
|
| */
|
| - virtual GrTexture* generateTextureForParams(const CopyParams&, bool willBeMipped);
|
| + virtual GrTexture* generateTextureForParams(const CopyParams&, bool willBeMipped,
|
| + bool gammaCorrect);
|
|
|
| GrContext* context() const { return fContext; }
|
|
|
|
|