aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
* Use SkSafeMath for text blob storage calculationsGravatar Florin Malita2017-11-22
| | | | | | | Change-Id: I028895dee81d99b1fa2a9acfa3db3f4bcb0f8f64 Reviewed-on: https://skia-review.googlesource.com/73823 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Fix SkTextblob deserialization fuzzer issuesGravatar Florin Malita2017-11-22
| | | | | | | | | | | | | | | | | | 1) ../../src/core/SkTextBlob.cpp:778:27: runtime error: load of value 143, which is not a valid value for type 'bool' 2) ../../src/core/SkValidatingReadBuffer.cpp:208:16: runtime error: null pointer passed as argument 1, which is declared to never be null BUG=skia:7337 Change-Id: I1df163ad378fdd2f3e4d918eb511d9f32ff41d25 Reviewed-on: https://skia-review.googlesource.com/75380 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Eliminate the use of a tmp buffer for image blurGravatar Herb Derby2017-11-21
| | | | | | | | | | | | | | | Because the blur_one_direction routine, only reads the source buffer once for each result, it can be used to blur inplace. This allows the code to avoid using a temporary buffer for the intermediate result. This produces the same pixels according to skdiff, and has the same speed. Change-Id: I6485a71f0eb39936d69b8a98ab429a2cf592a7cd Reviewed-on: https://skia-review.googlesource.com/74520 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Enable DAA for MSVCGravatar Yuqian Li2017-11-21
| | | | | | | | | | | | | | | | | | | | | | It seems that we don't have to worry about MSVC's performance. If we're worried, we can revert this CL after the run of our perf bots so I can get the latest performance benchmark. A large set of golden images in MSVC config are expected to change with this CL. TBR: mtklein@google.com Merge branch 'master' of https://skia.googlesource.com/skia Change add to toggle in the comments Bug: skia: Change-Id: If682673bab558f87196d4437c405732ba2ffcf87 Reviewed-on: https://skia-review.googlesource.com/74400 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* detect too many pointsGravatar Mike Reed2017-11-21
| | | | | | | | Bug:777318 Change-Id: Idb52688b6ee4ae020004400da995620c1f548559 Reviewed-on: https://skia-review.googlesource.com/73821 Commit-Queue: Mike Reed <mike@reedtribe.org> Reviewed-by: Herb Derby <herb@google.com>
* converted ConstColorProcessor to SkSLGravatar Ethan Nicholas2017-11-20
| | | | | | | | Bug: skia: Change-Id: Ic3b18f82c1ab940637fb26dec1cf376dd859b35d Reviewed-on: https://skia-review.googlesource.com/73720 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Harden SkTextBlob deserializationGravatar Florin Malita2017-11-20
| | | | | | | | | | | | | | | | 1) validate allocInternal args - these can originate either from users or deserialization 2) skip invoking SkTypefaceResolverProc if we failed to read a valid id in SkTypefaceResolverReadBuffer::readTypeface 3) validate textSize and buffer sanity in MakeFromBuffer before attempting to allocate runs BUG=chromium:786524 Change-Id: I6cf80dc60bc3ca6fcad7198d36dacf84d091b779 Reviewed-on: https://skia-review.googlesource.com/73521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Add Atlas Text interface for rendering SDF glyphs.""Gravatar Brian Salomon2017-11-19
| | | | | | | | | | This reverts commit 9c2202ffc22b4293b48a4edeafa1b5d2bab8bb83. Bug: skia: Change-Id: I482ddf74f8e40d3d0908c840ba5c6ff981ccefbd Reviewed-on: https://skia-review.googlesource.com/73345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add Atlas Text interface for rendering SDF glyphs."Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 39631f3df172feb385527a5d125bc53b0bded7e6. Reason for revert: break google3 rool Original change's description: > Add Atlas Text interface for rendering SDF glyphs. > > This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU > backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The > client issues text draws to potentially multiple targets and then the client flushes. The > client then gets commands from Skia with data to put into a texture atlas and vertices to > draw that reference the texture. The client is responsible for creating the texture, uploading > the SDF data to the texture, and drawing the vertices provided by Skia. > > Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 > Reviewed-on: https://skia-review.googlesource.com/59360 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I4aad0c99e645b476fd8ba25731f2a10e8802bb25 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add Atlas Text interface for rendering SDF glyphs.Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | | | | This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The client issues text draws to potentially multiple targets and then the client flushes. The client then gets commands from Skia with data to put into a texture atlas and vertices to draw that reference the texture. The client is responsible for creating the texture, uploading the SDF data to the texture, and drawing the vertices provided by Skia. Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 Reviewed-on: https://skia-review.googlesource.com/59360 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove api call from SkGaussFilterGravatar Herb Derby2017-11-17
| | | | | | | | | | | Simplify the SkGaussFilter API to facilitate using ranged-for loops. Change-Id: Id853bd6bfe342ae95b7c6248c459fbf865f75d1e Reviewed-on: https://skia-review.googlesource.com/73262 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Revert "Add method to sk_gpu_test::TestContext to automatically ↵Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | restore the previous context."" This reverts commit 1e09e461d2ffcf8b07242cfe93dd7d12c4d75866. Change-Id: I95d5544a7baaa078536790493ce4119816a77e94 Reviewed-on: https://skia-review.googlesource.com/72903 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Direct evaluation of gaussian""Gravatar Herb Derby2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a53d999007f92ecd4244b078fa909b76fd0d9f3b. Reason for revert: Bug in SkNx_sse fixed. Original change's description: > Revert "Direct evaluation of gaussian" > > This reverts commit 5e18cdea0a0a3f23d8e8b8140c82a4b54e121402. > > Reason for revert: ASAN > Original change's description: > > Direct evaluation of gaussian > > > > The SVG(CSS) standard allows the 3 pass algorithm for sigma >= 2. But > > sigma < 2, the code must evaluate to the convolution. The old code used > > an interpolation scheme between windowed filters. This code directly > > evaluates the gaussian kernel for sigma < 2. > > > > This code produces cleaner results, is 25% faster, and does not use a > > temporary memory buffer. > > > > Change-Id: Ibd0caa73cadd06b637f55ba7bd4fefcfe7ac73db > > Reviewed-on: https://skia-review.googlesource.com/62540 > > Commit-Queue: Herb Derby <herb@google.com> > > Reviewed-by: Mike Klein <mtklein@google.com> > > TBR=mtklein@google.com,herb@google.com > > Change-Id: I936077dfa659d71bc361339d98340c55545a1eb8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/72481 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@google.com,herb@google.com,brianosman@google.com Change-Id: I4c30e3481308a8148d40223519e286885ec6f880 Reviewed-on: https://skia-review.googlesource.com/72900 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Add method to sk_gpu_test::TestContext to automatically restore the ↵Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | previous context." This reverts commit 5627d65146cb92624b682389e017d488872228c7. Reason for revert: Google3 Original change's description: > Add method to sk_gpu_test::TestContext to automatically restore the previous context. > > The motivation for this is to allow a GM to create a GL context, do some some work in it, and then return to the context that was set when it was invoked. > > Change-Id: Ie8496072a10f8f3ff36a08889e593a6ca961b61a > Reviewed-on: https://skia-review.googlesource.com/70720 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ifb79638c9d4500ca3be9a5be39a5ad78b20247c1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72981 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Direct evaluation of gaussian"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5e18cdea0a0a3f23d8e8b8140c82a4b54e121402. Reason for revert: ASAN Original change's description: > Direct evaluation of gaussian > > The SVG(CSS) standard allows the 3 pass algorithm for sigma >= 2. But > sigma < 2, the code must evaluate to the convolution. The old code used > an interpolation scheme between windowed filters. This code directly > evaluates the gaussian kernel for sigma < 2. > > This code produces cleaner results, is 25% faster, and does not use a > temporary memory buffer. > > Change-Id: Ibd0caa73cadd06b637f55ba7bd4fefcfe7ac73db > Reviewed-on: https://skia-review.googlesource.com/62540 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: I936077dfa659d71bc361339d98340c55545a1eb8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72481 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Direct evaluation of gaussianGravatar Herbert Derby2017-11-16
| | | | | | | | | | | | | | | The SVG(CSS) standard allows the 3 pass algorithm for sigma >= 2. But sigma < 2, the code must evaluate to the convolution. The old code used an interpolation scheme between windowed filters. This code directly evaluates the gaussian kernel for sigma < 2. This code produces cleaner results, is 25% faster, and does not use a temporary memory buffer. Change-Id: Ibd0caa73cadd06b637f55ba7bd4fefcfe7ac73db Reviewed-on: https://skia-review.googlesource.com/62540 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* test scalePixels and unpremulGravatar Mike Reed2017-11-16
| | | | | | | | | Bug: skia:5733 Change-Id: I6c661408198f6a536e1e55ba01d976948446b8eb Reviewed-on: https://skia-review.googlesource.com/70280 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add method to sk_gpu_test::TestContext to automatically restore the previous ↵Gravatar Brian Salomon2017-11-16
| | | | | | | | | | | context. The motivation for this is to allow a GM to create a GL context, do some some work in it, and then return to the context that was set when it was invoked. Change-Id: Ie8496072a10f8f3ff36a08889e593a6ca961b61a Reviewed-on: https://skia-review.googlesource.com/70720 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* remove legacy Create from SkTextBlobGravatar Mike Reed2017-11-16
| | | | | | | | Bug: skia: Change-Id: I8814ac9fb6bf75b5113bd78e140adadde57d3898 Reviewed-on: https://skia-review.googlesource.com/72121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* rename overloaded methods as speculative fix/diagnosticGravatar Mike Reed2017-11-15
| | | | | | | | Bug:783136 Change-Id: I95df299bd9e1c6263b8e79b23fbe90340bd950e9 Reviewed-on: https://skia-review.googlesource.com/72240 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* use validating readbufferGravatar Mike Reed2017-11-15
| | | | | | | | | Bug:784869 Change-Id: Iaf43e14ec2ad72d061e7de25364fb481229d7651 Reviewed-on: https://skia-review.googlesource.com/71764 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* "support" 3D masks like Ganesh doesGravatar Mike Klein2017-11-14
| | | | | | | | | | Ignore the mul and add planes and just use the A8 mask. It's better than not drawing anything at all. Change-Id: Ic20cec975c2db5c7aeb46ab7b430e8442dc8d8e9 Reviewed-on: https://skia-review.googlesource.com/71440 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-14
| | | | | | | | | | | | | | | | | | | | | | Re-enable the code to test the emboss mask filter, updating it to use the new emboss mask filter factory. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: I90edf34a918c06b0c6b24bfc43ce7031419eca41 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-on: https://skia-review.googlesource.com/70962 Reviewed-on: https://skia-review.googlesource.com/71282 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add SkColorSpace_Base::makeColorSpinGravatar Brian Osman2017-11-14
| | | | | | | | | | | | This is a utility that creates a version of an existing XYZ color space that performs our color spin operation. Assigning this to a source remaps RGB to GBR. Assigning it to a destination does the opposite (RGB to BRG). Bug: skia: Change-Id: I3528698220bd32aa01dcd3db225e60f151a4b5bd Reviewed-on: https://skia-review.googlesource.com/71280 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Brian Osman2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1662257bdaaaf26b016bf2a3e329c34f7f5ed581. Reason for revert: Android still using this API Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER > define, and either delete the code it guards or update it to use the new > emboss mask filter factory. > > Re-enable the code to test the emboss mask filter. > > Add a test to ensure that embossed text is drawn correctly, as before > glyphs did not allocate the proper amount of memory for the k3D_Format > which the emboss mask filter produces. > > Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes > to avoid pixel differences and MemorySanitizer errors. > > Update the GPU to understand the k3D_Format and use just the alpha > plane, ignoring the mul and add plane which it currently cannot support. > > Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 > Reviewed-on: https://skia-review.googlesource.com/70260 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-on: https://skia-review.googlesource.com/70962 > Commit-Queue: Ben Wagner <bungeman@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com Change-Id: Id6625bae8d3bd70ce7aa3045348c04fdd146c637 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/71183 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either delete the code it guards or update it to use the new emboss mask filter factory. Re-enable the code to test the emboss mask filter. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-by: Herb Derby <herb@google.com> Reviewed-on: https://skia-review.googlesource.com/70962 Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6b26deb8d6067589ce9b7853ab8e8d39de1a45de. Reason for revert: GPU bots failing Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > This removes the no longer used outside Skia > SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code > it guards or updates it to use the new emboss mask filter factory. This > re-enables the code to test the emboss mask filter. Also added is a test > to ensure that embossed text is drawn correctly, as before this glyphs > did not allocate the proper amount of memory for the k3D_Format which > this mask filter produces. This also fixes SkEmbossMask::Emboss to write > the whole of the mul and add planes to avoid pixel differences and > MemorySanitizer errors. > > Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 > Reviewed-on: https://skia-review.googlesource.com/70260 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Herb Derby <herb@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com,reed@google.com Change-Id: I8a9db6c00e0cb84bdd4833474a9ffffa6ecc606c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70920 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | This removes the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code it guards or updates it to use the new emboss mask filter factory. This re-enables the code to test the emboss mask filter. Also added is a test to ensure that embossed text is drawn correctly, as before this glyphs did not allocate the proper amount of memory for the k3D_Format which this mask filter produces. This also fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 Reviewed-on: https://skia-review.googlesource.com/70260 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Extract code for safely creating SkMasks try 2Gravatar Herb Derby2017-11-10
| | | | | | | | | | | | This is in preparation for adding a faster small radii blur. Be sure to obey the original semantics about handling dst when src.fImage is null. Change-Id: Ic0ff0ac81494799e2d5037283904f1094309c622 Reviewed-on: https://skia-review.googlesource.com/70025 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* remove legacy code for resolutionGravatar Mike Reed2017-11-10
| | | | | | | | Bug: skia: Change-Id: I6909325d4ee51140ec0edb47682de18617c23cc7 Reviewed-on: https://skia-review.googlesource.com/70100 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Try 2 for Gauss filter calculationGravatar Herb Derby2017-11-10
| | | | | | | | | | Originally reviewed at: https://skia-review.googlesource.com/c/skia/+/67723 Change-Id: Ie62d81f818899f3a79df888c1594d3fbccf6d414 Reviewed-on: https://skia-review.googlesource.com/69681 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Extract code for safely creating SkMasks."Gravatar Greg Daniel2017-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 66f2b5eab2ba03950b9d502ed3fc1863d55a9664. Reason for revert: breaking lots of bots Original change's description: > Extract code for safely creating SkMasks. > > This is in preparation for adding a faster small radii blur. > > Change-Id: I8afd4642ebafa63a45031a7a0bd7a720951dc102 > Reviewed-on: https://skia-review.googlesource.com/70040 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Herb Derby <herb@google.com> TBR=herb@google.com,fmalita@chromium.org,fmalita@google.com Change-Id: I83a6953f9ae240cc5f09206e3f77490882869a9f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70104 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Extract code for safely creating SkMasks.Gravatar Herb Derby2017-11-10
| | | | | | | | | This is in preparation for adding a faster small radii blur. Change-Id: I8afd4642ebafa63a45031a7a0bd7a720951dc102 Reviewed-on: https://skia-review.googlesource.com/70040 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Gauss filter calculation"Gravatar Herb Derby2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 53ec7dc7cb523f220a9f5cd713b241c706779c81. Reason for revert: Segv on very specific machines. Original change's description: > Gauss filter calculation > > Change-Id: I921ef815d4f788c312aa729f353b6ea154140555 > Reviewed-on: https://skia-review.googlesource.com/67723 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=herb@google.com,robertphillips@google.com Change-Id: I15164809d081dee0076e815b40fbfdbc6374cfba No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/69641 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Revert "Remove MakeForLocalSpace since picture image is sufficient""Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fc45998242b6e95ff610fd2c4edcf72c10e536ab. Reason for revert: google3 updated (I think) Original change's description: > Revert "Remove MakeForLocalSpace since picture image is sufficient" > > This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. > > Reason for revert: broke google3 > > Original change's description: > > Remove MakeForLocalSpace since picture image is sufficient > > > > Bug: skia: > > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > > Reviewed-on: https://skia-review.googlesource.com/68640 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/69500 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I5751fa637d280f361dea0f248a43c1f7e9bd8bdc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69661 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Include target CS in SkColorSpaceXformCanvas' image infoGravatar Brian Osman2017-11-09
| | | | | | | | Bug: skia: Change-Id: Idcf9c933e1a236772e0b5edd3ba8437d1a6ae293 Reviewed-on: https://skia-review.googlesource.com/69502 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Gauss filter calculationGravatar Herb Derby2017-11-09
| | | | | | | Change-Id: I921ef815d4f788c312aa729f353b6ea154140555 Reviewed-on: https://skia-review.googlesource.com/67723 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Remove MakeForLocalSpace since picture image is sufficient"Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. Reason for revert: broke google3 Original change's description: > Remove MakeForLocalSpace since picture image is sufficient > > Bug: skia: > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > Reviewed-on: https://skia-review.googlesource.com/68640 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69500 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove MakeForLocalSpace since picture image is sufficientGravatar Mike Reed2017-11-09
| | | | | | | | Bug: skia: Change-Id: If38e702c418e93141311490edf447d1f09ed4434 Reviewed-on: https://skia-review.googlesource.com/68640 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Remove dead code for the incorrect handling of small radii blurs.Gravatar Herb Derby2017-11-09
| | | | | | | Change-Id: I06be8fb092ee50df7be89c51d512791278bc4e27 Reviewed-on: https://skia-review.googlesource.com/69280 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Harden SkClassifyCubicGravatar Chris Dalton2017-11-09
| | | | | | | | BUG=chromium:743617 Change-Id: Idfb89832b48ebd60fd9109cd526bdd5cd5931ada Reviewed-on: https://skia-review.googlesource.com/68980 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Compute more accurate containedInClipGravatar Yuqian Li2017-11-09
| | | | | | | | | | | | | Eventually, we'll remove containedInClip from the function parameters and just compute it using ir and clipBounds. The current approach is for preparing rebaseline. TBR: reed@google.com Bug: skia:7271 Change-Id: Ife60e173d9f4f1c9ec80d13a2f7a88a0433b61e9 Reviewed-on: https://skia-review.googlesource.com/69220 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Prepare to enable explicit gpu resource allocation (take 2)Gravatar Robert Phillips2017-11-08
| | | | | | | Change-Id: I3fd78d53e8bea84c0217b9fe6e180eaa9e4ac753 Reviewed-on: https://skia-review.googlesource.com/68920 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Prepare to enable explicit gpu resource allocation"Gravatar Greg Daniel2017-11-08
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f290376736b42a19b87da78c6ba2558313896860. Reason for revert: Changed generated effect instead of FP Original change's description: > Prepare to enable explicit gpu resource allocation > > Change-Id: I407e45711c61831febbac3d3d3a88e3fdde92c5f > Reviewed-on: https://skia-review.googlesource.com/68212 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I949500d94c7461b7cf38d615117cfcdc9a791780 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/68900 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Prepare to enable explicit gpu resource allocationGravatar Robert Phillips2017-11-08
| | | | | | | Change-Id: I407e45711c61831febbac3d3d3a88e3fdde92c5f Reviewed-on: https://skia-review.googlesource.com/68212 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* change default props for PictureImage to be unknown_pixel_geometryGravatar Mike Reed2017-11-08
| | | | | | | | Bug: skia: Change-Id: Id61460dbe3f3d21207ae05ba5adf494b0a68fe31 Reviewed-on: https://skia-review.googlesource.com/68760 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* move parts of SkPoint to SkPointPrivGravatar Cary Clark2017-11-08
| | | | | | | | | | | | Move specialized SkPoint methods to SkPointPriv. Use constexpr and inline initialization where possible. R=reed@google.com,bsalomon@google.com Bug: skia: 6898 Change-Id: I01ec5186f010f2dc80c068c70d9cc352f3221338 Reviewed-on: https://skia-review.googlesource.com/68700 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* add surfaceprops param to SkCanvas::MakeRasterDirectGravatar Mike Reed2017-11-08
| | | | | | | | Bug: skia: Change-Id: I8b69280469cdf34c3c3cb126db9457a712143f88 Reviewed-on: https://skia-review.googlesource.com/68701 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Glyphs without paths don't draw with paths.Gravatar Ben Wagner2017-11-08
| | | | | | | | | | | | If a glyph doesn't have a path, don't try to draw it from the non-existent path. Bug: skia:4904 Change-Id: I8d7a061146b54c2f4a975280a6fb6ae3043ea82b Reviewed-on: https://skia-review.googlesource.com/68216 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Correct edges_too_closeGravatar Yuqian Li2017-11-07
| | | | | | | | | | | | | | | | | If the next edge has 0 fDX, we should add a SLACK = 1 so two edges with fX less than 1 pixel apart should be considered close, and noRealBlitter should be true to force the use of AdditiveBlitter and the cumulation of alpha. The changed GM will show bleed through if SLACK is 0. The artifact without the fix can be seen at: https://fiddle.skia.org/c/f6912f1af6c14e054f5b5935a93380ea Bug: skia: Change-Id: I15f9c3aef25a0357cd11d447e7bf0b4fbac0ce67 Reviewed-on: https://skia-review.googlesource.com/67804 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>