aboutsummaryrefslogtreecommitdiffhomepage
path: root/BUILD.gn
Commit message (Collapse)AuthorAge
* 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>
* SkSplicerGravatar Mike Klein2017-01-09
| | | | | | | | | | | | | | | | | | | | I think I may have cracked the compile-ahead-of-time-splice-at-runtime nut. This compiles stages ahead of time using clang, then splices them together at runtime. This means the stages can be written in simple C++, with some mild restrictions. This performs identically to our Xbyak experiment, and already supports more stages. As written this stands alone from SkRasterPipeline_opts.h, but I'm fairly confident that the bulk (the STAGE implementations) can ultimately be shared. As of PS 25 or so, this also supports all the stages used by bench/SkRasterPipelineBench.cpp: SkRasterPipeline_… 400 …f16_compile 1x …f16_run 1.38x …srgb_compile 1.89x …srgb_run 2.21x That is, ~30% faster than baseline for f16, ~15% faster for sRGB. Change-Id: I1ec7dcb769613713ce56978c58038f606f87d63d Reviewed-on: https://skia-review.googlesource.com/6733 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkXbyak basicsGravatar Mike Klein2017-01-06
| | | | | | | | | | | | A little JIT proof of concept for SkRasterPipeline, using xbyak, which is a header-only assembler. It's x86-only, but supports x86 very thoroughly, and it's very user friendly (at least as far as assembler libraries go...). CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ie17e562b0f3fff5914041badfb2c1fe4f86efab8 Reviewed-on: https://skia-review.googlesource.com/5730 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: add skia_android_serial and push_$foo targets when it's setGravatar Mike Klein2017-01-05
| | | | | | | | | | | | | | E.g. $ ninja -C out push_dm By default (ninja -C out) everything is built and pushed if skia_android_serial is set. Dependencies are tracked, so incremental builds push only executables that have changed. Change-Id: I586d81791f5f877b173cf61ed68fa9aab96234d2 Reviewed-on: https://skia-review.googlesource.com/6616 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add tools to support gdb and simpleperf for android executables.Gravatar Derek Sollenberger2017-01-05
| | | | | | | Change-Id: I6e7f41df094ae037538ebd61e40385d7e2e9eb26 Reviewed-on: https://skia-review.googlesource.com/6615 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: add test_app templateGravatar Mike Klein2017-01-05
| | | | | | | | | | | | | This template encapsulates two common features of our test apps: - they set testonly, marking them as safe to use testonly libraries - they may want instead to be libapp.so on Android. I plan to follow up to make test_apps push themselves to an Android device when a new argument android_serial is set. Change-Id: I010d219c14ff6d0cd6a543dd56fd471a67ddb6f1 Reviewed-on: https://skia-review.googlesource.com/6608 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* BUILD.gn: skia_enable_pdfGravatar Hal Canary2017-01-03
| | | | | | | | | BUG=skia: Change-Id: Icf616bec73e81aad97815b519566ff5b9db611e3 Reviewed-on: https://skia-review.googlesource.com/6495 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add skia_enable_discrete_gpu argument to GNGravatar Brian Osman2016-12-28
| | | | | | | | | | | | This forces all of our testing tools to run with the discrete GPU in laptop systems that have that option. BUG=skia: Change-Id: Ibd7629d6de5f063cdf219b3c7469210af5085d90 Reviewed-on: https://skia-review.googlesource.com/6474 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* remove MIPS DSP optimizationsGravatar Mike Klein2016-12-21
| | | | | | | | | | | | | | | | | There are only a couple of these, primarily focused on index8 srcs and 565 dsts. The burden's starting to outweigh the benefit. No one on the team knows MIPS assembly. If we're going to try this again, I'd rather we try some sort of SkNx / compiler-intrinsic based approach, probably targeting MIPS SIMD (MSA), not this older instruction set. We already ignore these files for 64-bit MIPS. This just closes the loop on 32-bit MIPS. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mips64el-Release-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-mipsel-Release-Android BUG=skia:6065 Change-Id: Iecac15b56f59625b2e743ea36e7791b90bb0b422 Reviewed-on: https://skia-review.googlesource.com/6353 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Rename batch->op in skiaserveGravatar Brian Salomon2016-12-20
| | | | | | | Change-Id: Ib831b9a6bcf4f37c0f077b26f68b1cefef81bb73 Reviewed-on: https://skia-review.googlesource.com/6351 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* xps.gniGravatar Hal Canary2016-12-20
| | | | | | | | | | | | | | | Motivation: Since I am activly refactoring SkXPS, I will be needing to add and subtract sources. This is the only way to keep chrome and skia in sync. TODO(halcanry): follow up in Chrome build files. BUG=skia:3495 Change-Id: I2bfcbfce7628c34f9a623c6fa806374a10cdbb75 Reviewed-on: https://skia-review.googlesource.com/6350 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Remove all KTX support"Gravatar Leon Scroggins2016-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ada12ab0557a1f540e775288e2ce44f64fcd8c7e. Reason for revert: Google3 needs it: https://test.corp.google.com/ui#id=OCL:142184832:BASE:142184975:1481839118985:32fde8ef Original change's description: > Remove all KTX support > > It is untested and unused. > > Change-Id: I010ff4ad942738f362d42a99af4edbbb1cb0cd71 > Reviewed-on: https://skia-review.googlesource.com/6142 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=mtklein@chromium.org,mtklein@google.com,robertphillips@google.com,scroggo@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1ea2f9487eb2212efbfcc514122792b70c9e8737 Reviewed-on: https://skia-review.googlesource.com/6181 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove all KTX supportGravatar Leon Scroggins III2016-12-15
| | | | | | | | | | It is untested and unused. Change-Id: I010ff4ad942738f362d42a99af4edbbb1cb0cd71 Reviewed-on: https://skia-review.googlesource.com/6142 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkKTXImageEncoderGravatar Leon Scroggins III2016-12-14
| | | | | | | | | | | | | | It escaped the chopping block when we deleted the decoder, but it is currently untested and unused as far as we know. In addition to removing effectively unsupported code, this simplifies build file changes (i.e. don't build it on Android framework, but build it elsewhere) as we narrow our build systems down to one. Change-Id: I3b960fdcc369fb947be282933ddba48e407ab3ad Reviewed-on: https://skia-review.googlesource.com/6031 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Revert "Do not build the ktx encoder for android framework"Gravatar Mike Klein2016-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit eeb7137a0b421522de4c21c90fc3208e33e3a5a5. Reason for revert: well, duh, I guess we'd better update the GYP and Google3 builds... Original change's description: > Do not build the ktx encoder for android framework > > Move SkKTXImageEncoder.cpp into an optional block, and disable that > block for the android framework. Use a new define to determine whether > to define the entry point, rather than using > SK_BUILD_FOR_ANDROID_FRAMEWORK. > > Change-Id: I41103459135af744cf5715f27783c63dc37a7ad1 > Reviewed-on: https://skia-review.googlesource.com/5982 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,mtklein@google.com,scroggo@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I8da75db31884b5148f7f85a6a0c3e6913b71cfa8 Reviewed-on: https://skia-review.googlesource.com/6021 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Do not build the ktx encoder for android frameworkGravatar Leon Scroggins III2016-12-13
| | | | | | | | | | | | | Move SkKTXImageEncoder.cpp into an optional block, and disable that block for the android framework. Use a new define to determine whether to define the entry point, rather than using SK_BUILD_FOR_ANDROID_FRAMEWORK. Change-Id: I41103459135af744cf5715f27783c63dc37a7ad1 Reviewed-on: https://skia-review.googlesource.com/5982 Commit-Queue: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove dependency on NDK cpufeatures.Gravatar Mike Klein2016-12-12
| | | | | | | | | | | | | | | | | | | | | | | Instead of relying on cpu-features.c, just do what it does. Good reading: http://man7.org/linux/man-pages/man3/getauxval.3.html While it's nice to use the headers when possible, should either of these headers not be available, we can fall back to doing it all manually: extern "C" uint32_t getauxval(uint32_t) static const int AT_HWCAP = 16; static const int HWCAP_CRC32 = (1<<7); To keep things simple I've slimmed cpu feature detection down to just the features we actually make use of. This removes all runtime feature detection for ARMv7... we expect NEON to be globally available, and so far we haven't used the other FMA/FP16 bits on ARMv7. ARMv8 feature dection remains the same, CRC32 before, CRC32 after. x86 (cpuid-based detection) and MIPS (nothing) are untouched. We need to keep //third_party/cpu-features for //third_party/libwebp. Change-Id: I6c96df9a09ae68c8c0e54c1152aa177ba9bafc83 Reviewed-on: https://skia-review.googlesource.com/5800 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* proposed gn_to_bp fixesGravatar Mike Klein2016-12-12
| | | | | | | | | in response to 5784 Change-Id: I3ad34a30743e7ffbd04767668c288a4f884eb19c Reviewed-on: https://skia-review.googlesource.com/5732 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* libviewer.so on Android, delete hello_skia_appGravatar Mike Klein2016-12-08
| | | | | | | | | This spins off parts of 5620 to bake while we work through how to do the rest of libviewer.so -> viewer.apk. Change-Id: I1cbf135cc952eeb7593e80a5a752dcadaa2dbb00 Reviewed-on: https://skia-review.googlesource.com/5656 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* [SVGDom] ClipPath supportGravatar Florin Malita2016-12-08
| | | | | | | | | | | | | * clip-path attribute handling * clipPath container element * asPath() SkSVGNode virtual for capturing subtree geometry R=robertphillips@google.com,stephana@google.com Change-Id: I9597534fe3047b631da6309eafac055dff5696e9 Reviewed-on: https://skia-review.googlesource.com/5650 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add gn_to_bp.py.Gravatar Mike Klein2016-12-06
| | | | | | | | | | | | | The general idea here is, run GN in --ide=json mode to get most information. Then, read a couple .gni files to get the rest (platform specific source lists, Android framework defines). For now, I'm generating Android.bp and SkUserConfig.h. I figure we can do DM and nanobench once these work? Change-Id: I8e7f60d6572f2d4769760cf872895518a15d841b Reviewed-on: https://skia-review.googlesource.com/5554 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>