389c557338afd82be5d87735b5ec1cf57e85b26c |
|
14-Apr-2017 |
Cary Clark <caryclark@google.com> |
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>
/external/skia/tests/PathOpsExtendedTest.cpp
|
4d1955c43aaab045511b74a495dfbea4ef0057c5 |
|
10-Mar-2017 |
Ben Wagner <bungeman@google.com> |
Fix SkFILEStream. Change-Id: I8c66e4e3e857227aed3d0bc497982f4c0d96d917 Reviewed-on: https://skia-review.googlesource.com/9498 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
267be7fbc38174652c750ec69d8dc1feaa72db0c |
|
13-Feb-2017 |
Mike Reed <reed@google.com> |
Revert "Revert "IWYU"" This reverts commit 3c727d2386059c1d7cbdcdc9bef5fa18ed33667e. BUG=skia: Change-Id: I72e9b40fec96d044e0ac12906669a52529e77882 Reviewed-on: https://skia-review.googlesource.com/8356 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
3c727d2386059c1d7cbdcdc9bef5fa18ed33667e |
|
11-Feb-2017 |
Robert Phillips <robertphillips@google.com> |
Revert "IWYU" This reverts commit 2aeae78a2ce3b036f0401fd0381d6fd6e2a7a1fc. Reason for revert: It looks like this is breaking the android roll out/target/product/angler/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_graphics_Canvas.o frameworks/base/core/jni/android_graphics_Canvas.cpp" frameworks/base/core/jni/android_graphics_Canvas.cpp:178:15: error: incomplete type 'SkRegion' named in nested name specifier Original change's description: > IWYU > > BUG=skia: > > Change-Id: Ib6b4d52841dbe3fa69a86ddb6b97d6a5d0f004ee > Reviewed-on: https://skia-review.googlesource.com/8231 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> > TBR=fmalita@chromium.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: If979c3dd9dc3fe08ac450ced113b3d1e9a86f02a Reviewed-on: https://skia-review.googlesource.com/8346 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
2aeae78a2ce3b036f0401fd0381d6fd6e2a7a1fc |
|
10-Feb-2017 |
Mike Reed <reed@google.com> |
IWYU BUG=skia: Change-Id: Ib6b4d52841dbe3fa69a86ddb6b97d6a5d0f004ee Reviewed-on: https://skia-review.googlesource.com/8231 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
59d5a0e3f560da40e0ae7036a01d7d58ce3718d8 |
|
23-Jan-2017 |
Cary Clark <caryclark@google.com> |
Revert "offset angle check edge in common" This reverts commit d2eb581ebc8f8009e80cccccd74d5b341ef5bd5b. Reason for revert: broke Google3 MSAN run of dm Original change's description: > offset angle check edge in common > > When curves cross, their intersection points may be nearby, but not exactly the same. > Sort the angles formed by the crossing curves when all angles don't have the same > origin. > > This sets up the framework to solve test case that currently fail (e.g., joel6) but > does not fix all related test cases (e.g., joel9). > > All older existing test cases, including extended tests, pass. > > Rework the test framework to better report when tests expected to produce failing > results now pass. > > Add new point and vector operations to support offset angles. > > TBR=reed@google.com > BUG=skia:6041 > > Change-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e > Reviewed-on: https://skia-review.googlesource.com/6624 > Commit-Queue: Cary Clark <caryclark@google.com> > Reviewed-by: Cary Clark <caryclark@google.com> > TBR=caryclark@google.com,reviews@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia:6041 Change-Id: I43db0808522ac44aceeb4f70e296167ea84a3663 Reviewed-on: https://skia-review.googlesource.com/7373 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
d2eb581ebc8f8009e80cccccd74d5b341ef5bd5b |
|
18-Jan-2017 |
Cary Clark <caryclark@google.com> |
offset angle check edge in common When curves cross, their intersection points may be nearby, but not exactly the same. Sort the angles formed by the crossing curves when all angles don't have the same origin. This sets up the framework to solve test case that currently fail (e.g., joel6) but does not fix all related test cases (e.g., joel9). All older existing test cases, including extended tests, pass. Rework the test framework to better report when tests expected to produce failing results now pass. Add new point and vector operations to support offset angles. TBR=reed@google.com BUG=skia:6041 Change-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e Reviewed-on: https://skia-review.googlesource.com/6624 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
561c1b07eff3263905b01d6dede359d08aa8f2f3 |
|
09-Jan-2017 |
Ben Wagner <bungeman@google.com> |
Rename function in PathOpsExtendedTest which takes strings. A few methods in PathOpsExtendedTest were changed to write to SkStrings instead of SkStreams. However, the names of these functions confusingly still have "Stream" in their names. This CL is just a static function rename and some small clean-up. Change-Id: Idf21b2aba28a2f984ef30cb5c18e26a43a9c7201 Reviewed-on: https://skia-review.googlesource.com/6819 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
ff80c2ab305a25434d17fbcbec02b20d69b05227 |
|
07-Jan-2017 |
Mike Reed <reed@google.com> |
remove SkMemoryWStream -- unused externally BUG=skia: Change-Id: Idbc9af4e703238871f56f623cd616fb7a5e686d3 Reviewed-on: https://skia-review.googlesource.com/6727 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
1fcc40474f1ad1f522d0a61086e25a71ca0a6881 |
|
30-Nov-2016 |
Hal Canary <halcanary@google.com> |
SkEncodeImage: no more link-time registration Also, no more SkImageEncoder class. SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS now only guards some old API shims. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5006 Change-Id: I3797f584f3e8e12ade10d31e8733163453725f40 Reviewed-on: https://skia-review.googlesource.com/5006 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
/external/skia/tests/PathOpsExtendedTest.cpp
|
1326068147ee60de138061a3fc1157fcfd5d017b |
|
24-Oct-2016 |
caryclark <caryclark@google.com> |
formalize host debugging Pathops writes files, anticipating upcoming crashes, and verifies the results against regions. Formalize these debugging methods so that they are more easily triggered by hosts outside of skia unit tests. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2441763003 Review-Url: https://codereview.chromium.org/2441763003
/external/skia/tests/PathOpsExtendedTest.cpp
|
30b9fdd6a1d607bde20c793af65b5e2e8a1737ca |
|
31-Aug-2016 |
caryclark <caryclark@google.com> |
pathops coincident work This is working towards fixing all bugs around simplifying the tiger. This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237223002 TBR=reed@google.com BUG=skia:5131 Review-Url: https://codereview.chromium.org/2237223002
/external/skia/tests/PathOpsExtendedTest.cpp
|
d5b9173fe869584f01f0e8c468ad0daf03fbc958 |
|
09-Aug-2016 |
caryclark <caryclark@google.com> |
add flaky test option One fuzzer generated pathops test fails everywhere except for one builder. Add a flaky state to the pathops test framework to handle this until I can investigate further. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221153005 Review-Url: https://codereview.chromium.org/2221153005
/external/skia/tests/PathOpsExtendedTest.cpp
|
4e44efe50474d4eebcb30b762e784b3ef2126750 |
|
04-Aug-2016 |
halcanary <halcanary@google.com> |
SkRTConf: eliminate GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
/external/skia/tests/PathOpsExtendedTest.cpp
|
b97963401220da82455e0dfe1f7206e7e8b249e1 |
|
04-Aug-2016 |
mtklein <mtklein@google.com> |
Revert of SkRTConf: reduce functionality to what we use, increase simplicity (patchset #8 id:150001 of https://codereview.chromium.org/2212473002/ ) Reason for revert: missed GrVkPipelineStateCache Original issue's description: > SkRTConf: reduce functionality to what we use, increase simplicity > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 > DOCS_PREVIEW= https://skia.org/?cl=2212473002 > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > [mtklein] > TBR=reed@google.com > Only removing unused public API. > > Committed: https://skia.googlesource.com/skia/+/ef59974708dade6fa72fb0218d4f8a9590175c47 TBR=halcanary@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2215433003
/external/skia/tests/PathOpsExtendedTest.cpp
|
ef59974708dade6fa72fb0218d4f8a9590175c47 |
|
04-Aug-2016 |
halcanary <halcanary@google.com> |
SkRTConf: reduce functionality to what we use, increase simplicity GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
/external/skia/tests/PathOpsExtendedTest.cpp
|
55888e44171ffd48b591d19256884a969fe4da17 |
|
18-Jul-2016 |
caryclark <caryclark@google.com> |
pathops coincidence and security rewrite Most changes stem from working on an examples bracketed by #if DEBUG_UNDER_DEVELOPMENT // tiger These exposed many problems with coincident curves, as well as errors throughout the code. Fixing these errors also fixed a number of fuzzer-inspired bug reports. * Line/Curve Intersections Check to see if the end of the line nearly intersects the curve. This was a FIXME in the old code. * Performance Use a central chunk allocator. Plumb the allocator into the global variable state so that it can be shared. (Note that 'SkGlobalState' is allocated on the stack and is visible to children functions but not other threads.) * Refactor Let SkOpAngle grow up from a structure to a class. Let SkCoincidentSpans grow up from a structure to a class. Rename enum Alias to AliasMatch. * Coincidence Rewrite Add more debugging to coincidence detection. Parallel debugging routines have read-only logic to report the current coincidence state so that steps through the logic can expose whether things got better or worse. More functions can error-out and cause the pathops engine to non-destructively exit. * Accuracy Remove code that adjusted point locations. Instead, offset the curve part so that sorted curves all use the same origin. Reduce the size (and influence) of magic numbers. * Testing The debug suite with verify and the full release suite ./out/Debug/pathops_unittest -v -V ./out/Release/pathops_unittest -v -V -x expose one error. That error is captured as cubics_d3. This error exists in the checked in code as well. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128633003 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128633003 Review-Url: https://codereview.chromium.org/2128633003
/external/skia/tests/PathOpsExtendedTest.cpp
|
3f0753d3eccece8ac7f02f6af36d66a96c3dfb26 |
|
28-Jun-2016 |
caryclark <caryclark@google.com> |
fix fuzz bugs Detect more places where the pathops numerics cause numbers to become nearly identical and subsequently fail. These tests have extreme inputs and cannot succeed. Also remove the expectSuccess parameter from PathOpsDebug and check instead in the test framework. R=mbarbella@chromium.org TBR=reed@google.com BUG=623072,623022 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103513002 Review-Url: https://codereview.chromium.org/2103513002
/external/skia/tests/PathOpsExtendedTest.cpp
|
dae6b97705fde08958b1a36fa6ce685d28fc692c |
|
08-Jun-2016 |
caryclark <caryclark@google.com> |
fix pathops fuzz bugs Fail out in a couple of new places when the input data is very large and exceeds the limits of the pathops machinery. Most of the change here plumbs in a way to exclude an assert in one of these exceptional cases. The current SkAddIntersection implementation and the inner functions it calls has no way to report an error to the root caller for an early exit, so rather than add that in, exclude the assert when the test that would trigger it runs (allowing the test to otherwise ensure that it properly fails). TBR=reed@google.com BUG=617586,617635 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046713003 Review-Url: https://codereview.chromium.org/2046713003
/external/skia/tests/PathOpsExtendedTest.cpp
|
2bec26a71698105729c6a7cb0163f499b4361840 |
|
26-May-2016 |
caryclark <caryclark@google.com> |
fix security bug This fix is a tradeoff. It changes intersection to treat a case where one coincident run is intersected at one point and the other edge is not as continuing to be a span. The old code tried to treat this as a single point. The old code is probably right, but this change alone made the data structures inconsistent. Later, extending the coincident runs would fail by incorrectly discarding the single point intersection. As a result, this fixes the security test and one other, but makes a different test fail. Isolating the failure uncovered a reduced case that fails with and without the change, so there are more serious problems here. Those problems are addressed in a separate CL. Many of the test edits below remove ill-thought out debugging messaging that fire off global state, which isn't usable in a multi-threaded test environment. In the end, with this fix, all existing tests (modulo one new failure and one new non-failure) pass in debug and in the extended release test suites. TBR=reed@google.com BUG=614248 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018513003 Review-Url: https://codereview.chromium.org/2018513003
/external/skia/tests/PathOpsExtendedTest.cpp
|
086eea93b1f8253420c233c33cdabc0e74b08091 |
|
05-May-2016 |
reed <reed@google.com> |
Revert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https://codereview.chromium.org/1948193002/ ) Reason for revert: broken the Mac and Linux builders, e.g.: https://build.chromium.org/p/chromium/builders/Mac/builds/15151 https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052 Original issue's description: > SK_DECLARE_STATIC_MUTEX -> static SkMutex > > There's no need to use a macro to declare static SkMutexes any more > (and there's likewise no need to restrict them to global scope). > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002 > > Committed: https://skia.googlesource.com/skia/+/5e56cfd3fa1041dbb83899844fb92fa9a2ef1009 TBR=mtklein@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/1945353003
/external/skia/tests/PathOpsExtendedTest.cpp
|
5e56cfd3fa1041dbb83899844fb92fa9a2ef1009 |
|
05-May-2016 |
mtklein <mtklein@chromium.org> |
SK_DECLARE_STATIC_MUTEX -> static SkMutex There's no need to use a macro to declare static SkMutexes any more (and there's likewise no need to restrict them to global scope). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002 Review-Url: https://codereview.chromium.org/1948193002
/external/skia/tests/PathOpsExtendedTest.cpp
|
26ad22ab61539e3d3b6bc5e0da8dcebbd52a53de |
|
16-Oct-2015 |
caryclark <caryclark@google.com> |
Enabling clip stack flattening exercises path ops. Iterating through the 903K skps that represent the imagable 1M top web pages triggers a number of bugs, some of which are addressed here. Some web pages trigger intersecting cubic representations of arc with their conic counterparts. This exposed a flaw in coincident detection that caused an infinite loop. The loop alternatively extended the coincident section and, determining the that the bounds of the curve pairs did not overlap, deleted the extension. Track the number of times the coincident detection is called, and if it exceeds an empirically found limit, assume that the curves are coincident and force it to be so. The loop count limit can be determined by enabling DEBUG_T_SECT_LOOP_COUNT and running all tests. The largest count is reported on completion. Another class of bugs was caused by concident detection duplicating nearly identical points that had been merged earlier. To track these bugs, the 'handle coincidence' code was duplicated as a const debug variety that reported if one of a dozen or so irregularities are present; then it is easier to see when a block of code that fixes one irregularity regresses another. Creating the debug const code version exposed some non-debug code that could be const, and some that was experimental and could be removed. Set DEBUG_COINCIDENCE to track coincidence health and handling. For running on Chrome, DEBUG_VERIFY checks the result of pathops against the same operation using SkRegion to verify that the results are nearly the same. When visualizing the pathops work using tools/pathops_visualizer.htm, set DEBUG_DUMP_ALIGNMENT to see the curves after they've been aligned for coincidence. Other bugs fixed include detecting when a section of a pair of curves have devolved into lines and are coincident. TBR=reed@google.com Review URL: https://codereview.chromium.org/1394503003
/external/skia/tests/PathOpsExtendedTest.cpp
|
96fcdcc219d2a0d3579719b84b28bede76efba64 |
|
27-Aug-2015 |
halcanary <halcanary@google.com> |
Style Change: NULL->nullptr DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
/external/skia/tests/PathOpsExtendedTest.cpp
|
60e0fee6d4acff638ccc9670c4055aced529a7a0 |
|
26-Aug-2015 |
bungeman <bungeman@google.com> |
Remove include of stdlib.h from SkTypes.h. Unfortunately, immintrin.h (which is also included by SkTypes) includes xmmintrin.h which includes mm_malloc.h which includes stdlib.h for malloc even though, from the implementation, it is difficult to see why. Fortunately, arm_neon.h does not seem to be involved in such shenanigans, so building for Android will keep things sane. TBR=reed@google.com Doesn't change Skia API, just moves an include. Review URL: https://codereview.chromium.org/1313203003
/external/skia/tests/PathOpsExtendedTest.cpp
|
d4349723fac9c0fd4dcf8c275fb7c756bdfdff7b |
|
23-Jul-2015 |
caryclark <caryclark@google.com> |
fix path ops fuzz buster Mark collapsed segments as done and remove collapsed segment references from the coincidence array. Also add test names to global debugging. R=fmalita@chromium.org BUG=512592 Review URL: https://codereview.chromium.org/1250293002
/external/skia/tests/PathOpsExtendedTest.cpp
|
1b24933e52f50773de29332387a12721811f3012 |
|
07-Jul-2015 |
mtklein <mtklein@chromium.org> |
Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. SkThread.h doesn't do anything anymore execept include those two, and thankfully, it doesn't seem to be mentioned outside Skia. No public API changes. TBR=reed@google.com BUG=skia: Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc Review URL: https://codereview.chromium.org/1215393002
/external/skia/tests/PathOpsExtendedTest.cpp
|
02802f64ea0b1fc9223386328a95280b74092c94 |
|
02-Jul-2015 |
jvanverth <jvanverth@google.com> |
Revert of Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. (patchset #4 id:60001 of https://codereview.chromium.org/1215393002/) Reason for revert: Breaking the roll. E.g. on android_chromium_gn_compile_dbg: FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/skia/ext/libskia.SkMemory_new_handler.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=1 -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DDONT_EMBED_BUILD_METADATA -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_CONFIGURATION_POLICY -DENABLE_SUPERVISED_USERS=1 -DENABLE_AUTOFILL_DIALOG=1 -DUSE_PROPRIETARY_CODECS -DV8_USE_EXTERNAL_STARTUP_DATA -DVIDEO_HOLE=1 -DMOBILE_SAFE_BROWSING -DSAFE_BROWSING_SERVICE -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSKIA_IMPLEMENTATION=1 -DSK_ARM_HAS_OPTIONAL_NEON -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DXML_STATIC -I../.. -Igen -I../../third_party/skia/include/private -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/zlib -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -I../../third_party/android_tools/ndk/sources/android/cpufeatures -fno-strict-aliasing -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mthumb -mthumb-interwork -fno-tree-sra -fno-caller-saves -funwind-tables -fPIC -pipe -ffunction-sections -funwind-tables -fno-short-enums -finline-limit=64 -mfpu=vfpv3-d16 -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fvisibility=hidden --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-16/arch-arm -Os -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -Wno-format -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-extra -Wno-ignored-qualifiers -Wno-type-limits -Wno-unused-local-typedefs -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-narrowing -Wno-literal-suffix -Wno-error=c++0x-compat -Wno-non-virtual-dtor -Wno-sign-promo -c ../../skia/ext/SkMemory_new_handler.cpp -o obj/skia/ext/libskia.SkMemory_new_handler.o ../../skia/ext/SkMemory_new_handler.cpp:12:52: fatal error: third_party/skia/include/core/SkThread.h: No such file or directory #include "third_party/skia/include/core/SkThread.h" Original issue's description: > Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. > > SkThread.h doesn't do anything anymore execept include those two, > and thankfully, it doesn't seem to be mentioned outside Skia. > > No public API changes. > TBR=reed@google.com > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1214603003
/external/skia/tests/PathOpsExtendedTest.cpp
|
c50acf2321d7a934c80d754e9cbe936dfb8eb4cc |
|
01-Jul-2015 |
mtklein <mtklein@chromium.org> |
Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. SkThread.h doesn't do anything anymore execept include those two, and thankfully, it doesn't seem to be mentioned outside Skia. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1215393002
/external/skia/tests/PathOpsExtendedTest.cpp
|
00b621cfc0dac2a0028757a974de33a78bb8579d |
|
18-Jun-2015 |
mtklein <mtklein@chromium.org> |
Add sk_parallel_for() This should be a drop-in replacement for most for-loops to make them run in parallel: for (int i = 0; i < N; i++) { code... } ~~~> sk_parallel_for(N, [&](int i) { code... }); This is just syntax sugar over SkTaskGroup to make this use case really easy to write. There's no more overhead that we weren't already forced to add using an interface like batch(), and no extra heap allocations. I've replaced 3 uses of SkTaskGroup with sk_parallel_for: 1) My unit tests for SkOnce. 2) Cary's path fuzzer. 3) SkMultiPictureDraw. Performance should be the same. Please compare left and right for readability. :) BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1184373003
/external/skia/tests/PathOpsExtendedTest.cpp
|
38a017bf44aa1ad25291ad0cbb4ccbe8bd31ab0b |
|
13-May-2015 |
caryclark <caryclark@google.com> |
clean up tests Confirm that no path ops tests are flaky, and clean up errors around that. The test framework was incorrectly checking for >= MAX_ERRORS for failure and <= MAX_ERRORS for success. TBR=reed@google.com Review URL: https://codereview.chromium.org/1140563003
/external/skia/tests/PathOpsExtendedTest.cpp
|
bca19f77479adfd8ba2171753382bc8bf4c2b4ca |
|
13-May-2015 |
caryclark <caryclark@google.com> |
deal more consistently with unsortable edges Improve line/curve coincident detection and resolution. This fixed the remaining simple failures. When an edge is unsortable, use the ray intersection to determine the angles' winding. Deal with degenerate segments. TBR=reed@google.com BUG=skia:3588,skia:3762 Review URL: https://codereview.chromium.org/1140813002
/external/skia/tests/PathOpsExtendedTest.cpp
|
624637cc8ec22c000409704d0b403ac1b81ad4b0 |
|
11-May-2015 |
caryclark <caryclark@google.com> |
Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges. This replacement shoots axis-aligned rays through all intersecting edges to find the outermost one either horizontally or vertically. The resulting code is smaller and twice as fast. To support this, most of the horizontal / vertical intersection code was rewritten and standardized, and old code supporting the top-directed winding was deleted. Contours were pointed to by an SkTDArray. Instead, put them in a linked list, and designate the list head with its own class to ensure that methods that take lists of contours start at the top. This change removed a large percentage of memory allocations used by path ops. TBR=reed@google.com BUG=skia:3588 Review URL: https://codereview.chromium.org/1111333002
/external/skia/tests/PathOpsExtendedTest.cpp
|
aec251012542e971100e218bf463adbfb5d21d20 |
|
29-Apr-2015 |
caryclark <caryclark@google.com> |
minor fixes to cubics code and overall alignment of how bounds and tops are computed for all curve types All but 17 extended tests work. A helper function is privately added to SkPath.h to permit a test to modify a given point in a path. BUG=skia:3588 Review URL: https://codereview.chromium.org/1107353004
/external/skia/tests/PathOpsExtendedTest.cpp
|
08bc8488fa2ea2d2a17efb1443f0ec6579d5a3c8 |
|
24-Apr-2015 |
caryclark <caryclark@google.com> |
fix multiple intersection logic When three or more curves intersect at the same point, ensure that each curve records the intersections of the others. This fixes a number of cubic tests. TBR=reed@google.com BUG=skia:3588 Review URL: https://codereview.chromium.org/1105943002
/external/skia/tests/PathOpsExtendedTest.cpp
|
03b03cad01628146bbb8d4f33c073bd0c77ee558 |
|
23-Apr-2015 |
caryclark <caryclark@google.com> |
working on initial winding for cubics Path ops works well for all tests except for cubics. Isolate failures caused by cubics, and do a better job of computing the initial winding for cubics. TBR=reed@google.com BUG=skia:3588 Review URL: https://codereview.chromium.org/1096923003
/external/skia/tests/PathOpsExtendedTest.cpp
|
1049f1246e7be4ccb68001361efceb8933e6f81c |
|
20-Apr-2015 |
caryclark <caryclark@google.com> |
Now, path ops natively intersect conics, quads, and cubics in any combination. There are still a class of cubic tests that fail and a handful of undiagnosed failures from skps and fuzz tests, but things are much better overall. Extended tests (150M+) run to completion in release in about 6 minutes; the standard test suite exceeds 100K and finishes in a few seconds on desktops. TBR=reed BUG=skia:3588 Review URL: https://codereview.chromium.org/1037953004
/external/skia/tests/PathOpsExtendedTest.cpp
|
54359294a7c9dc54802d512a5d891a35c1663392 |
|
26-Mar-2015 |
caryclark <caryclark@google.com> |
cumulative pathops patch Replace the implicit curve intersection with a geometric curve intersection. The implicit intersection proved mathematically unstable and took a long time to zero in on an answer. Use pointers instead of indices to refer to parts of curves. Indices required awkward renumbering. Unify t and point values so that small intervals can be eliminated in one pass. Break cubics up front to eliminate loops and cusps. Make the Simplify and Op code more regular and eliminate arbitrary differences. Add a builder that takes an array of paths and operators. Delete unused code. BUG=skia:3588 R=reed@google.com Review URL: https://codereview.chromium.org/1037573004
/external/skia/tests/PathOpsExtendedTest.cpp
|
0dc4dd6dda9a7912f696b46d9c02155ec1d1ba5f |
|
24-Mar-2015 |
reed <reed@google.com> |
Revert of pathops version two (patchset #16 id:150001 of https://codereview.chromium.org/1002693002/) Reason for revert: ASAN investigation Original issue's description: > pathops version two > > R=reed@google.com > > marked 'no commit' to attempt to get trybots to run > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/ccec0f958ffc71a9986d236bc2eb335cb2111119 TBR=caryclark@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1029993002
/external/skia/tests/PathOpsExtendedTest.cpp
|
ccec0f958ffc71a9986d236bc2eb335cb2111119 |
|
24-Mar-2015 |
caryclark <caryclark@google.com> |
pathops version two R=reed@google.com marked 'no commit' to attempt to get trybots to run TBR=reed@google.com Review URL: https://codereview.chromium.org/1002693002
/external/skia/tests/PathOpsExtendedTest.cpp
|
297aaf97a32ac16a2bc3f4bbc231d5de859ac02d |
|
19-Feb-2015 |
kkinnunen <kkinnunen@nvidia.com> |
Avoid wrong memory access due to double substitution and %% Use the form SkDebugf("%s", arbitraryString) instead of SkDebugf(arbitraryString). Fixes the case where SkString::appendf-ing a string with "%%" and then printing the string with SkDebugf would cause uninitialized read and corrupted debug print. ninja -C out/Debug tools && valgrind --leak-check=full ./out/Debug/render_pictures --config gpu -w q -r ... ... ==7307== Conditional jump or move depends on uninitialised value(s) ==7307== at 0x6908475: __printf_fp (printf_fp.c:1180) ==7307== by 0x6904267: vfprintf (vfprintf.c:1629) ==7307== by 0x6906E53: buffered_vfprintf (vfprintf.c:2313) ==7307== by 0x690188D: vfprintf (vfprintf.c:1316) ==7307== by 0x67E8F5: SkDebugf(char const*, ...) (SkDebug_stdio.cpp:18) ==7307== by 0x7983F1: GrContext::printCacheStats() const (GrTest.cpp:54) ==7307== by 0x408ECF: tool_main(int, char**) (render_pictures_main.cpp:480) ==7307== by 0x40913E: main (render_pictures_main.cpp:511) ==7307== Budget: 2048 items 100663296 bytes Entry Count: current 652 (651 budgeted, 0 wrapped, 297 locked, 638 scratch 32 0.000000ull), high 652 Entry Bytes: current 51087658 (budgeted 49826658, 49 0.000000ull, 1261000 unbudgeted) high 51087658 (observe "ull" instead of "% full") (from mtklein) This CL is not editing public API. TBR=reed@google.com Review URL: https://codereview.chromium.org/943453002
/external/skia/tests/PathOpsExtendedTest.cpp
|
65f553182ab7069378ef863d30094d0327f178d0 |
|
13-Nov-2014 |
caryclark <caryclark@google.com> |
These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. The fixes include - detect when finding the active top loops between two possible answers - preflight chasing winding to ensure answer is consistent - binary search more often when quadratic intersection fails - add more failure paths when an intersect is missed While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed. TBR= BUG=421132 Committed: https://skia.googlesource.com/skia/+/6f726addf3178b01949bb389ef83cf14a1d7b6b2 Review URL: https://codereview.chromium.org/633393002
/external/skia/tests/PathOpsExtendedTest.cpp
|
27c46a08a9210e9306b8ea1b00349ec198153c38 |
|
28-Oct-2014 |
hcm <hcm@google.com> |
Revert of harden pathops for pathological test (patchset #19 id:410001 of https://codereview.chromium.org/633393002/) Reason for revert: Compile errors on bots Original issue's description: > These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. > > The fixes include > - detect when finding the active top loops between two possible answers > - preflight chasing winding to ensure answer is consistent > - binary search more often when quadratic intersection fails > - add more failure paths when an intersect is missed > > While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed. > > TBR= > BUG=421132 > > Committed: https://skia.googlesource.com/skia/+/6f726addf3178b01949bb389ef83cf14a1d7b6b2 TBR=caryclark@google.com NOTREECHECKS=true NOTRY=true BUG=421132 Review URL: https://codereview.chromium.org/686843002
/external/skia/tests/PathOpsExtendedTest.cpp
|
6f726addf3178b01949bb389ef83cf14a1d7b6b2 |
|
28-Oct-2014 |
caryclark <caryclark@google.com> |
These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. The fixes include - detect when finding the active top loops between two possible answers - preflight chasing winding to ensure answer is consistent - binary search more often when quadratic intersection fails - add more failure paths when an intersect is missed While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed. TBR= BUG=421132 Review URL: https://codereview.chromium.org/633393002
/external/skia/tests/PathOpsExtendedTest.cpp
|
65b427cff9cd34a06ff060d65d00cc3615d8fd94 |
|
18-Sep-2014 |
caryclark <caryclark@google.com> |
fix battlefield website by disallowing very small coordinates also add and remove comments to document other attempts to fix this that had drawbacks R=fmalita@chromium.org BUG=414409 Author: caryclark@google.com Review URL: https://codereview.chromium.org/575553003
/external/skia/tests/PathOpsExtendedTest.cpp
|
406654be7a930b484159f5bca107d3b11d8a9ede |
|
04-Sep-2014 |
mtklein <mtklein@chromium.org> |
SkThreadPool ~~> SkTaskGroup SkTaskGroup is like SkThreadPool except the threads stay in one global pool. Each SkTaskGroup itself is tiny (4 bytes) and its wait() method applies only to tasks add()ed to that instance, not the whole thread pool. This means we don't need to bring up new thread pools when tests themselves want to use multithreading (e.g. pathops, quilt). We just create a new SkTaskGroup and wait for that to complete. This should be more efficient, and allow us to expand where we use threads to really latency sensitive places. E.g. we can probably now use these in nanobench for CPU .skp rendering. Now that all threads are sharing the same pool, I think we can remove most of the custom mechanism pathops tests use to control threading. They'll just ride on the global pool with all other tests now. This (temporarily?) removes the GPU multithreading feature from DM, which we don't use. On my desktop, DM runs a little faster (57s -> 55s) in Debug, and a lot faster in Release (36s -> 24s). The bots show speedups of similar proportions, cutting more than a minute off the N4/Release and Win7/Debug runtimes. BUG=skia: Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/531653002
/external/skia/tests/PathOpsExtendedTest.cpp
|
2460bbdfbb1d55ef307c3189c661e65de1a7affb |
|
03-Sep-2014 |
mtklein <mtklein@google.com> |
Revert of SkThreadPool ~~> SkTaskGroup (patchset #4 id:60001 of https://codereview.chromium.org/531653002/) Reason for revert: Leaks, leaks, leaks. Original issue's description: > SkThreadPool ~~> SkTaskGroup > > SkTaskGroup is like SkThreadPool except the threads stay in > one global pool. Each SkTaskGroup itself is tiny (4 bytes) > and its wait() method applies only to tasks add()ed to that > instance, not the whole thread pool. > > This means we don't need to bring up new thread pools when > tests themselves want to use multithreading (e.g. pathops, > quilt). We just create a new SkTaskGroup and wait for that > to complete. This should be more efficient, and allow us > to expand where we use threads to really latency sensitive > places. E.g. we can probably now use these in nanobench > for CPU .skp rendering. > > Now that all threads are sharing the same pool, I think we > can remove most of the custom mechanism pathops tests use > to control threading. They'll just ride on the global pool > with all other tests now. > > This (temporarily?) removes the GPU multithreading feature > from DM, which we don't use. > > On my desktop, DM runs a little faster (57s -> 55s) in > Debug, and a lot faster in Release (36s -> 24s). The bots > show speedups of similar proportions, cutting more than a > minute off the N4/Release and Win7/Debug runtimes. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/9c7207b5dc71dc5a96a2eb107d401133333d5b6f R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, reed@google.com, mtklein@chromium.org TBR=bsalomon@google.com, bungeman@google.com, caryclark@google.com, mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/533393002
/external/skia/tests/PathOpsExtendedTest.cpp
|
9c7207b5dc71dc5a96a2eb107d401133333d5b6f |
|
03-Sep-2014 |
mtklein <mtklein@chromium.org> |
SkThreadPool ~~> SkTaskGroup SkTaskGroup is like SkThreadPool except the threads stay in one global pool. Each SkTaskGroup itself is tiny (4 bytes) and its wait() method applies only to tasks add()ed to that instance, not the whole thread pool. This means we don't need to bring up new thread pools when tests themselves want to use multithreading (e.g. pathops, quilt). We just create a new SkTaskGroup and wait for that to complete. This should be more efficient, and allow us to expand where we use threads to really latency sensitive places. E.g. we can probably now use these in nanobench for CPU .skp rendering. Now that all threads are sharing the same pool, I think we can remove most of the custom mechanism pathops tests use to control threading. They'll just ride on the global pool with all other tests now. This (temporarily?) removes the GPU multithreading feature from DM, which we don't use. On my desktop, DM runs a little faster (57s -> 55s) in Debug, and a lot faster in Release (36s -> 24s). The bots show speedups of similar proportions, cutting more than a minute off the N4/Release and Win7/Debug runtimes. BUG=skia: R=caryclark@google.com, bsalomon@google.com, bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/531653002
/external/skia/tests/PathOpsExtendedTest.cpp
|
d6aeb6dc8fe21066f1a2c4813a4256a3acd3edf5 |
|
25-Jul-2014 |
bungeman <bungeman@google.com> |
Fix thread unsafe mutex initialization. BUG=skia:2779 R=robertphillips@google.com, mtklein@google.com, reed@android.com, bsalomon@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/419113002
/external/skia/tests/PathOpsExtendedTest.cpp
|
19eb3b2f0aa6dce5c0335230a8930e90733e5d5d |
|
18-Jul-2014 |
caryclark <caryclark@google.com> |
update pathops core and tests split out skpclip (the test of 1M pictures) into its own project TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/400033002
/external/skia/tests/PathOpsExtendedTest.cpp
|
dac1d17027dcaa5596885a9f333979418b35001c |
|
17-Jun-2014 |
caryclark <caryclark@google.com> |
Enabling the canvas bit to turn the clip stack into a flat replace exposed around 100 failures when testing the 800K skp set generated from the top 1M web sites. This fixes all but one of those failures. Major changes include: - Replace angle indices with angle pointers. This was motivated by the need to add angles later but not renumber existing angles. - Aggressive segment chase. When the winding is known on a segment, more aggressively passing that winding to adjacent segments allows fragmented data sets to succeed. - Line segments with ends nearly the same are treated as coincident first. - Transfer partial coincidence by observing that if segment A is partially coincident to B and C then B and C may be partially coincident. TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/272153002
/external/skia/tests/PathOpsExtendedTest.cpp
|
91fc81c972c5ac4090f106d3b3fd9b26a3235ce1 |
|
30-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix cubic/line intersection; add skp tests BUG=skia:2488 TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/252243003 git-svn-id: http://skia.googlecode.com/svn/trunk@14458 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
e02c5dabbbfefca3e086b3653d71a7a4a9713277 |
|
26-Apr-2014 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Housekeeper-Nightly git-svn-id: http://skia.googlecode.com/svn/trunk@14387 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
8cb1daaa1e4343eb60a7c4f21c12e33de30dad64 |
|
25-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix minor skp-found bugs remove globals from pathops_unittest BUG=skia:2460 TBR=mtklein Author: caryclark@google.com Review URL: https://codereview.chromium.org/239563004 git-svn-id: http://skia.googlecode.com/svn/trunk@14378 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
4431e7757cfcb8cfa99535eed0e9f156dabf95c2 |
|
14-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Mike R: please sanity check SkPostConfig.h Mike K: please sanity check Test.cpp and skia_test.cpp Feel free to look at the rest, but I don't expect any in depth review of path ops innards. Path Ops first iteration used QuickSort to order segments radiating from an intersection to compute the winding rule. This revision uses a circular sort instead. Breaking out the circular sort into its own long-lived structure (SkOpAngle) allows doing less work and provides a home for caching additional sorting data. The circle sort is more stable than the former sort, has a robust ordering and fewer exceptions. It finds unsortable ordering less often. It is less reliant on the initial curve tangent, using convex hulls instead whenever it can. Additional debug validation makes sure that the computed structures are self-consistent. A new visualization tool helps verify that the angle ordering is correct. The 70+M tests pass with this change on Windows, Mac, Linux 32 and Linux 64 in debug and release. R=mtklein@google.com, reed@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/131103009 git-svn-id: http://skia.googlecode.com/svn/trunk@14183 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
deee496cd30070e52556dcb538c2e5eb39b66b81 |
|
13-Feb-2014 |
mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
replace setConfig+allocPixels with single call BUG=skia: Review URL: https://codereview.chromium.org/162643002 git-svn-id: http://skia.googlecode.com/svn/trunk@13426 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
e1ca705cac4b946993f6cbf798e2a0ba27e739f3 |
|
17-Dec-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients BUG= R=robertphillips@google.com Review URL: https://codereview.chromium.org/111353003 git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
a2bbc6e19d5332e81784e582c290cc060f40c4c7 |
|
01-Nov-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
pathops work in progress BUG= Review URL: https://codereview.chromium.org/52653002 git-svn-id: http://skia.googlecode.com/svn/trunk@12089 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
409774e8accb8772765b376d3126209b198bc87c |
|
02-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sadly TSAN still reports this as a race, even when we're obviously writing the same values. Initializing with the declaration should quiet it down. BUG= R=caryclark@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/25713004 git-svn-id: http://skia.googlecode.com/svn/trunk@11574 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
7eaa53d8f7e48fd17d02b5e3bd91f90e9c1899ef |
|
02-Oct-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops work in progress make more skps work remove edit files BUG= Review URL: https://codereview.chromium.org/23542056 git-svn-id: http://skia.googlecode.com/svn/trunk@11570 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
57f035ecae1ff8f2b2e0614e0649f0b90c69adad |
|
01-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Writing to testName and reading its size isn't thread safe, TSAN reminds us. Guarding it into a no-op makes it safe. Looks like this is only used for debugging, presumably singlethreaded? BUG= R=caryclark@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/25366002 git-svn-id: http://skia.googlecode.com/svn/trunk@11562 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
570863f2e22b8ea7d7c504bd15e4f766af097df2 |
|
16-Sep-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops work in progress path ops work in progress BUG= Review URL: https://codereview.chromium.org/21359002 git-svn-id: http://skia.googlecode.com/svn/trunk@11291 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
8d0a524a4847bc7e1cc63a93b78922739466c201 |
|
16-Jul-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
harden and speed up path op unit tests PathOps tests internal routines direcctly. Check to make sure that test points, lines, quads, curves, triangles, and bounds read from arrays are valid (i.e., don't contain NaN) before calling the test function. Repurpose the test flags. - make 'v' verbose test region output against path output - make 'z' single threaded (before it made it multithreaded) The latter change speeds up tests run by the buildbot by 2x to 3x. BUG= Review URL: https://codereview.chromium.org/19374003 git-svn-id: http://skia.googlecode.com/svn/trunk@10107 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
fa2aeee27af27f2934ee52a9732148f66481fb03 |
|
15-Jul-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops near exact Modify line intersections to first - match exact ends - compute intersections - match near ends where the exact ends are preferred, then near matches, then computed matches. This pulls matches towards existing end points when possible, and keeps intersection distances consistent with different line/line line/quad and line/cubic computations. BUG= Review URL: https://codereview.chromium.org/19183003 git-svn-id: http://skia.googlecode.com/svn/trunk@10073 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
07e97fccd2d85076cd22ef411b0773ab92a18abe |
|
08-Jul-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops work in progress BUG= Review URL: https://codereview.chromium.org/18058007 git-svn-id: http://skia.googlecode.com/svn/trunk@9908 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
cffbcc3b9665f2c928544b6fc6b8a0e22a4210fb |
|
04-Jun-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops -- rewrite angle sort This is a major change resulting from a minor tweak. In the old code, the intersection point of two curves was shared between them, but the intersection points and end points of sorted edges was computed directly from the intersection T value. In this CL, both intersection points and sorted points are the same, and intermediate control points are computed to preserve their slope. The sort itself has been completely rewritten to be more robust and remove 'magic' checks, conditions that empirically worked but couldn't be rationalized. This CL was triggered by errors generated computing the clips of SKP files. At this point, all 73M standard tests work and at least the first troublesome SKPs work. Review URL: https://codereview.chromium.org/15338003 git-svn-id: http://skia.googlecode.com/svn/trunk@9432 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
a5e55925ea03e76885804bda77408a1d6f04c335 |
|
07-May-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops -- fix skp bugs This fixes a series of bugs discovered by running the small set of Skia skp files through pathops to flatten the clips. Review URL: https://codereview.chromium.org/14798004 git-svn-id: http://skia.googlecode.com/svn/trunk@9042 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
66560ca776773858abfffd59974eac32c942acc3 |
|
26-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops -- handle non-finite numbers Op() and Simplify() do nothing if the input is non-finite. Add code and tests. Review URL: https://codereview.chromium.org/14407006 git-svn-id: http://skia.googlecode.com/svn/trunk@8882 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
6dc7df69ae6b24c90d231e0d6a4516bf4f1aee2e |
|
25-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops : fix empty-diff bug, op-in-place add some debugging around reverse diff, inverse Review URL: https://codereview.chromium.org/13851015 git-svn-id: http://skia.googlecode.com/svn/trunk@8852 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
44c661ff151356ba1c49d7942d23aa1507237989 |
|
22-Apr-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add thread-per-core setting to SkThreadPool. BUG= R=scroggo@google.com, caryclark@google.com Author: mtklein@google.com Review URL: https://chromiumcodereview.appspot.com/13855009 git-svn-id: http://skia.googlecode.com/svn/trunk@8802 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
16cfe40276bfb0a4d98c9ad995b8e5b134a49b19 |
|
18-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
allow tests to optionally use multiple threads modify threaded path ops tests to check Background: this CL came out of a conversation with Eric where I learned that 10s of machines host 100s of bots. Since the bot hosting tests may be shared with many other tasks, it seems unwise for path ops to launch multiple test threads. The change here is to make launching multiple threads "opt-in" and by default, bots can run path ops in a single thread. Review URL: https://codereview.chromium.org/14002007 git-svn-id: http://skia.googlecode.com/svn/trunk@8750 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
0361032c0b53401030a720bc8b4930c3ec59f19e |
|
18-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops work in progress fix bugs in tests on 32 bit release Most changes revolve around pinning computed t values very close to zero and one. git-svn-id: http://skia.googlecode.com/svn/trunk@8745 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
ad65a3e5fb1f94699f183551b828efbcc6a133ce |
|
15-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
path ops work in progress standardize tests use SK_ARRAY_COUNT everywhere debug why x87 differs from SIMD 64 various platform specific fixes git-svn-id: http://skia.googlecode.com/svn/trunk@8689 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
391ca66276b27464f255c371e7e95f56f9042042 |
|
11-Apr-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@8608 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
e942bc329aadbdf6f7f67e35faab52536b964ed9 |
|
10-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
fix a few pathops test bugs exposed on Mac and Linux git-svn-id: http://skia.googlecode.com/svn/trunk@8601 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
66089e4ec4f1702caf2154780471417872862148 |
|
10-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make parallel unit testing work on windows Review URL: https://codereview.chromium.org/14072002 git-svn-id: http://skia.googlecode.com/svn/trunk@8594 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
3284017a60ea4fc3dc5b95838ba0c301ee1e4e8d |
|
09-Apr-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@8568 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|
818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300e |
|
08-Apr-2013 |
caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add implementation of path ops This CL depends on https://codereview.chromium.org/12880016/ "Add intersections for path ops" Given a path, iterate through its contour, and construct an array of segments containing its curves. Intersect each curve with every other curve, and for cubics, with itself. Given the set of intersections, find one with the smallest y and sort the curves eminating from the intersection. Assign each curve a winding value. Operate on the curves, keeping and discarding them according to the current operation and the sum of the winding values. Assemble the kept curves into an output path. Review URL: https://codereview.chromium.org/13094010 git-svn-id: http://skia.googlecode.com/svn/trunk@8553 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/PathOpsExtendedTest.cpp
|