Respect strict constraint in drawEdgeAAImageSet
Bug: skia:
Change-Id: I840a4d12e9b7b09b64ef6c386714e813f75a86a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201613
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/SkGpuDevice_drawTexture.cpp b/src/gpu/SkGpuDevice_drawTexture.cpp
index 4fd0d00..fa933a4 100644
--- a/src/gpu/SkGpuDevice_drawTexture.cpp
+++ b/src/gpu/SkGpuDevice_drawTexture.cpp
@@ -458,8 +458,10 @@
const SkPoint dstClips[], const SkMatrix preViewMatrices[],
const SkPaint& paint, SkCanvas::SrcRectConstraint constraint) {
SkASSERT(count > 0);
-
- if (!can_use_draw_texture(paint)) {
+ // FIXME (michaelludwig) - If strict is truly important for SkiaRenderer, we can make
+ // GrRTC::drawTextureSet support taking the constraint, or adding constraint to each entry.
+ // For now, at least respect the constraint argument instead of silently downgrading to fast.
+ if (constraint == SkCanvas::kStrict_SrcRectConstraint || !can_use_draw_texture(paint)) {
// Send every entry through drawImageQuad() to handle the more complicated paint
int dstClipIndex = 0;
for (int i = 0; i < count; ++i) {