aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
* Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Jim Van Verth2017-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88757dacd4f532a0f647c02ae0ee596d31ab5c68. Reason for revert: Still seems to be failing Chromium "telemetry_perf_unittests (with patch) on Android" on android_n5x_swarming_rel. Original change's description: > guard old apis for querying byte-size of a bitmap/imageinfo/pixmap > > Now with legacy behavior for allocpixels > > This was reverted, so the current CL is a "fix" on top of ... > https://skia-review.googlesource.com/c/skia/+/50980 > > Related update to Chrome (in preparation for this change) > https://chromium-review.googlesource.com/c/chromium/src/+/685719 > > Bug: skia: > Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9 > Reviewed-on: https://skia-review.googlesource.com/51341 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=fmalita@chromium.org,reed@google.com Change-Id: I827a0ca1d1e3909e648fde3342cdb8601d34da8d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52381 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* guard old apis for querying byte-size of a bitmap/imageinfo/pixmapGravatar Mike Reed2017-09-27
| | | | | | | | | | | | | | | | Now with legacy behavior for allocpixels This was reverted, so the current CL is a "fix" on top of ... https://skia-review.googlesource.com/c/skia/+/50980 Related update to Chrome (in preparation for this change) https://chromium-review.googlesource.com/c/chromium/src/+/685719 Bug: skia: Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9 Reviewed-on: https://skia-review.googlesource.com/51341 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Greg Daniel2017-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 98a6216b18b57c2f7a0d58f542c60503686aed69. Reason for revert: breaking the chrome roll. Looks like they may be writing data to create an image across all the row bytes and thus writing to unalloced data on the last row. Link to example failing bot: https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/539960 Original change's description: > guard old apis for querying byte-size of a bitmap/imageinfo/pixmap > > Previously we had size_t and uint64_t variations. > > The new (simpler) API always.. > - returns size_t, or 0 if the calculation overflowed > - returns the trimmed size (does not include rowBytes padding for the last row) > > Bug: skia: > Change-Id: I05173e877918327c7b207d2f7f1ab0db36892e2e > Reviewed-on: https://skia-review.googlesource.com/50980 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> > Reviewed-by: Leon Scroggins <scroggo@google.com> TBR=mtklein@google.com,herb@google.com,scroggo@google.com,fmalita@chromium.org,reed@google.com Change-Id: I726f6ab1b36b14979ba6f37105e0a469b3f0dbc0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/51262 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Limit maximum sigma to avoid overflowsGravatar Herb Derby2017-09-26
| | | | | | | | | | | | | | | Limit the maximum sigma to avoid overflowing the blur calculation, and more importantly to limit the size of buffers. I checked that this failed on my linux box, and this CL fixes the problem. BUG=chromium:768294 Change-Id: I7ed14acc47f546db9c00c78c148a898459852a9f Reviewed-on: https://skia-review.googlesource.com/50920 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* guard old apis for querying byte-size of a bitmap/imageinfo/pixmapGravatar Mike Reed2017-09-26
| | | | | | | | | | | | | | | Previously we had size_t and uint64_t variations. The new (simpler) API always.. - returns size_t, or 0 if the calculation overflowed - returns the trimmed size (does not include rowBytes padding for the last row) Bug: skia: Change-Id: I05173e877918327c7b207d2f7f1ab0db36892e2e Reviewed-on: https://skia-review.googlesource.com/50980 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Shrink GrDrawOpAtlases when no longer needed, take 2.Gravatar Jim Van Verth2017-09-26
| | | | | | | | Bug: skia:3550 Change-Id: Id483a76b9edcf29f7ea0aad0dd8946a3655ba8f2 Reviewed-on: https://skia-review.googlesource.com/50600 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "migrate to sk_sp for SkFontMgr API""Gravatar Mike Reed2017-09-26
| | | | | | | | | | This reverts commit f40ae1a4b5365620463bd63b5140bd3fc78894a1. Bug: skia: Change-Id: I752606de92ea405d6e50219c98030409b00a2841 Reviewed-on: https://skia-review.googlesource.com/51160 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "migrate to sk_sp for SkFontMgr API"Gravatar Mike Reed2017-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb. Reason for revert: need guard for flutter Original change's description: > migrate to sk_sp for SkFontMgr API > > Bug: skia: > Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8 > Reviewed-on: https://skia-review.googlesource.com/48740 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Ben Wagner <bungeman@google.com> TBR=bungeman@google.com,reed@google.com Change-Id: Ib0b2d00fcbcdb6131444f94d1046df6dae24f551 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/50940 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* migrate to sk_sp for SkFontMgr APIGravatar Mike Reed2017-09-25
| | | | | | | | Bug: skia: Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8 Reviewed-on: https://skia-review.googlesource.com/48740 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Simplify / fix SkBitmap::ReadRawPixels()Gravatar Mike Klein2017-09-25
| | | | | | | | | | | | | | | | | | | | | | | We no longer need to look at the field snugRB except to check for the simple no-pixels case. This is good, because our snugRB <= ramRB check is actually too weak, and is the source of this linked Chromium issue. BUG=chromium:765858 Instead of doing complicated checks against that stored snugRB and the computed ramRB, we now just ignore snugRB. We know the images written by write_row_bytes() will be snug, so we can just look at width, height, and color type to figure out exactly how many bytes we should be reading. Then it becomes the call to readByteArray()'s responsibility to make sure that we have an array there of exactly that many bytes to read. We've just got to make sure we check for its failure. Change-Id: Ia05c36d8a77b0de16ee03a80f6cb2dab6fcedbae Reviewed-on: https://skia-review.googlesource.com/50800 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make SkPath::readFromMemory failure silentGravatar Adrienne Walker2017-09-25
| | | | | | | | | | | | It currently asserts, but should instead silently fail. Otherwise, without asserts turned on, this would leave the SkPath in an inconsistent state. Bug: chromium: 767770 Change-Id: Ib2af4caccfe19a4a008abccfe7b25b80ccf23146 Reviewed-on: https://skia-review.googlesource.com/50160 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Reland blitFatAntiRect with guard to avoid overhead in MaskAdditiveBlitterGravatar Yuqian Li2017-09-25
| | | | | | | | | | | | | | | This results in ~15% (~700ns vs ~600ns) speedup for path_fill_small_rect bench in 8888 config. Some skps have a lot of stroked horizontal/vertical lines (e.g., bar charts) so this improvement could have a great impact there. For example, cereal converts Microsoft word docx to PNGs on server and the sample docx has a big bar chart. That inspired this improvement. Bug: skia: Change-Id: If191b8beca58c5c08b356b64ffef93d51761fd0a Reviewed-on: https://skia-review.googlesource.com/50043 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Fold clamp_{x,y} into the gathers.Gravatar Mike Klein2017-09-22
| | | | | | | | | | | | | | | | | | | All three image tile modes go through exclusive_clamp() and then a gather today, so we can move the work of exclusive_clamp() into eac gather_ stage, eliminating the need for clamp_{x,y} stages. Luckily, we've got a convenient place to bottleneck this, ptr_and_ix(), which works out the pointer and vector of indices to load for gathers. This deletes SkRasterPipeline_repeat_tiling unit test, which now no longer exactly makes sense. It tests that repeat_x does that clamp, but that's now done automatically outside that stage. Change-Id: I24637ef60921bec7aa00082984c0c6a49dd86ca9 Reviewed-on: https://skia-review.googlesource.com/50260 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Shrink GrDrawOpAtlases when no longer needed"Gravatar Jim Van Verth2017-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7cf59526c9b1ab3682e875d449200e51f3b6ff32. Reason for revert: Red red bots... it's tearing me apart... Original change's description: > Shrink GrDrawOpAtlases when no longer needed > > Bug: skia:3550 > Change-Id: I7b09aa2b0fd22ed99694f32f9f395392ef80e238 > Reviewed-on: https://skia-review.googlesource.com/49901 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I8331ec79b0796e1f75d7cc53b9753f886aea7fcd No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/50220 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Shrink GrDrawOpAtlases when no longer neededGravatar Jim Van Verth2017-09-22
| | | | | | | | | Bug: skia:3550 Change-Id: I7b09aa2b0fd22ed99694f32f9f395392ef80e238 Reviewed-on: https://skia-review.googlesource.com/49901 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Don't deserialize pathref oval/rrect bitsGravatar Brian Salomon2017-09-22
| | | | | | | Change-Id: Id891329ee789347fb269d41bef9991f85233e031 Reviewed-on: https://skia-review.googlesource.com/49771 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove unsafe align4 callGravatar Herb Derby2017-09-21
| | | | | | | | | | | Align by 4 safely before calling malloc. BUG=chromium:763972 Change-Id: I9278ae0df516adf3eb96fc390ad7318a47cbefa4 Reviewed-on: https://skia-review.googlesource.com/49760 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Serialize rrect/oval paths as rrects rather than points and verbs.Gravatar Brian Salomon2017-09-21
| | | | | | | | | This is a step towards not trusting deserialized isoval/isrrect for general paths without losing the performance advantages of knowing that a path is a rrect/oval. Change-Id: I1a8c0608c0f29f4bf7a118dfa1d475e2ab5802ea Reviewed-on: https://skia-review.googlesource.com/49761 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add SK_API to APIs used by the android framework.Gravatar Derek Sollenberger2017-09-21
| | | | | | | | | | | | | This CL enables us to set the default visibility of the symbols on Android to hidden. It is the intent that all of he SK_APIs that have been added to /src directies should be removed as soon as we can remove their callers within Android. Bug: b/31971097 Change-Id: Ic787f94df0fb0c2b8d941aa7095a12b317c4b5de Reviewed-on: https://skia-review.googlesource.com/49501 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Teach TSAN directly about semaphore_t.Gravatar Mike Klein2017-09-21
| | | | | | | | | | | | | | | Instead of teaching TSAN than SkMutex is a lock to get around it not understanding Mach semaphore_t routines, teach it that there is a happens-before relationship between semaphore_signal() and semaphore_wait(). This reverts commit e395bf2d189e22822ddf2b46541c510d6d8fbcc0. New changes are entirely restricted to SkSemaphore.cpp. Change-Id: I27f647b93c48e81e8327db849881d669c4cd3d04 Reviewed-on: https://skia-review.googlesource.com/49180 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove dead code for STREAM_APIGravatar Mike Reed2017-09-20
| | | | | | | | Bug: skia: Change-Id: I5c5a65710af443c60a3d13fb309ce31309be7f74 Reviewed-on: https://skia-review.googlesource.com/49460 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Extra safety for SkRRect.Gravatar Brian Salomon2017-09-20
| | | | | | | | | | | | | This moves closer to ensuring that all SkRRects are valid. It also checks for validity of deserialized SkRRects and sets the SkRRect to empty if the serialized data is invalid rather than asserting. It is still possible to use mutators to create invalid SkRRects (e.g. outset() by large number, translate() so that type changes due to fp precision). Bug: skia: Change-Id: Ice5f73a020e99739ef4b3ce362181d3dbb35701c Reviewed-on: https://skia-review.googlesource.com/49220 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix 3 related races in SkColorSpace.cpp.Gravatar Mike Klein2017-09-19
| | | | | | | | | | | | | As written one thread can be comparing against, say, gSRGB, while another thread is initializing it. TSAN caught us. To fix this, we funnel everything through a function that returns its own local static, which is intialized on first use in a thread safe way. Change-Id: I2b7aa4628daff0511ad969d9800d40d967e2938e Reviewed-on: https://skia-review.googlesource.com/48761 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove legacy code for box blur.Gravatar Herb Derby2017-09-19
| | | | | | | Change-Id: I2a4ca5d623adcf923981dd27be40dcbf81152954 Reviewed-on: https://skia-review.googlesource.com/48583 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Mac TSAN support: annotate Sk[Base]Mutex as a mutex.Gravatar Mike Klein2017-09-19
| | | | | | | | | | | | TSAN does not intercept Mach semaphore_t calls used to implement SkBaseMutex's fSemaphore (its OSSemaphore field). We can teach it that Sk[Base]Mutex is a mutex anyway with the same annotations we use for SkSharedMutex. Change-Id: Ib91928bb9fcfa94f5cea985b46dea31ff2b56963 Reviewed-on: https://skia-review.googlesource.com/48580 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* add back SkPacked16toX32 to SkColorPrivGravatar Cary Clark2017-09-19
| | | | | | | | | | | | Android vendor requires this interface so moving it back to public for now. TBR=reed@google.com Bug: skia: 6898 Change-Id: I4eb6da0b929227fcf327dac0626e9efd8f9a2705 Reviewed-on: https://skia-review.googlesource.com/48420 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* skipRect should only work for lines (not quads or cubics)Gravatar Yuqian Li2017-09-18
| | | | | | | | | | | | | | The added unit test shows that we'll trigger SkASSERT failure if we forgot to check that the edges are lines (instead of quads or cubics). Similar to skia:7015, this bug is not triggered in our production because we don't use DAA for convex paths by default. The skipRect is an optimization just for convex paths. Bug: skia:7051 Change-Id: Id87ce2d452ede0db9a48425541f473af19ee0572 Reviewed-on: https://skia-review.googlesource.com/48045 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Call blitFatAntiRect to avoid overhead in MaskAdditiveBlitter"Gravatar Mike Klein2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6d1aaca8276ff4ae2e10870f7e2c3222907cc4aa. Reason for revert: speculative revert for Google3 diff. Original change's description: > Call blitFatAntiRect to avoid overhead in MaskAdditiveBlitter > > This results in 25% (720ns vs 560ns) speedup for > path_fill_small_rect bench in 8888 config. Some skps have a lot of stroked > horizontal/vertical lines (e.g., bar charts) so this improvement could > have a great impact there. For example, cereal converts Microsoft word docx > to PNGs on server and the sample docx has a big bar chart. That inspired > this improvement. > > Bug: skia: > Change-Id: Icf96c966edf87427b3d1f53da09a49930eda2ac1 > Reviewed-on: https://skia-review.googlesource.com/46584 > Commit-Queue: Yuqian Li <liyuqian@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,herb@google.com,liyuqian@google.com,reed@google.com Change-Id: Ia30df0be874749c5f8ee0138f3d7d961d5bc3fcf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/48220 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Post-lerp -> pre-scale if blend mode supports it.Gravatar Mike Klein2017-09-18
| | | | | | | | | | | | | | | We've been doing this for Plus and SrcOver, and now expand it to the couple other blend modes like SrcATop and DstOver that also support this trick. We need to take some special care with rgb coverage, and continue to lerp for any mode that contains an explicit source-alpha term. This is explained in the comments. Change-Id: Ie44edf1504f305aec0c69fc92504431e0efeb627 Reviewed-on: https://skia-review.googlesource.com/47401 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* re-land of new SkSL precisionsGravatar Ethan Nicholas2017-09-18
| | | | | | | | Bug: skia: Change-Id: Ic1deb3db2cbda6ca45f93dee99832971a36a2119 Reviewed-on: https://skia-review.googlesource.com/47841 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Call blitFatAntiRect to avoid overhead in MaskAdditiveBlitterGravatar Yuqian Li2017-09-18
| | | | | | | | | | | | | | | This results in 25% (720ns vs 560ns) speedup for path_fill_small_rect bench in 8888 config. Some skps have a lot of stroked horizontal/vertical lines (e.g., bar charts) so this improvement could have a great impact there. For example, cereal converts Microsoft word docx to PNGs on server and the sample docx has a big bar chart. That inspired this improvement. Bug: skia: Change-Id: Icf96c966edf87427b3d1f53da09a49930eda2ac1 Reviewed-on: https://skia-review.googlesource.com/46584 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Suppress float-cast-overflow for double-to-float in SkMatrix{,44}Gravatar Ben Wagner2017-09-18
| | | | | | | | | | No API change. Bug: skia:4632 Change-Id: Ic9cb9de7cce8aca43f0ce8066abcc44a0b04ca84 Reviewed-on: https://skia-review.googlesource.com/47681 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Don't ignore degenerates when deciding if a path is convex""Gravatar Brian Osman2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f95352322496796ce4c99df9582dbc630fe8a327. Reason for revert: Re-landing now that gold has settled. Original change's description: > Revert "Don't ignore degenerates when deciding if a path is convex" > > This reverts commit 53cd6c4331a2ef21a7c5eb6166c782cd33178a7b. > > Reason for revert: Temporary to limit gold cross-talk with other CLs. > > Original change's description: > > Don't ignore degenerates when deciding if a path is convex > > > > This ensures that a path with a second contour will always be marked > > concave. GrDefaultPathRenderer was incorrectly drawing paths of this type > > (thinking that it could fill them with simple triangulation). > > > > Bug: skia:7020 skia:1460 > > Change-Id: I62bfd72e4c61da427687acf53c552357b57707aa > > Reviewed-on: https://skia-review.googlesource.com/47082 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,reed@google.com > > Change-Id: Id7d121633faeb8a43dbd334409408ba51db43d68 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7020 skia:1460 > Reviewed-on: https://skia-review.googlesource.com/47343 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7020 skia:1460 Change-Id: I45ff90a54b66ce9ea068f246d066cc24b310c966 Reviewed-on: https://skia-review.googlesource.com/47820 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* add back missing dependencies in SkColorPriv.hGravatar Cary Clark2017-09-18
| | | | | | | | | | | SkColorPriv.h depends on SkColor.h and SK_RGBA_x32_SHIFT TBR=reed@google.com Bug: skia: 6898 Change-Id: I3f7bbaff306298e89bfb0bb571b19d6d223147e5 Reviewed-on: https://skia-review.googlesource.com/47861 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "Revert "Revert "Switched highp float to highfloat and mediump float ↵Gravatar Ethan Nicholas2017-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to half.""" This reverts commit 05d5a13fea6246648de7e41358ed338d53c85ea2. Reason for revert: looks like it broke filterfastbounds Original change's description: > Revert "Revert "Switched highp float to highfloat and mediump float to half."" > > This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. > > Bug: skia: > Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 > Reviewed-on: https://skia-review.googlesource.com/46464 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Iddf6aef2ab084aa73da7ceebdfc303a1d2b80cde Reviewed-on: https://skia-review.googlesource.com/47441 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Suppress float-cast-overflow in SkPoint::Length.Gravatar Ben Wagner2017-09-16
| | | | | | | | Bug: skia:4632 Change-Id: I0f8a7d7a11fc76fcb315c3f0183577c3f0958926 Reviewed-on: https://skia-review.googlesource.com/47421 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Retry, Bump stored lowp uniform color to 16-bit storage.Gravatar Mike Klein2017-09-16
| | | | | | | | | | | This makes loading into 16-bit channels more natural in _lowp.cpp. Update a unit test to stop using out-of-range "colors". Change-Id: I494687aac87948b60a40de447aa1527cf7167b2d Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-UBSAN_float_cast_overflow Reviewed-on: https://skia-review.googlesource.com/47580 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert "use unique_ptr for stream api""Gravatar Mike Reed2017-09-16
| | | | | | | | | | This reverts commit 7031b247c9fe0cb8fa32129f9bc24fea2043cee2. Bug: skia: Change-Id: I24c34bbee703f02994be8e206bcb9c10b5427d84 Reviewed-on: https://skia-review.googlesource.com/47541 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Bump stored lowp uniform color to 16-bit storage."Gravatar Mike Klein2017-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d286bfbd96f8b7ccf1cbce74f07d2f3917dbec30. Reason for revert: ../../../src/core/SkRasterPipeline.cpp:98:34: runtime error: 4.87906e+09 is outside the range of representable values of type 'unsigned short' Excellent new bot! Original change's description: > Bump stored lowp uniform color to 16-bit storage. > > This makes loading into 16-bit channels more natural in _lowp.cpp. > > Change-Id: I1ed393873654060ef52f4632d670465528006bbd > Reviewed-on: https://skia-review.googlesource.com/47261 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,reed@google.com Change-Id: Ia65645c1261a7b31588c4ddaf2b1b3b327d265b0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/47540 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Bump stored lowp uniform color to 16-bit storage.Gravatar Mike Klein2017-09-16
| | | | | | | | | This makes loading into 16-bit channels more natural in _lowp.cpp. Change-Id: I1ed393873654060ef52f4632d670465528006bbd Reviewed-on: https://skia-review.googlesource.com/47261 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "use unique_ptr for stream api"Gravatar Mike Reed2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 49f1f34438d3431f6d7e32847accd2ba96948a73. Reason for revert: broke win-chrome ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): error C2228: left of '.release' must have class/struct/union ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: type is 'SkStreamAsset *' ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: did you intend to use '->' instead? Original change's description: > use unique_ptr for stream api > > Bug: skia:6888 > Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8 > Reviewed-on: https://skia-review.googlesource.com/26740 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,bungeman@google.com,reed@google.com Change-Id: Ic1e4af557317abd06b7f6b7f5056645df7e469f0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6888 Reviewed-on: https://skia-review.googlesource.com/47440 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Don't ignore degenerates when deciding if a path is convex"Gravatar Brian Osman2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 53cd6c4331a2ef21a7c5eb6166c782cd33178a7b. Reason for revert: Temporary to limit gold cross-talk with other CLs. Original change's description: > Don't ignore degenerates when deciding if a path is convex > > This ensures that a path with a second contour will always be marked > concave. GrDefaultPathRenderer was incorrectly drawing paths of this type > (thinking that it could fill them with simple triangulation). > > Bug: skia:7020 skia:1460 > Change-Id: I62bfd72e4c61da427687acf53c552357b57707aa > Reviewed-on: https://skia-review.googlesource.com/47082 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,reed@google.com Change-Id: Id7d121633faeb8a43dbd334409408ba51db43d68 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7020 skia:1460 Reviewed-on: https://skia-review.googlesource.com/47343 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Don't ignore degenerates when deciding if a path is convexGravatar Brian Osman2017-09-15
| | | | | | | | | | | | This ensures that a path with a second contour will always be marked concave. GrDefaultPathRenderer was incorrectly drawing paths of this type (thinking that it could fill them with simple triangulation). Bug: skia:7020 skia:1460 Change-Id: I62bfd72e4c61da427687acf53c552357b57707aa Reviewed-on: https://skia-review.googlesource.com/47082 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Switched highp float to highfloat and mediump float to half.""Gravatar Ethan Nicholas2017-09-15
| | | | | | | | | | This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01. Bug: skia: Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1 Reviewed-on: https://skia-review.googlesource.com/46464 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* use unique_ptr for stream apiGravatar Mike Reed2017-09-15
| | | | | | | | Bug: skia:6888 Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8 Reviewed-on: https://skia-review.googlesource.com/26740 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* fix google3 colorpriv useGravatar Cary Clark2017-09-15
| | | | | | | | | | | | | older versions of webkit use more of colorpriv than contemporary chrome TBR=reed@google.com Bug: skia: 6898 Change-Id: I4adcc7d04e2cdd7bf3a85e7d591337144105ab48 Reviewed-on: https://skia-review.googlesource.com/47180 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* fix flutter and pdfiumGravatar Cary Clark2017-09-15
| | | | | | | | | | | | | | missed a couple of users of SkColorPriv.h; restored those functions TBR=reed@google.com NOTRY=true Bug: skia: 6898 Change-Id: I64fc62905be0627c4ecdc39595bd0aaf1f60c5ac Reviewed-on: https://skia-review.googlesource.com/47081 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* make most of SkColorPriv.h privateGravatar Cary Clark2017-09-15
| | | | | | | | | | | | | created new file src/core/SkColorData.h for internal consumption. Note that many of the functions there are unused as well. Bug: skia: 6898 R: reed@google.com Change-Id: I25bfd5a9c21f53558c4ca65a77eb5d322d897c6d Reviewed-on: https://skia-review.googlesource.com/46848 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com>
* make kPathRefGenIDBitCnt privateGravatar Cary Clark2017-09-14
| | | | | | | | | | | | | | | kPathRefGenIDBitCnt is used only by SkPath.cpp and SkPathRef.cpp. Curiously, there's no existing private declarations shared by SkPath and SkPathRef, so I added kPathRefGenIDBitCnt to SkPathPriv.h as the go-between. If there's an existing convention I overlooked, please let me know. R=reed@google.com,djsollen@google.com Bug: skia: 6898 Change-Id: I929d780c3b4a10e5cf78e7176a7516abf912508e Reviewed-on: https://skia-review.googlesource.com/46560 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Sk4i version of blur.Gravatar Herb Derby2017-09-14
| | | | | | | | | | | | | | | | | For the blur_1.50_normal_low_quality benchmark, this code goes from about 120us to 85us. The original implementation executes at about 95us. This changed in controlled by the flag: SK_SUPPORT_LEGACY_SLOW_SMALL_BLUR BUG=chromium:759070 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: If722cb8ffd8c47a94b7a6b4e6dd26fd1474b6209 Reviewed-on: https://skia-review.googlesource.com/45300 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>