| Index: cc/output/software_renderer.cc
|
| diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
|
| index ae58b63304a10172b73165c9f2849c5f2ad53833..b7e51848d1919006b9a6e7453f06ee8187dffde2 100644
|
| --- a/cc/output/software_renderer.cc
|
| +++ b/cc/output/software_renderer.cc
|
| @@ -518,11 +518,11 @@ void SoftwareRenderer::DrawRenderPassQuad(const DrawingFrame* frame,
|
|
|
| const SkBitmap* mask = mask_lock.sk_bitmap();
|
|
|
| - SkRect mask_rect = SkRect::MakeXYWH(
|
| - quad->mask_uv_rect.x() * mask->width(),
|
| - quad->mask_uv_rect.y() * mask->height(),
|
| - quad->mask_uv_rect.width() * mask->width(),
|
| - quad->mask_uv_rect.height() * mask->height());
|
| + // Scale normalized uv rect into absolute texel coordinates.
|
| + SkRect mask_rect = gfx::RectToSkRect(
|
| + gfx::ToNearestRect(gfx::ScaleRect(quad->MaskUVRect(),
|
| + quad->mask_texture_size.width(),
|
| + quad->mask_texture_size.height())));
|
|
|
| SkMatrix mask_mat;
|
| mask_mat.setRectToRect(mask_rect, dest_rect, SkMatrix::kFill_ScaleToFit);
|
|
|