aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* formalize host debuggingGravatar caryclark2016-10-24
| | | | | | | | | | | | | | 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
* fix one more fuzzerGravatar caryclark2016-10-24
| | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2438333002 Review-Url: https://codereview.chromium.org/2438333002
* Fall back from analytic to sampling earlierGravatar liyuqian2016-10-21
| | | | | | | | | | This magically fixes some strange js unit tests in Chrome. Those tests only fail in virtual/gpu which somehow interacts with my cpu rasterizer? BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2439973004 Review-Url: https://chromiumcodereview.appspot.com/2439973004
* use conservative-clip-bit in pipecanvasGravatar Mike Reed2016-10-21
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3821 Change-Id: I18bbcf0fa715c8136355812997766b0f7d8412b6 Reviewed-on: https://skia-review.googlesource.com/3821 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* New helpers for converting SkColor to GrColor4fGravatar Brian Osman2016-10-21
| | | | | | | | | | | | | | These versions will eliminate lots of copy-pasting in various fragment processor creation code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3787 Change-Id: I3ada2d4866e92cfc0507beeea11e05790d73757d Reviewed-on: https://skia-review.googlesource.com/3787 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Another forgotten forceRLEGravatar liyuqian2016-10-21
| | | | | | | | BUG=skia: TBR=reed@google.com,caryclark@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2438163003 Review-Url: https://chromiumcodereview.appspot.com/2438163003
* Fix for Chrome MSANGravatar Matt Sarett2016-10-21
| | | | | | | | | | | | | | | | | | I believe that the complaints are occurring because the |a| vector might be uninitialized where it is used here. It doesn't actually matter because we won't use or store that value - it's just a placeholder. But we need to make the bot happy. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3800 Change-Id: I1891da9d1d2708008e4606daebf9bb6f96e92fc0 Reviewed-on: https://skia-review.googlesource.com/3800 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove SkRRectsGaussianEdgeShaderGravatar Robert Phillips2016-10-21
| | | | | | | | | | | This class is no longer used. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3734 Change-Id: I16634760df6b31c7e97c893b7e2b982cd7b1d1fd Reviewed-on: https://skia-review.googlesource.com/3734 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* [Sk4fGradient] Use infinity floats for clamp-mode extreme positionsGravatar fmalita2016-10-21
| | | | | | | | | | | | | | | In clamp mode, we use a couple of synthetic edges that are supposed to extend to +/- infinity (-inf .. P0 and Pn .. inf). Currently we use SK_ScalarMin/Max, but these can be overrun with large/malicious inputs. Use SK_ScalarInfinity/SK_ScalarNegativeInfinity instead, and tweak compute_interval_props() to handle inf values gracefully. BUG=skia:5835 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2441733002 Review-Url: https://chromiumcodereview.appspot.com/2441733002
* Zero tail stack buffers.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | | | MSAN and the no-SIMD bots have noticed the top lanes of the tail vectors are not initialized. As they were written it was faster to leave them unintialized, but as re-written here it's equal speed and now safe. CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3790 Change-Id: Icd41ba14ae6baf9947eb361a366f1ce19ad8aa67 Reviewed-on: https://skia-review.googlesource.com/3790 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkRasterPipeline_opts: split next() into next_body() and next_tail().Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | This may work around an Chrome/MSVC/PGO compiler crasher. Even if not, it's harmless for performance, and arguably more readable. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3789 Change-Id: I0bf23f65d7832b9f43e275f85e7985fcd6b13b9f Reviewed-on: https://skia-review.googlesource.com/3789 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkScalerContext to use smart pointers.Gravatar bungeman2016-10-20
| | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot Change-Id: I27a714388b8ded7dfc968e322b0a587205f575f1 Reviewed-on: https://skia-review.googlesource.com/3731 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* SkRasterPipeline: memcpy-free tail code.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | We don't call the tail code nearly as often as the body code, but when we do and call memcpy(), we first have to vzeroupper back into the non-AVX world. That does seem to slow things down considerably. You wouldn't think it, but this gives a nice speed up (tested on Windows). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3783 Change-Id: I40cbe1e529f2431825edec7638265601b64e7ec5 Reviewed-on: https://skia-review.googlesource.com/3783 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove 4 legacy flags (clients already updated)Gravatar Mike Reed2016-10-20
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3785 Change-Id: I187e50e09ed7a3316719fae51af770259928fdf9 Reviewed-on: https://skia-review.googlesource.com/3785 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Quickly fix the forgotten forceRLEGravatar liyuqian2016-10-20
| | | | | | | | BUG=skia: TBR=reed@google.com,caryclark@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2436593004 Review-Url: https://chromiumcodereview.appspot.com/2436593004
* Cache GrColorSpaceXformsGravatar Brian Osman2016-10-20
| | | | | | | | | | | | | | | | | | | | Even with a modest cache, we're going to get nearly 100% hit rate for typical usage scenarios. I'm hoping to avoid the special case caching of sRGB -> destination, and just rely on the more general mechanism. Yes, this is yet-another cache class. I wanted to use one of many that are laying around, but couldn't find a good fit. On the plus side, it's not much code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3726 Change-Id: I943be5c99f0d691a87ffe8c5bc3067a8eb491fc2 Reviewed-on: https://skia-review.googlesource.com/3726 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Hash the gamut of XYZ color spaces, to speed up comparisonGravatar Brian Osman2016-10-20
| | | | | | | | | | | | | | Also going to use this to allow caching of GrColorSpaceXforms BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3670 Change-Id: I56ed2dcbdddc22046263f56d68f2d6aea55547c8 Reviewed-on: https://skia-review.googlesource.com/3670 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add query to imagegenerator if it can efficiently generate a textureGravatar Mike Reed2016-10-20
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3780 Change-Id: If5fb6ee82e47f0d007b4ad7c46ac73574eccd8c5 Reviewed-on: https://skia-review.googlesource.com/3780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fix more fuzz, carsvgGravatar caryclark2016-10-20
| | | | | | | | | | | | | Fix a few kevin-generated fuzzers. Remove an assert triggered by carsvg when thrown through the distance field stuff. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2427253005 Review-Url: https://chromiumcodereview.appspot.com/2427253005
* fix more chrome asan fuzzer failuresGravatar caryclark2016-10-20
| | | | | | | | | | | | Small change to gracefully quit when fuzzer values cause pathops to fail. TBR=reed@google.com BUG=657411, 657559 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2426393004 Review-Url: https://chromiumcodereview.appspot.com/2426393004
* Add missing sse41::run_pipeline.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | In practice this doesn't matter (we'll use sse2::run_pipeline) but the UBSAN bot caught me. TBR=herb@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3736 Change-Id: Ib40ee4a8ebf274bbc10a78a80e7b1ad06cf644e5 Reviewed-on: https://skia-review.googlesource.com/3736 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use Analytic AA in SkAAClip.Gravatar liyuqian2016-10-20
| | | | | | | | | | | | | This will fix some Chrome ref tests. The main issue here is that the SkAAClip requires: (1) we blit in order, and (2) we must forceRLE. Note that this still depends on the global gSkUseAnalyticAA to turn on the Analytic AA. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2430343003 Review-Url: https://chromiumcodereview.appspot.com/2430343003
* Fixed potential read-out-of-bounds issue in ICC profile loadingGravatar raftias2016-10-20
| | | | | | | | | | | | For 8-bit precision color LUT in A2B0 ICC color space profiles it was skipping every 2nd CLUT value and then reading past the end of the CLUT data table. Now it properly increments through 8-bit precision color LUT tables in profiles. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2434563007 Review-Url: https://chromiumcodereview.appspot.com/2434563007
* Safely handle unsupported color xforms in SkCodecGravatar Matt Sarett2016-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | (1) The transformation code *should* support any src SkColorSpace that we successfully parse. This is agreed upon internally and by clients. The fact that we currently don't is just a bug... (2) We cannot and will not support all SkColorSpaces as dsts. So if we fail to make a SkColorSpaceXform, we should assume that it was caused by a bad dst color space. The correct response in this case is to return kInvalidConversion. I've rewritten the CL to do this. The fact that weird src spaces will sometimes trigger a kInvalidConversion is just a bug that is being actively worked on. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3661 Change-Id: Iac2b45120507ec71b1b3d555c61931f7348dad9e Reviewed-on: https://skia-review.googlesource.com/3661 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Robert Aftias <raftias@google.com>
* fix debug version of cubicpair detected by asanGravatar caryclark2016-10-20
| | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2435063002 Review-Url: https://chromiumcodereview.appspot.com/2435063002
* SkRasterPipeline refactorGravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | | | | | | | | | - Give body and tail functions separate types. This frees a register in body functions, especially important for Windows. - Fill out default, SSE4.1, and HSW versions of all functions. This means we don't have to mess around with SkNf_abi... all functions come from the same compilation unit where SkNf is a single consistent type. - Move Stage::next() into SkRasterPipeline_opts.h as a static inline function. - Remove Stage::ctx() entirely... fCtx is literally the same thing. This is a step along the way toward building the entire pipeline in src/opts, removing the need for all the stages to be functions living in SkOpts. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3680 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot Change-Id: I7de78ffebc15b9bad4eda187c9f50369cd7e5e42 Reviewed-on: https://skia-review.googlesource.com/3680 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix bug in raster implementation of SkRRectsGaussianEdgeMaskFilterGravatar Robert Phillips2016-10-20
| | | | | | | | | | | | | | The bug was the raster version didn't correctly handle the CTM. This CL also adds a way to test the behavior (by translating the reveal GM around in SampleApp) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3729 Change-Id: Iaacc905167d20b453203307e5ef840f552fdbb38 Reviewed-on: https://skia-review.googlesource.com/3729 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* re-re-land of skslc now automatically turns on derivatives supportGravatar ethannicholas2016-10-20
| | | | | | | | | | | Only change from last attempt is putting the call to shaderDerivativeExtensionString behind a check for shaderDerivativeSupport to avoid a spurious assertion failure. TBR=benjaminwagner@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2437063002 Review-Url: https://chromiumcodereview.appspot.com/2437063002
* fix fuzzersGravatar caryclark2016-10-20
| | | | | | | | | | | | | | | Many old pathops-related fuzz failures have built up while the codebase was under a state a flux. Now that the code is stable, address these failures. Most of the CL plumbs the debug global state to downstream routines so that, if the data is not trusted (ala fuzzed) the function can safely exit without asserting. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2426173002 Review-Url: https://chromiumcodereview.appspot.com/2426173002
* use 'real' SkImageDeserializerGravatar Mike Reed2016-10-20
| | | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3727 Change-Id: Ic07ea6bd2756f1be08e80075c236a70ce6c08a3b TBR=mtklein Reviewed-on: https://skia-review.googlesource.com/3727 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add SkRRectsGaussianEdgeMaskFilterGravatar Robert Phillips2016-10-20
| | | | | | | | | | | | | | SkRRectsGaussianEdgeShader will be removed once the usage of the MaskFilter flavor has been propagated to Android I will complete the raster implementation in a follow up CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3632 Change-Id: I42470b17308582b040a5db1a7283c3d717405345 Reviewed-on: https://skia-review.googlesource.com/3632 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Class delete call unsized delete when size not known.Gravatar Ben Wagner2016-10-19
| | | | | | | | | | | | | | | | | | Some classes directly call global operator new to reserve space in addition to the space the class will occupy. These clases must be deleted with the unsized global operator new. If a build is configured such that sized global operator new is called from a delete expression, this must be overridden by such classes. TBR=reed Only affects private bits of SkData. Change-Id: I797935db17a37aa8c2ca7b562a4ea65a7978a9f0 Reviewed-on: https://skia-review.googlesource.com/3678 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* More explicit body/tail function versioning.Gravatar Mike Klein2016-10-19
| | | | | | | | | | | | | | | MSVC was not picking up that tail==0 in the non-_tail versions of the kernel functions in SkRasterPipeline_opts.h. This passes through a template bool parameter to convey the same message. This makes the body code a bit smaller and faster on MSVC now by removing the tail>0 check and code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3669 Change-Id: I8bf81717a83f216eb1eb28a75dac41779dc508c1 Reviewed-on: https://skia-review.googlesource.com/3669 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Try again with SkOpts_hsw and 8x pipelines, attempt 2.Gravatar Mike Klein2016-10-19
| | | | | | | | | | | | | | | Originally reviewed: https://skia-review.googlesource.com/3667 This time around, don't forget swap_src_dst. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3676 Change-Id: I127e7fb2bf9d3bfee61c3749fc1c334c9476cb4e Reviewed-on: https://skia-review.googlesource.com/3676 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Try again with SkOpts_hsw and 8x pipelines."Gravatar Mike Klein2016-10-19
| | | | | | | | | | | | | | | | | This reverts commit 4f02ce7995554d899cdde2b7d82f600fc8017fcc. Reason for revert: missed a stage TBR=mtklein@chromium.org,msarett@google.com,herb@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1dc1229183d67fe72977e492977a97b19dc630d2 Reviewed-on: https://skia-review.googlesource.com/3675 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Try again with SkOpts_hsw and 8x pipelines.Gravatar Mike Klein2016-10-19
| | | | | | | | | | | | | | | All SkNx are now in anonymous namespaces and all their methods are force-inlined. We should not have any ODR problems. This is still a near 2x speedup, more so for f16. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3667 Change-Id: I6db9a46f7164f49827ab4d7983e80bf8cea99995 Reviewed-on: https://skia-review.googlesource.com/3667 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Subtract start_coord instead of adding itGravatar scroggo2016-10-19
| | | | | | | | | | | | | | | crrev.com/2420843003 (DIFFERENT ISSUE) introduced some changes in sampled images. (I already corrected the problem for interlaced PNGs in crrev.com/2424353003.) When deciding whether a row is needed, we need to subtract the starting coordinate, similar to how we subtracted fFirstRow in SkPngCodec. This should "fix" the remaining untriaged images in Gold (i.e. we will go back to producing the original image). GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2440563002 Review-Url: https://chromiumcodereview.appspot.com/2440563002
* Correct a small mistake in SkPath::build_arc_conicsGravatar xidachen2016-10-19
| | | | | | | | | | | | | | | In this function, when count is 0, it maps the dst point to start, where it should really be stop. A test case is also added. In the test case, it should be drawing three lines, without the change in SkPath class, it will draw 2 lines only with the top horizontal line missing because it maps the dst point to the start point, and hence the horizontal line is not drawn. BUG=640031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2409983004 Review-Url: https://chromiumcodereview.appspot.com/2409983004
* Support inline uploads in VulkanGravatar Greg Daniel2016-10-19
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3586 Change-Id: I5913c336aa33851d6d2e80d9638df2efa8ac0400 Reviewed-on: https://skia-review.googlesource.com/3586 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add helper to create random AsFPArgs for Ganesh unit testsGravatar Brian Osman2016-10-19
| | | | | | | | | | | | | | Reduces copy-paste and eases maintenance. I'll be adding another field to AsFPArgs soon, and this is going to streamline that change. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3639 Change-Id: I6372ed5dce50a5ba9d73039bd4714e34502a1f75 Reviewed-on: https://skia-review.googlesource.com/3639 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* SkNx: use SK_ALWAYS_INLINE thoroughly.Gravatar Mike Klein2016-10-19
| | | | | | | | | | | | | | | | | | MSVC's not so good at inlining. So tell it where to. It won't hurt the others. This has nothing directly to do with ODR safety. The anonymous namespaces and 'static' on freestanding functions provide the correctness we need there. But this change can help to mechanically prevent the sort of problems ODR violations can lead to. I may follow up by extending this strategy further to Sk4px, which is used to implement a lot of the legacy xfermodes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3608 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I927334c40910ce43da1fbabdf243c9cd5438bea6 Reviewed-on: https://skia-review.googlesource.com/3608 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkDescriptors to be held in unique_ptr.Gravatar bungeman2016-10-19
| | | | | | | | | | | | This also removes the class operator new override along with directly calling malloc in SkData, since it has a similar requirements. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot Change-Id: Ic68aacf2028d6964d9735a55558862afc9edd19b Reviewed-on: https://skia-review.googlesource.com/3541 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert of Generate Signed Distance Field directly from vector path (patchset ↵Gravatar benjaminwagner2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #18 id:340001 of https://chromiumcodereview.appspot.com/1643143002/ ) Reason for revert: Multiple assertion failures on multiple platforms: ../../../src/gpu/GrDistanceFieldGenFromVector.cpp:806: fatal error: "assert(((col != width - 1) || (windingNumber == 0)) && "Winding number should be zero at the end of a scan line.")" https://luci-milo.appspot.com/swarming/task/31f5353caf8cc410 https://luci-milo.appspot.com/swarming/task/31f567789cbcec10 c:\b\work\skia\src\pathops\skopangle.cpp:165: fatal error: "assert(lrOpposite != trOpposite)" https://luci-milo.appspot.com/swarming/task/31f570d74f750310 Original issue's description: > Generate Signed Distance Field directly from vector path > > Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002 > > Committed: https://skia.googlesource.com/skia/+/4de97a64e8829323a7070b623411d9f9ddb0cd0f > Committed: https://skia.googlesource.com/skia/+/e8f0a7b986f1e5583c9bc162efcdd92fd6430549 TBR=bsalomon@google.com,jvanverth@google.com,mtklein@google.com,wasim.abbas@arm.com,caryclark@google.com,joel.liang@arm.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://chromiumcodereview.appspot.com/2435753002
* Generate Signed Distance Field directly from vector pathGravatar joel.liang2016-10-19
| | | | | | | | | | Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002 Committed: https://skia.googlesource.com/skia/+/4de97a64e8829323a7070b623411d9f9ddb0cd0f Review-Url: https://chromiumcodereview.appspot.com/1643143002
* image serialize/deserialize callbacks in pipeGravatar Mike Reed2016-10-18
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3607 Change-Id: I403fec72cacfc6a821f676f0afef390c89749a8b Reviewed-on: https://skia-review.googlesource.com/3607 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Fix star artifact in SkRRectsGaussianEdgeShaderGravatar Robert Phillips2016-10-18
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3360 Change-Id: I791ae5f44a88ac3e4debdf1d4092c605acdf4969 Reviewed-on: https://skia-review.googlesource.com/3360 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Refactored SkColorSpace and added in a Lab PCS GMGravatar raftias2016-10-18
| | | | | | | | | | | | | | | | | | | | The refactoring breaks off A2B0 tag support into a separate subclass of SkColorSpace_Base, while keeping the current (besides CLUT) functionality in a XYZTRC subclass. ICC profile loading is now aware of this and creates the A2B0 subclass when SkColorSpace::NewICC() is called on a profile in need of the A2B0 functionality. The LabPCSDemo GM loads a .icc profile containing a LAB PCS and then runs a Lab->XYZ conversion on an image using it so we can display it and test out the A2B0 SkColorSpace functionality, sans a/b/m-curves, as well as the Lab->XYZ conversion code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2389983002 Review-Url: https://codereview.chromium.org/2389983002
* Refactor GrVkGpuCommandBuffer to handle multiple GrVkCommandBuffers.Gravatar Greg Daniel2016-10-18
| | | | | | | | | | | | | | | | | | | This CL is a pre CL to fix some issues where we will need a GpuCB to internally have multiple commandbuffers that it submits. Because of this, I need to move the bounds calculations down into the VkGpuCB since we need to know the bounds for each sub commandbuffer and not just entire set of commands. In part this is good since GL actually never needed the calculations so it saves some work there. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3142 Change-Id: Ied918765da3630aa6d87e29ccce6c883b96c4ead Reviewed-on: https://skia-review.googlesource.com/3142 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Consider the start_coord in interlaced PNGGravatar scroggo2016-10-18
| | | | | | | | | | | | | | crrev.com/2420843003 (DIFFERENT ISSUE) resulted in a slight difference in Gold for interlaced PNGs. The new images appeared to have slid down slightly, implying that we sampled pixels higher (earlier) in the image. It turns out we were not truly taking get_start_coord into account. This CL initializes the srcRow to consider get_start_coord, and should fix the problem/difference. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2424353003 Review-Url: https://codereview.chromium.org/2424353003
* Revert "re-land of skslc now automatically turns on derivatives support"Gravatar Mike Klein2016-10-18
| | | | | | | | | | | | | | | | | | | This reverts commit d7d1997643db3b9b5caaaac235c0e2cd0fa23ec2. This breaks the Chromium roll (it did last time it landed too). https://codereview.chromium.org/2429853002 Please gate your next attempt on at least one of linux_android_rel_ng, linux_chromium_rel_ng, or mac_chromium_rel_ng. TBR=benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I999d4af70a5704b8990f3cd7d145eabff57646f5 Reviewed-on: https://skia-review.googlesource.com/3590 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>