aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp
Commit message (Collapse)AuthorAge
* Port SkXfermode opts to SkOpts.hGravatar mtklein2015-07-31
| | | | | | | | | | | | | Renames Sk4pxXfermode.h to SkXfermode_opts.h, and refactors it a tiny bit internally. This moves xfermode optimization from being "compile-time everywhere but NEON" to simply "runtime everywhere". I don't anticipate any effect on perf or correctness. BUG=skia:4117 Review URL: https://codereview.chromium.org/1264543006
* Port SkUtils opts to SkOpts.Gravatar mtklein2015-07-31
| | | | | | | | | | | | | | | | With this new arrangement, the benefits of inlining sk_memset16/32 have changed. On x86, they're not significantly different, except for small N<=10 where the inlined code is significantly slower. On ARMv7 with NEON, our custom code is still significantly faster for N>10 (up to 2x faster). For small N<=10 inlining is still significantly faster. On ARMv7 without NEON, our custom code is still ridiculously faster (up to 10x) than inlining for N>10, though for small N<=10 inlining is still a little faster. We were not using the NEON memset16 and memset32 procs on ARMv8. At first blush, that seems to be an oversight, but if so it's an extremely lucky one. The ARMv8 code generation for our memset16/32 procs is total garbage, leaving those methods ~8x slower than just inlining the memset, using the compiler's autovectorization. So, no need to inline any more on x86, and still inline for N<=10 on ARMv7. Always inline for ARMv8. BUG=skia:4117 Review URL: https://codereview.chromium.org/1270573002
* remove drawimagerect flags, as skia no longer respects themGravatar reed2015-07-31
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1262333006
* Rename SkCodec_libbmp to SkBmpCodecGravatar msarett2015-07-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1254963006
* Lay groundwork for SkOpts.Gravatar mtklein2015-07-30
| | | | | | | | | | This doesn't really do anything yet. It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks. BUG=skia:4117 Committed: https://skia.googlesource.com/skia/+/ce2c5055cee5d5d3c9fc84c1b3eeed4b4d84a827 Review URL: https://codereview.chromium.org/1255193002
* Remove SK_BUILD_FOR SDL, BREW, and PALM.Gravatar bungeman2015-07-29
| | | | | | | | SDL isn't an OS anyway, it's just a library views can use. Remaining support for Brew was removed some time ago, and there are currently no uses of SK_BUILD_FOR_PALM. Review URL: https://codereview.chromium.org/1268573002
* Move non-trivial constructors out-of-line.Gravatar mtklein2015-07-29
| | | | | | | | | | | There is more than one way to skin this SkPathPriv.h cat. These constructors are large enough that they probably shouldn't have been inlined like this anyway. BUG=skia:4126 Review URL: https://codereview.chromium.org/1253963004
* Move LightingShader to effectsGravatar robertphillips2015-07-29
| | | | | | | | | | | Additionally this CL: forces the light colors to be opaque forces the light direction to be normalized adds a raster implementation adds a gm Review URL: https://codereview.chromium.org/1245883003
* Adding debug SkScalerContext which returns random mask formatsGravatar joshualitt2015-07-29
| | | | | | | TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1260473004
* make tests portable by using 565 compatible colorsGravatar caryclark2015-07-29
| | | | | | TBR=reed@google.com Review URL: https://codereview.chromium.org/1262703002
* Rename GrInOrderDrawBuffer to GrBufferedDrawTargetGravatar joshualitt2015-07-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1261033002
* Move SkTHash.h to include/private.Gravatar mtklein2015-07-28
| | | | | | | | | | | | | | | include/views/SkOSWindow_Win.h includes it. To move SkTHash.h to include/private, SkChecksum.h needs to go there too. To move SkChecksum.h to include/private, SkTLogic needs to go there too. This adds a bunch of -Iinclude/private to tools.gyp I missed in the last CL. No public API changes. TBR=reed@google.com BUG=skia:4126 Review URL: https://codereview.chromium.org/1260613006
* add -Iinclude/private anywhere we have -Isrc/coreGravatar mtklein2015-07-28
| | | | | | | | | | | | | | | I'll be moving headers from src/core to include/private, so this guarantees that anyone who was finding them via -Isrc/core can now find them via -Iinclude/private. This is purely mechanical, mostly to preserve my sanity, so it's likely (harmless) overkill. Chromium's GYP and GN builds already set -Iinclude/private for Skia builds. BUG=skia:4126 Review URL: https://codereview.chromium.org/1265443002
* Revert of Lay groundwork for SkOpts. (patchset #3 id:40001 of ↵Gravatar mtklein2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1255193002/) Reason for revert: Chromium doesn't call SkGraphics::Init(). This setup won't work. Original issue's description: > Lay groundwork for SkOpts. > > This doesn't really do anything yet. It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks. > > BUG=skia:4117 > > Committed: https://skia.googlesource.com/skia/+/ce2c5055cee5d5d3c9fc84c1b3eeed4b4d84a827 TBR=djsollen@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4117 Review URL: https://codereview.chromium.org/1261743002
* Lay groundwork for SkOpts.Gravatar mtklein2015-07-27
| | | | | | | | This doesn't really do anything yet. It's just the CPU detection code, skeleton new .cpp files, and a few little .gyp tweaks. BUG=skia:4117 Review URL: https://codereview.chromium.org/1255193002
* Remove skia_arch_width, fold into skia_arch_type.Gravatar Brian Salomon2015-07-27
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=1228553010 BUG=skia:4042 R=borenet@google.com, mtklein@google.com Review URL: https://codereview.chromium.org/1228553010
* Added GrGLBlend.h|cpp with helper function AppendPorterDuffBlend() in ↵Gravatar wangyix2015-07-24
| | | | | | | | preparation for SkComposeShader gpu backend BUG=skia: Review URL: https://codereview.chromium.org/1254833003
* Fix Android x86 compile on macGravatar msarett2015-07-23
| | | | | | | | It appears I failed to fully disable it on the first attempt. BUG=skia: Review URL: https://codereview.chromium.org/1249083004
* Add skia_use_android_framework_defines GYP_DEFINEGravatar borenet2015-07-22
| | | | | | BUG=skia:4082 Review URL: https://codereview.chromium.org/1243383002
* Fix Android framework buildGravatar msarett2015-07-22
| | | | | | | | | | | | The Android framework was failing on conditions in libjpeg-turbo.gyp, even though libjpeg-turbo is listed in dependencies! for the framework (maybe because I forgot to add export_dependent_settings!). This is fixed by rearranging the gyp file. BUG=skia: Review URL: https://codereview.chromium.org/1249003002
* ANGLE deps rollGravatar hendrikw2015-07-21
| | | | | | | | | | | | | | | If we ever want to allow the command buffer as a skia gles2 backend, we need a more up to date version of ANGLE, specifically there are 4 defines that differ between newer and older versions of ANGLE which we use in skia, I've updated these in this change. I'm not quite sure if what I've done for the 'angle_path' is correct, I tried setting it to a path relative to skia, and to '<(DEPTH)', both of which do not compile correctly, only '../' worked. Committed: https://skia.googlesource.com/skia/+/db0b1e796ddbd08e6be8a666537318b1c0e2ce56 Review URL: https://codereview.chromium.org/1244843003
* Compile with VS2015.Gravatar bungeman2015-07-21
| | | | | | | | | | | | | | | | Visual Studio 2015 has additional warnings around noexcept and disabling exceptions, which can be worked around with the (undocumented) _HAS_EXCEPTIONS macro. Visual Studio 2013 and 2015 have roundf in math.h, so use it to avoid extra work and casts. We avoid using cmath, as it undefs isfinite on gcc, but Visual Studio 2015 no longer provides overloads of copysign from math.h (which is actually correct). As a result, use copysignf (which is available in math.h in 2013 and 2015) directly. Review URL: https://codereview.chromium.org/1244173005
* Revert of skia: ANGLE deps roll (patchset #1 id:1 of ↵Gravatar hendrikw2015-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1244843003/) Reason for revert: Compile error that the try bots didn't catch :( Original issue's description: > ANGLE deps roll > > If we ever want to allow the command buffer as a skia gles2 backend, > we need a more up to date version of ANGLE, specifically there are > 4 defines that differ between newer and older versions of ANGLE which > we use in skia, I've updated these in this change. > > I'm not quite sure if what I've done for the 'angle_path' is correct, > I tried setting it to a path relative to skia, and to '<(DEPTH)', both > of which do not compile correctly, only '../' worked. > > Committed: https://skia.googlesource.com/skia/+/db0b1e796ddbd08e6be8a666537318b1c0e2ce56 TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1245223007
* ANGLE deps rollGravatar hendrikw2015-07-21
| | | | | | | | | | | | | If we ever want to allow the command buffer as a skia gles2 backend, we need a more up to date version of ANGLE, specifically there are 4 defines that differ between newer and older versions of ANGLE which we use in skia, I've updated these in this change. I'm not quite sure if what I've done for the 'angle_path' is correct, I tried setting it to a path relative to skia, and to '<(DEPTH)', both of which do not compile correctly, only '../' worked. Review URL: https://codereview.chromium.org/1244843003
* Reenable yasm for Android x86 and x86-64 on Linux hostGravatar msarett2015-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that gyp (kind of) has support for cross compiling with a different host and target. We simply need to specify CC_host and CC_target instead of CC. Making this change allows us to compile yasm on a Linux host for Android. We run into problems on Mac because the linker on a Mac host requires different command line arguments than the linker on the Android target. In looking through the code for gyp itself and speaking to Ben, it doesn't appear to me that gyp supports passing different arguments to host and target linkers. I would imagine that we would have similar problems on Windows. Below is a link to a CL that would fix this issue in gyp. It looks like it has been dropped for a long time. Thanks to Ben for this link! https://chromiumcodereview.appspot.com/10795044/ Also I'm adding a link to the build instructions for Chrome (thanks again Ben). It looks like they only support building for Android from Linux. https://code.google.com/p/chromium/wiki/AndroidBuildInstructions My next steps are: 1) Getting in touch with Torne or someone else with gyp to see if people are aware of this issue or interested in fixing it. 2) Deciding if skia should care about this issue. 3) Deciding if skia should work around this issue. It'd be really great to hear your thoughts on (2) and (3). My first thought is that we shouldn't care because, as long as we always compile the production copy of skia for Android on Linux, we will get the fast code. Is this a valid conclusion? Is there a way to write Android apps on Mac that accidentally use the slower code? If we do care, there are workarounds: For Mac, we can check in a yasm binary - it's a little smaller than the one I am deleting in this CL :-/ For Windows, we *might* be able to use the yasm.exe binary already in externals (we get this from DEPS because this is how chromium uses yasm on Windows). Are there other platforms that we care about? Let me know what you think! BUG=skia:4028 DOCS_PREVIEW= https://skia.org/?cl=1239333002 Review URL: https://codereview.chromium.org/1239333002
* Add sanity check to GrAtlasTextBlobGravatar joshualitt2015-07-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1250693002
* rename BitmapTextBlob and move it to its own fileGravatar joshualitt2015-07-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1249663002
* Clean up dead xfermode opts code.Gravatar mtklein2015-07-20
| | | | | | | | | | | | | Now that SK_SUPPORT_LEGACY_XFERMODES is unused, tons of code becomes dead. Nothing is needed in opts/ anymore for x86. We still do runtime NEON detection, which just duplicates Sk4pxXfermode. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1230023011
* Revert[2] of guard to remove DrawBitmapRectFlagsGravatar reed2015-07-17
| | | | | | | | | This reverts commit 91110195a2eee170c11885da9d16f94b00a39f87. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1240753003
* Removing GrTemplates.hGravatar joshualitt2015-07-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1233923004
* Revert of guard to remove DrawBitmapRectFlags (patchset #1 id:1 of ↵Gravatar scroggo2015-07-17
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1235393003/) Reason for revert: breaking android framework build Original issue's description: > guard to remove DrawBitmapRectFlags > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/6fb0b6779e40ce05c20cf279f0ecff31fa3cd60d TBR=fmalita@chromium.org,djsollen@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1230823007
* guard to remove DrawBitmapRectFlagsGravatar reed2015-07-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1235393003
* Allow Android font manager on *nix.Gravatar bungeman2015-07-15
| | | | | | | | | | | | There is nothing left in the SkFontMgr_android.cpp which is specific to Android, so allow it to be built and used on *nix platforms. This allows for easier development and testing. The only reason to limit to *nix platforms are the dependencies on Expat and FreeType. This should be buildable and runnable on other platforms when these dependencies are also available. Review URL: https://codereview.chromium.org/1228833003
* experimental: remove old PDF benchmarking toolsGravatar halcanary2015-07-15
| | | | | | TBR= Review URL: https://codereview.chromium.org/1233093004
* Let Android use old version of onDrawBitmapRect.Gravatar scroggo2015-07-14
| | | | | | | | | | | | Define SK_SUPPORT_LEGACY_ONDRAWIMAGERECT when building for the Android framework, since SkiaCanvasProxy overrides the old version of the method. Fixes master-skia build. NOTRY=True Review URL: https://codereview.chromium.org/1237903002
* Remove GrRedBlackTreeGravatar joshualitt2015-07-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1226203013
* Another trivial cleanupGravatar joshualitt2015-07-14
| | | | | | | | | TBR=bsalomon@google.com BUG=skia: Committed: https://skia.googlesource.com/skia/+/52e7657cd850f95e66eb23c6d138ee45149a1039 Review URL: https://codereview.chromium.org/1229303003
* Add a GYP flag to define SKNX_NO_SIMD when set.Gravatar mtklein2015-07-14
| | | | | | | | Will use this with a new -SKNX_NO_SIMD bot. BUG=skia: Review URL: https://codereview.chromium.org/1227163016
* Revert of Another trivial cleanup (patchset #6 id:100001 of ↵Gravatar joshualitt2015-07-13
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1229303003/) Reason for revert: breaking things Original issue's description: > Another trivial cleanup > > TBR=bsalomon@google.com > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/52e7657cd850f95e66eb23c6d138ee45149a1039 TBR=robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1233853004
* Add new SkPoint3 classGravatar robertphillips2015-07-13
| | | | | | The existing Light filter and the upcoming Lighting Shader both need a Point3 class Review URL: https://codereview.chromium.org/1229693009
* Another trivial cleanupGravatar joshualitt2015-07-13
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1229303003
* Get rid of GrMurmur3HashGravatar joshualitt2015-07-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1233933002
* Add GrNonAtomicRefGravatar joshualitt2015-07-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1238523002
* Tweak GYP to also link with XCode 7.Gravatar mtklein2015-07-13
| | | | | | | | | | | | | | Using the XCode 7 beta, the file in the GYP doesn't exist, instead we get /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libz.tbd which is a text file describing libz and pointing to /usr/lib/libz.1.dylib. There's a weird easy fix, which is that GYP looks for things in libraries like 'libz.dylib' and pattern match translates that to '-lz' on the command line. (Infuriatingly, a literal '-lz' is interpreted as a file path...) BUG=skia: Review URL: https://codereview.chromium.org/1234493002
* remove some unused stuffGravatar joshualitt2015-07-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1231163002
* Fix msvs buildsGravatar msarett2015-07-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1229303002
* Use the upstream version of libwebp, v0.4.3.Gravatar scroggo2015-07-10
| | | | | | | | | | | | | | | | | | | DEPS: Update to pull v0.4.3 of libwebp from upstream gyp/libwebp.gyp: Add new files, as referenced by the gyp file used by Chromium. resource/tests: Add regression tests for particular images. BUG=skia:3442 BUG=skia:3315 BUG=skia:3429 Committed: https://skia.googlesource.com/skia/+/3aa0fb4d80c76b559ff4b82d5e569993aea06da1 Review URL: https://codereview.chromium.org/1178013008
* Outline SkSpinlock::acquire().Gravatar mtklein2015-07-09
| | | | | | | | | | | | | | | | The proportion of time spent doing useful work is well over 99% in acquire(), so outlining it doesn't hurt speed at all, and makes it much easier to pick out on a profile. It'd be about 50/50 work/overhead if we outlined the extremely-cheap release(). I also tried outlining some SkRefCnt methods with similar mixed results. BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1212253013
* Add normal map sampleGravatar jvanverth2015-07-09
| | | | | | | | | | This adds an example of an SkShader that does normal mapping. It has a single directional light and an ambient light. Committed: https://skia.googlesource.com/skia/+/8e0da72ba890de395c9946ec6639c9e1e7b16027 Review URL: https://codereview.chromium.org/1212813009
* Do not try to compile x86 and x86_64 .asm files on AndroidGravatar msarett2015-07-09
| | | | | | | | | | This is currently only works on Linux hosts because we have checked in a binary and does not work on Mac hosts. We are disabling until we find a suitable solution. BUG=skia:4028 Review URL: https://codereview.chromium.org/1228823006