aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGpuDevice.h
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-08-17 15:58:06 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-18 12:47:28 +0000
commit3fd295550f8c4fecd4bc61ce916738d49310eb67 (patch)
tree551160c13d73e996e8f624f21d6f9ba94ca711dd /src/gpu/SkGpuDevice.h
parentcc4221be586a00d5190e765ebdb6c5e5731eefa9 (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.h22
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,