aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* SkPDF: GradientShaderPatterns use one hashmap not two.Gravatar Hal Canary2017-07-05
| | | | | | | Change-Id: Icdebaf891884aa06bdc36ed930d7bab5400bd04f Reviewed-on: https://skia-review.googlesource.com/21529 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* SkPDF: Refactor PDFShader to use ShTHashMap<>Gravatar Hal Canary2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my tests run ~14% faster. - Split out gradient shaders from image shaders. new compilation unit: SkPDFGradientShader - Common functions InverseTransformBBox and PopulateTilingPatternDict moved to SkPDFUtils - Split SkPDFShader::State into image and gradient structures. - SkPDFCanon is now a simpler structure, with no logic of its own. I am considering just moving all of its fields into SkPDFDocument - SkPDFShader::State (the image/fallback shader) now is POD, making the use of a hashmap for canonicalization straightforward. Formerly, we used a linear search. - Do not bother trying to canonicalize the falback image shader. - SkPDFGradientShader::Key is not POD; comparison of two objects requires looking at the contents of two variable-sized arrays. We now pre-calculate the hash of the arrays using SkOpts::hash and store a hash for the object in the fHash field. Using that hash, we can now canonicalize using a hashmap instead of a linar search! - several static functions renamed to follow style guidelines - stop using codeFunction function pointer; I find that less clear than it could be. - operator==() for SkPDFShader::State and SkPDFGradientShader::Key is now much simpler and can now be inlined. - SkArrayEqual template in SkPDFUtils.h No change to PDF output. BUG=skia:3585 Change-Id: I354ad1b600be6d6749abccb58d13db257370bc0b Reviewed-on: https://skia-review.googlesource.com/21376 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "Indicate texel buffer support in Vulkan"Gravatar Chris Dalton2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2dd222639dba16fab4e81dbf3e7916fc1eb2cd29. Reason for revert: Programs test assertion failures Original change's description: > Indicate texel buffer support in Vulkan > > Bug: skia: > Change-Id: I116dd2b15320e3a61afba82b003b13a14ce6122f > Reviewed-on: https://skia-review.googlesource.com/21402 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=egdaniel@google.com,csmartdalton@google.com Change-Id: I41ee31624636c497125ff38bcb7ce0382d9f386b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/21582 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Disallow burst context instantiation for non-invertible CTMsGravatar Florin Malita2017-07-05
| | | | | | | | | | | | Similar to SkShaderBase::makeContext(), catch this condition and bail early. BUG=chromium:738682 Change-Id: I4c7a2036bed8ab8699023c4f8f3bc2161de0c41d Reviewed-on: https://skia-review.googlesource.com/21521 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* optimize for diff matrix typesGravatar Mike Reed2017-07-05
| | | | | | | | Bug: skia: Change-Id: I671e07c5bbb9e4ced92303c9959143324f7a6bdc Reviewed-on: https://skia-review.googlesource.com/21523 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Indicate texel buffer support in VulkanGravatar Chris Dalton2017-07-05
| | | | | | | | Bug: skia: Change-Id: I116dd2b15320e3a61afba82b003b13a14ce6122f Reviewed-on: https://skia-review.googlesource.com/21402 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* header cleanupGravatar Hal Canary2017-07-05
| | | | | | | Change-Id: I3f7667a1357194ae2bdd341ad9d46eb93920f404 Reviewed-on: https://skia-review.googlesource.com/21374 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* consolidate logic for matrix stageGravatar Mike Reed2017-07-04
| | | | | | | | Bug: skia: Change-Id: Id1559b31692a1aed9aa4d15620b2019ae9c7c22b Reviewed-on: https://skia-review.googlesource.com/21404 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Handle degenerate 2pt conical center values gracefullyGravatar Florin Malita2017-07-03
| | | | | | | | | | | | | SkMatrix::setPolyToPoly() may fail to map degenerate values. Handle this case explicitly, instead of assuming it never fails. BUG=chromium:738746 TBR= Change-Id: Ie1049b98f7e07ae5d6bdb706ba7b4a399388e5d8 Reviewed-on: https://skia-review.googlesource.com/21375 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove unneeded code for index8 imagseGravatar Mike Reed2017-07-03
| | | | | | | | Bug: skia:6828 Change-Id: I039d6bc35a1ed93ce747247f32fe4e9d5b09da0c Reviewed-on: https://skia-review.googlesource.com/21400 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* hide index8 supportGravatar Mike Reed2017-07-03
| | | | | | | | Bug: skia: Change-Id: I4ab7f4665cc9992319d3c9a5e02a417d503c189e Reviewed-on: https://skia-review.googlesource.com/20121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* SPIR-V comma operator supportGravatar Ethan Nicholas2017-06-30
| | | | | | | | Bug: skia: Change-Id: I9792674c49a0243017bb5f2b3c11d0678e62138e Reviewed-on: https://skia-review.googlesource.com/21367 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Added new edge handling mode (clamp and repeat) to Gaussian blur filter.Gravatar wutao2017-06-30
| | | | | | | | | | | | | | | | | | | Gaussian blur filter will interpolate value by using out of bounds coords, which is 0. This makes it appears darker near the bounds in the blurred images. There are two issues: 1) when downsampling and upsampling, we should use GrTextureDomainEffect kClamp_Mode to clamp the texture coords to the bounds; 2) during Gaussian blur, we need to clamp to texture bounds. BUG=622128 TEST=cc_unittests, GM image test & manual. Some test results can be found at: https://bugs.chromium.org/p/chromium/issues/detail?id=622128#c49 Change-Id: I9283da1d91efb0da94a991f2d372e9f62c288bdc Reviewed-on: https://skia-review.googlesource.com/20465 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Delete non-raster-pipeline SkTwoPointConicalGradient implGravatar Florin Malita2017-06-30
| | | | | | | | Change-Id: If39a2b01d6099fef14695a4ce05b57a3d5c3d99c Reviewed-on: https://skia-review.googlesource.com/21320 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* clean up GCC 6.3 workaroundGravatar Mike Klein2017-06-30
| | | | | | | | | | | This is all kind of silly... this is just a little bit of code that's not really reachable, but there to satisfy compilers that can't figure that out. Change-Id: Ib39e8bf0fd26e28541cfad37c7ea135a30dbe85a Reviewed-on: https://skia-review.googlesource.com/21365 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkPDF: simplify SkPDFGraphicStateGravatar Hal Canary2017-06-30
| | | | | | | | | | | | | | - Separate graphic state objects for Stroke and Fill. - SkPDFGraphicState::GetGraphicStateForPaint simplified. - No more SkPDFGraphicState objects.Simplify SkPDFCanon. All PDFs render the same. Most PDFs are slightly smaller, especially those from captured web pages. Change-Id: Id9605c1d7495645da558d5f378ba585cdc201bba Reviewed-on: https://skia-review.googlesource.com/21343 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkPDF: clean up fRasterDpiGravatar Hal Canary2017-06-30
| | | | | | | | | | | | - PDFDevice no longer has a fRasterDpi; simply queries document. - #define DPI_FOR_RASTER_SCALE_ONE becomes constexpr float. - PDFShader::GetPDFShader no longer takes rasterScale or dpi - Remove un-needed factory functions. We're all adults here. Change-Id: Id2ce75d4e61af385763ccfb1db210465a1600067 Reviewed-on: https://skia-review.googlesource.com/21348 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Speculative "fix" for crash in analyzeProcessorsGravatar Robert Phillips2017-06-30
| | | | | | | | | | | | | | From the bug it looks like a null fragment processors may be getting into the processor set. This CL tries to plug any gaps in our fragmentProcessor handling. The only real substantive part to this CL is the addition of some "if (!fp) { return nullptr; }" blocks. Everything else is just to add chokepoints for processor allocation. Bug: 734076 Change-Id: I4952b1a05bc6690d5aa09de977fa6dc54c80338a Reviewed-on: https://skia-review.googlesource.com/21267 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Allow caps on hairlines for gpu dashed linesGravatar Greg Daniel2017-06-30
| | | | | | | | Bug: skia: Change-Id: Ie3b61e0a308f7cbec65166f2f2ac4fe3cc5d16d0 Reviewed-on: https://skia-review.googlesource.com/21364 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* remove unreachable samples for non-N32 imageshadersGravatar Mike Reed2017-06-29
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: I2d9a22b22d72c81a742b8fd497797bff8174915b Reviewed-on: https://skia-review.googlesource.com/21264 Commit-Queue: Eric Boren <borenet@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix to GLProgramTest dashingGravatar Greg Daniel2017-06-29
| | | | | | | | Bug: skia: Change-Id: Ibe78691907b62afca4c68b6e4e0d2d49c49c210f Reviewed-on: https://skia-review.googlesource.com/21263 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Always use raster pipeline for SkTwoPointConicalGradientGravatar Florin Malita2017-06-29
| | | | | | | Change-Id: I14fc27c5ba8d6fd58df193a172148b7f5aca20bf Reviewed-on: https://skia-review.googlesource.com/21262 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Decrease the tolerance for classifying degenerate cubicsGravatar Chris Dalton2017-06-29
| | | | | | | | Bug: skia: Change-Id: I118f52301146ed7a7333d4f6bd2297d500a0df97 Reviewed-on: https://skia-review.googlesource.com/21187 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix gpu dashing for case when circle dashes are large enough to overlapGravatar Greg Daniel2017-06-29
| | | | | | | | Bug: skia: Change-Id: I7153b28103c5ca0947c37d57357b64bf2aa884e5 Reviewed-on: https://skia-review.googlesource.com/20979 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* 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>