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

Unified Diff: skia/tile_patch.diff

Issue 182433002: Remove obsolete files and comment from skia/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months 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 | « skia/fix_for_1186198.diff ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/tile_patch.diff
diff --git a/skia/tile_patch.diff b/skia/tile_patch.diff
deleted file mode 100644
index 78118416b47fde433059c067ac1d3280d0365d7f..0000000000000000000000000000000000000000
--- a/skia/tile_patch.diff
+++ /dev/null
@@ -1,284 +0,0 @@
-Index: sgl/SkBitmapProcState.h
-===================================================================
---- sgl/SkBitmapProcState.h (revision 42716)
-+++ sgl/SkBitmapProcState.h (working copy)
-@@ -39,8 +39,9 @@
- int count,
- uint16_t colors[]);
-
-- typedef U16CPU (*FixedTileProc)(SkFixed); // returns 0..0xFFFF
--
-+ typedef SkFixed (*FixedTileProc)(SkFixed, int);
-+ typedef int (*IntTileProc)(int, int);
-+
- MatrixProc fMatrixProc; // chooseProcs
- SampleProc32 fSampleProc32; // chooseProcs
- SampleProc16 fSampleProc16; // chooseProcs
-@@ -48,6 +49,8 @@
- SkMatrix fUnitInvMatrix; // chooseProcs
- FixedTileProc fTileProcX; // chooseProcs
- FixedTileProc fTileProcY; // chooseProcs
-+ IntTileProc iTileProcX; // chooseProcs
-+ IntTileProc iTileProcY; // chooseProcs
- SkFixed fFilterOneX;
- SkFixed fFilterOneY;
-
-Index: sgl/SkBitmapProcState.cpp
-===================================================================
---- sgl/SkBitmapProcState.cpp (revision 42716)
-+++ sgl/SkBitmapProcState.cpp (working copy)
-@@ -296,8 +296,9 @@
- }
- const SkMatrix* m;
-
-- if (SkShader::kClamp_TileMode == fTileModeX &&
-- SkShader::kClamp_TileMode == fTileModeY) {
-+ if (inv.getType() <= SkMatrix::kTranslate_Mask ||
-+ (SkShader::kClamp_TileMode == fTileModeX &&
-+ SkShader::kClamp_TileMode == fTileModeY)) {
- m = &inv;
- } else {
- fUnitInvMatrix = inv;
-@@ -330,6 +331,16 @@
- fInvMatrix = m;
- fInvProc = m->getMapXYProc();
- fInvType = m->getType();
-+ if (fInvType <= SkMatrix::kTranslate_Mask &&
-+ inv.getType() > SkMatrix::kTranslate_Mask) {
-+ SkASSERT(inv.getType() <=
-+ (SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask));
-+ // It is possible that by the calculation of fUnitInvMatrix, we have
-+ // eliminated the scale transformation of the matrix (e.g., if inv^(-1)
-+ // scales fOrigBitmap into an 1X1 rect). We add the scale flag back so
-+ // that we don't make wrong choice in chooseMatrixProc().
-+ fInvType |= SkMatrix::kScale_Mask;
-+ }
- fInvSx = SkScalarToFixed(m->getScaleX());
- fInvSy = SkScalarToFixed(m->getScaleY());
- fInvKy = SkScalarToFixed(m->getSkewY());
-Index: sgl/SkBitmapProcState_matrix.h
-===================================================================
---- sgl/SkBitmapProcState_matrix.h (revision 42716)
-+++ sgl/SkBitmapProcState_matrix.h (working copy)
-@@ -1,4 +1,5 @@
-
-+#define TRANSLATE_NOFILTER_NAME MAKENAME(_nofilter_translate)
- #define SCALE_NOFILTER_NAME MAKENAME(_nofilter_scale)
- #define SCALE_FILTER_NAME MAKENAME(_filter_scale)
- #define AFFINE_NOFILTER_NAME MAKENAME(_nofilter_affine)
-@@ -17,6 +18,38 @@
- #define PREAMBLE_ARG_Y
- #endif
-
-+#ifndef PREAMBLE_TRANS
-+ #define PREAMBLE_TRANS(state)
-+#endif
-+
-+static void TRANSLATE_NOFILTER_NAME(const SkBitmapProcState& s,
-+ uint32_t xy[], int count, int x, int y)
-+{
-+ SkASSERT((s.fInvType & ~SkMatrix::kTranslate_Mask) == 0);
-+
-+ PREAMBLE_TRANS(s);
-+
-+ x += SkScalarFloor(s.fInvMatrix->getTranslateX());
-+ y += SkScalarFloor(s.fInvMatrix->getTranslateY());
-+
-+ *xy++ = (uint32_t)TILEY_TRANS(y, (s.fBitmap->height() - 1));
-+
-+ int maxX = s.fBitmap->width() - 1;
-+ int i;
-+ uint16_t* xx = (uint16_t*)xy;
-+ for (i = (count >> 2); i > 0; --i)
-+ {
-+ *xx++ = (uint16_t)TILEX_TRANS(x, maxX); x++;
-+ *xx++ = (uint16_t)TILEX_TRANS(x, maxX); x++;
-+ *xx++ = (uint16_t)TILEX_TRANS(x, maxX); x++;
-+ *xx++ = (uint16_t)TILEX_TRANS(x, maxX); x++;
-+ }
-+ for (i = (count & 3); i > 0; --i)
-+ {
-+ *xx++ = (uint16_t)TILEX_TRANS(x, maxX); x++;
-+ }
-+}
-+
- static void SCALE_NOFILTER_NAME(const SkBitmapProcState& s,
- uint32_t xy[], int count, int x, int y) {
- SkASSERT((s.fInvType & ~(SkMatrix::kTranslate_Mask |
-@@ -206,9 +239,9 @@
- unsigned maxY = s.fBitmap->height() - 1;
-
- do {
-- *xy++ = PACK_FILTER_Y_NAME(fy, maxY, oneX PREAMBLE_ARG_Y);
-+ *xy++ = PACK_FILTER_Y_NAME(fy, maxY, oneY PREAMBLE_ARG_Y);
- fy += dy;
-- *xy++ = PACK_FILTER_X_NAME(fx, maxX, oneY PREAMBLE_ARG_X);
-+ *xy++ = PACK_FILTER_X_NAME(fx, maxX, oneX PREAMBLE_ARG_X);
- fx += dx;
- } while (--count != 0);
- }
-@@ -241,6 +274,9 @@
- }
-
- static SkBitmapProcState::MatrixProc MAKENAME(_Procs)[] = {
-+ TRANSLATE_NOFILTER_NAME,
-+ TRANSLATE_NOFILTER_NAME, // No need to do filtering if the matrix is no
-+ // more complex than identity/translate.
- SCALE_NOFILTER_NAME,
- SCALE_FILTER_NAME,
- AFFINE_NOFILTER_NAME,
-@@ -255,7 +291,10 @@
- #ifdef CHECK_FOR_DECAL
- #undef CHECK_FOR_DECAL
- #endif
--
-+#undef TILEX_TRANS
-+#undef TILEY_TRANS
-+
-+#undef TRANSLATE_NOFILTER_NAME
- #undef SCALE_NOFILTER_NAME
- #undef SCALE_FILTER_NAME
- #undef AFFINE_NOFILTER_NAME
-@@ -268,6 +307,7 @@
- #undef PREAMBLE_PARAM_Y
- #undef PREAMBLE_ARG_X
- #undef PREAMBLE_ARG_Y
-+#undef PREAMBLE_TRANS
-
- #undef TILEX_LOW_BITS
- #undef TILEY_LOW_BITS
-Index: sgl/SkBitmapProcState_matrixProcs.cpp
-===================================================================
---- sgl/SkBitmapProcState_matrixProcs.cpp (revision 42716)
-+++ sgl/SkBitmapProcState_matrixProcs.cpp (working copy)
-@@ -28,6 +28,8 @@
- #define TILEX_LOW_BITS(fx, max) (((fx) >> 12) & 0xF)
- #define TILEY_LOW_BITS(fy, max) (((fy) >> 12) & 0xF)
- #define CHECK_FOR_DECAL
-+#define TILEX_TRANS(x, max) SkClampMax(x, max)
-+#define TILEY_TRANS(y, max) SkClampMax(y, max)
- #include "SkBitmapProcState_matrix.h"
-
- #define MAKENAME(suffix) RepeatX_RepeatY ## suffix
-@@ -35,6 +37,9 @@
- #define TILEY_PROCF(fy, max) (((fy) & 0xFFFF) * ((max) + 1) >> 16)
- #define TILEX_LOW_BITS(fx, max) ((((fx) & 0xFFFF) * ((max) + 1) >> 12) & 0xF)
- #define TILEY_LOW_BITS(fy, max) ((((fy) & 0xFFFF) * ((max) + 1) >> 12) & 0xF)
-+#define REAL_MOD(val, modulus) (((val)%(modulus)) + (modulus)*( (val)<0 ))
-+#define TILEX_TRANS(x, max) (REAL_MOD((x), ((max) + 1)))
-+#define TILEY_TRANS(y, max) (REAL_MOD((y), ((max) + 1)))
- #include "SkBitmapProcState_matrix.h"
-
- #define MAKENAME(suffix) GeneralXY ## suffix
-@@ -44,13 +49,17 @@
- #define PREAMBLE_PARAM_Y , SkBitmapProcState::FixedTileProc tileProcY
- #define PREAMBLE_ARG_X , tileProcX
- #define PREAMBLE_ARG_Y , tileProcY
--#define TILEX_PROCF(fx, max) (tileProcX(fx) * ((max) + 1) >> 16)
--#define TILEY_PROCF(fy, max) (tileProcY(fy) * ((max) + 1) >> 16)
--#define TILEX_LOW_BITS(fx, max) ((tileProcX(fx) * ((max) + 1) >> 12) & 0xF)
--#define TILEY_LOW_BITS(fy, max) ((tileProcY(fy) * ((max) + 1) >> 12) & 0xF)
-+#define TILEX_PROCF(fx, max) (tileProcX(fx, max) >> 16)
-+#define TILEY_PROCF(fy, max) (tileProcY(fy, max) >> 16)
-+#define TILEX_LOW_BITS(fx, max) ((tileProcX(fx, max) >> 14) & 0x3)
-+#define TILEY_LOW_BITS(fy, max) ((tileProcY(fy, max) >> 14) & 0x3)
-+#define PREAMBLE_TRANS(state) SkBitmapProcState::IntTileProc tileProcX = (state).iTileProcX; \
-+ SkBitmapProcState::IntTileProc tileProcY = (state).iTileProcY
-+#define TILEX_TRANS(x, max) tileProcX(x, max)
-+#define TILEY_TRANS(y, max) tileProcY(y, max)
- #include "SkBitmapProcState_matrix.h"
-
--static inline U16CPU fixed_clamp(SkFixed x)
-+static inline SkFixed fixed_clamp(SkFixed x, int max)
- {
- #ifdef SK_CPU_HAS_CONDITIONAL_INSTR
- if (x >> 16)
-@@ -66,19 +75,20 @@
- x = 0xFFFF;
- }
- #endif
-- return x;
-+ return x * (max + 1);
- }
-
--static inline U16CPU fixed_repeat(SkFixed x)
-+static inline SkFixed fixed_repeat(SkFixed x, int max)
- {
-- return x & 0xFFFF;
-+ return (x & 0xFFFF) * (max + 1);
- }
-
--static inline U16CPU fixed_mirror(SkFixed x)
-+static inline SkFixed fixed_mirror(SkFixed x, int max)
- {
- SkFixed s = x << 15 >> 31;
- // s is FFFFFFFF if we're on an odd interval, or 0 if an even interval
-- return (x ^ s) & 0xFFFF;
-+ x = ((x ^ s) & 0xFFFF) * (max + 1);
-+ return s ? (x ^ 0xFFFF) : x;
- }
-
- static SkBitmapProcState::FixedTileProc choose_tile_proc(unsigned m)
-@@ -90,15 +100,52 @@
- SkASSERT(SkShader::kMirror_TileMode == m);
- return fixed_mirror;
- }
-+
-+static inline int int_clamp(int x, int max)
-+{
-+ SkASSERT(max >= 0);
-+
-+ return SkClampMax(x, max);
-+}
-
-+static inline int int_repeat(int x, int max)
-+{
-+ SkASSERT(max >= 0);
-+
-+ return x % (max + 1);
-+}
-+
-+static inline int int_mirror(int x, int max)
-+{
-+ SkASSERT(max >= 0);
-+
-+ int dx = x % (max + 1);
-+ if (dx < 0)
-+ dx = -dx - 1;
-+
-+ return (x / (max + 1) % 2) ? max - dx : dx;
-+}
-+
-+static SkBitmapProcState::IntTileProc choose_int_tile_proc(unsigned m)
-+{
-+ if (SkShader::kClamp_TileMode == m)
-+ return int_clamp;
-+ if (SkShader::kRepeat_TileMode == m)
-+ return int_repeat;
-+ SkASSERT(SkShader::kMirror_TileMode == m);
-+ return int_mirror;
-+}
-+
- SkBitmapProcState::MatrixProc SkBitmapProcState::chooseMatrixProc()
- {
- int index = 0;
- if (fDoFilter)
- index = 1;
- if (fInvType & SkMatrix::kPerspective_Mask)
-+ index |= 6;
-+ else if (fInvType & SkMatrix::kAffine_Mask)
- index |= 4;
-- else if (fInvType & SkMatrix::kAffine_Mask)
-+ else if (fInvType & SkMatrix::kScale_Mask)
- index |= 2;
-
- if (SkShader::kClamp_TileMode == fTileModeX &&
-@@ -123,6 +170,8 @@
- // only general needs these procs
- fTileProcX = choose_tile_proc(fTileModeX);
- fTileProcY = choose_tile_proc(fTileModeY);
-+ iTileProcX = choose_int_tile_proc(fTileModeX);
-+ iTileProcY = choose_int_tile_proc(fTileModeY);
- return GeneralXY_Procs[index];
- }
-
« no previous file with comments | « skia/fix_for_1186198.diff ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698