Go to file
mtklein b07bee3121 Refactor to put SkXfermode_opts inside SK_OPTS_NS.
Without this refactor I was getting warnings previously about having code
inside namespace SK_OPTS_NS (e.g. namespace sse2, namespace neon) referring to
code inside an anonymous namespace (Sk4px, SkPMFloat, Sk4f, etc) [1].

That low-level code was in an anonymous namespace to allow multiple independent
copies of its methods to be instantiated without the linker getting confused /
offended about violating the One Definition Rule.  This was only happening in
Debug mode where the methods were not being inlined.

To fix this all, I've force-inlined the methods of the low-level code and
removed the anonymous namespace.

BUG=skia:4117

[1] Here is what those errors looked like:

In file included from ../../../../src/core/SkOpts.cpp:18:0:
../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fProc4' whose type uses the anonymous namespace [-Werror]
 class Sk4pxXfermode : public SkProcCoeffXfermode {
       ^
../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fAAProc4' whose type uses the anonymous namespace [-Werror]
../../../../src/opts/SkXfermode_opts.h:235:7: error: 'portable::SkPMFloatXfermode' has a field 'portable::SkPMFloatXfermode::fProcF' whose type uses the anonymous namespace [-Werror]
 class SkPMFloatXfermode : public SkProcCoeffXfermode {
       ^
cc1plus: all warnings being treated as errors

Review URL: https://codereview.chromium.org/1286093004
2015-08-12 10:23:37 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench flag to use const& instead of const* for src-rect 2015-08-06 10:02:53 -07:00
bin Change to use mean and to use stderr. 2015-07-09 10:50:24 -07:00
debugger Fix no-gpu debugger. 2015-07-31 15:46:03 -07:00
dm Revert of Update libwebp and resume testing scaled webp (patchset #2 id:20001 of https://codereview.chromium.org/1280073002/ ) 2015-08-07 12:53:25 -07:00
example Propagate SkSurfaceProps to more call sites 2015-06-23 06:26:08 -07:00
experimental Remove experimental/PdfViewer 2015-08-04 14:08:44 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm GrDrawVertices to batches 2015-08-07 12:46:26 -07:00
gyp Revert of SkPDF: Move SkFlate into src/pdf (part 1/3) (patchset #1 id:1 of https://codereview.chromium.org/1285913002/ ) 2015-08-12 08:53:04 -07:00
include All child GrFragmentProcs' transforms and textures will be stored in the root GrFragmentProc in preorder 2015-08-12 09:40:47 -07:00
infra Build buckets: tryjob access 2015-07-30 10:32:27 -07:00
platform_tools Switching Skia to chromium's libjpeg-turbo 2015-08-11 13:32:54 -07:00
resources Fix bmp RLE "bug" 2015-08-12 08:08:56 -07:00
samplecode Add high resolution WallTimer to SampleApp 2015-08-11 11:07:07 -07:00
site Move Perf documentation to the testing section 2015-08-11 07:00:01 -07:00
src Refactor to put SkXfermode_opts inside SK_OPTS_NS. 2015-08-12 10:23:37 -07:00
tests Update CodexTest to test valid_alpha. 2015-08-12 08:31:44 -07:00
third_party Revert of Update libwebp and resume testing scaled webp (patchset #2 id:20001 of https://codereview.chromium.org/1280073002/ ) 2015-08-07 12:53:25 -07:00
tools Add tools/ubsan.supp. 2015-08-05 10:12:33 -04:00
.gitignore Update Android Apps to use gradle 2015-07-24 13:15:59 -07:00
AUTHORS Optimize RGB16 blitV functions with NEON for ARM platform. 2015-07-15 07:07:30 -07:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Add benjaminwagner@ to CQ_COMMITTERS. 2015-06-08 10:22:34 -07:00
DEPS Switching Skia to chromium's libjpeg-turbo 2015-08-11 13:32:54 -07:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Support SKIA_OUT on Mac and ChromeOS 2015-05-04 08:04:28 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
HASHTAGS Fix cr SKPs naming 2015-03-31 08:03:02 -07:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py Fix make.py: BUILDTYPE 2015-08-05 11:30:28 -04:00
Makefile Remove experimental/PdfViewer 2015-08-04 14:08:44 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py update presubmit to know about include/private 2015-07-28 08:54:12 -07:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
SKP_VERSION Update SKP version 2015-07-19 00:19:11 -07:00
whitespace.txt Whitespace change to test Gerrit ACLs 2015-08-04 14:23:48 -07:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.