aboutsummaryrefslogtreecommitdiffhomepage
path: root/BUILD.gn
Commit message (Collapse)AuthorAge
* wired up SPIR-V validatorGravatar Ethan Nicholas2017-03-16
| | | | | | | | Change-Id: I33dfd5e7ea3ea048b88c6db2f14389b16a0af7c8 Reviewed-on: https://skia-review.googlesource.com/9688 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* FuzzCanvas: NativeGLCanvasGravatar Hal Canary2017-03-15
| | | | | | | Change-Id: I7e032d19a5d464e0c46e76acac399786dd79b735 Reviewed-on: https://skia-review.googlesource.com/9721 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Turn on SkJumper all the time."Gravatar Mike Klein2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 135555101cbde68656f028c41506113374a4026f. Reason for revert: forgot g3, seems to break Chrome NaCl builders? https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Win/builds/15969/steps/compile/logs/stdio Original change's description: > Turn on SkJumper all the time. > > If the previous CL sticks, it's now easy to turn on SkJumper everywhere: > I was mostly holding back because of build system complexity. > > This has the main effect of turning on SkJumper in Chromium. > It's already been on on our local test bots and on Android framework. > > Change-Id: I7fbfc6aaaa7dace9c3f2cb509583c69b10997dbf > Reviewed-on: https://skia-review.googlesource.com/9380 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I69747e9e75b2a8e3d78f6c150c9b6d6453e00632 Reviewed-on: https://skia-review.googlesource.com/9444 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn on SkJumper all the time.Gravatar Mike Klein2017-03-08
| | | | | | | | | | | | | If the previous CL sticks, it's now easy to turn on SkJumper everywhere: I was mostly holding back because of build system complexity. This has the main effect of turning on SkJumper in Chromium. It's already been on on our local test bots and on Android framework. Change-Id: I7fbfc6aaaa7dace9c3f2cb509583c69b10997dbf Reviewed-on: https://skia-review.googlesource.com/9380 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Back to code as data arrays, this time in .text.Gravatar Mike Klein2017-03-07
| | | | | | | | | | | | | | | | | This technique lets us generate a single source file, use the C++ preprocessor, and avoid the pain of working with assemblers. By using the section attribute or declspec allocate, we can put these data arrays into the .text section, making them ordinary code. This is like the previous solution, except it should actually run. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug Change-Id: Ide7675f6cf32eb4831ff02906acbdc3faaeaa684 Reviewed-on: https://skia-review.googlesource.com/9336 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Support Android NDK r14.Gravatar Mike Klein2017-03-06
| | | | | | | | | | | | | | | | | | | | simpleperf has moved a little since r13. To support both, remove its copy step. Explicitly disable the Clang integrated assembler on MIPS. It has only understood the 'usw' (unaligned store) pseudoinstruction for about 4 months, and that won't be part of a Clang release until the upcoming Clang 4.0. Must be that -no-integrated-as was the default in r13. All six platforms build on my laptop with r14 now. Will follow up with the CL that moves the bots to r14. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-arm-Debug-Android,Build-Ubuntu-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-x64-Debug-Android,Build-Ubuntu-Clang-x86-Debug-Android,Build-Win-Clang-arm64-Release-Android Change-Id: Ic00981d534613ebab8f6e7646b967493728b91d9 Reviewed-on: https://skia-review.googlesource.com/9237 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Put is_skia_standalone back a bit.Gravatar Mike Klein2017-03-03
| | | | | | | | | | | | | | | We do still need to know when we're in our GN environment or in another, like Fuchsia's or Flutter's. The places where we replaced is_skia_standalone with defined(ndk) still look right to me as defined(ndk). CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-GCC-x86_64-Release-Flutter_Android Change-Id: I5455014a8f4a350ac3a939097d042fd8cb4c32fa Reviewed-on: https://skia-review.googlesource.com/9193 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* 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>
* Fuzz PDF, N32, and Null CanvasesGravatar Hal Canary2017-02-27
| | | | | | | | | | run `fuzz --type pdf_canvas` or `fuzz --type null_canvas` or `fuzz --type n32_canvas` Change-Id: Id70179d5578ed1e67006aef7823bf75fc1d7a4a6 Reviewed-on: https://skia-review.googlesource.com/8418 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add SkTypeface::getVariationDesignPosition.Gravatar Ben Wagner2017-02-24
| | | | | | | | | Allow users to query a typeface's position in variation design space. Change-Id: Id7cae439e795b8c9586394f11359fb7fe55e1c0b Reviewed-on: https://skia-review.googlesource.com/8861 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "Add SkTypeface::getVariationDesignPosition."Gravatar Ben Wagner2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0f3d0c37dbcaf4ec271d5fe847becc9b1aa6f537. Reason for revert: <INSERT REASONING HERE> Original change's description: > Add SkTypeface::getVariationDesignPosition. > > Allow users to query a typeface's position in variation design space. > > Change-Id: I173ee9eefdddee6b2613435ebcc6b08c25b382ed > Reviewed-on: https://skia-review.googlesource.com/8684 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=bungeman@google.com,reed@google.com,reviews@skia.org,drott@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I484fe52c1f89e7b6d0024dcabf7c59d0e8b5b5e7 Reviewed-on: https://skia-review.googlesource.com/8929 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add SkTypeface::getVariationDesignPosition.Gravatar bungeman2017-02-23
| | | | | | | | | Allow users to query a typeface's position in variation design space. Change-Id: I173ee9eefdddee6b2613435ebcc6b08c25b382ed Reviewed-on: https://skia-review.googlesource.com/8684 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Fix Chrome iOS no GPU build and block includes from src/gpu on our NoGpu bot.Gravatar Brian Salomon2017-02-23
| | | | | | | Change-Id: I934f0d6096a6eb0305e24f06dfb6c49299a195a9 Reviewed-on: https://skia-review.googlesource.com/8919 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move around GL dependencies.Gravatar Mike Klein2017-02-23
| | | | | | | | | | | | | | | | :gpu gets GL and GLU :gpu_tool_utils gets X11 :views gets GL and X11 {shared,static}x{gpu,no-gpu} all seem to link. May not be perfect, but it's a start. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-GCC-x86_64-Debug-NoGPU,Build-Ubuntu-GCC-x86_64-Release-Shared Change-Id: Ia6f595a9d601f623a3c686aa00528a80401bcb24 Reviewed-on: https://skia-review.googlesource.com/8911 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fold MSAN awareness into SkJumper.cpp.Gravatar Mike Klein2017-02-22
| | | | | | | | | | | This is preparation for removing skia_enable_jumper, making it true. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN Change-Id: I21763ea5ebafaaddda7056176796307f1a81d722 Reviewed-on: https://skia-review.googlesource.com/8830 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkJumper: WindowsGravatar Mike Klein2017-02-21
| | | | | | | | | | | | | - Compile stages with -DWIN to pick up MS-specific start_pipeline(). - Add SkJumper_generated_win.S with MS-specific assembly. - Add a minimal asm tool to our GN Windows toolchain. The SkRasterPipeline_f16 benchmark run ~4x faster on my desktop. Change-Id: Ia45afb4ecb6a055e2c0e43f0f54f59e081c23b7f Reviewed-on: https://skia-review.googlesource.com/8778 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove unneeded is_fuzzing flagGravatar Kevin Lubick2017-02-21
| | | | | | | | | BUG=skia:6260 Change-Id: Id27ac7f64276f87f86719bf4fc3f8834466320ab Reviewed-on: https://skia-review.googlesource.com/8800 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Move declaration of is_fuzzer to where it is usedGravatar Ravi Mistry2017-02-21
| | | | | | | | | BUG=skia:6260 Change-Id: Iaca4fb1afb4d182f4d2ae64d939729363a226ce6 Reviewed-on: https://skia-review.googlesource.com/8772 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Write SkRegion fuzzerGravatar Kevin Lubick2017-02-20
| | | | | | | | | BUG=688987 Change-Id: I2ad1c53ea01185a77b662d2d86b0c6d36fcb63c7 Reviewed-on: https://skia-review.googlesource.com/8499 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* SkJumper: aarch64 and armv7Gravatar Mike Klein2017-02-18
| | | | | | | Change-Id: Ie356b062372af3516a437d27bafa20d98e28edd6 Reviewed-on: https://skia-review.googlesource.com/8678 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Disable SkJumper on MSAN builds.Gravatar Mike Klein2017-02-17
| | | | | | | Change-Id: I89c944f5ed1e1a9aee5e73c384a53d86fd13d07e Reviewed-on: https://skia-review.googlesource.com/8683 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkJumper: LinuxGravatar Mike Klein2017-02-17
| | | | | | | | | | Just need to take care to match C symbols with asm symbols. Linux doesn't add the leading underscore automatically like Mac and Windows. Change-Id: I488cdfec942b442554ffefdfd006a1305ad77d9d Reviewed-on: https://skia-review.googlesource.com/8667 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Add SkTypeface::getVariationDesignPosition."Gravatar Ben Wagner2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 87e7f820f74a990a59fb8f1d5c182584ce586ecf. Reason for revert: Failed a test on Mac Original change's description: > Add SkTypeface::getVariationDesignPosition. > > Allow users to query a typeface's position in variation design space. > > Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198 > Reviewed-on: https://skia-review.googlesource.com/7130 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=bungeman@google.com,reed@google.com,reviews@skia.org,drott@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia65792083642dbe9333a62eb75d162931b57cffd Reviewed-on: https://skia-review.googlesource.com/8670 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add SkTypeface::getVariationDesignPosition.Gravatar Ben Wagner2017-02-17
| | | | | | | | | Allow users to query a typeface's position in variation design space. Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198 Reviewed-on: https://skia-review.googlesource.com/7130 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* SkJumper: start on asmGravatar Mike Klein2017-02-17
| | | | | | | | | | | | | Will follow up with Linux, then Android aarch64 and armv7, then iOS, then Windows. I took some opportunities to refactor. CQ_INCLUDE_trybots=skia.primary:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug,Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug Change-Id: Ifcf1edabdfe5df0a91bd089f09523aba95cdf5ef Reviewed-on: https://skia-review.googlesource.com/8611 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Remove third_party/ktx from Skia.Gravatar Herb Derby2017-02-16
| | | | | | | | Change-Id: I3a1f68b0528f8789af5ccc0704b0a68fe14f52d3 Reviewed-on: https://skia-review.googlesource.com/8319 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Turn on SkJumper except on Windows."Gravatar Mike Klein2017-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 957cf4594964c8f30e623d8c1b28ff63bef4ab33. Reason for revert: crashes Original change's description: > Turn on SkJumper except on Windows. > > ...only for our local testing. No Skia users should be affected yet. > > Change-Id: If1c46efe418458f747aafd6be8e2ae799c74b1c4 > Reviewed-on: https://skia-review.googlesource.com/8470 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Id27f51c3b9356471b3178bbd63b021bd67a1d6fb Reviewed-on: https://skia-review.googlesource.com/8477 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn on SkJumper except on Windows.Gravatar Mike Klein2017-02-16
| | | | | | | | | ...only for our local testing. No Skia users should be affected yet. Change-Id: If1c46efe418458f747aafd6be8e2ae799c74b1c4 Reviewed-on: https://skia-review.googlesource.com/8470 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkJumperGravatar Mike Klein2017-02-16
| | | | | | | Change-Id: If9f73e712e429564fef58ccb838c212ec8d2e68c Reviewed-on: https://skia-review.googlesource.com/8525 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Clean up SkSplicer.Gravatar Mike Klein2017-02-15
| | | | | | | | | | SkJumper's looking promising enough that I want this further out of my face. Change-Id: I6dbe71aeabe32f7f4258ba157460e6985733b0ce Reviewed-on: https://skia-review.googlesource.com/8528 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Disable SkSplicer.Gravatar Mike Klein2017-02-15
| | | | | | | | | Easier to work on SkJumper with SkSplicer out of my hair. Change-Id: I6217082c5b4f83c79ac231f23e42a92d2efd6446 Reviewed-on: https://skia-review.googlesource.com/8509 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove include/xml from public API.Gravatar Herb Derby2017-02-14
| | | | | | | | | | | | | | | | Move SkDOM and ilk from include/xml to src/xml. I have looked for uses of SkDOM in the depot using cs/ and have found none, but this is not perfect. So, if this breaks external builds, revert it. TBR=reed@google.com Change-Id: I162a1977f0649b049c0f93f016701784d025996d Reviewed-on: https://skia-review.googlesource.com/8447 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Integrate the ImGui library with viewerGravatar Brian Osman2017-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code and docs are at: https://github.com/ocornut/imgui ImGui is an open source immediate mode GUI library that's lightweight and fairly simply to integrate. Widget functions return their state, and the library emits vertex and index data to render everything. It's got a huge set of built-in widgets and really robust layout control. For the initial integration, I had to fix up event handling in the viewer's app framework (to get mouse wheel and more keys, etc...). The new viewer 'Debug' window is toggled with the space bar. For this change, I've added one feature to that window: the slide picker. It's got a list of all slides, with filtering support, and the ability to click to switch slides. I also included the ImGui 'Demo' window (toggled with 'g'). This is nicely laid out, and includes examples of pretty much everything the library can do. It also serves as good documentation - find something that looks like what you want, and then go look at the corresponding code (all of it is in imgui_demo.cpp). I have other CLs with other features (like directly editing the primaries of the working color space), but I wanted to land this chunk first, then start adding more features. Other than adding new debugging features, there are few more outstanding work items: 1) Raster doesn't render the GUI correctly, due to non- invertible pos -> UV matrices. Florin is working on that. 2) Touch inputs aren't being routed yet, so the GUI isn't usable on Android yet. Might also be tough to work with, given the size. 3) ImGui has clipboard integration (that's why it wants the C, X, and V keys), but we need to wire it up to the OS' clipboard functions. 4) Draw commands can carry a void* payload to support drawing images (using whatever mechanism the engine has). I'd like to set that up (probably using SkImage*), which makes it really easy to add visualization of off-screen images in GMs, etc... BUG=skia: Change-Id: Iac2a63e37228d33141cb55b7e4d60bf11b7e9ae1 Reviewed-on: https://skia-review.googlesource.com/7702 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* SkSVGCanvas and co. depend on expat.Gravatar Mike Klein2017-02-09
| | | | | | | | | | | SkSVGCanvas depends on SkSVGDevice which depends on SkXMLWriter.cpp which depends on expat. So don't build any of this if we don't have expat. Change-Id: I1ffca2d58d3b607febf11ce75abdd6efe08f49c8 Reviewed-on: https://skia-review.googlesource.com/8289 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't build sksl if we're not building Ganesh.Gravatar Mike Klein2017-02-09
| | | | | | | | | No point linking sksl into libskia if we won't use it, right? Change-Id: Iafd3d14ccd7ae0bc360cc928ba809e935fa5d55b Reviewed-on: https://skia-review.googlesource.com/8258 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make src/effects explicitly optional.Gravatar Mike Klein2017-02-09
| | | | | | | | | | | | | | This adds a GN argument to disable src/effects, which can cut about 1M off libskia. It's not the first place you'd go to trim code size, but after turning off easy big things like Ganesh, it starts looking big. I tested that fiddle builds and links. It uses Skia but not effects. Most of our test apps use effects and can't build in this new mode. Change-Id: I9b5d6e9289a87bc08eedf6d202d0eabe754da41a Reviewed-on: https://skia-review.googlesource.com/8263 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix viewer on AndroidGravatar Brian Osman2017-02-09
| | | | | | | | | | | | | We need libandroid in all scenarios, not just vulkan. Also, the logic for making an off-screen surface was wrong - causing us to try and make one in legacy mode. BUG=skia: Change-Id: I5ef2e3e2d46de96e9824f6a12a13f6310ea04f81 Reviewed-on: https://skia-review.googlesource.com/8252 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Split custom font managers.Gravatar Ben Wagner2017-02-09
| | | | | | | | | | | | Some users would like to use the empty font manager, but the directory gont manager brings in extra dependencies to work which would otherwise be unneeded. Allow these users to build just the bits of code they actually need. Change-Id: Ib029ef2682883509bad5a2aa39f1ef55631f4d8a Reviewed-on: https://skia-review.googlesource.com/8200 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Simplify viewer's handling of backbuffer surface and color spaceGravatar Brian Osman2017-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | WindowContext still supports color spaces, but not other color types. Any off-screen rendering is the app's responsibility. This change also adds (working) F16 support to viewer. Note that the previous 10-bit and FP16 support in WindowContext was broken. There was no code to push the off-screen canvas to the window. If you ever made it to the unreachable off-screen code path in createSurface, it would have simply stopped drawing. The decision to limit the window's gamut to sRGB is mostly driven by my desire to add real-time editing of gamut. This design lets us do that, without tearing down and rebuilding the window for every change. An application could still supply a different gamut via setDisplayParams and render directly to the back buffer with proper color correction. BUG=skia: Change-Id: I94df35c7a42faee396009acc83683e40bb3c284d Reviewed-on: https://skia-review.googlesource.com/8153 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* iOS: cd into Documents folder at startupGravatar Mike Klein2017-02-06
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release Change-Id: I7beadad742bc9444491c7a315a827297a636d70d Reviewed-on: https://skia-review.googlesource.com/8049 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add GN target for skpinfoGravatar Ravi Mistry2017-01-31
| | | | | | | | | | BUG=skia:6178 Change-Id: If6f96063fcb4e541da560ff00b925fd8098ce6b9 Reviewed-on: https://skia-review.googlesource.com/7791 Commit-Queue: Ravi Mistry <rmistry@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix Android rollGravatar Mike Klein2017-01-13
| | | | | | | | | | - only depend on cpu-features when we know we have an NDK - disable SkSplicer Change-Id: I89e4cc70d6ddf0ebb7005d1cb453768d946cd205 Reviewed-on: https://skia-review.googlesource.com/7060 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* some armv7 hackingGravatar Mike Klein2017-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | We can splice these stages if we drop them down to 2 at a time. Turns out this is significantly (2-3x) faster than the status quo. SkRasterPipeline_… …f16_compile 1x …srgb_compile 2.06x …f16_run 3.08x …srgb_run 4.61x Added a couple ways to detect (likely) the required VFPv4 support: - use hwcap when available (NDK ≥21, Android framework) - use cpu-features when not (NDK <21) The code in SkSplicer_generated.h is ARM, not Thumb2. SkSplicer seems to be blx'ing into it, so that's great, and we bx lr out. There's no point in attempting to use Thumb2 in vector heavy code... it'll all be 4 byte anyway. Follow ups: - vpush {d8-d9} before the loop, vpop {d8-d9} afterwards, skip these instructions when splicing; - (probably) drop jumping stages down to 2-at-a-time also. Change-Id: If151394ec10e8cbd6a05e2d81808488d743bfe15 Reviewed-on: https://skia-review.googlesource.com/6940 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove defunct include/images directory from GN.Gravatar Derek Sollenberger2017-01-12
| | | | | | | | | | BUG=skia:6065 Change-Id: I332581cca684c4918dc87434509744b8bf4f5ed8 Reviewed-on: https://skia-review.googlesource.com/6944 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* only copy NDK binaries when using NDK in our standalone buildsGravatar Mike Klein2017-01-12
| | | | | | | | | | | | i.e. not when generating Android.bp (and in the future, not in Clank builds) BUG=skia:6065 Change-Id: I52bdd5f01deb5e5b4d9e72bec197a82dc887be88 Reviewed-on: https://skia-review.googlesource.com/6941 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkSplicer: start on Windows supportGravatar Mike Klein2017-01-11
| | | | | | | | | should just be missing copy_to_executable_mem() / cleanup_executable_mem() Change-Id: I47d34d4b57a40c07120cca7dc03f6ae22ecbe910 Reviewed-on: https://skia-review.googlesource.com/6854 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* disable splicer on MSAN botGravatar Mike Klein2017-01-10
| | | | | | | | | | | Not sure what to do about this long term. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN Change-Id: If9e86c285914ce2d8255ac25197845728d7c5d49 Reviewed-on: https://skia-review.googlesource.com/6842 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkSplicer: fix aarch64 jump offset, turn on testing on aarch64 Android botsGravatar Mike Klein2017-01-10
| | | | | | | | | | | I also updated the dump feature to work with aarch64, and included comments on how to disassemble an aarch64 dump. Looking at an aarch64 dump made it immediately obvious that the jump offset was off by 1. Change-Id: I17fa6ee44779e8be69ab4582e338c88212aba36c Reviewed-on: https://skia-review.googlesource.com/6841 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Test SkSplicer on x86-64 bots, except Windows.Gravatar Mike Klein2017-01-10
| | | | | | | | | Will follow up later with (is_android && target_cpu == "arm64"). Just being cautious. Change-Id: I32bf48dec55633d6386c66fd0f11fc5616596477 Reviewed-on: https://skia-review.googlesource.com/6834 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove xbyak experimentGravatar Mike Klein2017-01-10
| | | | | | | | | | | SkSplicer is better. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I014ec0e9fb00a8a4694d442e672c65402621dc67 Reviewed-on: https://skia-review.googlesource.com/6830 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>