xref: /aosp_15_r20/external/pdfium/skia/config/SkPdfiumUserConfig.h (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker /*
2*3ac0a46fSAndroid Build Coastguard Worker  * Copyright 2006 The PDFium Authors
3*3ac0a46fSAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
4*3ac0a46fSAndroid Build Coastguard Worker  * found in the LICENSE file.
5*3ac0a46fSAndroid Build Coastguard Worker  */
6*3ac0a46fSAndroid Build Coastguard Worker 
7*3ac0a46fSAndroid Build Coastguard Worker #ifndef SKIA_CONFIG_SKUSERCONFIG_H_
8*3ac0a46fSAndroid Build Coastguard Worker #define SKIA_CONFIG_SKUSERCONFIG_H_
9*3ac0a46fSAndroid Build Coastguard Worker 
10*3ac0a46fSAndroid Build Coastguard Worker /*  SkTypes.h, the root of the public header files, does the following trick:
11*3ac0a46fSAndroid Build Coastguard Worker 
12*3ac0a46fSAndroid Build Coastguard Worker     #include "SkPreConfig.h"
13*3ac0a46fSAndroid Build Coastguard Worker     #include "SkUserConfig.h"
14*3ac0a46fSAndroid Build Coastguard Worker     #include "SkPostConfig.h"
15*3ac0a46fSAndroid Build Coastguard Worker 
16*3ac0a46fSAndroid Build Coastguard Worker     SkPreConfig.h runs first, and it is responsible for initializing certain
17*3ac0a46fSAndroid Build Coastguard Worker     skia defines.
18*3ac0a46fSAndroid Build Coastguard Worker 
19*3ac0a46fSAndroid Build Coastguard Worker     SkPostConfig.h runs last, and its job is to just check that the final
20*3ac0a46fSAndroid Build Coastguard Worker     defines are consistent (i.e. that we don't have mutually conflicting
21*3ac0a46fSAndroid Build Coastguard Worker     defines).
22*3ac0a46fSAndroid Build Coastguard Worker 
23*3ac0a46fSAndroid Build Coastguard Worker     SkUserConfig.h (this file) runs in the middle. It gets to change or augment
24*3ac0a46fSAndroid Build Coastguard Worker     the list of flags initially set in preconfig, and then postconfig checks
25*3ac0a46fSAndroid Build Coastguard Worker     that everything still makes sense.
26*3ac0a46fSAndroid Build Coastguard Worker 
27*3ac0a46fSAndroid Build Coastguard Worker     Below are optional defines that add, subtract, or change default behavior
28*3ac0a46fSAndroid Build Coastguard Worker     in Skia. Your port can locally edit this file to enable/disable flags as
29*3ac0a46fSAndroid Build Coastguard Worker     you choose, or these can be delared on your command line (i.e. -Dfoo).
30*3ac0a46fSAndroid Build Coastguard Worker 
31*3ac0a46fSAndroid Build Coastguard Worker     By default, this include file will always default to having all of the flags
32*3ac0a46fSAndroid Build Coastguard Worker     commented out, so including it will have no effect.
33*3ac0a46fSAndroid Build Coastguard Worker */
34*3ac0a46fSAndroid Build Coastguard Worker 
35*3ac0a46fSAndroid Build Coastguard Worker ///////////////////////////////////////////////////////////////////////////////
36*3ac0a46fSAndroid Build Coastguard Worker 
37*3ac0a46fSAndroid Build Coastguard Worker /*  Skia has lots of debug-only code. Often this is just null checks or other
38*3ac0a46fSAndroid Build Coastguard Worker     parameter checking, but sometimes it can be quite intrusive (e.g. check that
39*3ac0a46fSAndroid Build Coastguard Worker     each 32bit pixel is in premultiplied form). This code can be very useful
40*3ac0a46fSAndroid Build Coastguard Worker     during development, but will slow things down in a shipping product.
41*3ac0a46fSAndroid Build Coastguard Worker 
42*3ac0a46fSAndroid Build Coastguard Worker     By default, these mutually exclusive flags are defined in SkPreConfig.h,
43*3ac0a46fSAndroid Build Coastguard Worker     based on the presence or absence of NDEBUG, but that decision can be changed
44*3ac0a46fSAndroid Build Coastguard Worker     here.
45*3ac0a46fSAndroid Build Coastguard Worker  */
46*3ac0a46fSAndroid Build Coastguard Worker // #define SK_DEBUG
47*3ac0a46fSAndroid Build Coastguard Worker // #define SK_RELEASE
48*3ac0a46fSAndroid Build Coastguard Worker 
49*3ac0a46fSAndroid Build Coastguard Worker /*  Skia has certain debug-only code that is extremely intensive even for debug
50*3ac0a46fSAndroid Build Coastguard Worker     builds.  This code is useful for diagnosing specific issues, but is not
51*3ac0a46fSAndroid Build Coastguard Worker     generally applicable, therefore it must be explicitly enabled to avoid
52*3ac0a46fSAndroid Build Coastguard Worker     the performance impact. By default these flags are undefined, but can be
53*3ac0a46fSAndroid Build Coastguard Worker     enabled by uncommenting them below.
54*3ac0a46fSAndroid Build Coastguard Worker  */
55*3ac0a46fSAndroid Build Coastguard Worker // #define SK_DEBUG_GLYPH_CACHE
56*3ac0a46fSAndroid Build Coastguard Worker // #define SK_DEBUG_PATH
57*3ac0a46fSAndroid Build Coastguard Worker 
58*3ac0a46fSAndroid Build Coastguard Worker /*  preconfig will have attempted to determine the endianness of the system,
59*3ac0a46fSAndroid Build Coastguard Worker     but you can change these mutually exclusive flags here.
60*3ac0a46fSAndroid Build Coastguard Worker  */
61*3ac0a46fSAndroid Build Coastguard Worker // #define SK_CPU_BENDIAN
62*3ac0a46fSAndroid Build Coastguard Worker // #define SK_CPU_LENDIAN
63*3ac0a46fSAndroid Build Coastguard Worker 
64*3ac0a46fSAndroid Build Coastguard Worker /*  Most compilers use the same bit endianness for bit flags in a byte as the
65*3ac0a46fSAndroid Build Coastguard Worker     system byte endianness, and this is the default. If for some reason this
66*3ac0a46fSAndroid Build Coastguard Worker     needs to be overridden, specify which of the mutually exclusive flags to
67*3ac0a46fSAndroid Build Coastguard Worker     use. For example, some atom processors in certain configurations have big
68*3ac0a46fSAndroid Build Coastguard Worker     endian byte order but little endian bit orders.
69*3ac0a46fSAndroid Build Coastguard Worker */
70*3ac0a46fSAndroid Build Coastguard Worker // #define SK_UINT8_BITFIELD_BENDIAN
71*3ac0a46fSAndroid Build Coastguard Worker // #define SK_UINT8_BITFIELD_LENDIAN
72*3ac0a46fSAndroid Build Coastguard Worker 
73*3ac0a46fSAndroid Build Coastguard Worker 
74*3ac0a46fSAndroid Build Coastguard Worker /*  To write debug messages to a console, skia will call SkDebugf(...) following
75*3ac0a46fSAndroid Build Coastguard Worker     printf conventions (e.g. const char* format, ...). If you want to redirect
76*3ac0a46fSAndroid Build Coastguard Worker     this to something other than printf, define yours here
77*3ac0a46fSAndroid Build Coastguard Worker  */
78*3ac0a46fSAndroid Build Coastguard Worker // #define SkDebugf(...)  MyFunction(__VA_ARGS__)
79*3ac0a46fSAndroid Build Coastguard Worker 
80*3ac0a46fSAndroid Build Coastguard Worker /*
81*3ac0a46fSAndroid Build Coastguard Worker  *  To specify a different default font cache limit, define this. If this is
82*3ac0a46fSAndroid Build Coastguard Worker  *  undefined, skia will use a built-in value.
83*3ac0a46fSAndroid Build Coastguard Worker  */
84*3ac0a46fSAndroid Build Coastguard Worker // #define SK_DEFAULT_FONT_CACHE_LIMIT   (1024 * 1024)
85*3ac0a46fSAndroid Build Coastguard Worker 
86*3ac0a46fSAndroid Build Coastguard Worker /*
87*3ac0a46fSAndroid Build Coastguard Worker  *  To specify the default size of the image cache, undefine this and set it to
88*3ac0a46fSAndroid Build Coastguard Worker  *  the desired value (in bytes). SkGraphics.h as a runtime API to set this
89*3ac0a46fSAndroid Build Coastguard Worker  *  value as well. If this is undefined, a built-in value will be used.
90*3ac0a46fSAndroid Build Coastguard Worker  */
91*3ac0a46fSAndroid Build Coastguard Worker // #define SK_DEFAULT_IMAGE_CACHE_LIMIT (1024 * 1024)
92*3ac0a46fSAndroid Build Coastguard Worker 
93*3ac0a46fSAndroid Build Coastguard Worker /*  Define this to set the upper limit for text to support LCD. Values that
94*3ac0a46fSAndroid Build Coastguard Worker     are very large increase the cost in the font cache and draw slower, without
95*3ac0a46fSAndroid Build Coastguard Worker     improving readability. If this is undefined, Skia will use its default
96*3ac0a46fSAndroid Build Coastguard Worker     value (e.g. 48)
97*3ac0a46fSAndroid Build Coastguard Worker  */
98*3ac0a46fSAndroid Build Coastguard Worker // #define SK_MAX_SIZE_FOR_LCDTEXT     48
99*3ac0a46fSAndroid Build Coastguard Worker 
100*3ac0a46fSAndroid Build Coastguard Worker /*  Change the ordering to work in X windows.
101*3ac0a46fSAndroid Build Coastguard Worker  */
102*3ac0a46fSAndroid Build Coastguard Worker // #ifdef SK_SAMPLES_FOR_X
103*3ac0a46fSAndroid Build Coastguard Worker //         #define SK_R32_SHIFT    16
104*3ac0a46fSAndroid Build Coastguard Worker //         #define SK_G32_SHIFT    8
105*3ac0a46fSAndroid Build Coastguard Worker //         #define SK_B32_SHIFT    0
106*3ac0a46fSAndroid Build Coastguard Worker //         #define SK_A32_SHIFT    24
107*3ac0a46fSAndroid Build Coastguard Worker // #endif
108*3ac0a46fSAndroid Build Coastguard Worker 
109*3ac0a46fSAndroid Build Coastguard Worker 
110*3ac0a46fSAndroid Build Coastguard Worker /* Determines whether to build code that supports the Ganesh GPU backend. Some classes
111*3ac0a46fSAndroid Build Coastguard Worker    that are not GPU-specific, such as SkShader subclasses, have optional code
112*3ac0a46fSAndroid Build Coastguard Worker    that is used to interact with this GPU backend. If you'd like to
113*3ac0a46fSAndroid Build Coastguard Worker    include this code, include -DSK_GANESH in your cflags or uncomment below.
114*3ac0a46fSAndroid Build Coastguard Worker    Defaults to not set (No Ganesh GPU backend).
115*3ac0a46fSAndroid Build Coastguard Worker    This define affects the ABI of Skia, so make sure it matches the client which uses
116*3ac0a46fSAndroid Build Coastguard Worker    the compiled version of Skia.
117*3ac0a46fSAndroid Build Coastguard Worker */
118*3ac0a46fSAndroid Build Coastguard Worker // #define SK_GANESH
119*3ac0a46fSAndroid Build Coastguard Worker 
120*3ac0a46fSAndroid Build Coastguard Worker /* Skia makes use of histogram logging macros to trace the frequency of
121*3ac0a46fSAndroid Build Coastguard Worker  * events. By default, Skia provides no-op versions of these macros.
122*3ac0a46fSAndroid Build Coastguard Worker  * Skia consumers can provide their own definitions of these macros to
123*3ac0a46fSAndroid Build Coastguard Worker  * integrate with their histogram collection backend.
124*3ac0a46fSAndroid Build Coastguard Worker  */
125*3ac0a46fSAndroid Build Coastguard Worker // #define SK_HISTOGRAM_BOOLEAN(name, value)
126*3ac0a46fSAndroid Build Coastguard Worker // #define SK_HISTOGRAM_ENUMERATION(name, value, boundary_value)
127*3ac0a46fSAndroid Build Coastguard Worker #include "third_party/base/component_export.h"
128*3ac0a46fSAndroid Build Coastguard Worker 
129*3ac0a46fSAndroid Build Coastguard Worker // ===== Begin Chrome-specific definitions =====
130*3ac0a46fSAndroid Build Coastguard Worker 
131*3ac0a46fSAndroid Build Coastguard Worker #define SK_MSCALAR_IS_FLOAT
132*3ac0a46fSAndroid Build Coastguard Worker #undef SK_MSCALAR_IS_DOUBLE
133*3ac0a46fSAndroid Build Coastguard Worker 
134*3ac0a46fSAndroid Build Coastguard Worker #define GR_MAX_OFFSCREEN_AA_DIM 512
135*3ac0a46fSAndroid Build Coastguard Worker 
136*3ac0a46fSAndroid Build Coastguard Worker // Handle exporting using base/component_export.h
137*3ac0a46fSAndroid Build Coastguard Worker #define SK_API COMPONENT_EXPORT(SKIA)
138*3ac0a46fSAndroid Build Coastguard Worker 
139*3ac0a46fSAndroid Build Coastguard Worker // Log the file and line number for assertions.
140*3ac0a46fSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_WIN) && !defined(__clang__)
141*3ac0a46fSAndroid Build Coastguard Worker // String formatting with this toolchain not supported.
142*3ac0a46fSAndroid Build Coastguard Worker #define SkDebugf(...) SkDebugf_FileLineOnly(__FILE__, __LINE__)
143*3ac0a46fSAndroid Build Coastguard Worker SK_API void SkDebugf_FileLineOnly(const char* file, int line);
144*3ac0a46fSAndroid Build Coastguard Worker #else
145*3ac0a46fSAndroid Build Coastguard Worker #define SkDebugf(...) SkDebugf_FileLine(__FILE__, __LINE__, __VA_ARGS__)
146*3ac0a46fSAndroid Build Coastguard Worker SK_API void SkDebugf_FileLine(const char* file,
147*3ac0a46fSAndroid Build Coastguard Worker                               int line,
148*3ac0a46fSAndroid Build Coastguard Worker                               const char* format,
149*3ac0a46fSAndroid Build Coastguard Worker                               ...);
150*3ac0a46fSAndroid Build Coastguard Worker #endif
151*3ac0a46fSAndroid Build Coastguard Worker 
152*3ac0a46fSAndroid Build Coastguard Worker #if !defined(ANDROID)  // On Android, we use the skia default settings.
153*3ac0a46fSAndroid Build Coastguard Worker #define SK_A32_SHIFT 24
154*3ac0a46fSAndroid Build Coastguard Worker #define SK_R32_SHIFT 16
155*3ac0a46fSAndroid Build Coastguard Worker #define SK_G32_SHIFT 8
156*3ac0a46fSAndroid Build Coastguard Worker #define SK_B32_SHIFT 0
157*3ac0a46fSAndroid Build Coastguard Worker #endif
158*3ac0a46fSAndroid Build Coastguard Worker 
159*3ac0a46fSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_WIN32)
160*3ac0a46fSAndroid Build Coastguard Worker 
161*3ac0a46fSAndroid Build Coastguard Worker #define SK_BUILD_FOR_WIN
162*3ac0a46fSAndroid Build Coastguard Worker 
163*3ac0a46fSAndroid Build Coastguard Worker // Skia uses this deprecated bzero function to fill zeros into a string.
164*3ac0a46fSAndroid Build Coastguard Worker #define bzero(str, len) memset(str, 0, len)
165*3ac0a46fSAndroid Build Coastguard Worker 
166*3ac0a46fSAndroid Build Coastguard Worker #elif defined(SK_BUILD_FOR_MAC)
167*3ac0a46fSAndroid Build Coastguard Worker 
168*3ac0a46fSAndroid Build Coastguard Worker #define SK_CPU_LENDIAN
169*3ac0a46fSAndroid Build Coastguard Worker #undef SK_CPU_BENDIAN
170*3ac0a46fSAndroid Build Coastguard Worker 
171*3ac0a46fSAndroid Build Coastguard Worker #elif defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID)
172*3ac0a46fSAndroid Build Coastguard Worker 
173*3ac0a46fSAndroid Build Coastguard Worker // Prefer FreeType's emboldening algorithm to Skia's
174*3ac0a46fSAndroid Build Coastguard Worker // TODO: skia used to just use hairline, but has improved since then, so
175*3ac0a46fSAndroid Build Coastguard Worker // we should revisit this choice...
176*3ac0a46fSAndroid Build Coastguard Worker #define SK_USE_FREETYPE_EMBOLDEN
177*3ac0a46fSAndroid Build Coastguard Worker 
178*3ac0a46fSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_UNIX) && defined(SK_CPU_BENDIAN)
179*3ac0a46fSAndroid Build Coastguard Worker // Above we set the order for ARGB channels in registers. I suspect that, on
180*3ac0a46fSAndroid Build Coastguard Worker // big endian machines, you can keep this the same and everything will work.
181*3ac0a46fSAndroid Build Coastguard Worker // The in-memory order will be different, of course, but as long as everything
182*3ac0a46fSAndroid Build Coastguard Worker // is reading memory as words rather than bytes, it will all work. However, if
183*3ac0a46fSAndroid Build Coastguard Worker // you find that colours are messed up I thought that I would leave a helpful
184*3ac0a46fSAndroid Build Coastguard Worker // locator for you. Also see the comments in
185*3ac0a46fSAndroid Build Coastguard Worker // base/gfx/bitmap_platform_device_linux.h
186*3ac0a46fSAndroid Build Coastguard Worker #error Read the comment at this location
187*3ac0a46fSAndroid Build Coastguard Worker #endif
188*3ac0a46fSAndroid Build Coastguard Worker 
189*3ac0a46fSAndroid Build Coastguard Worker #endif
190*3ac0a46fSAndroid Build Coastguard Worker 
191*3ac0a46fSAndroid Build Coastguard Worker // These flags are no longer defined in Skia, but we have them (temporarily)
192*3ac0a46fSAndroid Build Coastguard Worker // until we update our call-sites (typically these are for API changes).
193*3ac0a46fSAndroid Build Coastguard Worker //
194*3ac0a46fSAndroid Build Coastguard Worker // Remove these as we update our sites.
195*3ac0a46fSAndroid Build Coastguard Worker //
196*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_LEGACY_GETTOPDEVICE
197*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_GETTOPDEVICE
198*3ac0a46fSAndroid Build Coastguard Worker #endif
199*3ac0a46fSAndroid Build Coastguard Worker 
200*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_EXOTIC_CLIPOPS
201*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_EXOTIC_CLIPOPS
202*3ac0a46fSAndroid Build Coastguard Worker #endif
203*3ac0a46fSAndroid Build Coastguard Worker 
204*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_LEGACY_GETDEVICE
205*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_GETDEVICE
206*3ac0a46fSAndroid Build Coastguard Worker #endif
207*3ac0a46fSAndroid Build Coastguard Worker 
208*3ac0a46fSAndroid Build Coastguard Worker // Workaround for poor anisotropic mipmap quality,
209*3ac0a46fSAndroid Build Coastguard Worker // pending Skia ripmap support.
210*3ac0a46fSAndroid Build Coastguard Worker // (https://bugs.chromium.org/p/skia/issues/detail?id=4863)
211*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_LEGACY_ANISOTROPIC_MIPMAP_SCALE
212*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_ANISOTROPIC_MIPMAP_SCALE
213*3ac0a46fSAndroid Build Coastguard Worker #endif
214*3ac0a46fSAndroid Build Coastguard Worker 
215*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_LEGACY_REFENCODEDDATA_NOCTX
216*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_REFENCODEDDATA_NOCTX
217*3ac0a46fSAndroid Build Coastguard Worker #endif
218*3ac0a46fSAndroid Build Coastguard Worker 
219*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_IGNORE_ETC1_SUPPORT
220*3ac0a46fSAndroid Build Coastguard Worker #define SK_IGNORE_ETC1_SUPPORT
221*3ac0a46fSAndroid Build Coastguard Worker #endif
222*3ac0a46fSAndroid Build Coastguard Worker 
223*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_IGNORE_GPU_DITHER
224*3ac0a46fSAndroid Build Coastguard Worker #define SK_IGNORE_GPU_DITHER
225*3ac0a46fSAndroid Build Coastguard Worker #endif
226*3ac0a46fSAndroid Build Coastguard Worker 
227*3ac0a46fSAndroid Build Coastguard Worker #ifndef SK_SUPPORT_LEGACY_EVAL_CUBIC
228*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_EVAL_CUBIC
229*3ac0a46fSAndroid Build Coastguard Worker #endif
230*3ac0a46fSAndroid Build Coastguard Worker 
231*3ac0a46fSAndroid Build Coastguard Worker ///////////////////////// Imported from BUILD.gn
232*3ac0a46fSAndroid Build Coastguard Worker 
233*3ac0a46fSAndroid Build Coastguard Worker /* In some places Skia can use static initializers for global initialization,
234*3ac0a46fSAndroid Build Coastguard Worker  *  or fall back to lazy runtime initialization. Chrome always wants the latter.
235*3ac0a46fSAndroid Build Coastguard Worker  */
236*3ac0a46fSAndroid Build Coastguard Worker #define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS 0
237*3ac0a46fSAndroid Build Coastguard Worker 
238*3ac0a46fSAndroid Build Coastguard Worker /* This flag forces Skia not to use typographic metrics with GDI.
239*3ac0a46fSAndroid Build Coastguard Worker  */
240*3ac0a46fSAndroid Build Coastguard Worker #define SK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS
241*3ac0a46fSAndroid Build Coastguard Worker 
242*3ac0a46fSAndroid Build Coastguard Worker #define SK_IGNORE_BLURRED_RRECT_OPT
243*3ac0a46fSAndroid Build Coastguard Worker #define SK_USE_DISCARDABLE_SCALEDIMAGECACHE
244*3ac0a46fSAndroid Build Coastguard Worker #define SK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT
245*3ac0a46fSAndroid Build Coastguard Worker 
246*3ac0a46fSAndroid Build Coastguard Worker #define SK_ATTR_DEPRECATED SK_NOTHING_ARG1
247*3ac0a46fSAndroid Build Coastguard Worker #define SK_ENABLE_INST_COUNT 0
248*3ac0a46fSAndroid Build Coastguard Worker #define GR_GL_CUSTOM_SETUP_HEADER "GrGLConfig_chrome.h"
249*3ac0a46fSAndroid Build Coastguard Worker 
250*3ac0a46fSAndroid Build Coastguard Worker // Blink layout tests are baselined to Clang optimizing through the UB in
251*3ac0a46fSAndroid Build Coastguard Worker // SkDivBits.
252*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_DIVBITS_UB
253*3ac0a46fSAndroid Build Coastguard Worker 
254*3ac0a46fSAndroid Build Coastguard Worker // mtklein's fiddling with Src / SrcOver.  Will rebaseline these only once when
255*3ac0a46fSAndroid Build Coastguard Worker // done.
256*3ac0a46fSAndroid Build Coastguard Worker #define SK_SUPPORT_LEGACY_X86_BLITS
257*3ac0a46fSAndroid Build Coastguard Worker 
258*3ac0a46fSAndroid Build Coastguard Worker #define SK_DISABLE_TILE_IMAGE_FILTER_OPTIMIZATION
259*3ac0a46fSAndroid Build Coastguard Worker 
260*3ac0a46fSAndroid Build Coastguard Worker #if defined(SK_BUILD_FOR_WIN) && !defined(__clang__)
261*3ac0a46fSAndroid Build Coastguard Worker #define SK_ABORT(format, ...) \
262*3ac0a46fSAndroid Build Coastguard Worker   SkAbort_FileLine(__FILE__, __LINE__, format, ##__VA_ARGS__)
263*3ac0a46fSAndroid Build Coastguard Worker [[noreturn]] SK_API void SkAbort_FileLine(const char* file,
264*3ac0a46fSAndroid Build Coastguard Worker                                           int line,
265*3ac0a46fSAndroid Build Coastguard Worker                                           const char* format,
266*3ac0a46fSAndroid Build Coastguard Worker                                           ...);
267*3ac0a46fSAndroid Build Coastguard Worker #endif
268*3ac0a46fSAndroid Build Coastguard Worker 
269*3ac0a46fSAndroid Build Coastguard Worker // ===== End Chrome-specific definitions =====
270*3ac0a46fSAndroid Build Coastguard Worker 
271*3ac0a46fSAndroid Build Coastguard Worker #endif  // SKIA_CONFIG_SKUSERCONFIG_H_
272