aboutsummaryrefslogtreecommitdiffhomepage
path: root/BUILD.gn
Commit message (Collapse)AuthorAge
* 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>
* Make ANGLE SampleApp work againGravatar Brian Osman2016-12-05
| | | | | | | | | | | | The code in views and samplecode wasn't being compiled in. Expand the scope of the SK_ANGLE define to fix that. Add some missing deps too. BUG=skia: Change-Id: Id7b584457a21f171efc2339fb969c550379295e5 Reviewed-on: https://skia-review.googlesource.com/5575 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkEncodeImage: no more link-time registrationGravatar Hal Canary2016-11-30
| | | | | | | | | | | | | | | Also, no more SkImageEncoder class. SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS now only guards some old API shims. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5006 Change-Id: I3797f584f3e8e12ade10d31e8733163453725f40 Reviewed-on: https://skia-review.googlesource.com/5006 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
* [GN] Create a non-null default native GL interface on iOS.Gravatar Chinmay Garde2016-11-23
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5212 Change-Id: Ie59cd79687af9eb2530fab8089477c1702e4badc Reviewed-on: https://skia-review.googlesource.com/5212 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | (re-land 248ff02 & 2cb6cb7, with changes) - Hide SkImageEncoder class in private header. - SkImageEncoder::Type becomes SkEncodedImageFormat - SkEncodedFormat becomes SkEncodedImageFormat - SkImageEncoder static functions replaced with single function EncodeImage() - utility wrappers for EncodeImage() are in sk_tool_utils.h TODO: remove link-time registration mechanism. TODO: clean up clients use of API and flip the flag. TODO: implement EncodeImage() in chromeium/skia/ext Change-Id: I47d451e50be4d5c6c130869c7fa7c2857243d9f0 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-on: https://skia-review.googlesource.com/5186 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Revert 248ff023 & 2cb6cb72Gravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | Revert "SkImageEncoder: simplify API" This reverts commit 248ff02331d7f73ee4b6c5a7eabeae1080c16cd4. Revert "Fix bug: can't convert nullptr -> bool" This reverts commit 2cb6cb7218171b357bb5c934f032ba69c7b78401. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5151 NOTRY=true Change-Id: I5f6414392d6545f74db0b5bb50608d04f053a8ec Reviewed-on: https://skia-review.googlesource.com/5151 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* FuzzDrawFunctions from twsmithGravatar Kevin Lubick2016-11-22
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4979 Change-Id: Ib5cc6ea036538b611d6959c679a276050e145f57 Reviewed-on: https://skia-review.googlesource.com/4979 Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | | | | | | | | | - Hide SkImageEncoder class in private header. - SkImageEncoder::Type becomes SkEncodedImageFormat - SkEncodedFormat becomes SkEncodedImageFormat - SkImageEncoder static functions replaced with single function EncodeImage() - utility wrappers for EncodeImage() are in sk_tool_utils.h TODO: remove link-time registration mechanism. TODO: clean up clients use of API and flip the flag. TODO: implement EncodeImage() in chromeium/skia/ext GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4909 Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70 Reviewed-on: https://skia-review.googlesource.com/4909 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Turn off /arch:AVX[2] on Windows builds."Gravatar Mike Klein2016-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c89e2438ae24c862087f8ca1cb076052edbb27ea. Reason for revert: I'm going to stub this code out in Chrome instead for now. Chrome's not going to land something that looks like this, so I'd rather undo it than leave Skia in this odd state. Original change's description: > Turn off /arch:AVX[2] on Windows builds. > > This canaries a similar change Chrome may need. > > BUG=chromium:666707 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5005 > > Change-Id: Ibf7f9941968d905d865b9be1e63ebbf768870175 > Reviewed-on: https://skia-review.googlesource.com/5005 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,brucedawson@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I9562f7877749c61f6ba4d48d6c4b557f09876128 Reviewed-on: https://skia-review.googlesource.com/5069 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Build fiddle and public_headers_warnings_check only when skia_enable_tools.Gravatar Mike Klein2016-11-18
| | | | | | | | | | | | | This leaves libskia as the only thing we build when tools are not enabled (other GN environments like Fuchsia, Flutter, Chrome, or for people using ours and actively disabling tools). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4993 Change-Id: I5acad66c1b068ef81c1a7e292c3524a0b1497b66 Reviewed-on: https://skia-review.googlesource.com/4993 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn off /arch:AVX[2] on Windows builds.Gravatar Mike Klein2016-11-18
| | | | | | | | | | | | | This canaries a similar change Chrome may need. BUG=chromium:666707 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5005 Change-Id: Ibf7f9941968d905d865b9be1e63ebbf768870175 Reviewed-on: https://skia-review.googlesource.com/5005 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Disable the sources assignment filter for platform specific files.Gravatar Chinmay Garde2016-11-17
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4918 Change-Id: Ie9e0db55eae5ad7cad82db5270a8bb6e80d3b3bb Reviewed-on: https://skia-review.googlesource.com/4918 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't build :public_headers_warnings_check on NoGPU builds.Gravatar Mike Klein2016-11-17
| | | | | | | | | | | | skia.h includes GPU headers. No real point in getting fancy here... if there are no unused parameters in all headers, there are no unused parameters in the subset of non-GPU headers. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4916 Change-Id: Iaaea405633aabcc82e40cd4b1a2286aadd5cea17 Reviewed-on: https://skia-review.googlesource.com/4916 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>