Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: src/core/SkBitmapProcState.cpp

Issue 1529833003: Repeating SkBitmapProcState rounding bias (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: v2 (SkBitmapProcStateAutoMapper) Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkBitmapProcState.h ('k') | src/core/SkBitmapProcState_matrix.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkBitmapProcState.cpp
diff --git a/src/core/SkBitmapProcState.cpp b/src/core/SkBitmapProcState.cpp
index 487bd80402609f454b894e5e124eb5d8eb20c9eb..6ed83002d9008f448a278e71f93eb9c2ab79ba33 100644
--- a/src/core/SkBitmapProcState.cpp
+++ b/src/core/SkBitmapProcState.cpp
@@ -820,15 +820,10 @@ void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const SkBitmapProcState& s, in
SkFractionalInt fx;
int dstY;
{
- SkPoint pt;
- s.fInvProc(s.fInvMatrix, SkIntToScalar(x) + SK_ScalarHalf, SkIntToScalar(y) + SK_ScalarHalf,
- &pt);
- fx = SkScalarToFractionalInt(pt.fY)
- + bitmap_sampler_inv_bias(s.fInvMatrix.getScaleY());
+ const SkBitmapProcStateAutoMapper mapper(s, x, y);
const unsigned maxY = s.fPixmap.height() - 1;
- dstY = SkClampMax(SkFractionalIntToInt(fx), maxY);
- fx = SkScalarToFractionalInt(pt.fX)
- + bitmap_sampler_inv_bias(s.fInvMatrix.getScaleX());
+ dstY = SkClampMax(SkFixedFloorToInt(mapper.y()), maxY);
+ fx = SkFixedToFractionalInt(mapper.x());
}
const SkPMColor* SK_RESTRICT src = s.fPixmap.addr32(0, dstY);
@@ -864,4 +859,3 @@ void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const SkBitmapProcState& s, in
}
}
}
-
« no previous file with comments | « src/core/SkBitmapProcState.h ('k') | src/core/SkBitmapProcState_matrix.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698