aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Revert of Fix a memory leak when decoding corrupted indexed PNGs. (patchset ↵Gravatar reed2015-03-07
| | | | | | | | | | | | | | | | | | | | | | | #2 id:20001 of https://codereview.chromium.org/951663002/) Reason for revert: speculative revert due to many failures in tree Original issue's description: > Fix a memory leak when decoding corrupted indexed PNGs. > Commit to branch refs/heads/png-leak > > BUG=skia:3457 > > Committed: https://skia.googlesource.com/skia/+/561a1ca9559a1ea7589ab93350124284fcef3315 TBR=scroggo@google.com,dml@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3457 Review URL: https://codereview.chromium.org/980203005
* Fix a memory leak when decoding corrupted indexed PNGs.Gravatar dml2015-03-06
| | | | | | | | Commit to branch refs/heads/png-leak BUG=skia:3457 Review URL: https://codereview.chromium.org/951663002
* Update SkPicture cull rects with RTree informationGravatar schenney2015-03-06
| | | | | | | | | | | | | | | | | | When computed, the RTree for an SkPicture will have a root bounds that reflects the best bounding information available, rather than the best estimate at the time the picture recorder is created. Given that creators frequently don't know ahead of time what will be drawn, the RTree bound is often tighter. Perf testing on Chrome indicates a small raster performance advantage. For upcoming painting changes in Chrome the performance advantage is much larger. BUG= Committed: https://skia.googlesource.com/skia/+/2dd3b6647dc726f36fd8774b3d0d2e83b493aeac Review URL: https://codereview.chromium.org/971803002
* Make Sk4f(float) constructor explicit.Gravatar mtklein2015-03-06
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/985003003
* Fix bit rot in SkGlyphCache validate code.Gravatar herb2015-03-06
| | | | | | | | | | TESTED CFLAGS=-DSK_DEBUG_GLYPH_CACHE CPPFLAGS=-DSK_DEBUG_GLYPH_CACHE ./gyp_skia ninja -C out/Debug dm out/Debug/dm Review URL: https://codereview.chromium.org/989683002
* For consistency, use our homebrew zlib everywhere possible.Gravatar mtklein2015-03-06
| | | | | | | | | | | | This switches when we build our own zlib from "just Windows" to "everyone, but not Android framework of course". I tested this by building DM for my Mac and for an Android bot config. It took minor tweaks to the GYP to get ARM builds working. BUG=skia: Review URL: https://codereview.chromium.org/971673005
* Clip scissor to RT boundsGravatar bsalomon2015-03-06
| | | | | | | | R=joshualitt@google.com NOTREECHECKS=true Review URL: https://codereview.chromium.org/985783002
* Remove rect clip type from grclip.Gravatar bsalomon2015-03-06
| | | | | | | | R=joshualitt@google.com BUG=skia: NOTREECHECKS=true Review URL: https://codereview.chromium.org/989443003
* Read pixels in BGRA non-premul mode in few testsGravatar kkinnunen2015-03-06
| | | | | | | | | | | | | The tests assert on Sk_ColorGREEN, which is in BRGA non-premul. Read the pixels in same color format. Currently the tests pass on all platforms because GREEN is fully opaque and the component stays in the same place both on BGRA and RGBA. However, hypothetically somebody could copy-paste the assertion for further tests but use, say, RED. This creates latent error that is only visible on some platforms like mac. Review URL: https://codereview.chromium.org/989463002
* Fix rect clipsGravatar bsalomon2015-03-06
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/987653004
* SKPMFloat: we can beat the naive loops when clampingGravatar mtklein2015-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clamping 4 at a time is now about 15% faster than 1 at a time with SSSE3. Clamping 4 at a time is now about 20% faster with SSE2, and this applies to non-clamping too (we still just clamp there). In all cases, 4 at a time is never worse than 1 at a time, and not clamping is never slower than clamping. Here's all the bench results, with the numbers for portable code as a fun point of reference: SSSE3: maxrss loops min median mean max stddev samples config bench 10M 2291 4.66ns 4.66ns 4.66ns 4.68ns 0% ▆█▁▁▁▇▁▇▁▃ nonrendering SkPMFloat_get_1x 10M 2040 5.29ns 5.3ns 5.3ns 5.32ns 0% ▃▆▃▃▁▁▆▃▃█ nonrendering SkPMFloat_clamp_1x 10M 7175 4.62ns 4.62ns 4.62ns 4.63ns 0% ▁▄▃████▃▄▇ nonrendering SkPMFloat_get_4x 10M 5801 4.89ns 4.89ns 4.89ns 4.91ns 0% █▂▄▃▁▃▄█▁▁ nonrendering SkPMFloat_clamp_4x SSE2: maxrss loops min median mean max stddev samples config bench 10M 1601 6.02ns 6.05ns 6.04ns 6.08ns 0% █▅▄▅▄▂▁▂▂▂ nonrendering SkPMFloat_get_1x 10M 2918 6.05ns 6.06ns 6.05ns 6.06ns 0% ▂▇▁▇▇▁▇█▇▂ nonrendering SkPMFloat_clamp_1x 10M 3569 5.43ns 5.45ns 5.44ns 5.45ns 0% ▄█▂██▇▁▁▇▇ nonrendering SkPMFloat_get_4x 10M 4168 5.43ns 5.43ns 5.43ns 5.44ns 0% █▄▇▁▇▄▁▁▁▁ nonrendering SkPMFloat_clamp_4x Portable: maxrss loops min median mean max stddev samples config bench 10M 500 27.8ns 28.1ns 28ns 28.2ns 0% ▃█▆▃▇▃▆▁▇▂ nonrendering SkPMFloat_get_1x 10M 770 40.1ns 40.2ns 40.2ns 40.3ns 0% ▅▁▃▂▆▄█▂▅▂ nonrendering SkPMFloat_clamp_1x 10M 1269 28.4ns 28.8ns 29.1ns 32.7ns 4% ▂▂▂█▂▁▁▂▁▁ nonrendering SkPMFloat_get_4x 10M 1439 40.2ns 40.4ns 40.4ns 40.5ns 0% ▆▆▆█▁▆▅█▅▆ nonrendering SkPMFloat_clamp_4x SkPMFloat_neon.h is still one big TODO as far as 4-at-a-time APIs go. BUG=skia: Review URL: https://codereview.chromium.org/982123002
* We had zero coverage for SkDrawFilter. This new GM draws two rectangles.Gravatar tomhudson2015-03-06
| | | | | | | | | If SkDrawFilter is working, they will not match (have different colors and one will be blurred). If SkDrawFilter is broken, they will match. R=scroggo@google.com Review URL: https://codereview.chromium.org/984883003
* Adding linear interpolation to rgb->yuv conversionGravatar sugoi2015-03-06
| | | | | | | | | | When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue. BUG=460380 Committed: https://skia.googlesource.com/skia/+/cd9d42c5167a50f1bf20e969343556d61354171b Review URL: https://codereview.chromium.org/973563002
* Revert "Don't require AA in order to use shader-based clips"Gravatar bsalomon2015-03-05
| | | | | | | | This reverts commit 259656779334689ab1624ec4e2e234b35fe4024b. TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/981723009
* Revert of check for inputs before reporting asColorFilter (patchset #7 ↵Gravatar reed2015-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:110001 of https://codereview.chromium.org/967833003/) Reason for revert: Need to suppress these for rebaselining, so reverting for now. Regressions: Unexpected image-only failures (5) css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ] css3/filters/effect-combined-hw.html [ ImageOnlyFailure ] virtual/slimmingpaint/css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ] virtual/slimmingpaint/css3/filters/effect-combined-hw.html [ ImageOnlyFailure ] Original issue's description: > Use ComposeColorFilter in factory to collapse consecutive filters (when possible). > Change asColorFilter to reflect its reliance on the new factory behavior. > > patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/dac843bf046c2cd79fd955cb177aee241d7a4b0c TBR=senorblanco@chromium.org,robertphillips@google.com,bsalomon@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/978923005
* handle null vertex or index buffers in batchGravatar joshualitt2015-03-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/979343002
* Increase default tile sizes in nanobenchGravatar bsalomon2015-03-05
| | | | | | R=mtklein@google.com Review URL: https://codereview.chromium.org/982863003
* When running under Valgrind, don't draw .webps into .pdfs.Gravatar mtklein2015-03-05
| | | | | | | | | | This blacklist entry bans any test with 'pdf' config, any source type, whose name has '.webp' in it. In practice, that's 'image' or 'subset' source type decoding some WEBP file. BUG=skia:3505 Review URL: https://codereview.chromium.org/982163002
* Disable --config pdf temporarily on Valgrind bot.Gravatar mtklein2015-03-05
| | | | | | BUG=skia:3505 Review URL: https://codereview.chromium.org/987533002
* Remove SkPorterDuff now that Android has been updated.Gravatar djsollen2015-03-05
| | | | | | BUG=skia:3178 Review URL: https://codereview.chromium.org/983743003
* Add flag to force gpu trace markers to be used and printed out for debugging.Gravatar egdaniel2015-03-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/976413002
* Revert of Update SkPicture cull rects with RTree information (patchset #6 ↵Gravatar joshualitt2015-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:140001 of https://codereview.chromium.org/971803002/) Reason for revert: Might be breaking deps roll Original issue's description: > Update SkPicture cull rects with RTree information > > When computed, the RTree for an SkPicture will have a root > bounds that reflects the best bounding information available, > rather than the best estimate at the time the picture recorder > is created. Given that creators frequently don't know ahead of > time what will be drawn, the RTree bound is often tighter. > > Perf testing on Chrome indicates a small raster performance > advantage. For upcoming painting changes in Chrome the > performance advantage is much larger. > > BUG= > > Committed: https://skia.googlesource.com/skia/+/2dd3b6647dc726f36fd8774b3d0d2e83b493aeac TBR=mtklein@google.com,schenney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/977413003
* Fix uninitialized memory bug in the SkGlyphCache.Gravatar herb2015-03-05
| | | | | | | | | | | | | | | | | | | The core of the problem is that the system is asked to lookup the metrics for a character with id == 0. This causes a hit in the fCharToGlyphHash matching the sentinel glyph. This happens because fCharToGlpyhHash is initialized with all zeros, therefore, the fID is zero matching the char with id == 0. The fAdvanceX field of the sentinel glyph is in fact not initialized. The bigger question is now did a zero character get passed to getUnicharMetrics? The breaking code is basically as follows: wchar_t glyph = L'S'; paint.measureText(&glyph, 2); This get mischaracterized as a utf8 string instead of a utf16(?) string. Because of the little endian ordering, this is the character string 'L' '\0'. Since the size of the original string is two bytes (but a single character) the '\0' is treated as its own character and past to getUnicharMetrics. TEST: On windows failed using DrMemory. With this change does not fail. BUG=463204 Review URL: https://codereview.chromium.org/977063002
* DM: Use the new non-fatal errors for invalid color conversions.Gravatar scroggo2015-03-05
| | | | | | | | | | Also allow incomplete to be considered successful. Do not attempt to draw transparent images on 565. BUG=skia:3475 Review URL: https://codereview.chromium.org/978413002
* 4-at-a-time SkPMColor -> SkPMFloat API.Gravatar mtklein2015-03-05
| | | | | | | | | | | | Please see if this looks usable. It may even give a perf boost if you use it, even without custom implementations for each instruction set. I've been trying this morning to beat this naive loop implementation, but so far no luck with either _SSE2.h or _SSSE3.h. It's possible this is an artifact of the microbenchmark, because we're not doing anything between the conversions. I'd like to see how this fits into real code, what assembly's generated, what the hot spots are, etc. I've updated the tests to test these new APIs, and splintered off a pair of new benchmarks that use the new APIs. This required some minor rejiggering in the benches. BUG=skia: Review URL: https://codereview.chromium.org/978213003
* Whitespace change to test new CQ trybotGravatar rmistry2015-03-05
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/987433002
* Use ComposeColorFilter in factory to collapse consecutive filters (when ↵Gravatar reed2015-03-05
| | | | | | | | | | | | possible). Change asColorFilter to reflect its reliance on the new factory behavior. patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001) BUG=skia: Review URL: https://codereview.chromium.org/967833003
* Update gpu trace marker system for MultiDrawBuffer worldGravatar robertphillips2015-03-05
| | | | | | The main thrust of this CL is to remove the currCmdMarker variable from GrTargetCommands::flush. In a MultiDrawBuffer world the Cmds need not be execute in the order of their issuance. Review URL: https://codereview.chromium.org/978363002
* Add custom dm upload script to be used by the android frameworkGravatar djsollen2015-03-05
| | | | Review URL: https://codereview.chromium.org/979153002
* Fix GPU trace marker bugGravatar robertphillips2015-03-05
| | | | | | Without this patch the GPU trace markers can be potentially unbalanced when batching occurs. Review URL: https://codereview.chromium.org/981973002
* DM: support non-fatal errorsGravatar mtklein2015-03-05
| | | | | | | | | | | | | | | | | | | | | | | | Tasks that produce a non-fatal error will bail out before writing their output to disk and hash to dm.json, but not count as failures. This also makes true failures bail out before writing their results. If the DM program failed, we probably don't want to triage that image result. We use this new feature first to skip image subset decoding when we detect it's not supported. Here's a snippet of an example run, where in this case only .webp are subset decodable: ... ( 15MB 12) 172µs 8888 subset color_wheel.jpg (skipped: Subset decoding not supported.) ( 15MB 11) 9.05ms 8888 subset randPixels.webp ( 16MB 10) 863µs 8888 subset baby_tux.png (skipped: Subset decoding not supported.) ... Only outputs corresponding to the .webp show up, both on disk and in the .json. BUG=skia: Review URL: https://codereview.chromium.org/980333002
* ViaAndroidSDK for DMGravatar tomhudson2015-03-05
| | | | | | | | | | | | | | Make a Via for DM which transforms a set of draws to be more like what we'd see through the Android Framework's HWUI API. Only built inside Android's framework because we depend on HWUI classes for half of those transformations. Tested with --config androidsdk-8888 and --config androidsdk-hwui. R=djsollen@google.com,mtklein@google.com,reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/974913002
* Update SkPicture cull rects with RTree informationGravatar schenney2015-03-05
| | | | | | | | | | | | | | | | When computed, the RTree for an SkPicture will have a root bounds that reflects the best bounding information available, rather than the best estimate at the time the picture recorder is created. Given that creators frequently don't know ahead of time what will be drawn, the RTree bound is often tighter. Perf testing on Chrome indicates a small raster performance advantage. For upcoming painting changes in Chrome the performance advantage is much larger. BUG= Review URL: https://codereview.chromium.org/971803002
* add impl limit for number of leaf-nodes in composecolorfilterGravatar reed2015-03-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/972153010
* Batchify the tessellated path renderer.Gravatar senorblanco2015-03-05
| | | | Review URL: https://codereview.chromium.org/976103002
* Add some METADATA files to control docs layout.Gravatar jcgregorio2015-03-05
| | | | | | | | BUG=skia:3484 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=976303002 Review URL: https://codereview.chromium.org/976303002
* Revert of Add image as a draw type that can be filtered (patchset #4 ↵Gravatar kkinnunen2015-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/960783003/) Reason for revert: Fails on mac for some reason. Also is a bit wrong, but this should not be reason for the failure.. Original issue's description: > Add image as a draw type that can be filtered > > Add image as a draw type that can be filtered. > > This is needed when SkImage is added as an object to be drawn so that > the draw is forwarded to SkBaseDevice. This would be used in making > filters use SkImages. > > BUG=skia:3388 > > Committed: https://skia.googlesource.com/skia/+/fa77eb1e51b9317ff993d1be504ada173b561e5f TBR=reed@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3388 Review URL: https://codereview.chromium.org/980273002
* Add image as a draw type that can be filteredGravatar kkinnunen2015-03-05
| | | | | | | | | | | | Add image as a draw type that can be filtered. This is needed when SkImage is added as an object to be drawn so that the draw is forwarded to SkBaseDevice. This would be used in making filters use SkImages. BUG=skia:3388 Review URL: https://codereview.chromium.org/960783003
* 4x library for NEONGravatar msarett2015-03-04
| | | | | | | | CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot BUG=skia: Review URL: https://codereview.chromium.org/975303003
* DM: no PDF for Daisy eitherGravatar mtklein2015-03-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/974413002
* udpate dox for colorfilter fragment processor requirementsGravatar reed2015-03-04
| | | | | | | BUG=skia: NOTRY=True Review URL: https://codereview.chromium.org/961933003
* (starting with mtklein's 966503002 mod to 963593003)Gravatar caryclark2015-03-04
| | | | | | | | fix casts Committed: https://skia.googlesource.com/skia/+/9e73a84deb5e6c201081b1d30175863898543e8d Review URL: https://codereview.chromium.org/979453004
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-03-04
| | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef Review URL: https://codereview.chromium.org/949263002
* DM: run PDF except on Android bots.Gravatar mtklein2015-03-04
| | | | | | | | While we work out RAM issues on Android, run everywhere else. BUG=skia: Review URL: https://codereview.chromium.org/971463004
* Revert of fix casts (patchset #1 id:1 of ↵Gravatar mtklein2015-03-04
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/979453004/) Reason for revert: 64-bit windows build warnings-as-errors Original issue's description: > (starting with mtklein's 966503002 mod to 963593003) > fix casts > > Committed: https://skia.googlesource.com/skia/+/9e73a84deb5e6c201081b1d30175863898543e8d TBR=caryclark@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/977583007
* Update SkPMFloat API a bit.Gravatar mtklein2015-03-04
| | | | | | | | | | | Instead of set(SkPMColor), add a constructor SkPMFloat(SkPMColor). Replace setA(), setR(), etc. with a 4 float constructor. And, promise to stick to SkPMColor order. BUG=skia: Review URL: https://codereview.chromium.org/977773002
* (starting with mtklein's 966503002 mod to 963593003)Gravatar caryclark2015-03-04
| | | | | | fix casts Review URL: https://codereview.chromium.org/979453004
* Pass blob bounds to the looper, if availableGravatar fmalita2015-03-04
| | | | | | R=robertphillips@google.com,reed@google.com Review URL: https://codereview.chromium.org/979943002
* simplify logic in SkPerliNoiseShader for GPU when constant colorGravatar bsalomon2015-03-04
| | | | | | BUG=skia:3488 Review URL: https://codereview.chromium.org/974183002
* skia: Add tracing for skia's budgetGravatar hendrikw2015-03-04
| | | | | | | | We've run into several places where GPU rasterization slows down a lot, and in some cases, it's due to use reaching skia's budget. This shows a graph of skia's used and free budgeted memory. Review URL: https://codereview.chromium.org/977143002