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

Side by Side Diff: src/core/SkBitmapProcState_shaderproc.h

Issue 1534243002: Revert of Fix UB function problems for shaders and mask. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « src/core/SkBitmapProcState.cpp ('k') | src/core/SkBlitMask.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkMathPriv.h" 9 #include "SkMathPriv.h"
10 10
11 #define SCALE_FILTER_NAME MAKENAME(_filter_DX_shaderproc) 11 #define SCALE_FILTER_NAME MAKENAME(_filter_DX_shaderproc)
12 12
13 // Can't be static in the general case because some of these implementations 13 // Can't be static in the general case because some of these implementations
14 // will be defined and referenced in different object files. 14 // will be defined and referenced in different object files.
15 void SCALE_FILTER_NAME(const void* sIn, int x, int y, 15 void SCALE_FILTER_NAME(const SkBitmapProcState& s, int x, int y,
16 DSTTYPE* SK_RESTRICT colors, int count); 16 DSTTYPE* SK_RESTRICT colors, int count);
17 17
18 void SCALE_FILTER_NAME(const void* sIn, int x, int y, 18 void SCALE_FILTER_NAME(const SkBitmapProcState& s, int x, int y,
19 DSTTYPE* SK_RESTRICT colors, int count) { 19 DSTTYPE* SK_RESTRICT colors, int count) {
20 const SkBitmapProcState& s = *static_cast<const SkBitmapProcState*>(sIn);
21 SkASSERT((s.fInvType & ~(SkMatrix::kTranslate_Mask | 20 SkASSERT((s.fInvType & ~(SkMatrix::kTranslate_Mask |
22 SkMatrix::kScale_Mask)) == 0); 21 SkMatrix::kScale_Mask)) == 0);
23 SkASSERT(s.fInvKy == 0); 22 SkASSERT(s.fInvKy == 0);
24 SkASSERT(count > 0 && colors != nullptr); 23 SkASSERT(count > 0 && colors != nullptr);
25 SkASSERT(s.fFilterLevel != kNone_SkFilterQuality); 24 SkASSERT(s.fFilterLevel != kNone_SkFilterQuality);
26 SkDEBUGCODE(CHECKSTATE(s);) 25 SkDEBUGCODE(CHECKSTATE(s);)
27 26
28 const unsigned maxX = s.fPixmap.width() - 1; 27 const unsigned maxX = s.fPixmap.width() - 1;
29 const SkFixed oneX = s.fFilterOneX; 28 const SkFixed oneX = s.fFilterOneX;
30 const SkFixed dx = s.fInvSx; 29 const SkFixed dx = s.fInvSx;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 #undef MAKENAME 85 #undef MAKENAME
87 #undef SRCTYPE 86 #undef SRCTYPE
88 #undef DSTTYPE 87 #undef DSTTYPE
89 #undef CHECKSTATE 88 #undef CHECKSTATE
90 #undef SRC_TO_FILTER 89 #undef SRC_TO_FILTER
91 #undef FILTER_TO_DST 90 #undef FILTER_TO_DST
92 #undef PREAMBLE 91 #undef PREAMBLE
93 #undef POSTAMBLE 92 #undef POSTAMBLE
94 93
95 #undef SCALE_FILTER_NAME 94 #undef SCALE_FILTER_NAME
OLDNEW
« no previous file with comments | « src/core/SkBitmapProcState.cpp ('k') | src/core/SkBlitMask.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698