aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Fix gaussian blur for small sigma.Gravatar senorblanco2015-12-17
| | | | | | | | | | | | | | | | | | | | I broke this in https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42. That change added support for cropping during blur, but did not do the correct thing for the small-sigma 2D matrix convolution optimization when blurring from small-to-large textures. The fix is pass the correct dstRect and srcOffset to convolve_gaussian_2d. I also changed convolve_gaussian_1d() and convolve_gaussian_2d() to take the original (non-negated) srcOffset, and to negate them when constructing the local matrix. Test: added a new (blur 0.3 0.3) column to imagefilterscropexpand, so that GM will have to be rebaselined. BUG=skia:4719,569883 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529313003 Review URL: https://codereview.chromium.org/1529313003
* check bounds of each cubic segment against clipGravatar reed2015-12-17
| | | | | | | | | | | | | Timing against complex svg image (map), no tiling: no change or very slightly faster tiling (4x4): went from 3x slower (than untiled) to 2x slower no gold changes expected BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532733002 Review URL: https://codereview.chromium.org/1532733002
* remove obsolete ondrawsprite base virtualGravatar reed2015-12-16
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529283003 TBR= Review URL: https://codereview.chromium.org/1529283003
* Revert of Add test for previously unflattenables (patchset #1 id:1 of ↵Gravatar scroggo2015-12-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1514373003/ ) Reason for revert: Speculative fix for skbug.com/4709 Original issue's description: > Add test for previously unflattenables > > BUG=skia:4613 > > Committed: https://skia.googlesource.com/skia/+/061aaa79f7d8a2e93962e8296abaae13f0a7a715 TBR=halcanary@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4613 Review URL: https://codereview.chromium.org/1532753002
* count is an int, so constrain it to a 32-bit w-register.Gravatar mtklein2015-12-16
| | | | | | | | | | | | | | This piece of code is already 64-bit only, so we don't need to think about ARMv7. Hopefully this shuts up the warnings. They were harmless. If this doesn't work (it's relatively new modifier, so maybe some compilers barf), an alternative is to cast count to a size_t. BUG=skia:4686 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527123003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1527123003
* add fsync to try to get complete skps from webpage picture captureGravatar caryclark2015-12-16
| | | | | | | | R=reed@google.com,mtklein@google.com BUG=skia:4691 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1530783003 Review URL: https://codereview.chromium.org/1530783003
* Add VisualBench switch to extra_configGravatar joshualitt2015-12-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1533523003 Review URL: https://codereview.chromium.org/1533523003
* only call scalar finite when necessaryGravatar caryclark2015-12-16
| | | | | | | | | | | | | | | | | Mike points that the the ulps compares rank high in path ops profiles. The check for finite scalars is rarely required. Call it less by: - specializing _pin version of compares - checking for 0 divides up front - handling failing cases before comparing - casting float to double before adding R=reed@google.com Review URL: https://codereview.chromium.org/1522183002
* Generate a table of config->glformat info. Precursor to lifting this to caps.Gravatar bsalomon2015-12-16
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527383003 Review URL: https://codereview.chromium.org/1527383003
* SSE 4.1 SrcOver blits: color32, blitmask.Gravatar mtklein2015-12-16
| | | | | | | | | | | | | | | | | | | | | | | | This is mainly warmup for an AVX2 version. The machine I'm typing this on just doesn't support AVX2. This strategy should translate easily down to SSSE3 and SSE2. Xfermode_SrcOver: 2.73ms -> 2.62ms (0.96x) (That's Color32.) Xfermode_SrcOver_aa: 3.48ms -> 3.09ms (0.89x) (That's BlitMask_D32_A8.) AA text blits (text_16_AA_{88,FF,WT,BK}) show speedups in the range of 5 to 20%. Unlike previous versions of this code, all the div255() are exactly (x+127)/255. This won't fix any major bugs, but it does correct our bias in the middle. There will be many diffs, all minor. I've punted for now on pmaddubsw for lerping. I do intend to try that, but I want this (relatively simple) code as my basis for comparison. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1526883004 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1526883004
* Blacklist GLInstancedArraysBench on ipadGravatar joshualitt2015-12-16
| | | | | | | TBR=jvanverth@google.com BUG=skia:4714 Review URL: https://codereview.chromium.org/1522273006
* Remove Subset*BenchesGravatar scroggo2015-12-16
| | | | | | | | | | | | | | | | These were originally used to compare to the old implementation of subset decoding in SkImageDecoder. The old implementation has been removed, and they do not provide useful information that is not covered by the BitmapRegionDecoderBenches. This will greatly speed up some of our infra bots, which spend a lot of time decoding interlaced PNGs repeatedly (thanks to SubsetTranslateBench). BUG=skia:4715 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1531833002 Review URL: https://codereview.chromium.org/1531833002
* Revert of Blacklist GLInstancedArraysBench on the ipad (patchset #1 id:1 of ↵Gravatar joshualitt2015-12-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1529973002/ ) Reason for revert: Whoops, this is for nanobench Original issue's description: > Blacklist GLInstancedArraysBench on the ipad > > BUG=skia:4714 > > Committed: https://skia.googlesource.com/skia/+/5d16fea9e22221be5fbe2866bbcfe8d6f4c6aeac TBR=jvanverth@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4714 Review URL: https://codereview.chromium.org/1534513002
* This brings hairlines into agreement with thick strokes.Gravatar caryclark2015-12-16
| | | | | | | | | | Add more testing and a pixel magnification to GM. R=reed@google.com, fmalita@chromium.org BUG=skia:4599 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527083002 Review URL: https://codereview.chromium.org/1527083002
* Reland of move drawSprite from canvas (patchset #1 id:1 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1529803004/ ) Reason for revert: guard has landed in chrome Original issue's description: > Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ ) > > Reason for revert: > need to remove an override in chrome > > Original issue's description: > > remove drawSprite from canvas > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 > > TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/32704674f64cb6a14356dfebe060cd3484c06cc7 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1530203002
* Revert of remove drawSprite from canvas (patchset #4 id:60001 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1534443003/ ) Reason for revert: need to remove an override in chrome Original issue's description: > remove drawSprite from canvas > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1529803004
* remove drawSprite from canvasGravatar reed2015-12-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1534443003
* Use SK_BUILD_FOR_ANDROID_FRAMEWORK in composeGravatar scroggo2015-12-16
| | | | | | | | | We are trying to support the behavior provided by the Android framework. Other developers do not necessarily need this behavior. BUG=skia:4296 Review URL: https://codereview.chromium.org/1518933002
* Avoid pixel GPU readback in saveLayerWithPickupGravatar robertphillips2015-12-16
| | | | | | When the default framebuffer is wrapped in a device for rendering we don't get a GrTexture. This CL adds a copy to a temporary texture in this instance so the rest of the Ganesh pipeline can continue on as usual. Review URL: https://codereview.chromium.org/1531493002
* Blacklist GLInstancedArraysBench on the ipadGravatar joshualitt2015-12-15
| | | | | | BUG=skia:4714 Review URL: https://codereview.chromium.org/1529973002
* Set GL_PACK_ALIGNMENT before calling glReadPixelsGravatar bsalomon2015-12-15
| | | | Review URL: https://codereview.chromium.org/1525193002
* Make draw* lines responsible for cache managementGravatar joshualitt2015-12-15
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1521613002
* Fix for GrAALinearizingConvexPathRenderer incorrectly drawing non-convex pathsGravatar ethannicholas2015-12-15
| | | | | | BUG=552080 Review URL: https://codereview.chromium.org/1522973002
* Porting Skia for newlib compatibility.Gravatar smklein2015-12-15
| | | | | | | | "locale_t" is not defined for Newlib. BUG=https://github.com/domokit/mojo/issues/431 Review URL: https://codereview.chromium.org/1526703003
* Blacklist AndroidOne + WritePixelsTestGravatar joshualitt2015-12-15
| | | | | | BUG=skia:4711 Review URL: https://codereview.chromium.org/1528033002
* Add helper for determining whether to use sized internal format in GLGravatar bsalomon2015-12-15
| | | | | | | | | | Fix case where texture format and data format are different. Use helper when createing a testing "backend" texture. BUG=skia: Review URL: https://codereview.chromium.org/1527753002
* Tests: reduce verbosityGravatar halcanary2015-12-15
| | | | Review URL: https://codereview.chromium.org/1526943003
* SkPreConfig.h: Allow defined(__unix__) to imply SK_BUILD_FOR_UNIXGravatar mseaborn2015-12-15
| | | | | | | | | | | | | | This is more general than checking for __linux, __FreeBSD__, etc. (In principle we could remove some of the existing checks such as __FreeBSD__, but I have not tried that so far.) In particular, it allows Skia to build with the NaCl or PNaCl toolchains, which is something we would like for Mojo. BUG=https://github.com/domokit/mojo/issues/431 TEST=none Review URL: https://codereview.chromium.org/1523733003
* Specialize Sk2d for SSE2Gravatar mtklein2015-12-15
| | | | | | | | | | Given the autovectorization we've seen, I wouldn't expect big speedups from this, but it does give us a point of control over what's going on. BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1526923003
* Revert of In BUILD.public, enable SK_SUPPORT_LEGACY_HAIR_IGNORES_CAPS. ↵Gravatar benjaminwagner2015-12-15
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1516863007/ ) Reason for revert: The failing test has been blacklisted. The issue was not caused by this CL. Original issue's description: > In BUILD.public, enable SK_SUPPORT_LEGACY_HAIR_IGNORES_CAPS. > > Somehow https://codereview.chromium.org/1491843006 causes fills to change in one test. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/b6c77f6d62a62db3aec483e0a995ca30b9c97f0b TBR=mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1530533003
* SkBitmapProcState rounding biasGravatar fmalita2015-12-15
| | | | | | | | | | | | | Epsilon bias to keep bitmap sample rounding consistent with geometry rounding. Also update the GM to draw an outer border + drop uninteresting scales in favor of negative scale variants. BUG=skia:4680,skia:4649 R=reed@google.com,caryclark@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1527633002
* Add link to Gold trybot runs in every uploaded Skia CLGravatar rmistry2015-12-15
| | | | | | | BUG=skia:4433 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1521913005 Review URL: https://codereview.chromium.org/1521913005
* adb_wait_for_device: More fixesGravatar borenet2015-12-15
| | | | | | BUG=skia:4690 Review URL: https://codereview.chromium.org/1527713002
* Fix valgrind suppressions for libjpeg-turbo warningGravatar msarett2015-12-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1518393003
* Update sync_google3.sh to match autoroller.py.Gravatar benjaminwagner2015-12-14
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1526593003
* Add option to control maximum GrBatch lookbackGravatar bsalomon2015-12-14
| | | | Review URL: https://codereview.chromium.org/1498653002
* Switch fragment coordinate to 'highp' to fix various broken GMs.Gravatar ethannicholas2015-12-14
| | | | | | BUG=skia:4693 Review URL: https://codereview.chromium.org/1523793002
* Unify some SkNx codeGravatar mtklein2015-12-14
| | | | | | | | | | | | | | | - one base case and one N=1 case instead of two each (or three with doubles) - use SkNx_cast instead of FromBytes/toBytes - 4-at-a-time Sk4f::ToBytes becomes a special standalone Sk4f_ToBytes If I did everything right, this'll be perf- and pixel- neutral. https://gold.skia.org/search2?issue=1526523003&unt=true&query=source_type%3Dgm&master=false BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1526523003
* Revert of SkTime updates (patchset #2 id:20001 of ↵Gravatar mtklein2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1521293002/ ) Reason for revert: linux Canary builder has no std::steady_clock. Weird... Original issue's description: > SkTime updates > > 1) Use steady_clock instead of high_resolution_clock. If we don't have a > guarantee of monotonicity, it's pretty much useless for timing things. > > 2) Implement Mac/iOS with <chrono> too. This was waiting on C++11 library support. > > Both high_resolution_clock and steady_clock are (still) busted on MSVC 2013, > so no change there. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/6a20871e5aeaa7e61f3348694bf436af16f824b9 TBR=herb@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1529603002
* SkBitmap moveGravatar halcanary2015-12-14
| | | | | | | | Running `Release/dm --gpu 0`, the number of times we call SkBitmap::operator=(const SkBitmap&) (which refs the pixelref) is reduced from ~214929 to ~214626. Review URL: https://codereview.chromium.org/1514503004
* adb_wait_for_device: Add battery fallback, support no batteryGravatar borenet2015-12-14
| | | | | | | BUG=skia:4690 TBR=rmistry Review URL: https://codereview.chromium.org/1528563002
* Documentation: HarfBuzz linkGravatar halcanary2015-12-14
| | | | | | | NOTRY=true TBR=caryclark@google.com Review URL: https://codereview.chromium.org/1526683002
* Documentation: text shapingGravatar halcanary2015-12-14
| | | | | | | NOTRY=true DOCS_PREVIEW= https://skia.org/user/tips?cl=1523023002#kerning Review URL: https://codereview.chromium.org/1523023002
* path ops: check for deleted endsGravatar caryclark2015-12-14
| | | | | | | TBR=fmalita@chromium.org BUG=569540 Review URL: https://codereview.chromium.org/1524803002
* SkTime updatesGravatar mtklein2015-12-14
| | | | | | | | | | | | | | 1) Use steady_clock instead of high_resolution_clock. If we don't have a guarantee of monotonicity, it's pretty much useless for timing things. 2) Implement Mac/iOS with <chrono> too. This was waiting on C++11 library support. Both high_resolution_clock and steady_clock are (still) busted on MSVC 2013, so no change there. BUG=skia: Review URL: https://codereview.chromium.org/1521293002
* If a point is on a path edge, it's in the path, at least for all cases where ↵Gravatar caryclark2015-12-14
| | | | | | | | | | | the path edge is not canceled with another edge through coincidence. Add test cases for edges and conics, and make sure it all works. R=reed@google.com BUG=skia:4669,4265 Review URL: https://codereview.chromium.org/1517883002
* adb_wait_for_device: If we can't get the battery level, just exitGravatar borenet2015-12-14
| | | | | | | | BUG=skia:4606 TBR=rmistry NOTREECHECKS=true Review URL: https://codereview.chromium.org/1529453002
* Revert of Add config options to run different GPU APIs to dm and nanobench ↵Gravatar reed2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #12 id:220001 of https://codereview.chromium.org/1490113005/ ) Reason for revert: speculative revert to see if it unblocks the DEPS roll https://codereview.chromium.org/1529443002 Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 TBR=bsalomon@google.com,scroggo@google.com,joshualitt@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1528473002
* Add minimum battery level to adb_wait_for_deviceGravatar borenet2015-12-14
| | | | | | | | | This should prevent the Android bots running out of battery at the expense of extra time spent waiting at the end of the build. BUG=skia:4606 Review URL: https://codereview.chromium.org/1522013002
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Review URL: https://codereview.chromium.org/1490113005