aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* miniz support in SkFlate / PDFGravatar mtklein2015-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | - Adds miniz.c v115_r4 (latest release) to third_party. - Merges SkDeflateWStream into SkFlate so including "miniz.c" links without duplicating symbols. The only interesting code change I've made is to remove the line fImpl->fZStream.data_type = Z_BINARY; from SkDeflateWStream::SkDeflateWStream(). miniz doesn't have Z_BINARY defined, and as far as I can tell, both zlib and miniz ignore data_type. We should be able to swap skflate.gyp's dependency between zlib.gyp:zlib and zlib.gyp:miniz at will (except of course on Windows) if we're interested in zlib itself. I've left android framework on its own zlib. I think this all means we can stop defining SK_NO_FLATE on Windows. I'll leave the possible cleanup of SK_NO_FLATE itself for another time. Might be we always want to keep this dependency optional. CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-ShuttleA-HD7770-x86-Debug-Trybot BUG=skia: Review URL: https://codereview.chromium.org/957323003
* Cleanup in GrPipelineBuilderGravatar bsalomon2015-02-26
| | | | Review URL: https://codereview.chromium.org/956363003
* Add sqrt() and rsqrt() to Sk4f.Gravatar mtklein2015-02-26
| | | | | | | | | This doesn't add them to the second-stringer Sk4i. It's unclear we should be doing that often, and we don't have efficient ways to do it except via floats. BUG=skia: Review URL: https://codereview.chromium.org/964603002
* Think implicit promotion is a good idea?Gravatar mtklein2015-02-26
| | | | | | | | Things like foo.multiply(Sk4f(t,t,t,t)) can just be foo.multiply(t). BUG=skia: Review URL: https://codereview.chromium.org/960773005
* Automatically add NOTREECHECKS when uploading CLs from non master branchesGravatar rmistry2015-02-26
| | | | | | | | | These changes are possible due to the recently submitted depot_tools change https://codereview.chromium.org/949273002/ ('Add ability to specify and run post upload hooks'). BUG=skia: Review URL: https://codereview.chromium.org/963553002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #6 id:100001 ↵Gravatar bsalomon2015-02-26
| | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: breaking hd2000 windows bots Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/964543002
* remove unnecessary and confusing error message from scalerGravatar humper2015-02-26
| | | | | | | | (also fix whitespace) BUG=skia: Review URL: https://codereview.chromium.org/958013004
* add auto SkPMFloat <-> Sk4f conversionGravatar mtklein2015-02-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/954323002
* Automatically add a docs preview link and NOTRY=true when there are only ↵Gravatar rmistry2015-02-26
| | | | | | | | | | | docs changes. These changes are possible due to the recently submitted depot_tools change https://codereview.chromium.org/949273002/ ('Add ability to specify and run post upload hooks'). BUG=skia:3474 Review URL: https://codereview.chromium.org/960203002
* Spin off some fixes to land right away.Gravatar mtklein2015-02-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/960023002
* Fix SampleApp build on iOS.Gravatar scroggo2015-02-26
| | | | | | Remove references to kNullGPU_DeviceType, which has been removed. Review URL: https://codereview.chromium.org/960133004
* Some small code tidyingGravatar joshualitt2015-02-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/961813002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-26
| | | | Review URL: https://codereview.chromium.org/949263002
* Win64 warning fix for GrTessellatingPathRenderer.Gravatar Stephen White2015-02-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/956293003
* Tessellating GPU path renderer.Gravatar senorblanco2015-02-26
| | | | | | | | | | This path renderer converts paths to linear contours, resolves intersections via Bentley-Ottman, implements a trapezoidal decomposition a la Fournier and Montuno to produce triangles, and renders those with a single draw call. It does not currently do antialiasing, so it must be used in conjunction with multisampling. A fair amount of the code is to handle floating point edge cases in intersections. Rather than perform exact computations (which would require arbitrary precision arithmetic), we reconnect the mesh to reflect the intersection points. For example, intersections can occur above the current vertex, and force edges to be merged into the current vertex, requiring a restart of the intersections. Splitting edges for intersections can also force them to merge with formerly-distinct edges in the same polygon, or to violate the ordering of the active edge list, or the active edge state of split edges. BUG=skia: Review URL: https://codereview.chromium.org/855513004
* Revert of Use an image generator to back SkPictureShader tiles. (patchset #4 ↵Gravatar fmalita2015-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/866773002/) Reason for revert: TSAN troubles. Original issue's description: > Use an image generator to back SkPictureShader tiles. > > To avoid lifetime issues for tiles backed by discardable memory, use an > image generator to re-generate them on the fly. > > With this CL, we are now caching bitmap shaders wrapping discardable > pixel ref bitmaps backed by picture image generators. > > (the CL also includes some minor/unrelated SkPictureShader cleanup) > > BUG=skia:3220 > R=reed@google.com,halcanary@google.com > > Committed: https://skia.googlesource.com/skia/+/4739955e98ba86900a5bbac0e3661601427a54d4 TBR=reed@google.com,halcanary@google.com,mtklein@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3220 Review URL: https://codereview.chromium.org/956143002
* adding preabandon flag to DMGravatar joshualitt2015-02-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/929243004
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | appreciated. BUG=skia: Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 Review URL: https://codereview.chromium.org/936943002
* Revert of Pass clip to context (patchset #8 id:180001 of ↵Gravatar joshualitt2015-02-25
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/936943002/) Reason for revert: Strange blur problems on nexus 5 Original issue's description: > I'd really like to land this before the branch so speedy reviews are appreciated. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336 TBR=jvanverth@google.com,senorblanco@google.com,bsalomon@google.com,senorblanco@chromium.org,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/956083002
* Clean up ColorRectProc plumbing.Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | | | | | We've always been using the portable ColorRect32, so we don't need the ColorRectProc plumbing. Furthermore, ColorRect32 doesn't seem to be very important (we're only using it in the opaque case, which our row-by-row procs already specialize for). Remove that too. If we find we want specialization for really narrow rects again, let's put it in blitRect() directly. It's pretty unlikely we're going to get platform-specific speedup for blits to non-contiguous memory. My local SKP comparison is +- 3%... most neutral I've ever seen. BUG=skia: Review URL: https://codereview.chromium.org/959873002
* Fix the race to set the new gen ID.Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | There's a small window where two threads can both see the gen ID is zero, both go get new distinct genIDs, but race to write them. This now uses compare_exchange to read and leave the winner's ID in place when there's a race. SkAtomics isn't public. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/956013002
* Remove SK_USE_LEGACY_AA_COVERAGE guarded code.Gravatar bungeman2015-02-25
| | | | | | It doesn't appear anyone uses this flag anymore. Review URL: https://codereview.chromium.org/943053004
* Shorten up some site titles, also remove some trailing whitespace.Gravatar jcgregorio2015-02-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/956853005
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | appreciated. BUG=skia: Review URL: https://codereview.chromium.org/936943002
* Steal a bit from the gen ID instead of managing two atomic values.Gravatar mtklein2015-02-25
| | | | | | | | | | | | This extra atomic bool is hard to think about, and I'm worried about how updates to fGenerationID and fUniqueGenerationID interlace. By storing them in the same int, they can't ever race. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot BUG=skia: Review URL: https://codereview.chromium.org/955043002
* fuzzer fixesGravatar caryclark2015-02-25
| | | | | | | | | | | | | | | | | | | Fix path bugs exposed by the path fuzzer. Changes to existing gm and samplecode files defer their calls to construct SkPath objects until the first draw instead of at test initialization. Add an experimental call to SkPath to validate the internal SkPathRef. Fix SkPath::addPoly to set the last moveto after adding a close verb. Fix stroke to handle failures when computing the unit normal. Add a unit test for the unit normal failure. R=reed@google.com Review URL: https://codereview.chromium.org/953383002
* SkPDF: remove SK_API on no-longer-public functions.Gravatar halcanary2015-02-25
| | | | | | CQ_INCLUDE_TRYBOTS=client.skia:Mac Builder-Trybot,Linux Builder-Trybot,Win Builder-Trybot Review URL: https://codereview.chromium.org/953053002
* roll gypGravatar bsalomon2015-02-25
| | | | | | TBR=mtklein@google.com Review URL: https://codereview.chromium.org/954673003
* Revert of fAddedToCache doesn't need to be atomic. (patchset #1 id:1 of ↵Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/960573002/) Reason for revert: Yes it does. notifyAddedToCache() must be thread-safe. Original issue's description: > fAddedToCache doesn't need to be atomic. > > It's only ever read or set from non-threadsafe methods. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/fbe0edfec4fed2a09e12b049d527d280f16e75b3 TBR=reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/959763002
* Revert of Default SK_ANGLE to true on Windows, run angle whenever possible ↵Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | on bots. (patchset #3 id:40001 of https://codereview.chromium.org/946933006/) Reason for revert: Needs bot upgrades. Original issue's description: > Default SK_ANGLE to true on Windows, run angle whenever possible on bots. > > nanobench doesn't need an update. It uses the default for --config, > which includes angle. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/88ec329b580a081d9d56cbcaad0ee46cb941c849 TBR=bsalomon@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/954243002
* fAddedToCache doesn't need to be atomic.Gravatar mtklein2015-02-25
| | | | | | | | It's only ever read or set from non-threadsafe methods. BUG=skia: Review URL: https://codereview.chromium.org/960573002
* Default SK_ANGLE to true on Windows, run angle whenever possible on bots.Gravatar mtklein2015-02-25
| | | | | | | | | nanobench doesn't need an update. It uses the default for --config, which includes angle. BUG=skia: Review URL: https://codereview.chromium.org/946933006
* Remove SSE2 ColorRect32 code/filesGravatar henrik.smiding2015-02-25
| | | | | | | | | | | | | | Removes the disabled SSE2 optimization of ColorRect32 and deletes the two files containing the code. Measured on both Core Haswell and Atom Silvermont, and only got some miniscule improvement compared to the default implementation. Also tried to write a new, ultimate, version of this optimization, but only got ~5% improvement on ColorRect32-heavy tests. Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Review URL: https://codereview.chromium.org/957433002
* only notify bitmaps that have been added to the cacheGravatar reed2015-02-25
| | | | | | | | | | | | old code: - calls=2677 hit-rate=3.51139% new code: - calls=94 hit-rate=97.8723% BUG=skia: Review URL: https://codereview.chromium.org/960563002
* Doc: user/quick/linux mentions 32-bit compilingGravatar halcanary2015-02-25
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/952193002
* BUG=skia:Gravatar herb2015-02-25
| | | | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 Review URL: https://codereview.chromium.org/939123002
* Fix to check for inf when generating quadratic pointsGravatar egdaniel2015-02-25
| | | | | | BUG=skia:3453 Review URL: https://codereview.chromium.org/948043003
* SkTRacy<T> -> SkAtomic<T>Gravatar mtklein2015-02-24
| | | | | | | | | | | | | | | | | | | | Like SkTRacy<T>, TSAN will not complain about these. Unlike SkTRacy<T>, TSAN should not complain about these: SkAtomic<T> are threadsafe. This should fix the races now suppressed in TSAN. As written, the memory barriers we're using in SkPixelRef will be dumb but safe (really, dumbest possible but safest possible). If we see a perf hit, we can follow up by putting Ben and I in a room for a while, thinking about it really hard, and using the minimum-strength safe memory barriers. A refactor that steals a bit from the genID would also still be possible with this approach. BUG=chromium:437511 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot Review URL: https://codereview.chromium.org/955803002
* Notify resource caches when pixelref genID goes staleGravatar reed2015-02-24
| | | | | | | | patch from issue 954443002 at patchset 40001 (http://crrev.com/954443002#ps40001) BUG=skia: Review URL: https://codereview.chromium.org/950363002
* FreeType uses unsigned int, Skia uses int.Gravatar joshualitt2015-02-24
| | | | | | Fix warning about assert which compared signed and unsigned. Review URL: https://codereview.chromium.org/956623004
* fix for msanGravatar joshualitt2015-02-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/958433004
* Use an image generator to back SkPictureShader tiles.Gravatar fmalita2015-02-24
| | | | | | | | | | | | | | | To avoid lifetime issues for tiles backed by discardable memory, use an image generator to re-generate them on the fly. With this CL, we are now caching bitmap shaders wrapping discardable pixel ref bitmaps backed by picture image generators. (the CL also includes some minor/unrelated SkPictureShader cleanup) BUG=skia:3220 R=reed@google.com,halcanary@google.com Review URL: https://codereview.chromium.org/866773002
* don't draw if maxVertices returns 0 or > than uin16_t maxGravatar joshualitt2015-02-24
| | | | | | | | This doesn't do anything about the issue of having too many indices, but it does move the fuzzer on to another assert. BUG=skia: Review URL: https://codereview.chromium.org/952993004
* SkPDF: replace SkPDFDevice::copyContentToDataGravatar halcanary2015-02-24
| | | | | | | | | Motivation: remove copyToData(). Later we will stop caching the data alltogether. BUG=skia: Review URL: https://codereview.chromium.org/958433003
* Add tools/nanobench_flags.py.Gravatar mtklein2015-02-24
| | | | | | | | | | | | | | This should look suspiciously similar to tools/dm_flags.py. In fact, I tweaked tools/dm_flags.py a bit to make it even more suspiciously similar. I'll leave actually deduping this to future me. I noticed we have an opportunity to make our Valgrind run of nanobench faster, by not only making it not auto-calibrate (--loops 1) but also take only one measurement (--samples 1). Should be 5-10x faster than the default. BUG=skia: Review URL: https://codereview.chromium.org/957503002
* Fix radii scaling bug in SkRRect::setNinePatchGravatar robertphillips2015-02-24
| | | | | | BUG=skia:3466 Review URL: https://codereview.chromium.org/951323004
* fix nvprGravatar Mike Klein2015-02-24
| | | | | | | | The config is called nvprmsaa4 (see DM.cpp:218) BUG=skia: Review URL: https://codereview.chromium.org/953743007
* add tools/dm_flags.pyGravatar mtklein2015-02-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/950903003
* GM: showmiplevels handles bitmap memory in a nicer way.Gravatar halcanary2015-02-24
| | | | | | | This is helpful for those canvas implementations that want to copy a bitmap. Review URL: https://codereview.chromium.org/935943007
* k1 fixGravatar joshualitt2015-02-24
| | | | | | | | TBR= NOTREECHECKS=True BUG=skia: Review URL: https://codereview.chromium.org/952973002