aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/user/build.md
Commit message (Collapse)AuthorAge
* Reland "Reland "make SkJumper stages normal Skia code""Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 78cb579f33943421afc8423a39867fcfd69fed44 This time, lowp stages are controlled by !defined(JUMPER_IS_SCALAR), not by defined(__clang__). The two are usually the same, except when we opt Clang builds into JUMPER_IS_SCALAR artificially. Some Google3 builds use compilers old enough that they barf when compiling our NEON code. It's conceivably also possible to define JUMPER_IS_SCALAR yourself, but I don't think anyone does that. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> Change-Id: I3d71197d4bbb19ca4a94961a97fa2e54d5cbfb0d Reviewed-on: https://skia-review.googlesource.com/112744 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Reland "make SkJumper stages normal Skia code""Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 78cb579f33943421afc8423a39867fcfd69fed44. Reason for revert: lowp should be controlled by defined(JUMPER_IS_SCALAR), not defined(__clang__). So close. Original change's description: > Reland "make SkJumper stages normal Skia code" > > This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 > > Now with fixed #include paths in SkRasterPipeline_opts.h, > and -ffp-contract=fast for the :hsw target to minimize > diffs on non-Windows Clang AVX2/AVX-512 bots. > > Original change's description: > > make SkJumper stages normal Skia code > > > > Enough clients are using Clang now that we can say, use Clang to build > > if you want these software pipeline stages to go fast. > > > > This lets us drop the offline build aspect of SkJumper stages, instead > > building as part of Skia using the SkOpts framework. > > > > I think everything should work, except I've (temporarily) removed > > AVX-512 support. I will put this back in a follow up. > > > > I have had to drop Windows down to __vectorcall and our narrower > > stage calling convention that keeps the d-registers on the stack. > > I tried forcing sysv_abi, but that crashed Clang. :/ > > > > Added a TODO to up the same narrower stage calling convention > > for lowp stages... we just *don't* today, for no good reason. > > > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > > Reviewed-on: https://skia-review.googlesource.com/110641 > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Herb Derby <herb@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 > Reviewed-on: https://skia-review.googlesource.com/112742 > Reviewed-by: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,herb@google.com,fmalita@chromium.org Change-Id: Ie64da98f5187d44e03c0ce05d7cb189d4a6e6663 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/112743 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Reland "make SkJumper stages normal Skia code"Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4 Now with fixed #include paths in SkRasterPipeline_opts.h, and -ffp-contract=fast for the :hsw target to minimize diffs on non-Windows Clang AVX2/AVX-512 bots. Original change's description: > make SkJumper stages normal Skia code > > Enough clients are using Clang now that we can say, use Clang to build > if you want these software pipeline stages to go fast. > > This lets us drop the offline build aspect of SkJumper stages, instead > building as part of Skia using the SkOpts framework. > > I think everything should work, except I've (temporarily) removed > AVX-512 support. I will put this back in a follow up. > > I have had to drop Windows down to __vectorcall and our narrower > stage calling convention that keeps the d-registers on the stack. > I tried forcing sysv_abi, but that crashed Clang. :/ > > Added a TODO to up the same narrower stage calling convention > for lowp stages... we just *don't* today, for no good reason. > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > Reviewed-on: https://skia-review.googlesource.com/110641 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> Change-Id: I44f2c03d33958e3807747e40904b6351957dd448 Reviewed-on: https://skia-review.googlesource.com/112742 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "make SkJumper stages normal Skia code"Gravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 22e536e3a1a09405d1c0e6f071717a726d86e8d4. Reason for revert: wrong include path :/ Original change's description: > make SkJumper stages normal Skia code > > Enough clients are using Clang now that we can say, use Clang to build > if you want these software pipeline stages to go fast. > > This lets us drop the offline build aspect of SkJumper stages, instead > building as part of Skia using the SkOpts framework. > > I think everything should work, except I've (temporarily) removed > AVX-512 support. I will put this back in a follow up. > > I have had to drop Windows down to __vectorcall and our narrower > stage calling convention that keeps the d-registers on the stack. > I tried forcing sysv_abi, but that crashed Clang. :/ > > Added a TODO to up the same narrower stage calling convention > for lowp stages... we just *don't* today, for no good reason. > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > Reviewed-on: https://skia-review.googlesource.com/110641 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=mtklein@chromium.org,herb@google.com,fmalita@chromium.org Change-Id: I2bdc709c80cdfa6b13ff24e024b3721bef887f46 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/112741 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* make SkJumper stages normal Skia codeGravatar Mike Klein2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | Enough clients are using Clang now that we can say, use Clang to build if you want these software pipeline stages to go fast. This lets us drop the offline build aspect of SkJumper stages, instead building as part of Skia using the SkOpts framework. I think everything should work, except I've (temporarily) removed AVX-512 support. I will put this back in a follow up. I have had to drop Windows down to __vectorcall and our narrower stage calling convention that keeps the d-registers on the stack. I tried forcing sysv_abi, but that crashed Clang. :/ Added a TODO to up the same narrower stage calling convention for lowp stages... we just *don't* today, for no good reason. Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 Reviewed-on: https://skia-review.googlesource.com/110641 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* BUILD(win): find 'Build Tools for VS 2017', doc updateGravatar Hal Canary2018-02-14
| | | | | | | | | Docs-Preview: https://skia.org/user/build?cl=107282 Change-Id: I23b46051dd75e496b3fe87d7f1ea637a0541e950 Reviewed-on: https://skia-review.googlesource.com/107282 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Add header file installation tips for building skiaGravatar Yuqian Li2018-02-14
| | | | | | | | | | No-Try: true Docs-Preview: https://skia.org/?cl=105540 Bug: skia: Change-Id: I5d83eeb4ba7faf9c2964c91d39d51b3a8efd14a4 Reviewed-on: https://skia-review.googlesource.com/105540 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Changes to site documentationGravatar Andrew Monshizadeh2018-01-11
| | | | | | | | | | | | | | | | | Mostly just formatting fixes with a few grammatical changes. Two real notable changes: - Removed references to SkGLCanvas from Tips & FAQ and replaced with references to `SkDevice` and `SkSurface`. - Deleted deprecated "Quick Start Guides" folder Docs-Preview: https://skia.org/?cl=92361 Bug: skia: Change-Id: Ief790b1c2bae8fe0e39aa8d66c79f80560d18c9e Reviewed-on: https://skia-review.googlesource.com/92361 Reviewed-by: Heather Miller <hcm@google.com> Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
* Updated MSVC toolchain to 2017, and further refactored GNGravatar Brian Osman2017-12-08
| | | | | | | | | | | | | | | | | | | | | | 'windk' is no longer a thing. There are two separate variables to point at your compiler (win_vc), and SDK (win_sdk). 'msvc' is no longer a thing, either. By default, we look for 2017 and then 2015 (in the default locations). If neither is located, use an assert to let users know they should set win_vc. Then, detect if win_vc points at a 2017 or 2015 installation, and configure it automatically. Because the toolchain is now 2017, update the GN files to handle building x86 in that configuration. In fact, we only support x86 builds (with 2017 or 2015) using the toolchain assets. Keep a 2015 toolchain around as a new asset, so we can add bot coverage. Docs-Preview: https://skia.org/?cl=81841 Bug: skia: Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac Reviewed-on: https://skia-review.googlesource.com/81841 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Allow different identities for iOS code signingGravatar Jim Van Verth2017-12-07
| | | | | | | | | Docs-Preview: https://skia.org/?cl=81340 Bug: skia: Change-Id: I9a0e52ba4ce3c0c4b40cc65ce6b26bd3cebdbe4d Reviewed-on: https://skia-review.googlesource.com/81340 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove mips support and botsGravatar Mike Klein2017-12-05
| | | | | | | | | | | The NDK has deprecated mips and mips64: https://developer.android.com/ndk/guides/abis.html Might as well clean this up now while I remember. Change-Id: Ie4b2334c75208082067cc16fe355d0349c7e0904 Reviewed-on: https://skia-review.googlesource.com/80560 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Add create_bundle support for GNGravatar Jim Van Verth2017-11-28
| | | | | | | | | Docs-Preview: https://skia.org/?cl=75383 Bug: skia:7339 Change-Id: I985734e8b7b5af21a82cb8ee59acbfb5ff1d3ff7 Reviewed-on: https://skia-review.googlesource.com/75383 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add instructions for building Skia for ChromebooksGravatar Kevin Lubick2017-11-02
| | | | | | | | | | No-Try: true Docs-Preview: https://skia.org/?cl=66561 Bug: skia: Change-Id: Ie4d74eea74a48b5177daefc45498bf67334daf2f Reviewed-on: https://skia-review.googlesource.com/66561 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* update Windows build docsGravatar Mike Klein2017-05-04
| | | | | | | | | | - mention 2017 - describe 32-bit builds a bit more Change-Id: I386c51bcf4863f91db2eade01bad1e54c1049e6c Reviewed-on: https://skia-review.googlesource.com/15314 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add docs for iOS simulator build.Gravatar Mike Klein2017-03-21
| | | | | | | | | | | | The new bot[1] seems to be working. [1] https://status.skia.org/repo/skia?filter=search&search_value=Build-Mac-Clang-x64-Release-iOS BUG=skia:6329 Change-Id: I40ea4b19cba14a160d84317d7fee11aef5b17051 Reviewed-on: https://skia-review.googlesource.com/9973 Reviewed-by: Hal Canary <halcanary@google.com>
* Remove gpu configs that don't have explicit API.Gravatar Brian Salomon2017-03-20
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=9871 Change-Id: I510473cf91d8bee38d1e33424b1ae7b30dc86968 Reviewed-on: https://skia-review.googlesource.com/9871 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Strengthen is_official_build, update docs.Gravatar Mike Klein2017-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes is_official_build turn off all development targets and features in Skia, including building third-party dependencies from source. This will intentionally break some external users, who will find themselves no longer able to find third-party headers or link against third-party libraries. These users have been building with our testing third-party dependencies unknowingly. They'll need to either explicitly turn back on building each dependency from source (skia_use_system_foo=false) or disable that dependency entirely (skia_use_foo=false). is_skia_standalone is now basically !is_official_build, so I've propagated that through, removing is_skia_standalone. In a few places we were using it as a stand-in for defined(ndk), so I've just written defined(ndk) there. Duh. gn_to_bp: is_offical_build's new strength also makes gn_to_bp.py simpler to write. In spirit, Android builds are official Skia builds that also build DM and nanobench. It seems that SkJumper (src/jumper/*) is (unintentionally) enabled on Android. Switching to an is_official_build would have disabled that. But as that accidental launch seems to have gone fine, I've kept it explicitly enabled. In the end, no changes to Android.bp or its SkUserConfig.h. The -Mini builder no longer needs to explicitly disable tools. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Mini Change-Id: Id06e53268a5caf55c6046ada354a0863c3031c73 Reviewed-on: https://skia-review.googlesource.com/9190 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Documentation: detailed iOSGravatar Hal Canary2017-03-03
| | | | | | | | NOTRY=true Change-Id: I24328509fc902f4f41198e249e82e88eda5dd21d Reviewed-on: https://skia-review.googlesource.com/9189 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Clean up more references to GYP.Gravatar Mike Klein2017-02-06
| | | | | | | | | | Delete files only used by GYP, and files that used GYP. Neither can possibly be actively used. Beyond that, just a couple doc tweaks. Change-Id: I0220d7226e7bb9ed7c54a7d8f2906a718313c521 Reviewed-on: https://skia-review.googlesource.com/8062 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com>
* Start updating iOS docs.Gravatar Mike Klein2017-02-06
| | | | | | | | | | | | This removes the docs for the old GYP-based local development and replaces them with ones for GN-based development. I have not yet updated the docs for iOS on the bots... still in flux. Change-Id: I1f9c5c1a3331ae192dc08c614ef7da26924f808e Reviewed-on: https://skia-review.googlesource.com/8002 Reviewed-by: Stephan Altmueller <stephana@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* call fetch-gn from git-sync-depsGravatar Mike Klein2017-01-13
| | | | | | | | | | https://skia.org/?cl=6994 Change-Id: Icac009bdef49f38ae7b8f082ffda6408481a03cd Reviewed-on: https://skia-review.googlesource.com/6994 Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* gclient-free download and build instructions.Gravatar Mike Klein2017-01-13
| | | | | | | | https://skia.org/?cl=6988 Change-Id: If1275fe3cb1866216cc24c42c11a2d1f1be04a66 Reviewed-on: https://skia-review.googlesource.com/6988 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Restore fetch-gn instructions.Gravatar Mike Klein2016-12-16
| | | | | | | | | | | | | | The automatic DEPS hook doesn't actually work with the checkout instructions we have on the site. BUG=skia:6058 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=6180 Change-Id: Ib1caa617791d3de2b60ddf00fed24d28fd9f83d1 Reviewed-on: https://skia-review.googlesource.com/6180 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Move, rename, and document Visual Studio GN helper scriptGravatar Brian Osman2016-12-14
| | | | | | | | | | | BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=5983 Change-Id: I32ac2c5275eb86adaa2be9ceee061b2956db70ad Reviewed-on: https://skia-review.googlesource.com/5983 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Run bin/fetch-gn as a gclient hook.Gravatar Mike Klein2016-12-09
| | | | | | | | | | | | Seems like the bots don't run hooks. That's okay, even ideal. They'll keep getting GN via recipes. DOCS_PREVIEW= https://skia.org/?cl=5725 Change-Id: I000bad3390dddaeb4548972f29c96b8b3288ea6c Reviewed-on: https://skia-review.googlesource.com/5725 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
* add missing []Gravatar Mike Klein2016-12-08
| | | | | | | | | | | | BUG=skia:6039 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=5653 Change-Id: I8bb0e0fec71cea99a9804cc855371fd153b52ce1 Reviewed-on: https://skia-review.googlesource.com/5653 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Trim down quick start docs for a GN world.Gravatar Mike Klein2016-11-04
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4431 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=4431 Change-Id: I2a10494158e7415ae655baf212a951afd87dcbde Reviewed-on: https://skia-review.googlesource.com/4431 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>