Chromium Code Reviews| Index: src/gpu/GrTextureParamsAdjuster.h |
| diff --git a/src/gpu/GrTextureParamsAdjuster.h b/src/gpu/GrTextureParamsAdjuster.h |
| index f8fdc2d4fbe62fd53046d1309611c07d16303af6..3ef1d30150ad7720c76fec96acde71988aedbef9 100644 |
| --- a/src/gpu/GrTextureParamsAdjuster.h |
| +++ b/src/gpu/GrTextureParamsAdjuster.h |
| @@ -83,14 +83,42 @@ public: |
| does not match subset's dimensions then the contents are scaled to fit the copy.*/ |
| GrTexture* refTextureSafeForParams(const GrTextureParams&, SkIPoint* outOffset); |
| + enum FilterConstraint { |
| + kYes_FilterConstraint, |
| + kNo_FilterConstraint, |
| + }; |
| + |
| + /** |
| + * Helper for creating a fragment processor to sample the texture with a given filtering mode. |
| + * It attempts to avoids making a copy of the texture and avoid using a texture domain unless |
| + * necessary. |
| + * |
| + * @param textureMatrix Matrix to transform local coords by to compute |
| + * texture coords. |
| + * @param constraintRect Subrect of content area to be rendered. Must be |
| + * clipped to the content area already. |
|
robertphillips
2015/11/05 20:13:24
filterConstraint ?
Could use a less cryptic explan
bsalomon
2015/11/06 15:24:26
It has a
|
| + * @param constraintMode Do all texture reads |
| + * @param coordsLimitedToConstraintRect Is it known that textureMatrix*localCoords is bound |
| + * by the portion of the texture indicated by |
| + * constraintRect (without consideration of filter |
| + * width, just the raw coords). |
|
robertphillips
2015/11/05 20:13:24
// An in/out param that is ...
// On input it ...
bsalomon
2015/11/06 15:24:26
It's not in/out. Made a real comment.
|
| + * @param filterOrNullForBicubic Exactly what it sounds like. |
| + **/ |
| + const GrFragmentProcessor* createFragmentProcessor( |
| + const SkMatrix& textureMatrix, |
| + const SkRect& constraintRect, |
| + FilterConstraint filterConstraint, |
| + bool coordsLimitedToConstraintRect, |
| + const GrTextureParams::FilterMode* filterOrNullForBicubic); |
| + |
| + GrTexture* originalTexture() { return fOriginal; } |
| + |
| protected: |
| /** The whole texture is content. */ |
| explicit GrTextureAdjuster(GrTexture* original): fOriginal(original) {} |
| GrTextureAdjuster(GrTexture* original, const SkIRect& contentArea); |
| - GrTexture* originalTexture() { return fOriginal; } |
| - |
| /** Returns the content area or null for the whole original texture */ |
| const SkIRect* contentArea() { return fContentArea.getMaybeNull(); } |