aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* update long out of date commentGravatar Mike Klein2017-06-29
| | | | | | | Change-Id: I3dead53a30992edd032f16e6711b97bbf76a0e36 Reviewed-on: https://skia-review.googlesource.com/21261 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove filterSpan from SkColorFilterGravatar Mike Reed2017-06-29
| | | | | | | | | | Bug: skia: Change-Id: Ie8a31ea8131c08d251a825622484342e3e174474 Reviewed-on: https://skia-review.googlesource.com/21207 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix memory leak in SkImageFilterGravatar xidachen2017-06-29
| | | | | | | | | | | | | | | | | | | In our current implementation of SkImageFilterCache, when the removeInternal() function is called, the Value is removed, but their corresponding keys are not always removed in SkImageFilter. That could result in memory leak. In this CL, we made changes such that the Value structure now keeps a pointer to the SkImageFilter. Each time when the removeInternal() is called, we ask the SkImageFilter to remove the associated keys. Bug: 689740 Change-Id: I0807fa3581881ad1530536df5289e3976792281f Reviewed-on: https://skia-review.googlesource.com/20960 Commit-Queue: Xida Chen <xidachen@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* 2pt conical stage for focal-point-outside caseGravatar Florin Malita2017-06-29
| | | | | | | | | | | | | | | | | A couple of annoyances here: 1) the prev vector_scale stage is not usable for masking, as NaN values can propagate through => switch to actual masking 2) for the outside case, we must select the min root when the gradient is flipped => split into two templated stages (_min, _max) (I'm not convinced that we need to flip the gradient for RP at all; we can investigate later) Change-Id: I0283812d613a53124f2987d1aea1f26e4533655e Reviewed-on: https://skia-review.googlesource.com/21162 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Re-re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-29
| | | | | | | | | | This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33. Bug: skia: Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6 Reviewed-on: https://skia-review.googlesource.com/21108 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* clean up colorfilter sprite blittersGravatar Mike Klein2017-06-29
| | | | | | | | | | | | Instead of rejecting all sprite blitters when there's a color filter, just remove the old legacy color filter sprite blitters. The SkRasterPipelineSpriteBlitter can still handle color filters... no need to fall back to the general shader (gather) blitter. Change-Id: Ib27f3e153612d0d904093da68223c2b862b17f63 Reviewed-on: https://skia-review.googlesource.com/21204 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* remove S4444 sprite blittersGravatar Mike Klein2017-06-29
| | | | | | | | | These can fall through to the SkRasterPipelineSpriteBlitter just fine. Change-Id: I56f4f177475b233fd2d3352df1ecddc47be0d37d Reviewed-on: https://skia-review.googlesource.com/21203 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* remove unused flag SK_SUPPORT_LEGACY_COLORFILTER_FILTERSPANGravatar Mike Reed2017-06-29
| | | | | | | | Bug: skia: Change-Id: I884f79f9a162f38365930d1ccca889fca2850557 Reviewed-on: https://skia-review.googlesource.com/21202 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused flag SK_SUPPORT_BLITV_FOR_BLUR_NINEGravatar Mike Reed2017-06-29
| | | | | | | | Bug: skia: Change-Id: I0d4637441f6d8051903824b9945edd966db48bf1 Reviewed-on: https://skia-review.googlesource.com/21201 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add null-surfaceGravatar Mike Reed2017-06-29
| | | | | | | | Bug:crbug.com/737726 Change-Id: Iec9094d8d7232943e90fe2d9745fc83bcdf90954 Reviewed-on: https://skia-review.googlesource.com/21190 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add guard for handling swizzles via rasterpipelineGravatar Mike Reed2017-06-28
| | | | | | | | Bug: skia: Change-Id: I26499659c15bf79a840246a2eb6eb064e43b4c32 Reviewed-on: https://skia-review.googlesource.com/21163 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "use blitMask for left/right edges in blur-nine""Gravatar Robert Phillips2017-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0e29c633feb3215174f8fc2e048a573dc3d6de9e. Reason for revert: The layout tests have been suppressed in https://chromium-review.googlesource.com/c/553239/ - no need to revert Bug: 737714 Original change's description: > Revert "use blitMask for left/right edges in blur-nine" > > This reverts commit 3fe44544c93759e7791ee0df3e5d172cb0f268b6. > > Reason for revert: I believe this is the cause of the layout test regressions in crbug.com/737714 > > Bug: 737714 > > Original change's description: > > use blitMask for left/right edges in blur-nine > > > > Seems about same speed for legacy blitter, but much faster for raster-pipeline > > > > Bug: skia: > > Change-Id: I19be307c01a199e2477e045fb8c2cca7784564a5 > > Reviewed-on: https://skia-review.googlesource.com/20967 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Mike Klein <mtklein@chromium.org> > > TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: Id7be3ff779191175d91ebd51c7d275fd1104ae0d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/21182 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=mtklein@chromium.org,mtklein@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I9f232e838bcad4e4cf0d8c7226d5e57a349e52be No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 737714, skia: Reviewed-on: https://skia-review.googlesource.com/21183 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "use blitMask for left/right edges in blur-nine"Gravatar Robert Phillips2017-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3fe44544c93759e7791ee0df3e5d172cb0f268b6. Reason for revert: I believe this is the cause of the layout test regressions in crbug.com/737714 Bug: 737714 Original change's description: > use blitMask for left/right edges in blur-nine > > Seems about same speed for legacy blitter, but much faster for raster-pipeline > > Bug: skia: > Change-Id: I19be307c01a199e2477e045fb8c2cca7784564a5 > Reviewed-on: https://skia-review.googlesource.com/20967 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: Id7be3ff779191175d91ebd51c7d275fd1104ae0d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/21182 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Improve handling of clip stack IDGravatar Robert Phillips2017-06-28
| | | | | | | Change-Id: I1d5cf06d9b50c370f969a8778181fe94f7d35844 Reviewed-on: https://skia-review.googlesource.com/21061 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Draw zero length subpaths in AA hairline path rendererGravatar Brian Osman2017-06-28
| | | | | | | | Bug: skia:6781 Change-Id: Ife0896ab45a47910273353f1269f62dbeda67ba0 Reviewed-on: https://skia-review.googlesource.com/20986 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* 2pt conical stage for focal-pt-on-edge caseGravatar Florin Malita2017-06-28
| | | | | | | | | | | | | | | | | | | When the focal point is on the edge of the end circle, the quadratic equation devolves to linear. Add a stage to handle this case. As a complication, this case can produce "degenerate" values: 1) t == NaN 2) R(t) < 0 For these, we're supposed to draw transparent black - which means overwriting the color from the gradient stage. To support this, build a 0/1 vector mask in the context, and apply it post-gradient-stage. Change-Id: Ice4e3243abfd8c784bb810f6c310aed7a4ac7dc8 Reviewed-on: https://skia-review.googlesource.com/21111 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
* SkPDF: Clean upGravatar Hal Canary2017-06-28
| | | | | | | | | | | - Use clearMaskOnGraphicState() - SkPDFGraphicState::MakeNoSmaskGraphicState now moved to only caller. - Get rid of clunky SkPDFUtils::GetCachedT Change-Id: If76a1e915fc31e3ce2654fbe620ff44c1820c0e7 Reviewed-on: https://skia-review.googlesource.com/21142 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Fix for Android batching bugGravatar Robert Phillips2017-06-28
| | | | | | | | | | | | | | | On Android it looks like we have: stencilClip1 draw1 stencilClip2 draw2 where draw1 is being forward combined with draw2 b.c. they are both stencil clipped but it shouldn't b.c. they are different stencil clips. Change-Id: Ia704d7ab869022a055eed0726e2b7fab8eaaf817 Reviewed-on: https://skia-review.googlesource.com/20977 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* build regenerating SkJumper stages into GNGravatar Mike Klein2017-06-28
| | | | | | | | | | | | | | | | | I _think_ this makes it so changes to _stages.cpp or _lowp.cpp get noticed, regenerated, and baked into Skia all in the same Ninja invocation. Now you just need to set up the tools we use in GN: skia_jumper_clang = ... skia_jumper_objdump = ... skia_jumper_ccache = ... Change-Id: I09fb54d965644ff6e5825056fb0be2c7cab2ea92 Reviewed-on: https://skia-review.googlesource.com/21140 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Cache GrTexture in GrAHardwareBufferImageGeneratorGravatar Stan Iliev2017-06-28
| | | | | | | | | | | | | Cache last GrTexture needed by onGenerateTexture. Make sure GrTexture is destroyed by the thread that owns its GrContext. This CL avoids frequent eglDestroyImageKHR calls, which can take more than 7ms. Bug: skia: Change-Id: Ic8472e7e4c55c0f559d96e16845054dc54ec8efa Reviewed-on: https://skia-review.googlesource.com/20989 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* clean up low-hanging swap_rbGravatar Mike Klein2017-06-28
| | | | | | | | | | | | | | | There are two remaining swap_rb uses that both look non-trivial to replace: - sampling out of index8 when the color table is bgra - table transforms on bgra inputs in SkColorSpaceXform I don't think it's a big deal to just leave swap_rb around, just a little sad. Change-Id: I3d30200cf867cbf37d6f86572b1574d3e22e3490 Reviewed-on: https://skia-review.googlesource.com/21040 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GrTessellator: nuke SK_DISABLE_SCREENSPACE_TESS_AA_PATH_RENDERER ifdef.Gravatar Stephen White2017-06-28
| | | | | | | | | | No longer used. Bug: skia: Change-Id: I24424e540607b5c9a2607fd5f34034bea920f62e Reviewed-on: https://skia-review.googlesource.com/21063 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* 2ptconical stageGravatar Florin Malita2017-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Initial impl, for the well-behaved case (focal point inside). MBP numbers - Before: 3365.87 ! gradient_conical_clamp_shallow srgb 3590.88 ! gradient_conical_clamp_shallow_dither srgb 3376.91 ! gradient_conical_clamp_3color srgb 3351.64 ! gradient_conical_clamp_hicolor srgb 3379.35 ! gradient_conical_clamp srgb After: 648.93 ! gradient_conical_clamp_shallow srgb 665.12 ! gradient_conical_clamp_shallow_dither srgb 773.98 ! gradient_conical_clamp_3color srgb 1175.35 ! gradient_conical_clamp_hicolor srgb 619.17 ! gradient_conical_clamp srgb Change-Id: I07b22a758363e1f340a6041bca53bdef74229eb9 Reviewed-on: https://skia-review.googlesource.com/20906 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Move copy operation from GrRenderTargetContext/GrTextureContext to ↵Gravatar Robert Phillips2017-06-28
| | | | | | | | | GrSurfaceContext Change-Id: I5f48ce9978370f07238a7318ccb6270e10069c92 Reviewed-on: https://skia-review.googlesource.com/21104 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* use rasterpipline for hq scalingGravatar Mike Reed2017-06-28
| | | | | | | | | Bug: skia: Change-Id: Ic67f869ba35be17d49d371bb7f3fa60b6b2e20ee Reviewed-on: https://skia-review.googlesource.com/21105 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* be more explicit about not expecting 32-bit x86 jumper backend on windowsGravatar Mike Klein2017-06-28
| | | | | | | | | | | Looks like Clang/Win is defining __i386__, but we're not linking in stage functions (they don't exist yet for Windows). Change-Id: I78fdd3e1d89020bc6c64bc1cd5dfb3fbca720b2e Reviewed-on: https://skia-review.googlesource.com/21103 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Move all Linux GCE bots to DebianGravatar Eric Boren2017-06-28
| | | | | | | | | NOTREECHECKS:true Bug: skia: Change-Id: I612989c6ce2f309d2f70f896500f73e4baa971a7 Reviewed-on: https://skia-review.googlesource.com/19811 Commit-Queue: Eric Boren <borenet@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* add bgra as 1st class formatGravatar Mike Klein2017-06-27
| | | | | | | | | | | | This is a start to eliminating swap_rb as a stage. I've just hit the main hot spots here. Going to look into the ~dozen other spots to see how they should work next. Change-Id: I26fb46a042facf7bd6fff3b47c9fcee86d7142fd Reviewed-on: https://skia-review.googlesource.com/20982 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Re-land sksl fragment processor support"Gravatar Mike Klein2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c070939fd1a954b7a492bc30f0cf64a664b90181. Reason for revert: This has some knock-on effects in the generation of Android.bp from our GN files. See gn/gn_to_bp.py? We're seeing things like "tmp/tmpsBVycx/gen/" end up in the include search path in Android.bp, which obviously don't exist there... Original change's description: > Re-land sksl fragment processor support > > This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. > > Bug: skia: > Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab > Reviewed-on: https://skia-review.googlesource.com/20965 > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=benjaminwagner@google.com,ethannicholas@google.com Change-Id: I502486b5405923b322429219f4cc396a45a14cea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20990 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* use blitMask for left/right edges in blur-nineGravatar Mike Reed2017-06-27
| | | | | | | | | | Seems about same speed for legacy blitter, but much faster for raster-pipeline Bug: skia: Change-Id: I19be307c01a199e2477e045fb8c2cca7784564a5 Reviewed-on: https://skia-review.googlesource.com/20967 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove unused "swap" stageGravatar Mike Klein2017-06-27
| | | | | | | Change-Id: I25619f010f8ac6441529cfe8dff2d8c42d7400cf Reviewed-on: https://skia-review.googlesource.com/20988 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* specialize loaders for dst registers, to avoid move/swap stagesGravatar Mike Reed2017-06-27
| | | | | | | | Bug: skia: Change-Id: I75d82ef2226c5f116b7de2208c4e914739414b6d Reviewed-on: https://skia-review.googlesource.com/20984 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use the NDK headers for AHardwareBuffer.Gravatar Derek Sollenberger2017-06-27
| | | | | | | | Bug: 6672 Change-Id: I5abd86149e912d91234853109ebd2a6b0ac5eaa2 Reviewed-on: https://skia-review.googlesource.com/20980 Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Enable SDF text when using a perspective matrix.Gravatar Jim Van Verth2017-06-27
| | | | | | | | | Also fixes some state issues in SampleApp. Change-Id: I854754e8b547f7e62aa90914520aaaa20095f965 Reviewed-on: https://skia-review.googlesource.com/20975 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* try not zeroing registers in start_pipelineGravatar Mike Klein2017-06-27
| | | | | | | | | | | | | | | | | Generally stages take care of state setup themselves, either with seed_shader, constant_color, a load, etc. I think these zeros may be unnecessarily cautious. This can't make anything draw more correctly, but it could make things - draw wrong - draw more slowly - draw more quickly so it's an interesting thing to try and keep an eye on. Change-Id: I7e5ea3cd79e55a65e1dbd214601e147ba3815b87 Reviewed-on: https://skia-review.googlesource.com/20976 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkPDF: clean up PDFDevice.Gravatar Hal Canary2017-06-27
| | | | | | | | | | | | | | | Motivation: factor out some code for later re-use; clean up. - mask_to_greyscale_image() - addSMaskGraphicState() - clearMaskOnGraphicState() - stop using bare pointer to indicate ownership. - add ScopedContentEntry::stream() Change-Id: I7abe7ff9eab89e1002692017000cda2ca7642631 Reviewed-on: https://skia-review.googlesource.com/20978 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* 2pt conical stage for concentric caseGravatar Florin Malita2017-06-27
| | | | | | | | | | If the circles are concentric, we can use the radial stage and post-massage t with a 2x3 stage. Change-Id: I744bc889d509d5f9ff162c179e8ec7ca35410e3c Reviewed-on: https://skia-review.googlesource.com/20972 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | | This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. Bug: skia: Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab Reviewed-on: https://skia-review.googlesource.com/20965 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* SkDevice::drawBitmap takes x,y, not matrixGravatar Hal Canary2017-06-27
| | | | | | | | | Motivation: a simpler call should make it easier for SkPDF to learn how to do drawBitmap with A8 bitmap and a maskfilter. Change-Id: I1a5d190b40b0e9e08fa8876d265a9835a3e9987d Reviewed-on: https://skia-review.googlesource.com/20961 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* add dumbest possible 32-bit SkJumper backendGravatar Mike Klein2017-06-27
| | | | | | | | | | | | | | | | Everything uses a ton of stack, nothing tail calls, and for now this is non-Windows only. But, it does run faster than the portable serial code. On my trashcan, running `monobench SkRasterPipeline_compile`: - Normal 64-bit AVX build: 43.6ns - Before this CL, 32-bit: 707.9ns - This CL: 147.5ns Change-Id: I4a8929570ace47193ed8925c58b70bb22d6b1447 Reviewed-on: https://skia-review.googlesource.com/20964 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "sksl fragment processor support"Gravatar Ethan Nicholas2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccf59917d3fe7aaf59de714acfbd0596503f324f. Reason for revert: breaking iOS bots Original change's description: > sksl fragment processor support > > Bug: skia: > Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 > Reviewed-on: https://skia-review.googlesource.com/17843 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,benjaminwagner@google.com,ethannicholas@google.com Change-Id: I0a33060c7c42c7b44c5c13d443ac42958291c2f1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20962 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | Bug: skia: Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 Reviewed-on: https://skia-review.googlesource.com/17843 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Load FreeType glyph bitmap before emboldening.Gravatar Ben Wagner2017-06-27
| | | | | | | | | | | | | If a bitmap glyph was loaded with FT_LOAD_BITMAP_METRICS_ONLY then the glyph must be re-loaded without this flag before accessing the bitmap. BUG=chromium:725975 Change-Id: If5e5a6844e9c32238560135e141fea7f77ad7fac Reviewed-on: https://skia-review.googlesource.com/20830 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* add _hsw lowp backendGravatar Mike Klein2017-06-27
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Debug-MSAN Change-Id: Id53279c17589b3434629bb644358ee238af8649f Reviewed-on: https://skia-review.googlesource.com/20269 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Add shading language version to GL dumpGravatar Jim Van Verth2017-06-27
| | | | | | | | Bug: skia:6759 Change-Id: I021a8487ccb1d127b2005285e439be34d644f333 Reviewed-on: https://skia-review.googlesource.com/20905 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Remove SkImageFilter::MakeBlur entry pointGravatar Robert Phillips2017-06-27
| | | | | | | | | AFAICT none of our clients use this entry point and it is tangling up efforts to add a new parameter to the BlurImageFilter. Change-Id: I494634db98a1d246854a5e3735380fbe55f425c2 Reviewed-on: https://skia-review.googlesource.com/20837 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* somewhat less silly tail loads and storesGravatar Mike Klein2017-06-26
| | | | | | | | | | | | | | | | | | | | No reason to keep going one at a time when we know there are generally better ways to handle loading a power-of-two number of low lanes. This strategy scales up too, with quick answers for 8 (one 8 byte load), 12 (one 8 byte, one 4 byte), etc. $ ninja -C out monobench; and out/monobench SkRasterPipeline_compile 300 Before: 46.946ns After: 43.341ns (This happens to be _lowp. Expect similar small speedups elsewhere.) Change-Id: I08f87769ea3c9f06ad13d2b1d5326e542b9b63a8 Reviewed-on: https://skia-review.googlesource.com/20903 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Restrict acceptable bounds for uploading data to mip levels on GPUGravatar Greg Daniel2017-06-26
| | | | | | | | | | | | | | The help simplify the code (and currect a current bug) inside the uploadPixel functions in GL and Vulkan, we not restrict the bounds upload/write bounds on a higher level. For non mipped uploads, we requiring the bounds to be within the bounds on the texture, and for mipped uploads we require the bounds to be the full texture. Bug: skia:6780 Change-Id: Ia1cff3ee48edd3676afce6265d60e81ccea6ca6a Reviewed-on: https://skia-review.googlesource.com/20825 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Exclude AALinearizingConvexPathRenderer from zero size pathsGravatar Brian Osman2017-06-26
| | | | | | | | | | | | | Per SVG, stroking a zero length line with square or round caps should draw a square or circle. This path renderer has lots of baked in assumptions that prevent that behavior, so the easy solution is to let some other path renderer handle it. Bug: skia:6781 Change-Id: I9d2da94f75d96554e3cd218848aa552f63add679 Reviewed-on: https://skia-review.googlesource.com/20900 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* lean more on the compiler in lowp stagesGravatar Mike Klein2017-06-26
| | | | | | | | | | | | | | This refactors {from,to}_{byte,8888} to lean a bit more on the compiler, and to share code between the two. The algorithm is not exactly the same, but it's comparable, and the results of course are identical. This new algorithm is a lot easier to generalize to AVX2, and parallels the full-precision {from,to}_{byte,8888} functions in _stages.cpp. Change-Id: I31ea90d65967bf4ede2497d1e2197cb0e7648bf8 Reviewed-on: https://skia-review.googlesource.com/20828 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>