platform/upstream/libSkiaSharp.git
7 years agoSkColorSpaceXformer: Handle compose color filters
Matt Sarett [Mon, 17 Apr 2017 21:18:57 +0000 (17:18 -0400)]
SkColorSpaceXformer: Handle compose color filters

We could alternatively use the makeColorSpace() approach that we
adoped for loopers and imagefilters, but this seems fine.

This should finish xform canvas work on color filters.  We have
plenty of color filters that do math on colors, but only two
that might actually hold colors.

Bug: skia:6516
Change-Id: I1aee8c35d6886fdc149d4659d1bac2edc0d32b67
Reviewed-on: https://skia-review.googlesource.com/13649
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFix Fuchsia Vulkan build control
Forrest Reiling [Mon, 17 Apr 2017 20:36:39 +0000 (13:36 -0700)]
Fix Fuchsia Vulkan build control

Our last patch here ran into some problems because some people build a
subset of fuchsia that does not include skia, so setting skia_use_vulkan
breaks their build. This relies on buildargs set from a fuchsia global
GNI file to allow us to set them independently of skia in our build
system

Change-Id: I64f5f0f349c12947c8aff7761dc5fafdb6a91b6c
Reviewed-on: https://skia-review.googlesource.com/13617
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Mon, 17 Apr 2017 19:55:16 +0000 (12:55 -0700)]
Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
  https://crrev.com/2bd2b6306f3deaf01fed284038fab4ce05e68765 Remove deprecated script compile.py (tikuta@google.com)
  https://crrev.com/2220ac8ab35a3f7123d11143137124a89717198b Revert "Remove deprecated script compile.py" (mmoss@chromium.org)
  https://crrev.com/928c6d59f3408ad0bc823ee1549368af03b22517 V8: Make arm chromebooks tree-closers (machenbach@chromium.org)
  https://crrev.com/4daef50df40266df7d2dd58cea5b0c97b5ff9f63 Add ignore_swarming_task_failure attribute for isolated_script (nednguyen@google.com)
  https://crrev.com/b780e3c6a5b6c3fbb865eb9e2dd86f12c1ab2f8c WebRTC: Add Linux ARM 64-bit Debug+Release builders + FYI bot. (kjellander@chromium.org)
  https://crrev.com/83ae262fa30b20b00f65fe9bc7bd50428e6e032d On dartk/dartkp builders test all suites and not just co19 language kernel service. (vegorov@google.com)
  https://crrev.com/0b81a2102a55086f3dafaccf5b79637c49b3700d On dart kernel builders set --builder-tag=no_ipv6. (vegorov@google.com)
  https://crrev.com/31f9c83d3ed4fed0c3f215e94c00751d026d95bc [Findit] Bail out with no culprit found if compile passed on the last revision in range. (chanli@chromium.org)
  https://crrev.com/6d14c7141290ce60514b07a14e53dd2030df44b7 [recipes.cfg] upgrade to api_version 2 (iannucci@chromium.org)
  https://crrev.com/b0d19086a88ac1baba0c4d9906577e517300e5d8 Revert "[recipes.cfg] upgrade to api_version 2" (iannucci@chromium.org)
  https://crrev.com/6bfba7afcf2ac793044c44527932e825c21e508a remote_run: Enable per-builder canary whitelisting (dnj@chromium.org)
  https://crrev.com/af1aa0585197c0a944ce77c14f7c137f97ac504c [remote_run] bump recipes-py canary version (iannucci@chromium.org)
  https://crrev.com/c3d07fd63d6378dda05d1d477e812c0aa356d325 [remote_run] bump recipes-py prod version (iannucci@chromium.org)
  https://crrev.com/2798cf183e8ffb6e2903d80a71ad7d1de429a5ba [recipes.cfg] upgrade to api_version 2 (iannucci@chromium.org)
  https://crrev.com/c410e27324f9ab26956b3cc8cf205a7ee8e6bc72 Install goma for more bots. (hidehiko@chromium.org)
  https://crrev.com/002ddd5fabf636bdfde86ad4ebbcf26e846ca9ae [Findit] remove result report from build property so it will not be included in buildbucket response. (chanli@chromium.org)
  https://crrev.com/a2ad74e50d2662f1c14e3b31ffbceed1306eb819 Add webkit_layout_tests to closing_optional list for WebKit Linux - TraceWrappables. (mcgreevy@chromium.org)
  https://crrev.com/f776e58c170ce6ceeb48434f69e3c8ed027b820d call _archive_retry_summary for both webkit_layout_tests and webkit_tests. (mcgreevy@chromium.org)
  https://crrev.com/f0cef60e4d34194c6a8aab855f9fb74ada412146 Revert "WebRTC: Remove low_bandwidth_audio_test on Mac and Windows." (oprypin@chromium.org)
  https://crrev.com/eed61f7e2c89b7f40b723ccca13a815e40e78278 Upload test results presentation html file to google storage. (hzl@google.com)
  https://crrev.com/ce0ba39742e46a234d960b7317eba7935ebc617d Revert "Upload test results presentation html file to google storage." (hzl@google.com)
  https://crrev.com/356064ec92fddc7d7098067dd0d711a62d5f10f5 Revert "Retry tests without the patch on iOS try bot failures" (stgao@chromium.org)
  https://crrev.com/4e41fb0cdd4bda4b5a6dd9167dde76f0f63ceb0f Make sure that step presentation is not set to FAILURE if exit_code is zero (nednguyen@google.com)
  https://crrev.com/f7f8a5d24ed0d4dca19305bde7e372a149b992e9 Add mac and win battor agents (martiniss@google.com)
  https://crrev.com/68c21b4d24c70d6e77727c3f7044148908fab4de Add files in gen/layout_test_data to the package. (yzshen@chromium.org)
  https://crrev.com/23a7ecf5af6fd0039b2a25d9552cd706ef8c17c2 Add low_bandwidth_audio_test on Android (oprypin@chromium.org)
  https://crrev.com/de288b21edf2614d47df375730777814826a93d6 Revert "Add low_bandwidth_audio_test on Android" (oprypin@chromium.org)
  https://crrev.com/917efd4d8e43deb9c4c4b36c82fbc60fd578504e V8: Add node.js baseline bot (machenbach@chromium.org)
  https://crrev.com/328305ad806f3bc88fe190f754463ee007d0c040 Implement a generic postprocess/merge hook for swarming tasks. (jbudorick@chromium.org)
  https://crrev.com/236fd0e4571b168b58446704d8c223dd476431ed Revert "Implement a generic postprocess/merge hook for swarming tasks." (jbudorick@chromium.org)
  https://crrev.com/ff11ffc8f04c2a51de1f5a1a866d29422a23eb1f Convert L low-end tester on chromium.android.fyi to swarming. (bpastene@google.com)
  https://crrev.com/0987eb972f4aee77971c6fe8cad085789068c6e1 flutter: remove the dart_vm_entry_points_android.txt that was used by the dart:jni package (jsimmons@chromium.org)
  https://crrev.com/69844a761f7440e967a8eeb9263a9c578d1ce81a (Reland) Upload test results presentation html file to google storage. (hzl@google.com)
  https://crrev.com/d9d686021d37a70c7b48ac3ff44469f468307585 Show link to uploaded build log in upload_log step (tikuta@google.com)
  https://crrev.com/368d2266581f6acdb7ad072786b17f171435bdaa Remove TraceWrappable bot (machenbach@chromium.org)
  https://crrev.com/d458bc907d75625014522fbdd1005526485a1962 Migrate V8 api stability bot to v8 waterfall (machenbach@chromium.org)
  https://crrev.com/4f521927f89597a9f136b0f8fd480a38d018dbde V8: Workaround for broken node.js build targets (machenbach@chromium.org)
  https://crrev.com/bb9287f02c2b7377bb951a2d4b20e53f1f3394f2 Run JUnit test with wrapper scripts on bots. (mikecase@google.com)
  https://crrev.com/d25f8637847fe747d459b504af5390222be56eaf Add builder to client.dart, add recipe support for checked-mode kernel builders (kustermann@google.com)
  https://crrev.com/b31fffcd8035b6bf40f337ab77eecbb37ef19653 remote_run: Enable Kitchen for site isolation FYI (dnj@chromium.org)
  https://crrev.com/602e92e8af3dee11015d2a03e1e8f36535b4e3e0 Run engine unit tests on Mac & Linux host_debug_unopt builds. (chinmaygarde@google.com)
  https://crrev.com/90e4dcc2d924e960c3490e8255d6ca212da6ccda Tweak recipe_modules pylint blacklisting and run pylint on upload. (jbudorick@chromium.org)
  https://crrev.com/51053a460a8a9b71c58e93c12cb89c3881361970 Avoid running time sensitive tests in FML and don't run channels tests on Linux. (chinmaygarde@google.com)
  https://crrev.com/fc42f7d9f8368b8bc1d7dbb401d92c21c3205875 Fix the step link of result details. (hzl@google.com)
  https://crrev.com/58842dc44d709faaeafa9b8377564788004b7368 Nest step triggers (martiniss@google.com)
  https://crrev.com/a1adf9ee4394d73d0df7ba22b82b48351d09f41c Fix error in application on gtest_filter to fml_unittests. (chinmaygarde@google.com)
  https://crrev.com/5c1b3b360e2e08837206eeac43da637cc0add200 Run FTL tests on Windows (goderbauer@google.com)
  https://crrev.com/aff184bd83e19f34fafaa117b0f002eda1f7e972 Stop using and remove layout_test_wrapper.py. (qyearsley@google.com)
  https://crrev.com/dbe97aafbb818ec2f067764caa8504b8fd4c1701 Use "kitchen" path config for legacy remote run. (dnj@chromium.org)
  https://crrev.com/4098ffe08f199701d7a68c049ee77cb6b6ec2029 add .exe to test executables on Windows (goderbauer@google.com)
  https://crrev.com/3469ad46426a9ddb7fa4f512add85ac3181e6565 Fix paths on Windows (goderbauer@google.com)
  https://crrev.com/88460d6e88cf9187de8c336d9266b34b2bc7620e Revert "Stop using and remove layout_test_wrapper.py." (qyearsley@chromium.org)
  https://crrev.com/ceea9270c70c12bc28faec3555937396498f22f6 Shorter timeout for Crashpad runs (scottmg@chromium.org)
  https://crrev.com/885923720ca78b46817bacec215b7a0e5788253b WebRTC: Disable Linux 32-bit builds to unblock rolling. (kjellander@chromium.org)
  https://crrev.com/f904c7617691ce14667a6fe5b14e663f485cc1dd Upload gomacc.*.INFO. (yyanagisawa@chromium.org)
  https://crrev.com/bcecde5341a48f99d6fb5708e509735468b005b0 [pgo] Replace indexeddb_perf with storage.indexeddb_endure_tracing (perezju@chromium.org)
  https://crrev.com/893412c4cd1b601cdc46a8fcac3766eb3bf546df WebRTC: Disable Linux ARM64 Debug bot to unblock rolling (kjellander@chromium.org)
  https://crrev.com/b9753ba671f9adfd0c443eab24aea7a04639215c chromium_trybot: delete dont_analyze_for_non_src_project test (phajdan.jr@chromium.org)
  https://crrev.com/dc34fd3833b56a98a4d5b1c6d671ed2ca80983f5 V8: Bump swarming timeout and shards on mips bot (machenbach@chromium.org)
  https://crrev.com/4c955cb26a06b70be028078437fccd3000baa951 V8: Remove obsolete baseline testing from node integration bot (machenbach@chromium.org)
  https://crrev.com/9295df947dea2702b69f5af9b01d989e89b145bd chromium_tests: Fix _name usage on IncrementalCoverageTest. (tansell@chromium.org)
  https://crrev.com/214b9a130ddc0944ad9c509f827c9f3db70f7db3 Enable coredumps on vm-kernel-linux (non-precomp) (kustermann@google.com)
  https://crrev.com/7e4ff9802920593f2bf53958f2a1a9958c8c6809 Enable LogDog for syzygy waterfalls. (dnj@chromium.org)
  https://crrev.com/af7fe00e5c33f32cd517f29d91aa57575a8cdda4 remote_run: Bump Kitchen, cleanup logic. (dnj@chromium.org)
  https://crrev.com/28c6eb798fca201acc3fac954c3d3433471a774c Remove vestigial android/perf bot configs. (jbudorick@chromium.org)
  https://crrev.com/11d9ab91893e707116b8cdb090c31bfb7587897b Use cache directory for build checkout. (dnj@chromium.org)
  https://crrev.com/dff1924a3645f45f012689c9adc74cbd82671c16 Switch android/perf recipe to devil provisioning. (jbudorick@chromium.org)
  https://crrev.com/487fe058d719483abbee70d84ea5f65639e663e4 Switch bisection/android_bisect{,_staging} to devil provisioning. (jbudorick@chromium.org)
  https://crrev.com/0c8cdf963550631f93f79eac2b597c96fc9d4214 flutter: update APK upload for new Gradle output path (jsimmons@chromium.org)
  https://crrev.com/918574b36f597bd188ccc9f811d537c7f6f7e6fe chromite: Change cbuildbot/api to to cbuildbot_launch. (dgarrett@google.com)
  https://crrev.com/fedcb6d0c2f4d0c95e510276e958b33bb4d3ae93 Switch mojo to devil provisioning. (jbudorick@chromium.org)
  https://crrev.com/cbf7e4f450d1b80e563ecbcd137f992902b29035 Remove Windows and Linux GeForce GT 730 bots. (kbr@chromium.org)
  https://crrev.com/a18f32f7cdd9ef73511f2e5c48164e7059936d63 Fix android_n5x_swarming_dbg trybot settings (jinsukkim@chromium.org)
  https://crrev.com/eba6687000a5cab7d67476f987c5f3dcdd0def9a Revert "chromite: Change cbuildbot/api to to cbuildbot_launch." (dgarrett@chromium.org)
  https://crrev.com/023f1efa527e0b4a28c4966c9efcba4fa4a5aeb4 chromium: Enable using analyze for layout tests. (tansell@chromium.org)
  https://crrev.com/6543b59812744e6895e9a4c9eafdc75d9d39699e chromium_trybot: Fix martiniss OWNER email. (tansell@chromium.org)
  https://crrev.com/36e8830b7720e0498a7ef95953e7596b59ee7e16 Fixing step name for WebKit Layout Tests. (tansell@chromium.org)
  https://crrev.com/a8823304f7de8e54bff4afaa666650647b9ca11f Add a new win/mac goma canary builder for LocalOutputCache (shinyak@google.com)
  https://crrev.com/30d05e794441b26450f739b355be33684964efce V8: Add node-integration trybot (machenbach@chromium.org)
  https://crrev.com/5ae208c67eb85c76fe8b310fe1e1506f5c0761e0 Revert "chromium: Enable using analyze for layout tests." (tansell@chromium.org)
  https://crrev.com/c3b30e4e13da2b50708be4c448bf109217372d85 V8: Apply patches on node integration trybot (machenbach@chromium.org)
  https://crrev.com/ed723a35b8433678aeb0dc6d618714c4201be9dd [android] Fix WebView N arch configuration. (jbudorick@chromium.org)
  https://crrev.com/83683ed7f818b0029d787c1da3132416e72a86c0 chromium_tests: Allow upload_results handler to understand suffix. (tansell@chromium.org)
  https://crrev.com/ffb51f8389f8287c6518ce216452d4f9c7762172 Switch cronet to devil provisioning. (jbudorick@chromium.org)
  https://crrev.com/884fd0b5a23ff68aef05c8442de85d8275af9728 chromium_tests: Make swarmed isolated tests fail with large error codes. (tansell@chromium.org)
  https://crrev.com/9a1d214f237c09543a7af59b034792f8c4e68b81 Add auxiliary binary to CIPD bootstrap. (dnj@chromium.org)
  https://crrev.com/73671ebf77a0844d6b9b9be967b7472ff64fd5d7 Update dart-flutter integration recipe, rename sky_shell -> flutter_tester (kustermann@google.com)
  https://crrev.com/8d25def7aa0673ce3f1e436c5092341b32f70e6b Roll Git wrapper out to all BuildBot bots. (dnj@chromium.org)
  https://crrev.com/60f9f3d7a06f9f64dc13ef1a8bc550fce7ba70d8 Configure PDFium builders to build pdfium_all. (thestig@chromium.org)
  https://crrev.com/ece7e5aa69872d3551a64f9400024745b774a5c0 Fix recipe invocation of mb analyze on mac to check FORCE_MAC_TOOLCHAIN. (dpranke@chromium.org)
  https://crrev.com/6328212bbe7dfa38aaa4a2dcee04d26f14028772 chromium_trybot: Fixing missing tansell@ from OWNERS (tansell@chromium.org)
  https://crrev.com/8300711ed6b6396e50b6f092a77fa78491dd8dc9 Revert "WebRTC: Disable Linux ARM64 Debug bot to unblock rolling" (kjellander@chromium.org)
  https://crrev.com/e0cb895e24d3daeea49a32e11f9ae0903eca77cd V8: Remove deprecated clusterfuzz builders (machenbach@chromium.org)
  https://crrev.com/60b5be137284772d2fb55ac2e261aa279d87ec04 Dart: Add debug log step to recipes, make it work on Windows. (whesse@chromium.org)
  https://crrev.com/7f5a5538a09ab7be09b792c7621642a048e75628 Implement a generic postprocess/merge hook for swarming tasks. (RELAND) (jbudorick@chromium.org)
  https://crrev.com/217f111af09ddea4d351a371503fd02d722eae4e Revert "Implement a generic postprocess/merge hook for swarming tasks. (RELAND)" (machenbach@chromium.org)
  https://crrev.com/cd0f641cf6317556e481a7958d606e69a825109a Add NVIDIA Shield TV to GPU.FYI (ynovikov@google.com)
  https://crrev.com/437b20aeedbc9304008fe8d929f28a464e99aee1 Add config for linux_layout_tests_layout_ng try bot. (qyearsley@google.com)
  https://crrev.com/5b00be794346c76a12dec3a81d11c24b248b7537 Simplify layout_test_wrapper.py more, again. (qyearsley@google.com)
  https://crrev.com/be6a9a315bf6e9c0e45c0bbdd87c83b0a55ec28d Implement a generic postprocess/merge hook for swarming tasks. (RELAND 2) (jbudorick@chromium.org)
  https://crrev.com/6e7474bc7cea2bfb3da3a5f7bbdb1f5ec8b55bcf Revert "Implement a generic postprocess/merge hook for swarming tasks. (RELAND 2)" (jbudorick@chromium.org)
  https://crrev.com/84f4f2585534a98a827fb79962b2d8325ed61ecb Switch webview perf bots to the chromium recipe (martiniss@google.com)
  https://crrev.com/c568a8417c9164f8a1996a1e8768bf7d67669602 Revert "Revert "Add low_bandwidth_audio_test on Android"" (oprypin@chromium.org)
  https://crrev.com/ca02f065486627347da49805bd2638bedf5bea34 V8: Make sanitizer-coverage bot gerrit aware (machenbach@chromium.org)
  https://crrev.com/f96cbaa627fd26af2c4cc0eb26d33a277e97a586 Dart: Allow subannotations in Dartium builder main step (whesse@chromium.org)
  https://crrev.com/3c1eb1bfdf8677df9f79bccd04482a4e41e6381f V8: Add link to docu in email. (franzih@chromium.org)
  https://crrev.com/e1ea0a6aef053fe91951fe4919b19d91f53d0901 Add chromium.webkit to masters_recipes_test. (dpranke@chromium.org)
  https://crrev.com/2876764b52d6651834a0d8702356c968ac570eda Make Android arm/arm64 Builder download VR test APKs (bsheedy@chromium.org)
  https://crrev.com/3722c6c9b98063a27319ba3f97e0d6bbd538a884 Support specifying ignore_swarming_task_failure & ignore_task_failure for swarming isolated script test (nednguyen@google.com)
  https://crrev.com/00cd0ae22f4a9e2f1906dafcf861ceaa004d9442 Add new machines and FIPS builders to client.boringssl. (davidben@chromium.org)
  https://crrev.com/724973cc5ea76a9359125bb437ef6c6723ce51a9 remote_run: Roll Kitchen to pick up TMPDIR (dnj@chromium.org)
  https://crrev.com/0e67c706f5796cb0797e5cd09f920846a5b0a560 GetGomaLogDirectory should searches a log directory more accurately. (yyanagisawa@chromium.org)
  https://crrev.com/e64c2de6c57e25b55f7c73261bdacc0a82189c54 chromium_tests: Interrupted files not considered valid. (tansell@chromium.org)
  https://crrev.com/90711a4918e74aedb10d05fe9a4400d8007ba0d2 Move gtest log handling into api.test_utils. (jbudorick@chromium.org)
  https://crrev.com/85dc10fad1a7ea385ab43353f414b15695052221 Revert "chromium_tests: Interrupted files not considered valid." (kjellander@chromium.org)
  https://crrev.com/7f3bc2a4ae12dfc4e4c943ecee0bd24cc0c4c1db Implement a generic postprocess/merge hook for swarming tasks. (RELAND 3) (jbudorick@chromium.org)
  https://crrev.com/c926e68e032bf5201fdca5f01f1ab125f7233ddb Revert "Implement a generic postprocess/merge hook for swarming tasks. (RELAND 3)" (jbudorick@chromium.org)
  https://crrev.com/da635f7814c920356afaa25eebef15f010e9333e Fix flag for linux_layout_tests_layout_ng try bot. (qyearsley@google.com)
  https://crrev.com/75c17b641b40ff75b5fcb90b4ec87b3eb91290bc Remove ignore_swarming_task_failure field (nednguyen@google.com)
  https://crrev.com/f7b41106d64b6517c67343f2cfb03f4a9d62afc2 Bump Git wrapper staging version. (dnj@chromium.org)
depot_tools:
  https://crrev.com/1345ba9bce159d42ec724dc0dd597ab93d4022d3 [recipes.cfg] upgrade to api_version 2 (iannucci@chromium.org)
  https://crrev.com/f2d0ad648a8f9739b3f0a21283446df890ba15d2 Manually roll recipe engine d7f80ca:e2b4fd5 (phajdan.jr@chromium.org)
  https://crrev.com/4f0fb066f93247fd8f787d2e61add6bbb5b4ba92 Manual recipe roll (trivial). (dnj@chromium.org)
recipe_engine:
  https://crrev.com/9f7465ffe92dab0bcc6f4d0e60303c6bff4d0f72 [recipes.cfg] Add disable reason. (iannucci@chromium.org)
  https://crrev.com/855168108b3dab668c36b56a99ca5a73f6d98932 [recipes.cfg] upgrade to api_version 2 (iannucci@chromium.org)
  https://crrev.com/e77477ba61ef082e2e34d58fd1251a1cb707f698 make doc/recipes.py supported version 1 and 2 (iannucci@chromium.org)
  https://crrev.com/1af805aac5b8735be9effce6251286d062755257 Convert structured output of 'test' command to protos (phajdan.jr@chromium.org)
  https://crrev.com/09292e372498915b899f480ce9f384057dc5710c Implement debug (pdb) support in new 'test' command (phajdan.jr@chromium.org)
  https://crrev.com/e02889f17c4ac35b7fb99915c5e05a9dde1347c0 test: promote --train to its own subcommand (phajdan.jr@chromium.org)
  https://crrev.com/189f7dcc9e1151e6714987e26eb7de14c531d3ae Implement 'diff' sub-command in new 'test' command (phajdan.jr@chromium.org)
  https://crrev.com/0586f16a4911be4855ce52621e143662e1d58062 Always identify test names that lead to failures (phajdan.jr@chromium.org)
  https://crrev.com/e9b07327159884c40cc81744361d0018c5cf481c absolutize paths specified in args (nodir@chromium.org)
  https://crrev.com/0160aa0a9b2b85379a8e80090d753fef20e6dce5 Add deprecation warning to simulation_test command (phajdan.jr@chromium.org)
  https://crrev.com/ddfc94f01e4e1d3c7bf7dedfd58e6813bc5160df Assert validity of stream parameters. (dnj@chromium.org)
  https://crrev.com/796247003f570b54140f9cc6e7934bcdf11880e7 Put result.proto into recipe_engine proto package (nodir@chromium.org)
  https://crrev.com/d7f80cacbb5c61e5bdaaff122fb5ab0ea7b58345 Fix recipe bootstrap on Windows (phajdan.jr@chromium.org)
  https://crrev.com/e2b4fd5362e043dc66e85f5c342e414c5bfb89de Enable recipe bootstrap by default (phajdan.jr@chromium.org)
  https://crrev.com/0497d326e1805715e8df4095afa6d0e95b9af48f Revert of Assert validity of stream parameters. (patchset #4 id:60001 of https://codereview.chromium.org/2792333003/ ) (phajdan.jr@chromium.org)
  https://crrev.com/ab1007e993f5ae367c15389afb954591bf3376dd autoroll: don't send output from "fetch" command to NUL (phajdan.jr@chromium.org)
  https://crrev.com/bbe066964830adfaa2298d0fd77e02b86bcd48ea Disable bootstrap for recipes.py invocations in autoroll (phajdan.jr@chromium.org)
  https://crrev.com/162f5cba2739078a1ff263c9898fa31690864481 Revert of Enable recipe bootstrap by default (patchset #1 id:1 of https://codereview.chromium.org/2801073004/ ) (phajdan.jr@chromium.org)
  https://crrev.com/22e9f7a530a72ede0b5390687cfffb79e3e5bf60 Revert of Disable bootstrap for recipes.py invocations in autoroll (patchset #1 id:1 of https://codereview.chromium.org/2801273002/ ) (phajdan.jr@chromium.org)
  https://crrev.com/0fdbf0025e0a814b0c2ea8c787d24aeab0ecb99b Add --disable-bootstrap option to recipe engine (phajdan.jr@chromium.org)
  https://crrev.com/11a5a6648f538d56cd5a48169f7b349e2d71886c Enable bootstrap by default when invoking test command (phajdan.jr@chromium.org)
  https://crrev.com/2ea2b19c4deb2f81b462754509e2c858e73078ec Refactor and clean up unit tests a bit. (iannucci@chromium.org)
  https://crrev.com/86179ebcb99567b956e788bb1a100c262f533083 Work around unicode issues by re-encoding properties as utf-8 (phajdan.jr@chromium.org)
  https://crrev.com/f31d525eef33613aa537e8ed954e7dfbf1cae8b2 path: Add tracking of volatile paths. (dnj@chromium.org)
  https://crrev.com/3582ac2243ff0bcbd36bfb8f9ab9853a5ca5beb1 Fix test hang (phajdan.jr@chromium.org)
  https://crrev.com/4e482d2131c51fd19f9a3e8840ae74c52a7b6567 Move package.ProtoFile -> package_io.PackageFile (iannucci@chromium.org)
  https://crrev.com/4afdf69bc15cbcf6a88076da7074d24cb88780d2 Add test coverage for testing recipe configs and test_api (phajdan.jr@chromium.org)
  https://crrev.com/56ba34248d8319cfdaff19ae55d68004fdd8ebf8 Stop running deprecated simulation_test (phajdan.jr@chromium.org)
  https://crrev.com/f5e47cfc28b5964701572db12f96c7a5a3f1821a Enable strict coverage for json, path, platform, properties, raw_io (phajdan.jr@chromium.org)

TBR=borenet@google.com

Change-Id: If92ca282402a62b552e45eb5a5b89dc9dfe51b2d
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/13653
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoPass LC_ALL_MASK to newlocale
Eric Karl [Mon, 17 Apr 2017 19:04:16 +0000 (12:04 -0700)]
Pass LC_ALL_MASK to newlocale

This change fixes an issue with GrAutoLocaleSetter, which was
using the C library LC_ALL mask with newlocale. Instead the
xlocale LC_ALL_MASK should be used (these do not match on all
platforms).

See: http://man7.org/linux/man-pages/man3/newlocale.3.html

Bug: 711683
Change-Id: I6dba140e72b095f75667f0dcc98480d8d4562191
Reviewed-on: https://skia-review.googlesource.com/13601
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agojumper, table_{r,g,b,a}
Mike Klein [Mon, 17 Apr 2017 18:43:59 +0000 (14:43 -0400)]
jumper, table_{r,g,b,a}

In testing, it didn't really seem like we're getting anything out of
doing an interpolated lookup, so this just does a single rounded lookup.

Change-Id: If85ba68675945b442076519dd7f1bf7540d1628d
Reviewed-on: https://skia-review.googlesource.com/13646
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRe-enable recipe autoroller
Eric Boren [Mon, 17 Apr 2017 19:10:14 +0000 (15:10 -0400)]
Re-enable recipe autoroller

Bug: skia:
Change-Id: Ie7460c91f808e8187c5a7205ea0b4bdfa71c7e4d
Reviewed-on: https://skia-review.googlesource.com/13650
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agosupport either 32bit swizzle in HQ mode
Mike Reed [Mon, 17 Apr 2017 15:50:17 +0000 (11:50 -0400)]
support either 32bit swizzle in HQ mode

Bug: skia:6515
Change-Id: I8570a76824026d973fd0cc7247b34de7ae70a190
Reviewed-on: https://skia-review.googlesource.com/13593
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agojumper, hook in callback
Mike Klein [Mon, 17 Apr 2017 17:44:27 +0000 (13:44 -0400)]
jumper, hook in callback

Derp.  I added the code but never hooked it up.

Change-Id: I955fe36465809c891fdaf818bf1287843fbdf5fb
Reviewed-on: https://skia-review.googlesource.com/13598
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRe-arrange GrResourceProvider's texture creation methods
Robert Phillips [Mon, 17 Apr 2017 16:57:27 +0000 (12:57 -0400)]
Re-arrange GrResourceProvider's texture creation methods

This is all in service of removing the last raw writeSurfacePixels (that we can do anything about)

Change-Id: Ic84f677b2440b20e5fcc23e787584db0cfaecd01
Reviewed-on: https://skia-review.googlesource.com/13584
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRevert "Split cleanup changes out of bigger CL"
Mike Klein [Mon, 17 Apr 2017 18:04:41 +0000 (18:04 +0000)]
Revert "Split cleanup changes out of bigger CL"

This reverts commit cd11c809f206af0da3ce1779dee3c91193baa7b0.

Reason for revert: assert(rtp->getLastOpList())

Original change's description:
> Split cleanup changes out of bigger CL
>
> This are split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists)
>
> TBR=bsalomon@google.com
>
> Change-Id: I1239e806a30a93d3c17ad933f118b98a5077dd3a
> Reviewed-on: https://skia-review.googlesource.com/13585
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ia3ef7322fe830a6a4dc29226ce931d35d181c6e0
Reviewed-on: https://skia-review.googlesource.com/13641
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>

7 years agofix android-only function now that fRec is no longer used
Mike Reed [Mon, 17 Apr 2017 17:58:20 +0000 (13:58 -0400)]
fix android-only function now that fRec is no longer used

Bug: skia:6481
Change-Id: I9805b6eb824257038fc8521753d32fecec1433dd
Reviewed-on: https://skia-review.googlesource.com/13599
Reviewed-by: Mike Reed <reed@google.com>
7 years agojumper, u16_be load_tables stages
Mike Klein [Mon, 17 Apr 2017 17:19:05 +0000 (13:19 -0400)]
jumper, u16_be load_tables stages

Change-Id: I738da1dac2ef5b74ef34cca14938c0b6cce2fe16
Reviewed-on: https://skia-review.googlesource.com/13596
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSwitch SkCodec to int for counts and indices
Leon Scroggins III [Mon, 17 Apr 2017 16:46:33 +0000 (12:46 -0400)]
Switch SkCodec to int for counts and indices

This matches other Skia APIs. size_t was adopted from blink/
GIFImageReader.

Change-Id: Ic83e59f0942f597c4fb834e623acd9886ad483fe
Reviewed-on: https://skia-review.googlesource.com/13274
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Chris Blume <cblume@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoSplit cleanup changes out of bigger CL
Robert Phillips [Mon, 17 Apr 2017 16:47:15 +0000 (12:47 -0400)]
Split cleanup changes out of bigger CL

This are split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists)

TBR=bsalomon@google.com

Change-Id: I1239e806a30a93d3c17ad933f118b98a5077dd3a
Reviewed-on: https://skia-review.googlesource.com/13585
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agojumper, load_rgb_u16_be
Mike Klein [Mon, 17 Apr 2017 14:58:05 +0000 (10:58 -0400)]
jumper, load_rgb_u16_be

testing: out/dm --src colorImage --colorImages images/colorspace/ --config srgb

Change-Id: I3481e1fb4a070cfd5d95361329fd95af5fcfbd1f
Reviewed-on: https://skia-review.googlesource.com/13590
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoFinish overriding onMakeColorSpace() for SkImageFilters
Matt Sarett [Mon, 17 Apr 2017 15:57:29 +0000 (11:57 -0400)]
Finish overriding onMakeColorSpace() for SkImageFilters

Fixes 3 gms in gbr-8888.  Breaks 0 gms in gbr-8888.

Bug: skia:
Change-Id: I3365390b16353821ef6057a7bb68020887e36f72
Reviewed-on: https://skia-review.googlesource.com/13323
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUpdate SKP version
UpdateSKPs [Mon, 17 Apr 2017 16:40:10 +0000 (16:40 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I040e93e28139c5127f5f77d0f3fa12f35bab28f6
Reviewed-on: https://skia-review.googlesource.com/13578
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoAdd a test for getFrameInfo on truncated data
Leon Scroggins III [Wed, 12 Apr 2017 21:01:26 +0000 (17:01 -0400)]
Add a test for getFrameInfo on truncated data

Prior to e132e7be5f9108692254c37db592ea7611abbc15, calling getFrameInfo
on an SkGifCodec which was truncated before fully parsing the local
color map of the first frame would hit an assert. Add a test to verify
that the problem has been fixed.

Modify box.gif to use a local color map for the first (and only) frame.

Change-Id: I905afe60c0c6ecc82e251e00ef82b2e5b22975a3
Reviewed-on: https://skia-review.googlesource.com/13320
Reviewed-by: Chris Blume <cblume@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoSplit SkCrossContextImageData into Image and BackendTexture subclasses
Greg Daniel [Mon, 17 Apr 2017 14:46:51 +0000 (10:46 -0400)]
Split SkCrossContextImageData into Image and BackendTexture subclasses

This is needed for a follow up CL where we switch from using
GrBackendTextureDesc to GrBackendTexture.

Bug: skia:
Change-Id: Id12d3357af1cc7f30c7f9196e614089779dc0715
Reviewed-on: https://skia-review.googlesource.com/13588
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoadd flag for g3
Mike Reed [Mon, 17 Apr 2017 16:20:21 +0000 (12:20 -0400)]
add flag for g3

Bug: skia:6481
Change-Id: Ibbe4543a296e5b14b24fae2136c267a2cff2962e
Reviewed-on: https://skia-review.googlesource.com/13594
Reviewed-by: Mike Reed <reed@google.com>
7 years agoFurther refactor read/writeSurfacePixels
Brian Osman [Mon, 17 Apr 2017 15:48:28 +0000 (11:48 -0400)]
Further refactor read/writeSurfacePixels

Detect the situation where we're going to want to do PM/UPM, and want to
use GrConfigConverionEffect, but be unable (due to the lack of a
round-trip pair). This lets us hoist the SW premul work (in
writeSurfacePixels), and avoid all the cascading failure logic in both
functions. (We never try to create the PM/UPM effects unless we know
that they're going to work).

Bug: skia:5853
Change-Id: I0077447cd4be93bba273f8d2826b1ec0f4915c6c
Reviewed-on: https://skia-review.googlesource.com/13592
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agouse SkArenaAlloc in SkColorSpaceXform_A2B
Mike Klein [Mon, 17 Apr 2017 13:52:38 +0000 (09:52 -0400)]
use SkArenaAlloc in SkColorSpaceXform_A2B

I am learning / refactoring this code.  To start, I mostly just want to
get all these one-off storage members out of my face.

Testing:  out/dm --src colorImage --colorImages images/colorspace/ --config srgb

Change-Id: I40eb0b565eb2ab1ef8975f7a7ba35961cff75a07
Reviewed-on: https://skia-review.googlesource.com/13586
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agohide lockpixels api behind flag
Mike Reed [Mon, 17 Apr 2017 15:02:51 +0000 (11:02 -0400)]
hide lockpixels api behind flag

guarded by SK_SUPPORT_OBSOLETE_LOCKPIXELS

needs https://codereview.chromium.org/2820873002/# to land first
Bug: skia:6481
Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09

Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09
Reviewed-on: https://skia-review.googlesource.com/13580
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agodeprecate odd variants of SkCanvas::readPixels
Mike Reed [Mon, 17 Apr 2017 14:53:29 +0000 (10:53 -0400)]
deprecate odd variants of SkCanvas::readPixels

Bug: skia:6513
Change-Id: I51179a85f0912d3f899c368c30a943d346dd1d05
Reviewed-on: https://skia-review.googlesource.com/13589
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRecreateSKPs: Use api.run instead of api.step
Eric Boren [Mon, 17 Apr 2017 14:29:04 +0000 (10:29 -0400)]
RecreateSKPs: Use api.run instead of api.step

This gets us the default env, which includes the missing depot_tools.

NOTRY=true
Bug: skia:
Change-Id: Idc6f9c426eb88c36d8c5d9c9bf9568a9414d61a6
Reviewed-on: https://skia-review.googlesource.com/13587
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoadd a callback stage to SkRasterPipeline
Mike Klein [Fri, 7 Apr 2017 20:55:09 +0000 (16:55 -0400)]
add a callback stage to SkRasterPipeline

This lets us temporarily escape to piece of code outside
SkRasterPipeline.  We should be able to use this to replace
   - parametric_{r,g,b,a}
   - table_{r,g,b,a}
   - color_lookup_table
   - shader_adapter*

* We want to obsolete shader_adapter for other reasons anyway,
but we _could_ replace it with this if we want to.

Change-Id: I42b657b3c19c679796ed1876856cae0c8471307e
Reviewed-on: https://skia-review.googlesource.com/12102
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRemove lastOpList capability from GrSurface
Robert Phillips [Mon, 17 Apr 2017 11:53:07 +0000 (07:53 -0400)]
Remove lastOpList capability from GrSurface

This is split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists)

TBR=bsalomon@google.com

Change-Id: I80d589b42918ddd77538484c808b069576691da4
Reviewed-on: https://skia-review.googlesource.com/11793
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoReduce read/write-SurfacePixels call sites (take 2)
Robert Phillips [Mon, 17 Apr 2017 11:43:27 +0000 (07:43 -0400)]
Reduce read/write-SurfacePixels call sites (take 2)

Reland of: https://skia-review.googlesource.com/c/13068/ (Reduce read/write-SurfacePixels call sites)

TBR=brianosman@google.com

Change-Id: I035b9fc2feab5fa443570ca54fbb0df8c9382cb3
Reviewed-on: https://skia-review.googlesource.com/13582
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoMake RecreateSKPs use the Go CIPD asset
Eric Boren [Mon, 17 Apr 2017 11:50:20 +0000 (07:50 -0400)]
Make RecreateSKPs use the Go CIPD asset

NOTRY=true
Bug: skia:
Change-Id: I21212b62cd068bd722598fe8daadf184c87785df
Reviewed-on: https://skia-review.googlesource.com/13583
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoremove unused mutex from pixelref
Mike Reed [Sun, 16 Apr 2017 02:08:14 +0000 (22:08 -0400)]
remove unused mutex from pixelref

Bug: skia:6481
Change-Id: I4f2696b947c735157a38bc0810f3cebbb18c9d77
Reviewed-on: https://skia-review.googlesource.com/13581
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoSkPictureImageFilter::onMakeColorSpace()
Matt Sarett [Wed, 12 Apr 2017 20:26:21 +0000 (16:26 -0400)]
SkPictureImageFilter::onMakeColorSpace()

Improves gm/recordopts.
Does not break gm/pictureimagefilter or gm/fastfilterbounds.

Bug: skia:
Change-Id: I67c8f02a9548bf751350dfa3c7029dd59b8a2d1d
Reviewed-on: https://skia-review.googlesource.com/13276
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoSet build vars for Vulkan backend on Fuchsia.
Michael Jurka [Sat, 15 Apr 2017 00:44:09 +0000 (17:44 -0700)]
Set build vars for Vulkan backend on Fuchsia.

BUG=skia:

Change-Id: I355209a170ad8930a59cf91d584f40de82f51b92
Reviewed-on: https://skia-review.googlesource.com/13563
Reviewed-by: Forrest Reiling <freiling@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoremove lock tracking in bitmaps -- they are always locked
Mike Reed [Fri, 14 Apr 2017 21:16:36 +0000 (17:16 -0400)]
remove lock tracking in bitmaps -- they are always locked

Bug: skia:6481
Change-Id: I551c9fd5cdf1ea99fc62042d24d638a1021c348d
Reviewed-on: https://skia-review.googlesource.com/13473
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agogetDeferredTextureImageData(): use legacy scaling in legacy mode
Matt Sarett [Fri, 14 Apr 2017 16:41:55 +0000 (12:41 -0400)]
getDeferredTextureImageData(): use legacy scaling in legacy mode

Bug:709341

Change-Id: I0dc1dcc3874f9741e0303e376a0ad4a68cd8b03e
Reviewed-on: https://skia-review.googlesource.com/13500
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRemove dangerous constructor from SkArenaAlloc
Herb Derby [Fri, 14 Apr 2017 18:51:27 +0000 (14:51 -0400)]
Remove dangerous constructor from SkArenaAlloc

Make the constructors for SkArenaAlloc unambiguous.

TBR=mtklein@google.com

Change-Id: Iaa6419574e78e17bf746f5f9bcdf99c9d6c9d727
Reviewed-on: https://skia-review.googlesource.com/13540
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agofix scan converter arena alloc
Cary Clark [Fri, 14 Apr 2017 18:29:33 +0000 (14:29 -0400)]
fix scan converter arena alloc

Removing the 16K alloc sped up pathops_unittest -x -V
Release on Windows 7; time went from 14 minutes to 4.

R=herb@google.com
BUG=skia:6509

Change-Id: If43c9ad6745961e0079a7f4f6560c6fa2a7847ef
Reviewed-on: https://skia-review.googlesource.com/13507
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoskirt std::chrono on MSAN builds
Mike Klein [Fri, 14 Apr 2017 16:53:06 +0000 (12:53 -0400)]
skirt std::chrono on MSAN builds

I don't know why, but only std::chrono's calls to clock_gettime() seem
to be affected by this MSAN bug.  Other calls into libc++ that call
libc, like std::to_string(int) calling snprintf, work fine.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

BUG=skia:6504

Change-Id: I73fbe8793d2b5b5cca46ed68fb078a77d8748127
Reviewed-on: https://skia-review.googlesource.com/13502
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSymmetric rendering when >20px with DirectWrite.
Ben Wagner [Thu, 13 Apr 2017 15:02:50 +0000 (11:02 -0400)]
Symmetric rendering when >20px with DirectWrite.

If the font has a gasp table use it to determine symmetric. Otherwise,
use symmetric if the the font isn't hinted or is >20px. The remaining
cases use non-symmetric.

BUG=chromium:706792,skia:6432

Change-Id: I91b66a9615aae27c195e1545298a9d36bc58a705
Reviewed-on: https://skia-review.googlesource.com/11400
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoFix advances for aliased text with DirectWrite.
Ben Wagner [Fri, 14 Apr 2017 15:39:34 +0000 (11:39 -0400)]
Fix advances for aliased text with DirectWrite.

The existing code assumes that GetGdiCompatibleGlyphMetrics transform
parameter acts the same as the GetGlyphOutlineW lpmat2 parameter.
However, it appears this is very much not true.

BUG=skia:6499

Change-Id: I88c762b27acd09cc746da4d6e2b901540876908a
Reviewed-on: https://skia-review.googlesource.com/13479
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoRevert "Reduce read/write-SurfacePixels call sites"
Robert Phillips [Fri, 14 Apr 2017 17:56:08 +0000 (17:56 +0000)]
Revert "Reduce read/write-SurfacePixels call sites"

This reverts commit 74d5a1470378dc7dae9eec38d46f9f802fc5c249.

Reason for revert: erg

Original change's description:
> Reduce read/write-SurfacePixels call sites
>
> Change-Id: I657c489c56b93765567be69076fb4c3d526e55a5
> Reviewed-on: https://skia-review.googlesource.com/13068
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=robertphillips@google.com,brianosman@google.com,egdaniel@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: If80f36ddae9d695ee2e5413f3eb49a1f5c32f8a4
Reviewed-on: https://skia-review.googlesource.com/13506
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoReduce read/write-SurfacePixels call sites
Robert Phillips [Fri, 14 Apr 2017 16:51:55 +0000 (12:51 -0400)]
Reduce read/write-SurfacePixels call sites

Change-Id: I657c489c56b93765567be69076fb4c3d526e55a5
Reviewed-on: https://skia-review.googlesource.com/13068
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoAdd jobs for Samsung Chromebook XE303C12
Kevin Lubick [Fri, 14 Apr 2017 15:13:21 +0000 (11:13 -0400)]
Add jobs for Samsung Chromebook XE303C12

Bug: skia:6507
NOTRY=true
Change-Id: I957a72d496ff521972fbc505fcb85cb30c019a93
Reviewed-on: https://skia-review.googlesource.com/13477
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agosk_sp-ify opList creation & storage
Robert Phillips [Thu, 13 Apr 2017 16:23:54 +0000 (12:23 -0400)]
sk_sp-ify opList creation & storage

Change-Id: Idd4d81cd248ad2b2169028ac2e269a66c9cad26b
Reviewed-on: https://skia-review.googlesource.com/13400
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agotools/check-headers-self-sufficient: optionally test one file at a time
Hal Canary [Wed, 5 Apr 2017 19:12:45 +0000 (15:12 -0400)]
tools/check-headers-self-sufficient: optionally test one file at a time

Change-Id: Ie7703e9b6abb7229cd8c2dbcdf305fa4240f416c
Reviewed-on: https://skia-review.googlesource.com/11385
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoAdd documentation for color correct skia to website
Matt Sarett [Fri, 14 Apr 2017 15:06:09 +0000 (11:06 -0400)]
Add documentation for color correct skia to website

BUG=skia:

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=10043

Change-Id: I025bf296518470dd2d5f62d7024a0f5d0fcc91c4
Reviewed-on: https://skia-review.googlesource.com/10043
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoImprove accuracy of cubic classification
Chris Dalton [Thu, 13 Apr 2017 20:26:00 +0000 (14:26 -0600)]
Improve accuracy of cubic classification

- Updates the logic to reflect the Loop-Blinn paper instead of the GPU
  gems website.
- Removes the threshold for detecting local cusps. The serpentine
  codepath works for these cusps anyway, so what we really want to know
  is whether the discriminant is negative.
- Makes sure to not scale the inflection function by 1/0.
- Shifts the inflection function coefficients in d[] so they match the
  paper.
- Stores the cubic discriminant in d[0].

Bug: skia:
Change-Id: I909a522a0fd27c9c8dfbc27d968bc43eeb7a416f
Reviewed-on: https://skia-review.googlesource.com/13304
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoAdd documentation for android-o-roll.skia.org
Ravi Mistry [Fri, 14 Apr 2017 14:27:00 +0000 (10:27 -0400)]
Add documentation for android-o-roll.skia.org

BUG=skia:6438
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13475
Change-Id: I7d76d66b9b665fafc5c89bd4620517ebb9d2b076

Change-Id: I7d76d66b9b665fafc5c89bd4620517ebb9d2b076
Reviewed-on: https://skia-review.googlesource.com/13475
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agofix pathops_unittest test strings
Cary Clark [Fri, 14 Apr 2017 11:46:07 +0000 (07:46 -0400)]
fix pathops_unittest test strings

Using std::string is tons faster than SkString;
multiple callers to std::string don't run into
thread contention but SkString does.

R=csmartdalton@google.com

Change-Id: I0357c6a9c73856bfffbb76e65c275acdfe7d8159
Reviewed-on: https://skia-review.googlesource.com/13471
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoLet region decoders query the type and color space
Matt Sarett [Fri, 14 Apr 2017 13:23:45 +0000 (09:23 -0400)]
Let region decoders query the type and color space

b/36905374, b/32984164
Test: CtsGraphicsTestCases

Written by: romainguy@

Change-Id: Ief4bba6ec3cd3446224199d05f06ffcffaaa72b5
Reviewed-on: https://skia-review.googlesource.com/13472
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoDo non-deterministic FP opt testing on all bots
Brian Osman [Thu, 13 Apr 2017 17:40:29 +0000 (13:40 -0400)]
Do non-deterministic FP opt testing on all bots

Bug: skia:6395
Change-Id: Ic5065bfc91cac83495836cd6d2a7cc059423c96e
Reviewed-on: https://skia-review.googlesource.com/13412
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agorefine .type ...,%function
Mike Klein [Thu, 13 Apr 2017 21:37:38 +0000 (17:37 -0400)]
refine .type ...,%function

.type is an ELF thing, not understood by Mach.
So do the same sort of #define trick we do for HIDDEN.

This expands the use of .type ...,%function to everywhere
that supports it, rather than just where we needed it.
Feels cozier this way.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS,Build-Mac-Clang-arm-Release-iOS,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug

Change-Id: Iaff01b0f3f70ceedf743d7a553915792cdd7e569
Reviewed-on: https://skia-review.googlesource.com/13469
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoUpdate Skia milestone to 60
Heather Miller [Thu, 13 Apr 2017 20:47:16 +0000 (16:47 -0400)]
Update Skia milestone to 60

BUG=skia:

Change-Id: I1354ff96f5ff62c02af1d9cf39f0a971da077b17
Reviewed-on: https://skia-review.googlesource.com/13465
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>

7 years agojumper, explicitly tag functions as functions
Mike Klein [Thu, 13 Apr 2017 20:12:24 +0000 (16:12 -0400)]
jumper, explicitly tag functions as functions

This helps the linker decide to rewrite bl -> blx when linking
Thumb2 SkJumper.o code with ARM SkJumper_generated.o.

The reason Android wasn't failing is because it somehow figured
out to do this without these .type directives.  We use a different
toolchain for ChromeOS builds that I guess needs more handholding.

BUG=skia:6471

CQ_INCLUDE_TRYBOTS=skia.primary:Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug

Change-Id: I4a5c50b6ab7683512776c70aec6e9a75a0999787
Reviewed-on: https://skia-review.googlesource.com/13464
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoremove code directly involved in lock/unlock in SkPixelRef
Mike Reed [Thu, 13 Apr 2017 20:02:22 +0000 (16:02 -0400)]
remove code directly involved in lock/unlock in SkPixelRef

Bug: skia:6481
Change-Id: I3c301ad42b082e04e233aa32d77862036fe998fa
Reviewed-on: https://skia-review.googlesource.com/13463
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agomake picture-imagegenerator more robust on requested infos
Mike Reed [Thu, 13 Apr 2017 19:13:36 +0000 (15:13 -0400)]
make picture-imagegenerator more robust on requested infos

This new unittest would assert before this fix.

Bug: skia:6501
Change-Id: I351ad03f29bccc054f72bfcb838174830dbd008c
Reviewed-on: https://skia-review.googlesource.com/13413
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoFurther unify logic in readSurfacePixels and writeSurfacePixels
Brian Osman [Thu, 13 Apr 2017 18:03:57 +0000 (14:03 -0400)]
Further unify logic in readSurfacePixels and writeSurfacePixels

Hoist simple failure checks to the beginning, apply logic in the same
sequence in both functions. Factor out some common logic. Remove redundant
checking inside other helper functions (that are only used from here).

I'm inching towards better sRGB and color-conversion support in these
functions, but I don't want that intertwined with the legacy premul
software fallback. Next step is probably to diverge at the top-level,
and keep the current code as "legacy" versions, with new versions that
don't have the fallback logic, only used for configs and color space
scenarios where it doesn't matter.

Bug: skia:5853
Change-Id: I327be5f0186a16ceda9440670fb0646acaef7766
Reviewed-on: https://skia-review.googlesource.com/13337
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoMove GrAtlasGlyphCache over to SkArenaAlloc from SkVarAlloc.
Herb Derby [Mon, 10 Apr 2017 15:25:30 +0000 (11:25 -0400)]
Move GrAtlasGlyphCache over to SkArenaAlloc from SkVarAlloc.

Change-Id: Ibeee7235d30c68be9fd4f68ecf30a65c7ecb78f5
Reviewed-on: https://skia-review.googlesource.com/13020
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoc100p bots: put a bandaid on broken Thumb
Mike Klein [Thu, 13 Apr 2017 16:35:29 +0000 (12:35 -0400)]
c100p bots: put a bandaid on broken Thumb

BUG=skia:6471

CQ_INCLUDE_TRYBOTS=skia.primary:Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug

Change-Id: I3faa28c69510fbb33d40abbfb59bf3a7ba5ddb77
Reviewed-on: https://skia-review.googlesource.com/13407
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoremove old-pixelref-api flag from android
Mike Reed [Thu, 13 Apr 2017 18:02:31 +0000 (14:02 -0400)]
remove old-pixelref-api flag from android

call sites have been updated in master

Bug: skia:6481
Change-Id: I7f341cb511126a71fe3077bed3eaa55dc7ff76c3
Reviewed-on: https://skia-review.googlesource.com/13440
Reviewed-by: Mike Reed <reed@google.com>
7 years agodisable this test on NoGPU bots
Mike Klein [Thu, 13 Apr 2017 16:24:53 +0000 (12:24 -0400)]
disable this test on NoGPU bots

It fails at line 336:
  REPORTER_ASSERT(reporter, configs[i]->getBackend().equals(expectedConfigs[i].backend));

Change-Id: Iab71162b9d7b5454d200cb373026992eac92adf8
Reviewed-on: https://skia-review.googlesource.com/13406
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd infra/bots/Makefile to simplify test/train
Eric Boren [Thu, 13 Apr 2017 14:22:11 +0000 (10:22 -0400)]
Add infra/bots/Makefile to simplify test/train

eg.
$ make test
or
$ make train

Update docs accordingly.

Bug: skia:
Change-Id: I069fa686833f0a78f398bd85eb8bb44025cae0d5
Reviewed-on: https://skia-review.googlesource.com/13327
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agomake ShadowUtils unit test pass on no-GPU builds
Mike Klein [Thu, 13 Apr 2017 16:20:21 +0000 (12:20 -0400)]
make ShadowUtils unit test pass on no-GPU builds

It thinks it should fail, but it doesn't.

Change-Id: Ie97f57dd7a9040a817b59186b2f8fa704bdda3e9
Reviewed-on: https://skia-review.googlesource.com/13404
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoUse a simpler method for calculating atan
Herb Derby [Thu, 13 Apr 2017 16:15:50 +0000 (12:15 -0400)]
Use a simpler method for calculating atan

Change-Id: I675851350c02c85f3f212c214766b3e8a6761dc9
Reviewed-on: https://skia-review.googlesource.com/13402
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>

7 years agore-disable lld on MSAN bots
Mike Klein [Thu, 13 Apr 2017 15:55:50 +0000 (11:55 -0400)]
re-disable lld on MSAN bots

When using lld, calls to clock_gettime() end up in the real libc
clock_gettime().  When using ld, calls to clock_gettime() end up in
__interceptor_clock_gettime().

Don't know why yet.

Change-Id: I41f54218eb961e07ed2ef2c37b864e9aeeb49662
Reviewed-on: https://skia-review.googlesource.com/13403
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoChange infra recipe module to use the Go asset
Eric Boren [Thu, 13 Apr 2017 14:00:43 +0000 (10:00 -0400)]
Change infra recipe module to use the Go asset

Bug: skia:
Change-Id: Ib2fa0b971f201ea2f16afd0467d7882b66b4047c
Reviewed-on: https://skia-review.googlesource.com/13331
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRemove GrRenderTargetOpList::discard & move functionality to GrRenderTargetContext
Robert Phillips [Thu, 13 Apr 2017 14:13:16 +0000 (10:13 -0400)]
Remove GrRenderTargetOpList::discard & move functionality to GrRenderTargetContext

Change-Id: If84ffb7b01543a44179837d683c0a4c004e52f63
Reviewed-on: https://skia-review.googlesource.com/13335
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoremove dead code around replayClips
Mike Reed [Thu, 13 Apr 2017 15:06:30 +0000 (11:06 -0400)]
remove dead code around replayClips

Bug: skia:
Change-Id: I208bf41846265524d86f65de660311199fefc158
Reviewed-on: https://skia-review.googlesource.com/13338
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoSet skia_enable_gpu=false on MSAN builds.
Mike Klein [Thu, 13 Apr 2017 15:15:46 +0000 (11:15 -0400)]
Set skia_enable_gpu=false on MSAN builds.

This should get us past the crash at startup.

The next problem I'd expect to see, if any, should involve HumanizeMS()
and chrono::steady_clock::now().

Change-Id: I14dbe6bedd6939c1a355db8dba74ab0853db7706
Reviewed-on: https://skia-review.googlesource.com/13401
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoStore the GrBackend we are using on GrContext
Greg Daniel [Thu, 13 Apr 2017 13:54:12 +0000 (09:54 -0400)]
Store the GrBackend we are using on GrContext

As we start adding more functionality to external clients and passing
data around, we will need to know what backend we are working with at
a layer higher that GrGpu.

TBR=bsalomon@google.com

Bug: skia:
Change-Id: Ifee527ea0c1046469401a39e0500f84a46bb3081
Reviewed-on: https://skia-review.googlesource.com/13275
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoMake all GrRenderTargetOpList ops store a GrRenderTarget pointer
Robert Phillips [Thu, 13 Apr 2017 13:15:47 +0000 (09:15 -0400)]
Make all GrRenderTargetOpList ops store a GrRenderTarget pointer

Change-Id: I39652b4b8b2ba96b5206304dfc51395283c3fe16
Reviewed-on: https://skia-review.googlesource.com/13332
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agotry -B
Mike Klein [Thu, 13 Apr 2017 13:49:02 +0000 (09:49 -0400)]
try -B

Change-Id: I4e03d668197d76feb71113f47bae24fdd2fc6b6f
Reviewed-on: https://skia-review.googlesource.com/13334
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoDo sRGB premul/unpremul on the GPU
Brian Osman [Wed, 12 Apr 2017 21:07:22 +0000 (17:07 -0400)]
Do sRGB premul/unpremul on the GPU

Previously, the early check would decide that sRGB pixel configs were okay
(because they're 8888-unorm). Then we'd go to make the effect and decide
that we didn't want them to work. This led to the software fallback.

The software fallback was obviously slower, but also doing non-linear
premul/unpremul operations. Eventually, whether or not the premul is
linear should be dictated by the destination color space, but for now,
this is an improvement (and only affects the one GM that tests this
feature).

Bug: skia:
Change-Id: I0cf1ad5a7f552135ac1da728c6db2977652a433b
Reviewed-on: https://skia-review.googlesource.com/13321
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoAccess EGL_KHR_fence_sync via eglGetProcAddress
Chris Dalton [Wed, 12 Apr 2017 21:32:53 +0000 (15:32 -0600)]
Access EGL_KHR_fence_sync via eglGetProcAddress

Bug: skia:6497
Change-Id: Icf04de6b1facc94e8c45085575cb45189c6c649c
Reviewed-on: https://skia-review.googlesource.com/13306
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoUpdate clang_linux to version 4
Kevin Lubick [Thu, 13 Apr 2017 12:00:16 +0000 (08:00 -0400)]
Update clang_linux to version 4

Bug: skia:
Change-Id: Iab4fcd7b8f17fa7bf478e879a325759e0c622b1a
Reviewed-on: https://skia-review.googlesource.com/13120
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoremove unused fURI from pixelref
Mike Reed [Thu, 13 Apr 2017 02:29:00 +0000 (22:29 -0400)]
remove unused fURI from pixelref

Bug: skia:
Change-Id: Ib25569862063b765b823b68ffdc22349a606f940
Reviewed-on: https://skia-review.googlesource.com/13324
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agolocking methods should only be virtual in legacy mode
Mike Reed [Wed, 12 Apr 2017 19:11:02 +0000 (15:11 -0400)]
locking methods should only be virtual in legacy mode

However, they should not be pure-virtual, otherwise the client can't migrate to the new
api independent of undef-ing the flag.

Bug: skia:6481
Change-Id: I3c9107b145c4c53297891224946b080ce729f9b0
Reviewed-on: https://skia-review.googlesource.com/13272
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFix cubic KLM solving
csmartdalton [Mon, 10 Apr 2017 17:58:17 +0000 (11:58 -0600)]
Fix cubic KLM solving

Fixes calc_inverse_transpose_power_basis_matrix() to look for the
determinant with the largest ABSOLUTE VALUE.

BUG=skia:

Change-Id: I70e26cc7ab9955d2e094fb7581f0ec9f5e0ae2d9
Reviewed-on: https://skia-review.googlesource.com/13081
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoAdd job for Acer chromebook (TegraK1)
Kevin Lubick [Wed, 12 Apr 2017 18:35:53 +0000 (14:35 -0400)]
Add job for Acer chromebook (TegraK1)

Known issue: Nanobench fails with
/home/chronos/user/bin/nanobench: symbol lookup error:
/home/chronos/user/bin/nanobench: undefined symbol: eglCreateSyncKHR

Bug: skia:6468
NOTRY=true
Change-Id: Idb1291c2da835d093826022f4cab4069e28c5964
Reviewed-on: https://skia-review.googlesource.com/13188
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoAdd Win IntelHD4400 bot.
Ben Wagner [Wed, 12 Apr 2017 16:40:45 +0000 (12:40 -0400)]
Add Win IntelHD4400 bot.

Bug: skia:6488
NOTRY=true

Change-Id: Icab4bf478925fb48f7facd6c9883a2753d04aaac
Reviewed-on: https://skia-review.googlesource.com/13191
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agojumper, bilinear and bicubic sampling stages
Mike Klein [Wed, 12 Apr 2017 16:52:48 +0000 (12:52 -0400)]
jumper, bilinear and bicubic sampling stages

This splits SkImageShaderContext into three parts:
   - SkJumper_GatherCtx: always, already done
   - SkJumper_SamplerCtx: when bilinear or bicubic
   - MiscCtx: other little bits (the matrix, paint color, tiling limits)

Thanks for the snazzy allocator that allows this Herb!

Both SkJumper and SkRasterPipeline_opts.h should be speaking all the
same types now.

I've copied the comments about bilinear/bicubic to SkJumper with little
typo fixes and clarifications.

Change-Id: I4ba7b7c02feba3f65f5292169a22c060e34933c6
Reviewed-on: https://skia-review.googlesource.com/13269
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAllow including of vulkan.h as a required public api when using vulkan.
Greg Daniel [Wed, 12 Apr 2017 17:29:50 +0000 (13:29 -0400)]
Allow including of vulkan.h as a required public api when using vulkan.

Bug: skia:
Change-Id: I3ac382edc12144dcda9ef168f752b14878e0e5ac
Reviewed-on: https://skia-review.googlesource.com/13262
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoandroid-only api to reset the fields of a pixelref
Mike Reed [Wed, 12 Apr 2017 16:57:07 +0000 (12:57 -0400)]
android-only api to reset the fields of a pixelref

BUG=skia:6494

Change-Id: I97c8a93849a13f0c5fd57c8a150ecc2ce363d8f3
Reviewed-on: https://skia-review.googlesource.com/13250
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoUpdate Android autoroller documentation
Ravi Mistry [Wed, 12 Apr 2017 16:51:05 +0000 (12:51 -0400)]
Update Android autoroller documentation

BUG=skia:5538
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13266
Change-Id: I76fa8db5ea9916fab2ef0f8058157dac96d52517

Change-Id: I76fa8db5ea9916fab2ef0f8058157dac96d52517
Reviewed-on: https://skia-review.googlesource.com/13266
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoAdd jobs for Samsung Chromebook Plus
Kevin Lubick [Wed, 12 Apr 2017 14:50:18 +0000 (10:50 -0400)]
Add jobs for Samsung Chromebook Plus

Also refactor the cipd package used to compile these, as it can be reused.

Bug: skia:
NOTRY=true
Change-Id: I53cf5b7fdfcb8cafd50791a0beaaf557fafa65c3
Reviewed-on: https://skia-review.googlesource.com/13252
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agofix drawDRRect for fuzzer
Cary Clark [Wed, 12 Apr 2017 16:03:15 +0000 (12:03 -0400)]
fix drawDRRect for fuzzer

make assert abort instead

Bug: skia:6450
Change-Id: I23ff51124fa8f069f2c7e5260f800017d7475d46
Reviewed-on: https://skia-review.googlesource.com/13197
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agomake all gather_*() use SkJumper_GatherCtx
Mike Klein [Wed, 12 Apr 2017 15:51:11 +0000 (11:51 -0400)]
make all gather_*() use SkJumper_GatherCtx

SkJumper_GatherCtx is a prefix of SkImageShaderContext, so
this is a no-op.  It helps to keep things straight, and I
do want to split apart the GatherCtx from a new SamplingCtx.

Change-Id: I9c5f436b096624c2809e1f810e9bcd6c6b00b883
Reviewed-on: https://skia-review.googlesource.com/13264
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd/edit README files for infra/recipes
Eric Boren [Wed, 12 Apr 2017 14:17:36 +0000 (10:17 -0400)]
Add/edit README files for infra/recipes

Bug: skia:6473
Change-Id: I050df47a5a3f633263f0ca6258e83e96b78d7957
Reviewed-on: https://skia-review.googlesource.com/13123
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoFix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
Matt Sarett [Wed, 12 Apr 2017 15:52:47 +0000 (11:52 -0400)]
Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix

Fixes cts tests.

b/37161109
b/37237678

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

Bug: skia:
Change-Id: I438b8b17f4c7c5bfcb50dfa22af1ddb97b905088
Reviewed-on: https://skia-review.googlesource.com/13261
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""
Matt Sarett [Wed, 12 Apr 2017 15:50:08 +0000 (15:50 +0000)]
Revert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""

This reverts commit a50a11c17ed9037d3e60d8319727583dba803cec.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "SkColorSpaceXformer: Preserve local matrix on shaders"
>
> This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb.
>
> Reason for revert: Wrong thing to revert
>
> Original change's description:
> > SkColorSpaceXformer: Preserve local matrix on shaders
> >
> > Also, do not drop unknown shaders.
> >
> > Fixes cts tests.
> >
> > b/37161109
> > b/37237678
> >
> > Bug: skia:
> > Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
> > Reviewed-on: https://skia-review.googlesource.com/13246
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6
> Reviewed-on: https://skia-review.googlesource.com/13258
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I2dfac7d41caf0e32d3bb5f3f330fff4970c0545e
Reviewed-on: https://skia-review.googlesource.com/13260
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local...
Matt Sarett [Wed, 12 Apr 2017 15:49:44 +0000 (15:49 +0000)]
Revert "Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix"

This reverts commit e5efa51b2acc86d1993132348d5b465855a653cc.

Reason for revert: MSAN

Original change's description:
> Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
>
> Fixes cts tests.
>
> b/37161109
> b/37237678
>
> Bug: skia:
> Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd
> Reviewed-on: https://skia-review.googlesource.com/13249
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I2b78c7b32997344136c784dc77675dafca37565e
Reviewed-on: https://skia-review.googlesource.com/13259
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "SkColorSpaceXformer: Preserve local matrix on shaders"
Matt Sarett [Wed, 12 Apr 2017 15:48:35 +0000 (15:48 +0000)]
Revert "SkColorSpaceXformer: Preserve local matrix on shaders"

This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> SkColorSpaceXformer: Preserve local matrix on shaders
>
> Also, do not drop unknown shaders.
>
> Fixes cts tests.
>
> b/37161109
> b/37237678
>
> Bug: skia:
> Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
> Reviewed-on: https://skia-review.googlesource.com/13246
> Commit-Queue: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6
Reviewed-on: https://skia-review.googlesource.com/13258
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agotidy up ok help
Mike Klein [Wed, 12 Apr 2017 15:02:44 +0000 (11:02 -0400)]
tidy up ok help

-m, -s, and -w are now vias.

No real need to advertise -h given that if you just run ok with no
arguments it prints the help, but to be friendly accept -h and --help.

Change-Id: Id23936106cfea7d670cf0eb9773a5851055576f1
Reviewed-on: https://skia-review.googlesource.com/13254
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agojumper, rgb<->hsl
Mike Klein [Wed, 12 Apr 2017 12:35:41 +0000 (08:35 -0400)]
jumper, rgb<->hsl

I've rearranged while porting, I hope making the logic clearer.
Exactly one gm is affected, highcontrastfilter.

The most interesting line is this, from hsl_to_rgb:

  F t2 = if_then_else(t < 0.0_f, t + 1.0_f,

I had to write 0.0_f (instead of the usual 0) to force Clang to compare
against a zero register instead of a 16-byte zero constant in memory.
Register pressure is high in hsl_to_rgb, so something must have kicked
in to prefer memory over zeroing a register.

No big deal.  It makes the code read more symmetrically anyway.

Change-Id: I1a5ced72216234587760c6f803fb69315d18fae0
Reviewed-on: https://skia-review.googlesource.com/13242
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoAdd SkCodec methods for individual frames
Leon Scroggins III [Wed, 12 Apr 2017 14:49:52 +0000 (10:49 -0400)]
Add SkCodec methods for individual frames

Add a version of getFrameInfo that returns information about a single
frame, allowing a client to skip creating the entire vector.

Add getFrameCount, for determining the number of frames in the image.

Reimplement std::vector<FrameInfo> getFrameInfo with the new methods.

Updates to the test:
- getFrameInfo(size_t, FrameInfo*) fails before parsing
- Test both versions of getFrameInfo
- Recreate the codec between tests, to test parsing

Change-Id: I77c19087f2f8dcf2c536d80167b18ad1ca96ae94
Reviewed-on: https://skia-review.googlesource.com/13190
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Chris Blume <cblume@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoFix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
Matt Sarett [Wed, 12 Apr 2017 14:21:30 +0000 (10:21 -0400)]
Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd
Reviewed-on: https://skia-review.googlesource.com/13249
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkColorSpaceXformer: Preserve local matrix on shaders
Matt Sarett [Wed, 12 Apr 2017 13:19:15 +0000 (09:19 -0400)]
SkColorSpaceXformer: Preserve local matrix on shaders

Also, do not drop unknown shaders.

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
Reviewed-on: https://skia-review.googlesource.com/13246
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoOverride setDrawFilter() in SkColorSpaceXformCanvas
Matt Sarett [Wed, 12 Apr 2017 13:13:39 +0000 (09:13 -0400)]
Override setDrawFilter() in SkColorSpaceXformCanvas

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I12d78b631b4056a78cbbb2962144e8cc62eb931a
Reviewed-on: https://skia-review.googlesource.com/13244
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRe-align tests in recipes with the names of reality
Kevin Lubick [Wed, 12 Apr 2017 12:31:48 +0000 (08:31 -0400)]
Re-align tests in recipes with the names of reality

For example, renaming GN_Android to Android

Bug: skia:
Change-Id: Ib71001b3cbecc3d5a0f3bb1bf0cf1f48dc23cfe4
Reviewed-on: https://skia-review.googlesource.com/13182
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoAdd docs for downloading prebuilt binaries from CIPD
Kevin Lubick [Mon, 10 Apr 2017 19:08:59 +0000 (15:08 -0400)]
Add docs for downloading prebuilt binaries from CIPD

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13101
Bug: skia:
Change-Id: Iefa8070c65881ff8c05a3b88aa8385fcc1a427ff

Change-Id: Iefa8070c65881ff8c05a3b88aa8385fcc1a427ff
Reviewed-on: https://skia-review.googlesource.com/13101
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoremove pixelref flag from google3
Mike Reed [Wed, 12 Apr 2017 11:40:04 +0000 (07:40 -0400)]
remove pixelref flag from google3

Bug: skia:
Change-Id: I0a67b563fcd29d0d0ee3219754ab4fbc256b75aa
Reviewed-on: https://skia-review.googlesource.com/13227
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>