aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn/gn_to_bp.py
Commit message (Collapse)AuthorAge
* Enable Skottie on Android framework builds.Gravatar Florin Malita2018-07-10
| | | | | | | | | It no longer requires RapidJSON. Change-Id: Ifded5ef8f7a5196067af1c043518f2a95b461d6e Reviewed-on: https://skia-review.googlesource.com/135625 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Make skcms mandatoryGravatar Brian Osman2018-05-30
| | | | | | | Change-Id: I6b08cd586d313e3bc41c0da90698fc26ae1a8bb8 Reviewed-on: https://skia-review.googlesource.com/130822 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Reland "Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VulkanMemoryAllocator on this API." This reverts commit 98bddf930e4a8767bca60d84d585c386fabfc6b7. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API." > > This reverts commit 26c0e4c1f54759249c2d61b50fb5430bd73793f2. > > Reason for revert: breaks roll into fuchsia > > Original change's description: > > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API. > > > > Bug: skia: > > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 > > Reviewed-on: https://skia-review.googlesource.com/129980 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/130182 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Bug: skia: Change-Id: I422ffb3562da567f2e85c806286ad1a17c3862cd Reviewed-on: https://skia-review.googlesource.com/130183 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | VulkanMemoryAllocator on this API." This reverts commit 26c0e4c1f54759249c2d61b50fb5430bd73793f2. Reason for revert: breaks roll into fuchsia Original change's description: > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API. > > Bug: skia: > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 > Reviewed-on: https://skia-review.googlesource.com/129980 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,bungeman@google.com Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/130182 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-25
| | | | | | | | | | | VulkanMemoryAllocator on this API. Bug: skia: Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 Reviewed-on: https://skia-review.googlesource.com/129980 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Reland "Retry enabling skcms on Android"Gravatar Mike Klein2018-05-21
| | | | | | | | | | | | | | | | | | | | | | This is a reland of 05b5e40519ae18939867f8de5d48f7c7a173f745 Original change's description: > Retry enabling skcms on Android > > Since we tried this last, DM has a direct skcms dependency > via tests/ColorSpaceTest.cpp, so I've rearranged gn_to_bp.py slightly. > > We need to keep our eyes out for BitmapRGBAF16Test.testGetPixel in CTS. > > Change-Id: I3630bbebb4574522c43362c359d1a14da3bdd480 > Reviewed-on: https://skia-review.googlesource.com/124720 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> Change-Id: I67041fb00687f789c80b7ba41acd3bf2cf257cf3 Reviewed-on: https://skia-review.googlesource.com/126825 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* [skottie] Disable on Android Framework buildsGravatar Florin Malita2018-05-04
| | | | | | | | | | Make Skottie truly optional (own flag), and disable in framework builds (to unblock landing the RapidJson refactoring). Change-Id: I4611f915e43fe11c1f6754ab4a9f63e45af2f8d3 Reviewed-on: https://skia-review.googlesource.com/125872 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
* Revert "Retry enabling skcms on Android"Gravatar Mike Klein2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 05b5e40519ae18939867f8de5d48f7c7a173f745. Reason for revert: BitmapColorSpaceTest.android.graphics.cts.BitmapColorSpaceTest.inColorSpaceP3ToSRGB (android.graphics.cts) 06.949 java.lang.AssertionError: expected:<67043583> but was:<117375231> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at android.graphics.cts.BitmapColorSpaceTest.verifyGetPixel(BitmapColorSpaceTest.java:301) at android.graphics.cts.BitmapColorSpaceTest.inColorSpaceP3ToSRGB(BitmapColorSpaceTest.java:612) at java.lang.reflect.Method.invoke(Native Method) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:52) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:148) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:142) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:764) >>> hex(117375231) '0x6ff00ff' >>> hex(67043583) '0x3ff00ff' Original change's description: > Retry enabling skcms on Android > > Since we tried this last, DM has a direct skcms dependency > via tests/ColorSpaceTest.cpp, so I've rearranged gn_to_bp.py slightly. > > We need to keep our eyes out for BitmapRGBAF16Test.testGetPixel in CTS. > > Change-Id: I3630bbebb4574522c43362c359d1a14da3bdd480 > Reviewed-on: https://skia-review.googlesource.com/124720 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@chromium.org,mtklein@google.com,brianosman@google.com Change-Id: Ib11393c427e9c5fea645de6e6e9a3034dcf06d02 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/125041 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Retry enabling skcms on AndroidGravatar Mike Klein2018-05-01
| | | | | | | | | | | | Since we tried this last, DM has a direct skcms dependency via tests/ColorSpaceTest.cpp, so I've rearranged gn_to_bp.py slightly. We need to keep our eyes out for BitmapRGBAF16Test.testGetPixel in CTS. Change-Id: I3630bbebb4574522c43362c359d1a14da3bdd480 Reviewed-on: https://skia-review.googlesource.com/124720 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* disable skcms on Android framework buildsGravatar Mike Klein2018-04-24
| | | | | | | | | | | | | We need to update BitmapRGBAF16Test.testGetPixel in CTS. We're getting off-by-a-bit errors when enabling skcms. I think we allow a per-byte tolerance of 1 in each of red,green,blue? I'm not convinced the values in the test or the new ones are any more correct than the others. Change-Id: I5196f9315aa8187239eabd58e003d4cb6b603e39 Reviewed-on: https://skia-review.googlesource.com/123246 Reviewed-by: Mike Klein <mtklein@google.com>
* Add skcms include directory for Android framework buildsGravatar Brian Osman2018-04-23
| | | | | | | | Change-Id: Icca4144d2093076e91e0a23d4224695c3a1f51b2 Reviewed-on: https://skia-review.googlesource.com/123180 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Enable skcms by defaultGravatar Brian Osman2018-04-23
| | | | | | | | | | This effectively switches Flutter and Android Framework to use skcms for color space transformation. Change-Id: I254f6a8614d6976ff13979ae0e745c49c334e5c6 Reviewed-on: https://skia-review.googlesource.com/123080 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Re-enable PGO for SkiaGravatar Pirama Arumuga Nainar2018-03-08
| | | | | | | | | | | | | Also use the same profile file as Android's hwui (hwui/hwui.profdata). Since hwui and skia both also use LTO, the profile files need to be the same to satisfy the Clang LTO plugin. Test: Verify that the miscompiles are fixed. Change-Id: I2a5217b64966144319e63b83351dea2388b60250 Reviewed-on: https://skia-review.googlesource.com/112106 Reviewed-by: Zhizhou Yang <zhizhouy@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* 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>
* Start thread pool in skia_dm on Android.Gravatar Dongwon Kang2018-02-20
| | | | | | | | | | | | | Android media framework is expected to be run with the background thread pool for handling binder RPC calls. Test: skia_dm does not hang with heif files. Bug: 65463215 Bug: 72869975 Change-Id: I2333d5a13d6145e9468464fa93807851e3a17bc8 Reviewed-on: https://skia-review.googlesource.com/108141 Reviewed-by: Chong Zhang <chz@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Turn off PGO for SkiaGravatar Pirama Arumuga Nainar2018-02-13
| | | | | | | | | | | | Bug: http://b/73127367 Bug: http://b/73257154 Bug: http://b/73249590 Test: Verify that affected CTS tests and HwAccelerationTest are fixed. Change-Id: I6894197ce4c3b4abfd9411d54fb4bdbe94b34c70 Reviewed-on: https://skia-review.googlesource.com/107024 Reviewed-by: Stephen Hines <srhines@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Add gn_to_bp script for SkQP.Gravatar Derek Sollenberger2018-02-02
| | | | | | | | | | | | This refactors the current gn_to_bp script and moves the common components into a utils class. Both gn_to_bp scripts now also accept an optional param (--gn <gn_path>) to make it easier to run within the Android tree where we don't have the DEPS synced. Change-Id: Idc4de7b3993e63e21a5b7137b1873d82a8e1843e Reviewed-on: https://skia-review.googlesource.com/102184 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Add an SkDrawable for animated images (e.g. GIF)Gravatar Leon Scroggins III2018-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: b/63909536 SkAnimatedImage is a simple drawable for animating a GIF. Thread-safety is left up to the client. At most two bitmaps are stored in the drawable; one for the current frame and one for a frame that may need to be restored. The backup frame prevents some cases where we would otherwise have to re-decode from the beginning of the image. The API lets the client set the time value, and decodes to match that time. TODO: - Callback for when the animation is complete - Ability to use SkAndroidCodec - Modify the loop count (or leave that up to client?) - Better and/or client-specific caching Other changes: - Add a sample which animates a GIF - Reenable SK_CODEC_PRINTF for debug builds and Android Change-Id: I945ffbccdb6008f2a05ed4d9b2af869a261fb300 Reviewed-on: https://skia-review.googlesource.com/93420 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Specify "resources" in skia_nanobench's dataGravatar Pirama Arumuga Nainar2018-01-11
| | | | | | | | | | | | | | | Doing so installs packages the resource directory during a 'tests' build. This lets us run skia_nanobench in the internal test infra, which doesn't have access to the source tree. Test: Check that all files in "resources" is packaged during 'make tests dist' in an Android tree. Change-Id: Ia547cf09087e5795bdd825d0d48f179086a9ca4a Reviewed-on: https://skia-review.googlesource.com/93060 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Stephen Hines <srhines@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Suppress warnings of unused variables.Gravatar Derek Sollenberger2017-12-14
| | | | | | | | | | Prepare to compile with default -Werror. Bug: b/66996870 Change-Id: I2dbff68e7482085683adb6b9d214e1af009e7479 Reviewed-on: https://skia-review.googlesource.com/85004 Reviewed-by: Stephen Hines <srhines@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Turn on PGO for skia_nanobench, skia_dmGravatar Pirama Arumuga Nainar2017-12-14
| | | | | | | | | | | | | | These libraries link libskia statically and hence need to do/use PGO instrumentation whenever libskia is instrumented. Test: Build skia_nanobench with ANDROID_PGO_INSTRUMENT=skia Bug: skia: Change-Id: I6b3e64f98f28c7236b47a46c213230ad1c6b95fc Reviewed-on: https://skia-review.googlesource.com/84609 Reviewed-by: Stephen Hines <srhines@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Pirama Arumuga Nainar <pirama@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Turn on PGO for Skia on AndroidGravatar Zhizhou Yang2017-12-11
| | | | | | | | | | | | | | | | | | | | | | | This patch is to turn on PGO for skia on Android, which will provide a performance improvement of 7.6% for hwui when applied PGO for both. The patch specified a skia.profdata file, which locates in internal google_data/pgo_profile directory, to work as the profile to feed PGO. This profdata can be re-collected with PGO build system support. PGO can be turned off by setting ANDROID_PGO_NO_PROFILE_USE environment variable or set variable to false. Test: Build skia successfully and verified the performance improvement on device through benchmark. BUG=skia: Change-Id: I826f417569b2853630f6d4fcce236b5bc36547fa Reviewed-on: https://skia-review.googlesource.com/82880 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: John Reck <jreck@google.com>
* Revert "Revert "Add define to use customize vulkan header.""Gravatar Greg Daniel2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b351817588baf94ac725e35f10ee1d5ff8178834. Reason for revert: Relanding with android fixes Original change's description: > Revert "Add define to use customize vulkan header." > > This reverts commit a492eb0e1f08311bfa47f46c660144e7bc8a6c0e. > > Reason for revert: Breaking Android roll (b/c builds tools?) > > Original change's description: > > Add define to use customize vulkan header. > > > > Bug: skia: > > Change-Id: Ia87c81a54603a02b2f8f51a735bf173a49afe6c7 > > Reviewed-on: https://skia-review.googlesource.com/81121 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: I80a685bf88af909865f274ffc61686be57e8c313 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/81740 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ia701e884bfa3799dc73002f892feb2ecafe9da12 Reviewed-on: https://skia-review.googlesource.com/81742 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add comments explaining use of "-Wno-over-aligned"Gravatar Leon Scroggins III2017-12-01
| | | | | | | | | | Follow up to I04a5b013dd0ec8f162046388e89cf08cb9476bab Change-Id: I5ab77564fe867ad1fef48fb322ff75869c025776 Reviewed-on: https://skia-review.googlesource.com/79040 Commit-Queue: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add "-Wno-over-aligned" to Android.bp for x86 AndroidGravatar Leon Scroggins III2017-11-30
| | | | | | | | | | | | | | | | | | | | Speculative fix for Android roll, broken here: ag/3293969. We used to make an exception for this warning on Skia builds, until I disabled it in https://skia-review.googlesource.com/c/skia/+/60530, because it no longer seemed necessary: Turning on most warnings without this exception in Android framework builds, as I did in https://skia-review.googlesource.com/55703 did not break Android. I'm not sure why Skia's waterfall did not show the problem, but this should fix it on the Android framework side. TBR=mtklein@chromium.org Change-Id: I04a5b013dd0ec8f162046388e89cf08cb9476bab Reviewed-on: https://skia-review.googlesource.com/78580 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Generate warning settings for Android frameworkGravatar Leon Scroggins III2017-10-06
| | | | | | | | | | | | | | | | | | Bug: b/66996870 Android wants to build with warnings as errors. Keep the external/skia warnings in sync with other Skia builds by pulling them from the json generated by GN. Fix a couple small errors that show up in the framework build. Uploaded in response to AOSP's https://android-review.googlesource.com/#/c/platform/external/skia/+/498211/ Change-Id: I4d791d43a9b00f9d6b79ecf16839716f241cba99 Reviewed-on: https://skia-review.googlesource.com/55703 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Update the Android.bp to expose a static libraryGravatar Derek Sollenberger2017-09-25
| | | | | | | | | | | | This CL will enable Android to statically link libskia into libhwui while still exposing the symbols needed by other components of the system. Bug: b/31971097 Change-Id: Ib6c87331dbe456e247b46a34c38da4863dfe02f0 Reviewed-on: https://skia-review.googlesource.com/49766 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Reland "skia: add heif decoding support"Gravatar Leon Scroggins III2017-08-18
| | | | | | | | | | | | | | This reverts commit db68a426b6ba3a0fa1cace25ac306037eb7413a6. Fixes errors in Android and Google3 Bug: b/64077740 Change-Id: I3d2bb1223e4d8ba912ea2b88144aeecc487fce1a Reviewed-on: https://skia-review.googlesource.com/35701 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Chong Zhang <chz@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Revert "skia: add heif decoding support"Gravatar Mike Klein2017-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c2a954290dc3888f877a047098b84c24363895fb. Reason for revert: both Android and Google3 rolls cannot compile. Android cannot cast std::unique_ptr<T> to T*, Google3 cannot find HeifDecoderAPI.h. Original change's description: > skia: add heif decoding support > > Bug: b/64077740 > Change-Id: I11e0243bcc4c21c0aa5aa29a719dd0fcba7ae6f7 > Reviewed-on: https://skia-review.googlesource.com/35123 > Reviewed-by: Chong Zhang <chz@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Chong Zhang <chz@google.com> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=scroggo@google.com,chz@google.com Change-Id: Id98f025e63daec50408186000453d1695170f7a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/64077740 Reviewed-on: https://skia-review.googlesource.com/35741 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "turn exceptions on in test tools on Android"Gravatar Mike Klein2017-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c902ff8fc8bd3c385096bdbb0fec6d1ce3c231a3. Reason for revert: not gonna do this afterall. Original change's description: > turn exceptions on in test tools on Android > > This is a follow-up to https://skia-review.googlesource.com/c/34982 > which did the same for locally built test tools. > > Change-Id: Id97841a64521fda99cb952a1a751ffc10f636f53 > Reviewed-on: https://skia-review.googlesource.com/35162 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,scroggo@google.com Change-Id: Iae6c817d625989e3a427dbc18328477382d892bd No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/35524 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* skia: add heif decoding supportGravatar Chong Zhang2017-08-16
| | | | | | | | | | Bug: b/64077740 Change-Id: I11e0243bcc4c21c0aa5aa29a719dd0fcba7ae6f7 Reviewed-on: https://skia-review.googlesource.com/35123 Reviewed-by: Chong Zhang <chz@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Chong Zhang <chz@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* turn exceptions on in test tools on AndroidGravatar Mike Klein2017-08-16
| | | | | | | | | | This is a follow-up to https://skia-review.googlesource.com/c/34982 which did the same for locally built test tools. Change-Id: Id97841a64521fda99cb952a1a751ffc10f636f53 Reviewed-on: https://skia-review.googlesource.com/35162 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Build support for 32-bit armv8-aGravatar Leon Scroggins III2017-08-10
| | | | | | | | | | | | | | | Since both armv7-a-neon and 32-bit armv8-a have NEON, we can treat them the same in Android.bp. Bug: b/62895439 Corresponds to https://android-review.googlesource.com/c/423660/3 This change will generate the change to Android.bp described there. Change-Id: Icae9b5b79093d6f2886da39771d4fbe901be237a Reviewed-on: https://skia-review.googlesource.com/33000 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Assume HQ is handled by pipeline, delete legacy code-pathGravatar Mike Reed2017-07-20
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: If6f0d0a57463bf99a66d674e65a62ce3931d0116 Reviewed-on: https://skia-review.googlesource.com/24644 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Stop adding Android-specific defines to SkUserConfigGravatar Leon Scroggins III2017-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove #defines that lived in gn_to_bp.py and android_framework_defines.gni. These have been moved into a new file in Android, SkUserConfigManual.h, in https://googleplex-android-review.git.corp.google.com/#/c/2519600/ Update gn_to_bp.py to include SkUserConfigManual.h, so it will still result in using the same #defines. Lately, we've found it difficult to guard changes behind a flag. e.g. a change to drawing causes a CTS failure in Android, so we have to do the following: - put the change behind a flag, and add it to gn_to_bp.py or android_framework_defines.gni - generate new images on Android (by running CTS with external/skia modified to not define the flag) - create a CL in CTS that uses the new images - land a CL in Skia that stops defining the flag - when the Skia change lands, wait for the auto-roller to create a CL that includes the change, stop the auto-roller, add the topic to the CTS CL so the two can land at the same time - land both Android changes (with TreeHugger) - restart the Android auto-roller With SkUserConfigManual.h (which lives in Android), the process will be similar to Chromium: - land a CL in Android's external/skia that defines a flag e.g. SK_SUPPORT_LEGACY_FEATURE. Land without TreeHugger because it isn't used in Skia and does not do anything - land a change in Skia that changes behavior unless SK_SUPPORT_LEGACY_FEATURE is defined. This will safely go through the Android roll and not change any behavior for Android - create two Android CLs - one in CTS to use the new images, and one in external/skia to delete SK_SUPPORT_LEGACY_FEATURE. Set them to the same topic and land them with TreeHugger In the new process, there is no need to mess with the Android roll. A downside to the new process is that we cannot test the android framework defines without checking in to Android. But given how much we've progressed in automating Android testing, this is fine. Bug: b/63429612 Change-Id: Idfbaef2f4cae641a75fb6e7bf70428733a441336 Reviewed-on: https://skia-review.googlesource.com/22072 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Potentially fix definition of GR_TEST_UTILS in gn_to_bp.pyGravatar Brian Salomon2017-07-06
| | | | | | | | | TBR=scroggo@google.com Change-Id: I0afe43855e7ac55a0f6a9b88af16a1d7b36666a2 Reviewed-on: https://skia-review.googlesource.com/21737 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Attempt to fix Android framework buildGravatar Brian Salomon2017-07-06
| | | | | | | | Bug: skia: Change-Id: I70004f5edc47d6de4e2bdb33d40467c9a6f81b48 Reviewed-on: https://skia-review.googlesource.com/21729 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Implement an SkImage backed by a Android hardware bufferGravatar Stan Iliev2017-06-02
| | | | | | | | | | | | | | Create a new SkImage public API to make an image from an Android hardware buffer. Implementation is using a SkImageGenerator derived class GrAndroidBufferImageGenerator. A new EGLImage texture is created, which is then wrapped with GrTextureProxy. Bug: skia: Change-Id: I610a4c5a58198686ce7c03e9a0adad3f9d2342e0 Reviewed-on: https://skia-review.googlesource.com/17789 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* remove unused etc logicGravatar Mike Reed2017-05-03
| | | | | | | | Bug: skia: Change-Id: I913d348910db0b6ab930c4c5566ba9eb2320550e Reviewed-on: https://skia-review.googlesource.com/15181 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Check-in vulkan.h into third_party and use that instead of local sdk ↵Gravatar Greg Daniel2017-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vulkan.h" This reverts commit 3a3bc42b7d5b9d996debab1d2a05d2137c875bd7. Reason for revert: still breaking android Original change's description: > Check-in vulkan.h into third_party and use that instead of local sdk vulkan.h > > This change is needed since once we start getting support for varrying of extensions > and newer version support in general, we need a common vulkan header to compile off of. > Otherwise we will run into problems if clients have older headers that don't include > functions/symbols we are trying to use. > > Additionally it has the benefit of not needing to add if SK_VULKAN around code in > include which wants to use vulkan symbols. > > This is a reupload of CL: https://skia-review.googlesource.com/13651 > > Bug: skia: > Change-Id: I091f526b8c4a61774c34834cd7bfb7e2c822ff5c > Reviewed-on: https://skia-review.googlesource.com/13804 > Reviewed-by: Derek Sollenberger <djsollen@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> > TBR=djsollen@google.com,egdaniel@google.com,mtklein@google.com,jvanverth@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic595e32005761170156499cfb6efc1acfce96001 Reviewed-on: https://skia-review.googlesource.com/13806 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Check-in vulkan.h into third_party and use that instead of local sdk vulkan.hGravatar Greg Daniel2017-04-19
| | | | | | | | | | | | | | | | | | This change is needed since once we start getting support for varrying of extensions and newer version support in general, we need a common vulkan header to compile off of. Otherwise we will run into problems if clients have older headers that don't include functions/symbols we are trying to use. Additionally it has the benefit of not needing to add if SK_VULKAN around code in include which wants to use vulkan symbols. This is a reupload of CL: https://skia-review.googlesource.com/13651 Bug: skia: Change-Id: I091f526b8c4a61774c34834cd7bfb7e2c822ff5c Reviewed-on: https://skia-review.googlesource.com/13804 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Turn on SkJumper all the time, try 2.Gravatar Mike Klein2017-03-30
| | | | | | | | | | | Rebased on top of _win.S change, which I hope lands first. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel,win_chrome_official,win_chromium_dbg_ng,win_chromium_rel_ng,win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng,win_clang;master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: I30e97dbb55b8a42251b46f5607096ca12bc670b9 Reviewed-on: https://skia-review.googlesource.com/10462 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@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>
* Add ability to insert systrace markers for the android frameworkGravatar Derek Sollenberger2017-03-06
| | | | | | | | Change-Id: I34cee8382b73f1d95fde279377f976ebad6983a7 Reviewed-on: https://skia-review.googlesource.com/9232 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Derek Sollenberger <djsollen@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>