aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-10-26 14:27:10 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-26 18:49:21 +0000
commit1a8f234f616063ee2990c681f269c81ca1575298 (patch)
tree6460b67fe4e0934388bef7aa22e711118758dc06 /src/gpu
parent25019175eb82f2b0788e43987702f91551d88544 (diff)
Fix assert in text clipping.
The original code was truncating to int rather than taking the floor. This would give us the wrong integer value for negative numbers. Bug: skia:7225 Change-Id: Ief6a01358d936dd3b3e1d36af569274995c2586e Reviewed-on: https://skia-review.googlesource.com/64064 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/ops/GrAtlasTextOp.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp
index 21e7c6fa69..591afb2770 100644
--- a/src/gpu/ops/GrAtlasTextOp.cpp
+++ b/src/gpu/ops/GrAtlasTextOp.cpp
@@ -84,10 +84,10 @@ static void clip_quads(const SkIRect& clipRect,
SkPoint* blobPositionRB = reinterpret_cast<SkPoint*>(blobVertices + 3*vertexStride);
// positions for bitmap glyphs are pixel boundary aligned
- SkIRect positionRect = SkIRect::MakeLTRB(blobPositionLT->fX,
- blobPositionLT->fY,
- blobPositionRB->fX,
- blobPositionRB->fY);
+ SkIRect positionRect = SkIRect::MakeLTRB(SkScalarFloorToInt(blobPositionLT->fX),
+ SkScalarFloorToInt(blobPositionLT->fY),
+ SkScalarFloorToInt(blobPositionRB->fX),
+ SkScalarFloorToInt(blobPositionRB->fY));
if (clipRect.contains(positionRect)) {
memcpy(currVertex, blobVertices, 4 * vertexStride);
currVertex += 4 * vertexStride;