aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Update Nexus Players to N2G10BGravatar Kevin Lubick2017-01-13
| | | | | | | | | | | | This will hopefully bring in driver fixes, especially for Vulkan. BUG=skia: Change-Id: I6a8f1bf249d78d9360c52e0382250b63ae0cc96d Reviewed-on: https://skia-review.googlesource.com/6989 Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Try out refFoo pattern on GrRenderTargetContextGravatar Robert Phillips2017-01-13
| | | | | | | | Change-Id: Ifae5618f30c2202b9083f479b58556709ff6126a Reviewed-on: https://skia-review.googlesource.com/6990 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Reland https://skia-review.googlesource.com/c/6091/Gravatar Yuqian Li2017-01-13
| | | | | | | | | | | | | | The only difference is that we now also put the guard flag SK_SUPPORT_LEGACY_AAA in SkUserConfig.h. Previously, SkAnalyticEdge.cpp doesn't get that flag from SkScan.h and that caused many problems. BUG=skia: TBR=reed@google.com,caryclark@google.com Change-Id: I134bb76cebd6fffa712f438076668765321bba3b Reviewed-on: https://skia-review.googlesource.com/6992 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* gclient-free download and build instructions.Gravatar Mike Klein2017-01-13
| | | | | | | | https://skia.org/?cl=6988 Change-Id: If1275fe3cb1866216cc24c42c11a2d1f1be04a66 Reviewed-on: https://skia-review.googlesource.com/6988 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Hide SkCanvas getDevice() & getTopDevice()}"Gravatar Florin Malita2017-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 76467a11a0aa4ba15f0f2e3ee078ba9b6ecbaa91. Reason for revert: we may need to revert the Chromium GDI change. Original change's description: > Hide SkCanvas getDevice() & getTopDevice()} > > No longer used externally. > > R=reed@google.com > > Change-Id: I450148010852c2567d136d2c85c8837c6dcbc6b9 > Reviewed-on: https://skia-review.googlesource.com/6974 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Florin Malita <fmalita@chromium.org> > TBR=fmalita@chromium.org,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: If8480aa5d36ff843c28409a5c94d51570ba0fc1c Reviewed-on: https://skia-review.googlesource.com/6991 Commit-Queue: Florin Malita <fmalita@google.com> Reviewed-by: Florin Malita <fmalita@google.com>
* Remove spurious checks for sRGB float dataGravatar Brian Osman2017-01-13
| | | | | | | | | | | | | We don't support this. F16 or F32 textures must be built with a linear transfer function, if any. BUG=skia: Change-Id: Ia8d83a03d12ddc3b70f5d7e4fabed72f6c2af538 Reviewed-on: https://skia-review.googlesource.com/6978 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Unify ICC support for gray jpegs and gray pngsGravatar Matt Sarett2017-01-13
| | | | | | | | | | | | | | | | | | | | | | (1) Parse ICC gray profiles into RGB SkColorSpace objects. This is easy - "gray transfer fn + white point" is subset of "RGB transfer fns + matrix". This makes it easier/possible for the drawing code to reason about color spaces attached to kGray buffers. (2) Allow gray images to be tagged with gray ICCs OR rgb ICCs. ICC gray forces to designer to use "D50 gray". It is not uncommon to see gray images with RGB profiles - and this actually allows the designer to choose more kinds of gray (ex: sRGB gray). (3) Make SkJpegCodec support gray images with RGB ICCs. (4) Make SkPngCodec support gray images with Gray ICCs. (5) Delete gray from SkColorSpace_A2B - we no longer create these objects for gray profiles. BUG=skia: Change-Id: Id5eca803798330c54a19c4657def2e5976d1941e Reviewed-on: https://skia-review.googlesource.com/6922 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Hide SkCanvas getDevice() & getTopDevice()}Gravatar Florin Malita2017-01-13
| | | | | | | | | | | No longer used externally. R=reed@google.com Change-Id: I450148010852c2567d136d2c85c8837c6dcbc6b9 Reviewed-on: https://skia-review.googlesource.com/6974 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Optimize SkBlend by using NEON intrinsicsGravatar Joel Liang2017-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use NEON intrinsics to check the alpha channel of the pixels. In some case, it's about 14 times faster than the original implementation. $ ./bin/droid out/arm64_release/nanobench --samples 300 --nompd --match LinearSrcOver -v > neon_opt.log $ ./bin/compare neon_opt.log clean.log LinearSrcOver_yellow_rose.pngVSkOptsDefault 1.8ms -> 24.9ms 13.8x LinearSrcOver_iconstrip.pngVSkOptsDefault 5.71ms -> 69.8ms 12.2x LinearSrcOver_plane.pngVSkOptsDefault 1.45ms -> 11ms 7.62x LinearSrcOver_baby_tux.pngVSkOptsDefault 1.88ms -> 9.96ms 5.29x LinearSrcOver_mandrill_512.pngVSkOptsDefault 1.41ms -> 4.62ms 3.29x LinearSrcOver_yellow_rose.pngVSkOptsTrivial 24.9ms -> 24.9ms 1x LinearSrcOver_yellow_rose.pngVSkOptsNonSimdCore 2.17ms -> 2.18ms 1x LinearSrcOver_plane.pngVSkOptsTrivial 11.1ms -> 11.1ms 1x LinearSrcOver_plane.pngVSkOptsNonSimdCore 1.5ms -> 1.5ms 1x LinearSrcOver_mandrill_512.pngVSkOptsNonSimdCore 2.39ms -> 2.39ms 1x LinearSrcOver_iconstrip.pngVSkOptsNonSimdCore 6.43ms -> 6.43ms 1x LinearSrcOver_baby_tux.pngVSkOptsBruteForce 22.3ms -> 22.3ms 1x LinearSrcOver_yellow_rose.pngVSkOptsBruteForce 45.5ms -> 45.5ms 1x LinearSrcOver_baby_tux.pngVSkOptsNonSimdCore 2.02ms -> 2.02ms 1x LinearSrcOver_iconstrip.pngVSkOptsTrivial 69.7ms -> 69.7ms 1x LinearSrcOver_baby_tux.pngVSkOptsTrivial 9.96ms -> 9.95ms 1x LinearSrcOver_mandrill_512.pngVSkOptsBruteForce 99.3ms -> 99.2ms 1x BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ia576365578d65b771440da65fdf41f090ccf0541 Reviewed-on: https://skia-review.googlesource.com/6860 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Attempt 3: SkRasterPipelineBlitter: support A8Gravatar Mike Klein2017-01-13
| | | | | | | | | | | Now that SkOpts_hsw.cpp no longer hooks in SkRasterPipeline_opts, it should be safe to try this again. This reverts commit 86d55b312a2649d80890ccf75f24571ada0265f1. Change-Id: I2d495600ca9d3a0f49c2e02fbaaae349cefac3a1 Reviewed-on: https://skia-review.googlesource.com/6985 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Reland https://skia-review.googlesource.com/c/6091/"Gravatar Yuqian Li2017-01-13
| | | | | | | | | | | This reverts commit b46fff60bc82fe6f0c64b2241d854a121f7cb5f9. Reason for revert: possible chromium cc unit tests failure Change-Id: Ie174c55e4d0fc3ae45854b5897ba26b7ad5a9c13 Reviewed-on: https://skia-review.googlesource.com/6981 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Use RasterPipeline to support full precision on 16-bit RGBA pngsGravatar Matt Sarett2017-01-13
| | | | | | | | | | | | Reland of Original Change: https://skia-review.googlesource.com/6260 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I809984dd9af225103bfbe83492a17c19da7c5e40 Reviewed-on: https://skia-review.googlesource.com/6980 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Add support for drawImageLattice in SKIA debuggerGravatar Stan Iliev2017-01-12
| | | | | | | | | | | Add support in SKIA debugger for SkCanvas.drawImageLattice calls. Test: Tested with an SKP from android settings app. Change-Id: I3f39f353dca8a3a2854241e7ef995d4d8c635f3e Reviewed-on: https://skia-review.googlesource.com/6882 Commit-Queue: Stan Iliev <stani@google.com> Reviewed-by: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Reland https://skia-review.googlesource.com/c/6091/Gravatar Yuqian Li2017-01-12
| | | | | | | | | | | | | | The only difference is that we now put the guard flag SK_SUPPORT_LEGACY_AAA in SkUserConfig.h instead of SkScan.h. Previously, SkAnalyticEdge.cpp doesn't get that flag from SkScan.h and that caused many problems. BUG=skia: TBR=reed@google.com,caryclark@google.com Change-Id: I7b89d3cb64ad71715101d2a5e8e77be3a8a6fa16 Reviewed-on: https://skia-review.googlesource.com/6972 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Use RasterPipeline to support full precision on 16-bit RGBA pngs"Gravatar Matt Sarett2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bb2339da39ab3ee59121acd911920dafcd4a2f72. Reason for revert: Breaks MSAN Original change's description: > Use RasterPipeline to support full precision on 16-bit RGBA pngs > > TODO: Support more precision on 16-bit RGB pngs > > BUG=skia: > > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > Change-Id: I89dfef3b4887b9c4895c17309933883ab90ffa4d > Reviewed-on: https://skia-review.googlesource.com/6260 > Reviewed-by: Mike Reed <reed@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,reed@google.com,reviews@skia.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I47579c20af033a75883e2b35567cb9c690ce54b0 Reviewed-on: https://skia-review.googlesource.com/6975 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* impl clipping for GDI raster-handleGravatar Mike Reed2017-01-12
| | | | | | | | | BUG=skia: Change-Id: I66bbcd80853662d982b80e7e504f2b5ccedc055c Reviewed-on: https://skia-review.googlesource.com/6967 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* drop depot_tools dependency in bin/fetch-gnGravatar Mike Klein2017-01-12
| | | | | | | | | ... and copy gn to bin/ when done to make it easy to find. Change-Id: I1ec405b4c45efb828626ff7d904a417f69b39cb2 Reviewed-on: https://skia-review.googlesource.com/6962 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* rm -r {include,src}/animatorGravatar Hal Canary2017-01-12
| | | | | | | Change-Id: Ibfb57dfa7fd317fb0737096cc7c1bbcb644421b5 Reviewed-on: https://skia-review.googlesource.com/6957 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* cleanup after 95e3c05Gravatar Hal Canary2017-01-12
| | | | | | | | | Change-Id: Ifd194fd009196b8bee2dd83328bbe698586d72f4 Reviewed-on: https://skia-review.googlesource.com/6965 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Fix tool with swapped fC, fE (SkColorSpaceTransferFn)Gravatar Matt Sarett2017-01-12
| | | | | | | | | | | I missed updating this tool. BUG=skia: Change-Id: If5c79f0c41dd829ce8f952106660100ce4accca0 Reviewed-on: https://skia-review.googlesource.com/6963 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Use RasterPipeline to support full precision on 16-bit RGBA pngsGravatar Matt Sarett2017-01-12
| | | | | | | | | | | | | | | TODO: Support more precision on 16-bit RGB pngs BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I89dfef3b4887b9c4895c17309933883ab90ffa4d Reviewed-on: https://skia-review.googlesource.com/6260 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Implement Analytic AA for General Paths (with Guard against Chrome)"Gravatar Yuqian Li2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 89a0e72287e991cfa2f860f92fad545ca59defe1. Reason for revert: <INSERT REASONING HERE> Original change's description: > Implement Analytic AA for General Paths (with Guard against Chrome) > > I've set up a SK_SUPPORT_LEGACY_AAA flag to guard against Chromium layout tests. I also set that flag in this CL so theoretically this CL won't trigger any GM changes. I'll use this to verify my guard, and remove that flag and actually enables concave AAA in a future CL. > > When enabled, for most simple concave paths (e.g., rectangle stroke, rrect stroke, sawtooth, stars...), the Analytic AA achieves 1.3x-2x speedup, and they look much prettier. And they probably are the majority in our use cases by number. But they probably are not the majority by time cost; a single complicated path may cost 10x-100x more time to render than a rectangle stroke... For those complicated paths, we fall back to supersampling by default as we're likely to be 1.1-1.2x slower and the quality improvement is not visually significant. However, one can use gSkForceAnalyticAA to disable that fallback. > > BUG=skia: > > Change-Id: If9549a3acc4a187cfaf7eb51890c148da3083d31 > Reviewed-on: https://skia-review.googlesource.com/6091 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I13c05aaa1bcb14956bd0fe01bb404e41be75af22 Reviewed-on: https://skia-review.googlesource.com/6961 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Fix SkImageFilterCache raceGravatar Florin Malita2017-01-12
| | | | | | | | | | BUG=chromium:668937 R=reed@google.com,robertphillips@google.com Change-Id: I72ceaf1d88946c277a38f32014640e01ae9cbded Reviewed-on: https://skia-review.googlesource.com/6954 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Implement Analytic AA for General Paths (with Guard against Chrome)Gravatar Yuqian Li2017-01-12
| | | | | | | | | | | | | I've set up a SK_SUPPORT_LEGACY_AAA flag to guard against Chromium layout tests. I also set that flag in this CL so theoretically this CL won't trigger any GM changes. I'll use this to verify my guard, and remove that flag and actually enables concave AAA in a future CL. When enabled, for most simple concave paths (e.g., rectangle stroke, rrect stroke, sawtooth, stars...), the Analytic AA achieves 1.3x-2x speedup, and they look much prettier. And they probably are the majority in our use cases by number. But they probably are not the majority by time cost; a single complicated path may cost 10x-100x more time to render than a rectangle stroke... For those complicated paths, we fall back to supersampling by default as we're likely to be 1.1-1.2x slower and the quality improvement is not visually significant. However, one can use gSkForceAnalyticAA to disable that fallback. BUG=skia: Change-Id: If9549a3acc4a187cfaf7eb51890c148da3083d31 Reviewed-on: https://skia-review.googlesource.com/6091 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* fix clipping in rasterhandleallocatorGravatar Mike Reed2017-01-12
| | | | | | | | | BUG=skia: Change-Id: Ia24c5ae191fd823095cd0c75993cfd0208c98869 Reviewed-on: https://skia-review.googlesource.com/6952 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* refFoo variant for getters that naturally have a sk_spGravatar Mike Reed2017-01-12
| | | | | | | | | | BUG=skia: Change-Id: I13afa1b81e8a72d93e45fb4d37228be196b0f388 Reviewed-on: https://skia-review.googlesource.com/6923 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Mike Reed <reed@google.com>
* skia_android_serial = "auto"Gravatar Mike Klein2017-01-12
| | | | | | | | | | | Handy if you only have one device plugged in at a time. Note that when used, this makes GN treat all devices' serial numbers as "auto", so it won't re-push if you swap devices until you change the binary that's being pushed. Change-Id: I1f72133d6d8c4b5569734f191d414088e0b41f06 Reviewed-on: https://skia-review.googlesource.com/6948 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Cleanup GrPixelConfig helper functionsGravatar Brian Osman2017-01-12
| | | | | | | | | | | | Remove unused functions, and convert another to switch style. BUG=skia: Change-Id: I93edbece54f147d868801bb008e6f935a8cb997f Reviewed-on: https://skia-review.googlesource.com/6947 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix perf regression with SDF pathsGravatar Jim Van Verth2017-01-12
| | | | | | | | | BUG=skia:6113,chromium:677889 Change-Id: I13d012a92e4d0371138f5ed4b92c7850f9b773a5 Reviewed-on: https://skia-review.googlesource.com/6945 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* disable runtime detected AVX2 raster pipelinesGravatar Mike Klein2017-01-12
| | | | | | | | | | | | | It's proving too difficult to keep on top of all the ways we might cause ODR violations that crash Chrome. I'd rather focus on other ways of running the pipelines that won't have that particular problem. Our -Fast bots will keep testing and benchmarking AVX2 raster pipelines. BUG=chromium:679147,chromium:654213,chromium:664864,chromium:666707,etc. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I35ba8f5f4303107237fd78a6ce442d7c26e5fbef Reviewed-on: https://skia-review.googlesource.com/6827 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove defunct include/images directory from GN.Gravatar Derek Sollenberger2017-01-12
| | | | | | | | | | BUG=skia:6065 Change-Id: I332581cca684c4918dc87434509744b8bf4f5ed8 Reviewed-on: https://skia-review.googlesource.com/6944 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove second version of SkImageInfo2GrPixelConfigGravatar Brian Osman2017-01-12
| | | | | | | | | | | | | | | | Alpha type is not (and never will be) part of pixel config, so the logic around that was unnecessary. (Also, we already sanitize color type and alpha type before making a new device at a higher level). With that out of the way, we can easily supply a full info at the two call-sites that were using the other version. BUG=skia: Change-Id: Iceccdbdebd1062d3e5023620755aabcc86604d2f Reviewed-on: https://skia-review.googlesource.com/6920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove kIndex_8_GrPixelConfigGravatar Brian Osman2017-01-12
| | | | | | | | | | | | It's been disabled for a long time (GPUs don't support it, and it actually caused performance regression in testing). BUG=skia:4333 Change-Id: I6e2bf755f765168fd616de6c9c023c6fbd5abd20 Reviewed-on: https://skia-review.googlesource.com/6897 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move recipe expectations into example.py recipes inside of modulesGravatar Eric Boren2017-01-12
| | | | | | | | | | | Each top-level recipe still needs one test and expectation file. BUG=skia:6070 Change-Id: I3b14e8a11a86af68f5558177536f0018b644be4d Reviewed-on: https://skia-review.googlesource.com/6943 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* Move most recipes into modulesGravatar Eric Boren2017-01-12
| | | | | | | | | | | The modules will eventually move into a shared repository. BUG=skia:6070 Change-Id: I622265d98a5446f9f3ebf2c6a197770398623769 Reviewed-on: https://skia-review.googlesource.com/6942 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* only copy NDK binaries when using NDK in our standalone buildsGravatar Mike Klein2017-01-12
| | | | | | | | | | | | i.e. not when generating Android.bp (and in the future, not in Clank builds) BUG=skia:6065 Change-Id: I52bdd5f01deb5e5b4d9e72bec197a82dc887be88 Reviewed-on: https://skia-review.googlesource.com/6941 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* GrTessellator: fix artifact with exactly-1-px-wide edges.Gravatar Stephen White2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | When path features are exactly a pixel wide, the extruded inner edges can become collinear and then be removed, since their winding is zero. We need these edges to be preserved through triangulation, otherwise opaque portions of the geometry can become transparent. Since the simplify() pass can handle zero-winding edges just fine, the the fix is to simply not remove them. In addition, this changes refactors out disconnect() from all the calls to remove_edge_above()/remove_edge_below(). It also renames the remaining function erase_edge() (since it's now unconditional). Add a new test to a new "thinconcavepaths" GM. BUG=680260 NOTRY=true Change-Id: I1d3a436c95a01c4d4ef5dc05503de4312677f65d Reviewed-on: https://skia-review.googlesource.com/6902 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephan White <senorblanco@chromium.org>
* add win subclass of raster-allocatorGravatar Mike Reed2017-01-12
| | | | | | | | | BUG=skia: Change-Id: Ibe1664b599a88dce06d03cf8eea10db5f75ce037 Reviewed-on: https://skia-review.googlesource.com/6924 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Introduce SkArenaAlloc - should be fast for POD types and RAII for ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | types with dtors." This reverts commit 6ff51aedda6f3b4873c292d7e03e47ad656543f8. Reason for revert: breaks win2k8 and PDFium Change-Id: Ib1e2db8e523d5d321836ce00e3773def3db8be2f Reviewed-on: https://skia-review.googlesource.com/6898 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* SkUTF8_CountUnichars(s,l) and SkUTF8_NextUnichar(s,l) now safe.Gravatar Hal Canary2017-01-11
| | | | | | | | | | | | | Theory: We will accept blobs of data as utf-8 text without validation, but when it comes time to process it: count code poits or convert to code points, be careful to check for errors. TODO: SkTypeface::charsToGlyphs() needs to take a length. Change-Id: Id8110ab43dbffce96faffdda1e0bdaa39cad40e4 Reviewed-on: https://skia-review.googlesource.com/6849 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Fix undefined GrIORef test method on Chrome win botGravatar Brian Salomon2017-01-11
| | | | | | | Change-Id: Ifc3d7e285a4b1a0b370ec79963127490bd7b1a84 Reviewed-on: https://skia-review.googlesource.com/6896 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Introduce SkArenaAlloc - should be fast for POD types and RAII for types ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | with dtors. - Implementation. - Use in SkLinearPipeline. TBR=mtklein@google.com Change-Id: Ia8efd09b2f3139a57182889ba84d1610eae92749 Reviewed-on: https://skia-review.googlesource.com/6352 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* More fixes for distance field pathsGravatar Jim Van Verth2017-01-11
| | | | | | | | | | | | Disables use of SDFs for very small paths (because of blurring) and adds a border of 1 pixel in device space to handle antialiasing. BUG=chromium:677889 Change-Id: Icd2f7e80323b1255f8de52b97360e9a2d995c765 Reviewed-on: https://skia-review.googlesource.com/6895 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Make GrPaints move their GrProcessor ownership into GrPipelineBuilder.Gravatar Brian Salomon2017-01-11
| | | | | | | | | This makes GrPaints usable only once. In some places we must make copies in order to issue draws with the same paint state. Change-Id: Ie816e5185ce93a064111cad64c6880e1e21184c2 Reviewed-on: https://skia-review.googlesource.com/6844 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* move SkTRegister.h into toolsGravatar Mike Reed2017-01-11
| | | | | | | | | BUG=skia: Change-Id: Ie7d4fac3024b361a281f456fec2b3a837e2bfe43 Reviewed-on: https://skia-review.googlesource.com/6881 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove SK_LEGACY_FONTMGR_FACTORY.Gravatar Ben Wagner2017-01-11
| | | | | | | | | | | | | SkFontMgr factories now return sk_sp and the legacy factories are no longer used and can be removed. BUG=skia:5077 Change-Id: Ieaff8555b297d1db157f8b78cdd6e7d07a3b5490 Reviewed-on: https://skia-review.googlesource.com/6894 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove dead file: PathOpsSkpClipTest.cppGravatar Mike Reed2017-01-11
| | | | | | | | | BUG=skia: Change-Id: If11dd014b14aa902082f93bf678b9d0f1b2e1c34 Reviewed-on: https://skia-review.googlesource.com/6893 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkSplicer: start on Windows supportGravatar Mike Klein2017-01-11
| | | | | | | | | should just be missing copy_to_executable_mem() / cleanup_executable_mem() Change-Id: I47d34d4b57a40c07120cca7dc03f6ae22ecbe910 Reviewed-on: https://skia-review.googlesource.com/6854 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* SkTestTypeface: correct encodingGravatar Hal Canary2017-01-11
| | | | | | | Change-Id: I6ef875fc44278b873989d323dd26f6ed26b68f28 Reviewed-on: https://skia-review.googlesource.com/6889 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* SkTypes.h : move SkAutoMalloc into SkAutoMalloc.hGravatar Hal Canary2017-01-11
| | | | | | | | | | | | | | | | * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Revert "Revert 'SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h'" This reverts commit c456b73fef9589bbdc5eb83eaa83e53c357bb3da. Change-Id: Ie2c1a17c20134b8ceab85a68b3ae3e61c24fbaab Reviewed-on: https://skia-review.googlesource.com/6886 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>