diff options
author | Brian Salomon <bsalomon@google.com> | 2017-08-17 15:58:06 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-18 12:47:28 +0000 |
commit | 3fd295550f8c4fecd4bc61ce916738d49310eb67 (patch) | |
tree | 551160c13d73e996e8f624f21d6f9ba94ca711dd /src/gpu/SkGpuDevice.h | |
parent | cc4221be586a00d5190e765ebdb6c5e5731eefa9 (diff) |
Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when possible
This op draws a texture rectangle in src over blending with no edge antialiasing. It less powerful than NonAAFillRectOp/GrPaint but has less CPU overhead.
Change-Id: Ia6107bb67c1c2a83de14c665aff64b0de2750fba
Reviewed-on: https://skia-review.googlesource.com/33802
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/SkGpuDevice.h')
-rw-r--r-- | src/gpu/SkGpuDevice.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h index f1bd937269..0b7e286aae 100644 --- a/src/gpu/SkGpuDevice.h +++ b/src/gpu/SkGpuDevice.h @@ -21,6 +21,7 @@ #include "GrTypes.h" class GrAccelData; +class GrTextureMaker; class GrTextureProducer; struct GrCachedLayer; @@ -205,12 +206,30 @@ private: bool bicubic, bool needsTextureDomain); + void drawPinnedTextureProxy(sk_sp<GrTextureProxy>, + uint32_t pinnedUniqueID, + SkColorSpace*, + SkAlphaType alphaType, + const SkRect* srcRect, + const SkRect* dstRect, + SkCanvas::SrcRectConstraint, + const SkMatrix& viewMatrix, + const SkPaint&); + + void drawTextureMaker(GrTextureMaker* maker, + int imageW, + int imageH, + const SkRect* srcRect, + const SkRect* dstRect, + SkCanvas::SrcRectConstraint, + const SkMatrix& viewMatrix, + const SkPaint&); + void drawTextureProducer(GrTextureProducer*, const SkRect* srcRect, const SkRect* dstRect, SkCanvas::SrcRectConstraint, const SkMatrix& viewMatrix, - const GrClip&, const SkPaint&); void drawTextureProducerImpl(GrTextureProducer*, @@ -219,7 +238,6 @@ private: SkCanvas::SrcRectConstraint, const SkMatrix& viewMatrix, const SkMatrix& srcToDstMatrix, - const GrClip&, const SkPaint&); bool drawFilledDRRect(const SkMatrix& viewMatrix, const SkRRect& outer, |