aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
* retry explore always using SkRasterPipeline for color space transformsGravatar Mike Klein2017-07-20
| | | | | | | | | | | | | | | Testing notes: $ out/dm --src colorImage --colorImages skimage/colorspace --config srgb 8888 f16 All images identical on Trashcan. Had to revert before because of crashes on iOS, and image diffs (32-bit ARM?). Change-Id: Ic182c0f98b1a846a351499aa53293186bb55f2ad Original: https://skia-review.googlesource.com/c/19744/ Reviewed-on: https://skia-review.googlesource.com/20680 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Delete more event tracing macros"Gravatar Mike Klein2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fd52317bf6d2acdbedf7477093204c9d642fcc22. Reason for revert: ../../flutter/shell/common/skia_event_tracer_impl.cc:34:12: error: use of undeclared identifier 'TRACE_EVENT_PHASE_BEGIN' case TRACE_EVENT_PHASE_BEGIN: :( Original change's description: > Delete more event tracing macros > > Also tried to clean up the comments to be clearer. > > Bug: skia: > Change-Id: I9762564a7f59bbfbd6a43afe902596d25ff1d523 > Reviewed-on: https://skia-review.googlesource.com/25364 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@chromium.org,brianosman@google.com Change-Id: I3869991b8aa3d0d67d12fbe76a207a1167801a63 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/25440 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Delete more event tracing macrosGravatar Brian Osman2017-07-20
| | | | | | | | | | Also tried to clean up the comments to be clearer. Bug: skia: Change-Id: I9762564a7f59bbfbd6a43afe902596d25ff1d523 Reviewed-on: https://skia-review.googlesource.com/25364 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* override SkRasterPipelineBlitter::blitRect()Gravatar Mike Klein2017-07-20
| | | | | | | | | | | Now that we can natively do 2D blits, it's time to invert the blitH() / blitRect() who-implements-whom relationship. blitRect() is our more fundamental blit. Change-Id: Ia0ae4a3cd75c7bbfc7bd5b08ff429193ce09a73b Reviewed-on: https://skia-review.googlesource.com/25361 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* convert over to 2d-modeGravatar Mike Klein2017-07-20
| | | | | | | | | | | | [√] convert all stages to use SkJumper_MemoryCtx / be 2d-compatible [√] convert compile to 2d also, remove 1d run/compile [√] convert all call sites [√] no diffs Change-Id: I3b806eb8fe0c3ec043359616409f7cd1211a1e43 Reviewed-on: https://skia-review.googlesource.com/24263 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Retry cleaning up SkLinearBitmapPipeline.Gravatar Mike Klein2017-07-20
| | | | | | | | | | | | | | | | | | This is mostly dead code. In order to make it truly dead, we need to opt drawing unpremul images into SkRasterPipelineBlitter. They had been handled by SkLinearBitmapPipeline, but can't be draw by SkBitmapProcLegacyShader. Drawing unpremul images is tested by the GM all_variants_8888, which gave us trouble last time around (serialize-8888 drew right, 8888 wrong) but now draws fine. I think this was probably also the root of the revert, drawing some unpremul image in Chrome's tests somewhere. Change-Id: I453f9df44ade807316935921cbae82961e2f08aa Reviewed-on: https://skia-review.googlesource.com/24862 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkDocument.cpp clean upGravatar Hal Canary2017-07-20
| | | | | | | Change-Id: I125a773e29824cfdd60754e681182d37e828c4b9 Reviewed-on: https://skia-review.googlesource.com/24860 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Assume HQ is handled by pipeline, delete legacy code-pathGravatar Mike Reed2017-07-20
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: If6f0d0a57463bf99a66d674e65a62ce3931d0116 Reviewed-on: https://skia-review.googlesource.com/24644 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Strip out unused tracing macrosGravatar Brian Osman2017-07-20
| | | | | | | | | Bug: skia: Change-Id: I3edbc50820af6414405a7d4810178e050234db0c Reviewed-on: https://skia-review.googlesource.com/24743 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* removed dead colortable codeGravatar Mike Reed2017-07-19
| | | | | | | | | Bug: skia:6828 Change-Id: I2d3b3b7c846d3ac08bbcb9357cb644873fe5a286 Reviewed-on: https://skia-review.googlesource.com/24623 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Tweak HWCAP_... names to avoid clash with hwcap.hGravatar Mike Klein2017-07-19
| | | | | | | | | | | | | | | These HWCAP_... values are defined in hwcap.h, but we don't get them from there because some platforms have older hwcap.h that don't have these bits named yet. Even though we don't directly include hwcap.h, it seems it can get itself included somehow on some platforms. That leads to a name clash with the HWCAP_... #defines in there. To avoid it, rename them. Change-Id: I70788b5e4072c307c6eee55d6f197c3b9a49f5dc Reviewed-on: https://skia-review.googlesource.com/24408 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Revert "Revert "Improvements to GPU dither.""""Gravatar Brian Salomon2017-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f2290cb924640dfd439458a1ee5e61b31b08850f. Reason for revert: SPIRV codegen fix has landed Original change's description: > Revert "Revert "Revert "Improvements to GPU dither.""" > > This reverts commit 0f01b2e8b5e3119e91886a2f7ec772a915d97a8c. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Revert "Revert "Improvements to GPU dither."" > > > > This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. > > > > Reason for revert: Reland with SkSL caps fix for vulkan > > > > Original change's description: > > > Revert "Improvements to GPU dither." > > > > > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > > > > > Reason for revert: <INSERT REASONING HERE> > > > > > > Original change's description: > > > > Improvements to GPU dither. > > > > > > > > 1) Makes the range of the offset dependent on the config. > > > > > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > > > > > Bug: skia: > > > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > > > Reviewed-on: https://skia-review.googlesource.com/23485 > > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/24325 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/24282 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24480 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I112df51494bc3cc832fde9c22a6532082df85a81 Reviewed-on: https://skia-review.googlesource.com/24285 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* experimental: draw into unpremulGravatar Mike Reed2017-07-19
| | | | | | | | | | raster-only Bug: skia: Change-Id: I3af19f031083c9cc258f73ba6a2f6020bb15f110 Reviewed-on: https://skia-review.googlesource.com/24400 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Singleton SRGB color filtersGravatar Florin Malita2017-07-19
| | | | | | | | Change-Id: I67e976e63bbb9ebb47616613e02adb97e6e2345c Reviewed-on: https://skia-review.googlesource.com/24303 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove gather_i8, unify memory-touching contextsGravatar Mike Klein2017-07-18
| | | | | | | | | | | | | | | gather_i8 is now unused, so we can remove it. That in turn makes the ctable field of SkJumper_GatherCtx unused. After removing ctable, SkJumper_GatherCtx and SkJumper_PtrStride look identical, so I've now fused them into SkJumper_MemoryCtx, which will eventually be used by everything loading from, gathering from, or storing to memory. Change-Id: Ia882d2dbd54c9fcf9a8250a1ce83304389dd284a Reviewed-on: https://skia-review.googlesource.com/24085 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix android-only functionGravatar Mike Reed2017-07-18
| | | | | | | | Bug: skia: Change-Id: I4225bcc368fb5ac0898f4e34221e47cd50f93061 Reviewed-on: https://skia-review.googlesource.com/24407 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Revert "Improvements to GPU dither."""Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0f01b2e8b5e3119e91886a2f7ec772a915d97a8c. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Improvements to GPU dither."" > > This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. > > Reason for revert: Reland with SkSL caps fix for vulkan > > Original change's description: > > Revert "Improvements to GPU dither." > > > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > > > Reason for revert: <INSERT REASONING HERE> > > > > Original change's description: > > > Improvements to GPU dither. > > > > > > 1) Makes the range of the offset dependent on the config. > > > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > > > Bug: skia: > > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > > Reviewed-on: https://skia-review.googlesource.com/23485 > > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com > > > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/24325 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24282 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24480 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Improvements to GPU dither.""Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 38fb308f3156aab1e42a61d77d08906a06263879. Reason for revert: Reland with SkSL caps fix for vulkan Original change's description: > Revert "Improvements to GPU dither." > > This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Improvements to GPU dither. > > > > 1) Makes the range of the offset dependent on the config. > > > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > > > Bug: skia: > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > > Reviewed-on: https://skia-review.googlesource.com/23485 > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/24325 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24282 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* start on raster pipeline 2d modeGravatar Mike Klein2017-07-18
| | | | | | | | | | - Add run_2d(x,y,w,h) and start_pipeline_2d(). - Add and test a 2d-compatible store_8888_2d stage. Change-Id: Ib9c225d1b8cb40471ae4333df1d06eec4d506f8a Reviewed-on: https://skia-review.googlesource.com/24401 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Improvements to GPU dither."Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1806e33e6a09b1361de4925d32389a01e0e2c7e7. Reason for revert: <INSERT REASONING HERE> Original change's description: > Improvements to GPU dither. > > 1) Makes the range of the offset dependent on the config. > > 2) Uses an ordered dither on GPUs that support integers in shaders. > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). > > Bug: skia: > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e > Reviewed-on: https://skia-review.googlesource.com/23485 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/24325 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Improvements to GPU dither.Gravatar Brian Salomon2017-07-18
| | | | | | | | | | | | | | | | 1) Makes the range of the offset dependent on the config. 2) Uses an ordered dither on GPUs that support integers in shaders. 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend). Bug: skia: Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e Reviewed-on: https://skia-review.googlesource.com/23485 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* guard references to SkColorTableGravatar Mike Reed2017-07-18
| | | | | | | | Bug: skia:6828 Change-Id: I0c8c78e70b118f51cb59dc45675e4ddcd4776108 Reviewed-on: https://skia-review.googlesource.com/24260 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove leftover Android ctable referenceGravatar Florin Malita2017-07-18
| | | | | | | | | TBR= Change-Id: I6d8ed2fc2267e2a9b249b3c780495a26f0b5e1c6 Reviewed-on: https://skia-review.googlesource.com/24320 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add guard to unblock the Chromium rollGravatar Florin Malita2017-07-18
| | | | | | | | | TBR= Change-Id: I87f96fb88479de770490ce4cce6ad840acb90241 Reviewed-on: https://skia-review.googlesource.com/24261 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Don't store colortables in pixmaps or pixelrefsGravatar Mike Reed2017-07-17
| | | | | | | | | | Lots more changes coming later (need to remove colortable parameters from bitmaps and pixmaps) Bug: skia:6828 Change-Id: Ic63e89570644839fab068141f49915b3f66d1053 Reviewed-on: https://skia-review.googlesource.com/24127 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Skip bilerp for integral-translate-only matricesGravatar Florin Malita2017-07-17
| | | | | | | | | BUG=chromium:744674 Change-Id: I053a0c26b0f644faa11f469b8a6486302a5efae6 Reviewed-on: https://skia-review.googlesource.com/24126 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Index8 is dead, remove guarded codeGravatar Mike Reed2017-07-17
| | | | | | | | | | Needs google3 to be updated before this can land. Bug: skia:6828 Change-Id: I2c16be13c6937ffa48768cc24f9f980171c824d6 Reviewed-on: https://skia-review.googlesource.com/23940 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Delete dead SK_SUPPORT_LEGACY_BILERP_IGNORING_HACK codeGravatar Florin Malita2017-07-17
| | | | | | | Change-Id: I367436ea5bef476a2e596f01bb57fa5b817a3619 Reviewed-on: https://skia-review.googlesource.com/24122 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add support for GL 565 and 4444 configs to test toolsGravatar Brian Salomon2017-07-17
| | | | | | | Change-Id: I395e3387df44cf5370fef6ab73db73228225622f Reviewed-on: https://skia-review.googlesource.com/23946 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* runtime check for in-range colortypesGravatar Mike Reed2017-07-17
| | | | | | | | Bug:743106 Change-Id: Ia014643c6f1914cf2b9b873138a0c53a783f666f Reviewed-on: https://skia-review.googlesource.com/23943 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Inject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU ↵Gravatar Mike Klein2017-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erratum." This reverts commit 101806f4526d0ba5d48515c82a28dbf6956aca4d. Reason for revert: no more need. BUG=chromium:740805 Original change's description: > Inject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum. > > BUG=chromium:710131 > > Change-Id: I4568bc24cc8fabb6f9df3b7645b01a98e11791b8 > Reviewed-on: https://skia-review.googlesource.com/14062 > Reviewed-by: Doug Anderson <dianders@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,dianders@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:710131 Change-Id: Ib5b58a951ae56e0f0523cfed27754e0cd150e6ce Reviewed-on: https://skia-review.googlesource.com/23840 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Fix SkClassifyCubic for near-quadraticsGravatar Chris Dalton2017-07-14
| | | | | | | | | | | | | | Fixes the threshold logic for "0 ~= d1 && 0 ~= d2". Previously, if d1 and d2 were both near zero, but on opposite sides of the threshold, the curve could be misclassified as kCuspAtInfinity and drawn incorrectly. Bug: skia: Change-Id: I65f30ddebf0a4a0b933610d8cc1a2f489efc99e4 Reviewed-on: https://skia-review.googlesource.com/22400 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Remove SK_SUPPORT_LEGACY_RECT flagGravatar Yuqian Li2017-07-14
| | | | | | | | | | The rebaseline has finished in Chromium. Bug: skia: Change-Id: Ibafb32b3683f1bfc3e451911e6fb8382bfc9b857 Reviewed-on: https://skia-review.googlesource.com/23481 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Delete unread SkPicture mboxGravatar Florin Malita2017-07-13
| | | | | | | | | No longer read?! Change-Id: I6258a64590bb5ee16e02a7ad923ad41cc7bd8791 Reviewed-on: https://skia-review.googlesource.com/23043 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Experimental blur code with 32 bit fix.""Gravatar Mike Reed2017-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 27b3d272a8fcce24813212f5816b177090111ec6. Reason for revert: guard has landed in android Original change's description: > Revert "Experimental blur code with 32 bit fix." > > This reverts commit d4b2c537d058ad4cb890ba116d00aa86c3416c08. > > Reason for revert: speculative fix for android-roll > > java.lang.AssertionError: expected:<0> but was:<255> > at org.junit.Assert.fail(Assert.java:88) > at org.junit.Assert.failNotEquals(Assert.java:834) > at org.junit.Assert.assertEquals(Assert.java:645) > at org.junit.Assert.assertEquals(Assert.java:631) > at android.graphics.cts.BlurMaskFilterTest.verifyColor(BlurMaskFilterTest.java:79) > at android.graphics.cts.BlurMaskFilterTest.verifyQuadrants(BlurMaskFilterTest.java:72) > at android.graphics.cts.BlurMaskFilterTest.testBlurMaskFilter(BlurMaskFilterTest.java:56) > > Original change's description: > > Experimental blur code with 32 bit fix. > > > > This uses a new method of blurring that runs the three > > passes of the box filter in a single pass. This implementation > > currently only does 1x1 pixel at a time, but it should be simple > > to expand to 4x4 pixels at a time. > > > > On the blur_10_normal_high_quality benchmark, the new is 7% faster > > than the old code. For the blur_100.50_normal_high_quality > > benchmark, the new code is 11% slower. > > > > Bug: skia: > > Change-Id: I847270906b0ceac1dfbf43ab5446756689ef660f > > Reviewed-on: https://skia-review.googlesource.com/22700 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=herb@google.com,reed@google.com > > Change-Id: Ie84f6bf8872cae08c06d679f0c2f2e6c3d8a02a2 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/22880 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=herb@google.com,reed@google.com Change-Id: I393d1c05f83ccf98137201bc7b4e7d8e8b0e8742 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/23121 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove renderTargetContext swapping from GaussianBlur method (take 2)Gravatar Robert Phillips2017-07-13
| | | | | | | | TBR=bsalomon@google.com Change-Id: I6c594a8dfef1c3319a56665437f1e13e746a2875 Reviewed-on: https://skia-review.googlesource.com/23001 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Remove renderTargetContext swapping from GaussianBlur method"Gravatar Robert Phillips2017-07-13
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0284de0a215d61a849678cb04e5f21f989ee858f. Reason for revert: assert firing in nanobench Original change's description: > Remove renderTargetContext swapping from GaussianBlur method > > Change-Id: Iee3d5165a09b5760e001cade4f9d68e823ae695f > Reviewed-on: https://skia-review.googlesource.com/22725 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ied1e184c7ab5de0e41814ef8be9c4c94a679d56d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/23000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove renderTargetContext swapping from GaussianBlur methodGravatar Robert Phillips2017-07-13
| | | | | | | Change-Id: Iee3d5165a09b5760e001cade4f9d68e823ae695f Reviewed-on: https://skia-review.googlesource.com/22725 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Guard to remove kIndex_8_SkColorTypeGravatar Mike Reed2017-07-13
| | | | | | | | | Bug: skia:6828 Change-Id: Ia942a36abb18213184f8d436555a658270d97d47 Reviewed-on: https://skia-review.googlesource.com/22721 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Experimental blur code with 32 bit fix."Gravatar Mike Reed2017-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d4b2c537d058ad4cb890ba116d00aa86c3416c08. Reason for revert: speculative fix for android-roll java.lang.AssertionError: expected:<0> but was:<255> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at android.graphics.cts.BlurMaskFilterTest.verifyColor(BlurMaskFilterTest.java:79) at android.graphics.cts.BlurMaskFilterTest.verifyQuadrants(BlurMaskFilterTest.java:72) at android.graphics.cts.BlurMaskFilterTest.testBlurMaskFilter(BlurMaskFilterTest.java:56) Original change's description: > Experimental blur code with 32 bit fix. > > This uses a new method of blurring that runs the three > passes of the box filter in a single pass. This implementation > currently only does 1x1 pixel at a time, but it should be simple > to expand to 4x4 pixels at a time. > > On the blur_10_normal_high_quality benchmark, the new is 7% faster > than the old code. For the blur_100.50_normal_high_quality > benchmark, the new code is 11% slower. > > Bug: skia: > Change-Id: I847270906b0ceac1dfbf43ab5446756689ef660f > Reviewed-on: https://skia-review.googlesource.com/22700 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=herb@google.com,reed@google.com Change-Id: Ie84f6bf8872cae08c06d679f0c2f2e6c3d8a02a2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/22880 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add some raster pipeline perspective assertsGravatar Florin Malita2017-07-12
| | | | | | | | | | | | | | | | | | | | | I meant to add these when removing the guard, but since we landed without a guard, might as well do it now. A couple of things exposed by these asserts: 1) we need to also catch perspective in local matrices 2) we need to disallow burst mode with perspective Also tweak the predicate to hasPerspective() instead of explicit mask check. Change-Id: I099e5125fca52dccffca77c60fc800bbdf539b53 Reviewed-on: https://skia-review.googlesource.com/22483 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Experimental blur code with 32 bit fix.Gravatar Herb Derby2017-07-12
| | | | | | | | | | | | | | | | | This uses a new method of blurring that runs the three passes of the box filter in a single pass. This implementation currently only does 1x1 pixel at a time, but it should be simple to expand to 4x4 pixels at a time. On the blur_10_normal_high_quality benchmark, the new is 7% faster than the old code. For the blur_100.50_normal_high_quality benchmark, the new code is 11% slower. Bug: skia: Change-Id: I847270906b0ceac1dfbf43ab5446756689ef660f Reviewed-on: https://skia-review.googlesource.com/22700 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Implement Sk4i's abs, min, maxGravatar Yuqian Li2017-07-12
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: Ia9ec3f72095e1c744f88df7bb990d99e0f87d578 Reviewed-on: https://skia-review.googlesource.com/22720 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Extend final point in closed degenerate hairline segmentsGravatar Brian Osman2017-07-12
| | | | | | | | | | | | | | | For single-contour paths (MLZ), the close is ignored during iteration, and we instead process the 'Done', which does extend in both directions. But if there's a second contour (MLZM), then we process the 'Close', and only extend the degenerate segment in one direction. Depending on where the path was positioned (relative to pixel centers), this led to some contours not drawing at all. Bug: skia: Change-Id: I88aeaecc94c0e69532479e50920ba2e0cc6f4bda Reviewed-on: https://skia-review.googlesource.com/22520 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Change image encode api to return sk_sp""Gravatar Mike Reed2017-07-12
| | | | | | | | | | This reverts commit 64778d9f275d8ce3df8f4ab39ff334b7ef5b70d3. Bug: skia: Change-Id: I779515ff1e16a40c33890a4bac7a8a07171aadfe Reviewed-on: https://skia-review.googlesource.com/22261 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unreachable perspective code for imageshaderGravatar Mike Reed2017-07-12
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: If9a7df3e1c387098b00bf1cc1a37c36c6d256ef1 Reviewed-on: https://skia-review.googlesource.com/22348 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Always enable Analytic AA for rectsGravatar Yuqian Li2017-07-12
| | | | | | | | | | | | Previously, suitableForAAA disabled Analytic AA for small rects. But that's a mistake. Re-enabling AAA will bring 10-20% speedup for small rects (~800ns -> ~700ns measured by path_fill_small_rect nanobench). Bug: skia: Change-Id: I943f1c754669391f55e46471781fa65840629377 Reviewed-on: https://skia-review.googlesource.com/22205 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Always use raster pipeline for perspectiveGravatar Florin Malita2017-07-12
| | | | | | | | | Change-Id: I6205769ea77e12647985496a5c74d3754edd3108 Reviewed-on: https://skia-review.googlesource.com/22365 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Experimental blur code."Gravatar Florin Malita2017-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d96ed9d0def2d660f537e4ab5c79e9e66470ee22. Reason for revert: dm crashing https://luci-milo.appspot.com/swarming/task/374d82c1d1263910/steps/symbolized_dm/0/stdout Likely culprit: unit test BlurDrawing Stack trace: /mnt/pd0/s/w/ir/out/Debug/dm(+0x2440eb) [0x568770eb] linux-gate.so.1(__kernel_sigreturn+0) [0xf7714ca0] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK16SkMaskBlurFilter11blurOneScanENS_10FilterInfoEPKhjS2_PhjS3_+0x236) [0x5766301e] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK16SkMaskBlurFilter4blurERK6SkMaskPS0_+0x285) [0x57663491] /mnt/pd0/s/w/ir/out/Debug/dm(_ZN10SkBlurMask7BoxBlurEP6SkMaskRKS0_f11SkBlurStyle13SkBlurQualityP8SkIPointb+0x5c) [0x5720d48e] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK20SkBlurMaskFilterImpl10filterMaskEP6SkMaskRKS0_RK8SkMatrixP8SkIPoint+0x67) [0x5720e427] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK20SkBlurMaskFilterImpl17filterRectsToNineEPK6SkRectiRK8SkMatrixRK7SkIRectPN12SkMaskFilter9NinePatchE+0x579) [0x5721a247] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK12SkMaskFilter10filterPathERK6SkPathRK8SkMatrixRK12SkRasterClipP9SkBlitterN11SkStrokeRec9InitStyleE+0xf6) [0x5706c2bc] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK6SkDraw11drawDevPathERK6SkPathRK7SkPaintbP9SkBlitterb+0x1bb) [0x57034f1b] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNK6SkDraw8drawPathERK6SkPathRK7SkPaintPK8SkMatrixbbP9SkBlitter+0x47f) [0x57035dd3] /mnt/pd0/s/w/ir/out/Debug/dm(_ZN14SkBitmapDevice8drawPathERK6SkPathRK7SkPaintPK8SkMatrixb+0x6e) [0x56f937fc] /mnt/pd0/s/w/ir/out/Debug/dm(_ZN8SkCanvas10onDrawPathERK6SkPathRK7SkPaint+0x39d) [0x56fb12e5] /mnt/pd0/s/w/ir/out/Debug/dm(_ZN8SkCanvas8drawPathERK6SkPathRK7SkPaint+0x18) [0x56fad926] /mnt/pd0/s/w/ir/out/Debug/dm(+0x3f71b3) [0x56a2a1b3] /mnt/pd0/s/w/ir/out/Debug/dm(+0x2450bd) [0x568780bd] /mnt/pd0/s/w/ir/out/Debug/dm(+0x2450fb) [0x568780fb] /mnt/pd0/s/w/ir/out/Debug/dm(+0xae53e7) [0x571183e7] /mnt/pd0/s/w/ir/out/Debug/dm(_ZNKSt8functionIFvvEEclEv+0x20) [0x569f98de] /mnt/pd0/s/w/ir/out/Debug/dm(_ZN12SkThreadPool4LoopEPv+0x298) [0x57045b2f] /mnt/pd0/s/w/ir/out/Debug/dm(+0xbbd92c) [0x571f092c] /lib/i386-linux-gnu/libpthread.so.0(+0x627a) [0xf76e827a] /lib/i386-linux-gnu/libc.so.6(clone+0x66) [0xf70ecb56] Segmentation fault Original change's description: > Experimental blur code. > > This uses a new method of blurring that runs the three > passes of the box filter in a single pass. This implementation > currently only does 1x1 pixel at a time, but it should be simple > to expand to 4x4 pixels at a time. > > On the blur_10_normal_high_quality benchmark, the new is 7% faster > than the old code. For the blur_100.50_normal_high_quality > benchmark, the new code is 11% slower. > > Change-Id: Iea37294abc7c27de5ad569adf8bc62df77eafd02 > Reviewed-on: https://skia-review.googlesource.com/21739 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Mike Reed <reed@google.com> TBR=herb@google.com,reed@google.com Change-Id: I9e896c548d0a4cd3308d6a311c8bd16719a08a85 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/22421 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Florin Malita <fmalita@google.com>
* Experimental blur code.Gravatar Herb Derby2017-07-12
| | | | | | | | | | | | | | | | This uses a new method of blurring that runs the three passes of the box filter in a single pass. This implementation currently only does 1x1 pixel at a time, but it should be simple to expand to 4x4 pixels at a time. On the blur_10_normal_high_quality benchmark, the new is 7% faster than the old code. For the blur_100.50_normal_high_quality benchmark, the new code is 11% slower. Change-Id: Iea37294abc7c27de5ad569adf8bc62df77eafd02 Reviewed-on: https://skia-review.googlesource.com/21739 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>