aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Remove GrGLSLFragProcs typedef. Use unique_ptr to for ↵Gravatar Brian Salomon2018-06-07
| | | | | | | | | GrGLSLFragmentProcessor ownership. Change-Id: Ifefbde2ec0002e7e41bed2e4bc2cd7bdd04504d0 Reviewed-on: https://skia-review.googlesource.com/132931 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Require mips to be allocated at texture creation time and disable late ↵Gravatar Greg Daniel2018-06-07
| | | | | | | | | | | | | | | | allocations. If we get a non-mipped texture for a draw that wants to be use mip map filter, we will copy the texture into a new mipped texture. Clean up of unused code in the GPU backends for reallocating for mips will be done in a follow up CL. Bug: skia: Change-Id: Idab588c1abf4bbbf7eeceb3727d500e5df274188 Reviewed-on: https://skia-review.googlesource.com/132830 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add SkTypeface::makeClone.Gravatar Ben Wagner2018-06-07
| | | | | | | | | | | | | This adds an method to typeface to allow users to create a copy of the typeface with different arguments for its parameters. This is far more efficient when animating a variation font. BUG=skia:7121 Change-Id: I34e7557a08c7005f8149ea44f0c28de9c59d15a7 Reviewed-on: https://skia-review.googlesource.com/132480 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* fonts: Hook up FallbackTextHelper to font remoting.Gravatar Khushal2018-06-07
| | | | | | | | | | | | | | | | Use GrContext::FallbackTextHelper in SkTextBlobCacheDiffCanvas to replicate glyph generation logic for fallback text during analysis. This ensures that we correctly handle these fallback cases when using distance field or paths for text rendering. R=herb@google.com, jvanverth@google.com Bug: skia:7913 Change-Id: I3067c4f1bd09231a564ac7c4cd89efcb876d2abd Reviewed-on: https://skia-review.googlesource.com/132285 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Add checks to make sure we don't overflow 32 bit int in GPU path renderers.Gravatar Greg Daniel2018-06-07
| | | | | | | | Bug: chromium:848716 Change-Id: I5b8fe036c666a1f379c4125115b2cec0295711b3 Reviewed-on: https://skia-review.googlesource.com/132268 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add guard around GrVkBackendContext::Create function.Gravatar Greg Daniel2018-06-07
| | | | | | | | | | | Just want to make sure the use of this doesn't leak out to other users as I work on removing it. Bug: skia: Change-Id: I5ecf11615db64bd489065e6f67e0e1d4bb3298eb Reviewed-on: https://skia-review.googlesource.com/132831 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove unused GrObjectMemoryPoolGravatar Robert Phillips2018-06-07
| | | | | | | Change-Id: I8d37dfa3a5f0af4741eb6f1c10e13065d20b0ccb Reviewed-on: https://skia-review.googlesource.com/132829 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* require std::is_trivially_destructibleGravatar Mike Klein2018-06-07
| | | | | | | | Change-Id: I78cbaf420ad1e16f07eacb8b4c6c825fe849b08a Reviewed-on: https://skia-review.googlesource.com/132825 Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Implement SkFontMgr_DirectWrite::onMakeFromStreamArgs function.Gravatar Bruce Wang2018-06-07
| | | | | | | | | | Variable fonts now work on windows 10. Change-Id: I81a90520544e2f4811d54bee1e3b89a83792000d Reviewed-on: https://skia-review.googlesource.com/132221 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Bruce Wang <brucewang@google.com> Commit-Queue: Bruce Wang <brucewang@google.com>
* clean up some unused parts of SkArenaAllocGravatar Mike Klein2018-06-07
| | | | | | | | | | | | | | I'm looking at making SkArenaAlloc independent of Skia. Here's a bit of low-hanging fruit. Nothing is using makeSkSp(). Good... it seems real dangerous. Change-Id: Ib7154e7948a3c6d828376ef37935636b3b4695ff Reviewed-on: https://skia-review.googlesource.com/132824 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* fix pathops fuzzerGravatar Cary Clark2018-06-07
| | | | | | | | | | | | | turn assert into fail R=kjlubick Change-Id: I3a2172b6b1a9eff092bcfddcf8310f32754b93f7 Reviewed-on: https://skia-review.googlesource.com/132780 Commit-Queue: Cary Clark <caryclark@skia.org> Commit-Queue: Kevin Lubick <kjlubick@google.com> Auto-Submit: Cary Clark <caryclark@skia.org> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Remove GrGeometryProcessor knowledge of explicit local coordsGravatar Brian Salomon2018-06-06
| | | | | | | | | | | | | | | | This seems to be part of an older model where the base class was more aware of how subclasses handled local coords. Only the default geometry processor uses it and it already incorporates the existence of explicit local coords into its shader key. Other GPs that used explicit local coords don't use this. Change-Id: Ia396f2a5e626e57470905ae770f1576386c0cefb Reviewed-on: https://skia-review.googlesource.com/132665 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com>
* add documentationGravatar Cary Clark2018-06-06
| | | | | | | | | | | | diagram for pathops change TBR=caryclark@google.com Bug: skia:8049 Change-Id: I2bbd04f1efad53e1197a45baf3ce98f0eb550512 Reviewed-on: https://skia-review.googlesource.com/132664 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* remove linear-blended sRGB dst support in softwareGravatar Mike Klein2018-06-06
| | | | | | | | | | | | | | | | | This is the mechanism we'd want to add back if we add an sRGBA SkColorType. This will break the DM "srgb" config hard. Landing this first should help flush out GMs that are incidentally using sRGB offscreens. Updated tests/AnimatedImageTest.cpp to avoid linear sRGB 8888 surfaces. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Change-Id: Idb5035cf4d60fcd1dc24c303d43a406fc4a603fa Reviewed-on: https://skia-review.googlesource.com/132261 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* fix ops for very close rectsGravatar Cary Clark2018-06-06
| | | | | | | | | | | | | | | | | | | | | Pathops sorts line intersections to determine which edges to keep. If the intersections are very short, they may get discarded and the adjacent edge is used instead. If a pair of edges are 180 degrees apart, and an adjacent edge is part of the sort, it is ambiguous whether it is inside or outside the span. Add logic to look for this and evaluate the original data rather than the adjacent edge. In a separate CL, I'll add a specialization for rect/rect ops. R=halcanary@google.com Bug: skia:8049 Change-Id: I8d88d5520051d41303ea683e7d6b844f2afa9937 Reviewed-on: https://skia-review.googlesource.com/132661 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com> Auto-Submit: Cary Clark <caryclark@skia.org>
* Smarter use of glyph cacheGravatar Herb Derby2018-06-06
| | | | | | Change-Id: Ic9bea7310b375575503042881d9d54ff13996729 Reviewed-on: https://skia-review.googlesource.com/131924 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix matrix multiplication orderGravatar Brian Osman2018-06-06
| | | | | | | | | Change-Id: I23feb52f46bc5d22911347de97d0b61411e8ef9a Reviewed-on: https://skia-review.googlesource.com/132543 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Reland "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Herb Derby2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 74b390d6b136a60f1df15ac5ecd19bd8ad5a394b. Reason for revert: reverting to add patch for valgrind Original change's description: > Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device" > > This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. > > Reason for revert: made valgrind unhappy. > > Original change's description: > > Have draw(Text|PosText|PosTextH) use a single entry on the device > > > > Handle the positioning of drawText at the canvas layer. Simplify > > the code by removing similar implementations. > > > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > > Reviewed-on: https://skia-review.googlesource.com/127131 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=jvanverth@google.com,bungeman@google.com,herb@google.com > > Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/132403 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com Change-Id: I9bbb73aac447b51eb8215ac42331759fa4c9fa45 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132580 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* GrTessellator: yet another out-of-range splitting fix.Gravatar Stephen White2018-06-06
| | | | | | | | | | | | It's actually possible for an intersection to be out-of-range on both the intersected edges (e.g., below both bottom points), because floating point. So we need to clamp against both edges. Bug: 846014 Change-Id: I9fe25a1fcd3b5242af7b1ee36b17f1e968aeb836 Reviewed-on: https://skia-review.googlesource.com/132323 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Hal Canary2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. Reason for revert: made valgrind unhappy. Original change's description: > Have draw(Text|PosText|PosTextH) use a single entry on the device > > Handle the positioning of drawText at the canvas layer. Simplify > the code by removing similar implementations. > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > Reviewed-on: https://skia-review.googlesource.com/127131 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,bungeman@google.com,herb@google.com Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132403 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Harden SkPerlinNoiseShader StitchData initializationGravatar Florin Malita2018-06-06
| | | | | | | | | | ... to ensure fWrap{X,Y} don't overflow int. Bug: chromium:846010, oss-fuzz:8377 Change-Id: I7cf082e388002ad5f8a6c62bad92f998fe831385 Reviewed-on: https://skia-review.googlesource.com/132222 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add Gr enums and version parsing for SwiftShaderGravatar Kevin Lubick2018-06-05
| | | | | | | | Bug: skia: Change-Id: I1f29cde915a0ae7fa59d7cfdf30f51632c1c24c4 Reviewed-on: https://skia-review.googlesource.com/132264 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Have draw(Text|PosText|PosTextH) use a single entry on the deviceGravatar Herb Derby2018-06-05
| | | | | | | | | | Handle the positioning of drawText at the canvas layer. Simplify the code by removing similar implementations. Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 Reviewed-on: https://skia-review.googlesource.com/127131 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Consolidate ambient and spot code setup.Gravatar Jim Van Verth2018-06-05
| | | | | | | | | | | | Uses shared code to create a polygon version of the path, as well as computing the centroid and determining convexity. This makes things more consistent and sets up for creating concave ambient shadows. Bug: skia:7971 Change-Id: I3f36a423431361177ad9f53218b3ff0fdaa179e1 Reviewed-on: https://skia-review.googlesource.com/131585 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* SkPDF: Fastpath for clipstack flatteningGravatar Hal Canary2018-06-05
| | | | | | | | | | BUG: chromium:837279 Change-Id: I79a675e7d9e713617711948e491e28babe06b1a2 Reviewed-on: https://skia-review.googlesource.com/132092 Auto-Submit: Hal Canary <halcanary@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* add upm->upm helperGravatar Mike Klein2018-06-05
| | | | | | | | | Change-Id: I912e58339b3b84be17d6a98d52cbc11f376c9a89 Reviewed-on: https://skia-review.googlesource.com/132093 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org>
* Always use filterColor4f to filter paint colorsGravatar Brian Osman2018-06-05
| | | | | | | | | | | | | | | The rationale here wasn't even correct before - filterColor4f did not use a linearized version of the stored color (for mode color filter), so it's always safe and correct to call the 4f version. Change-Id: I7087342e531e1768c945f78fb2126954b2dc5a86 Reviewed-on: https://skia-review.googlesource.com/132088 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Osman <brianosman@google.com>
* fixed interface/in/out struct for mvk integration and added a few missing ↵Gravatar Timothy Liang2018-06-05
| | | | | | | | | | builtins to skslc msl backend Bug: skia: Change-Id: Id514dc6af64bb2a5eb71f2161ceba549a8a6836d Reviewed-on: https://skia-review.googlesource.com/131881 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* handle degenerate call to blitAntiRectGravatar Mike Reed2018-06-05
| | | | | | | | Bug: skia:8043 Change-Id: Ief3653a748a1e82bd5ca9df3dd7743797e0160e8 Reviewed-on: https://skia-review.googlesource.com/132086 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* GrTessellator: fix for overlapping outer boundary edges in AA case.Gravatar Stephen White2018-06-05
| | | | | | | | | | | | | When inflating outer path boundaries for edge AA, two outer boundary edges may be collinear. In this case, they form part of the overlap region, but they must not be removed on collapse, since they form part of the outer boundary of the shape. Bug: 846655 Change-Id: I4808b570cc4f82d6202862f7a8ecf0f8add771ef Reviewed-on: https://skia-review.googlesource.com/132084 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* rm dead codeGravatar Mike Klein2018-06-04
| | | | | | | Change-Id: Ie3e693e07f748fc46cdd9f1d4fe4af530882e915 Reviewed-on: https://skia-review.googlesource.com/131920 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove alpha readback path in GrGLGpu::onReadPixelsGravatar Brian Salomon2018-06-04
| | | | | | | Change-Id: I13d5a885a5a016ca7555702c5798c5b3f31b1cc8 Reviewed-on: https://skia-review.googlesource.com/131820 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add null checks for GrSkSLtoGLSL to GrGLProgramBuilderGravatar Brian Salomon2018-06-04
| | | | | | | | | Bug: chromium:845351 Change-Id: I06c4114f9b2cd0609fcf7b7ce6d4a80a00ca85c3 Reviewed-on: https://skia-review.googlesource.com/131525 Auto-Submit: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* need conservative bounds for triangles due to SkFixed drift in SkEdgeGravatar Mike Reed2018-06-04
| | | | | | | | | Bug: oss-fuzz:8018 Change-Id: I09456f906b7eb89f74ffd2c484bc6e30e029bfbb Reviewed-on: https://skia-review.googlesource.com/131021 Reviewed-by: Cary Clark <caryclark@google.com> Auto-Submit: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove GrPaint::setGammaCorrectGravatar Brian Osman2018-06-04
| | | | | | | | | | | | | | Driving this from the presence of a color space makes no sense in the new world, we should always be treating sRGB as such (end-to-end). Change-Id: If3d8e740793321a2b1294ff72b04558d3b96cb53 Reviewed-on: https://skia-review.googlesource.com/131784 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Turn off logging for testsGravatar Herb Derby2018-06-04
| | | | | | | Change-Id: I00bb3059bb92b5c11178022aff8a87918bb3781e Reviewed-on: https://skia-review.googlesource.com/131640 Reviewed-by: Khushal Sagar <khushalsagar@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove color space restrictions from image infosGravatar Brian Osman2018-06-04
| | | | | | | | | | | What makes an info valid (or invalid)? Nothing to do with color space. Bug: skia: Change-Id: I6795efa9aa74ab0d65935c5ddccc1058f8e0b112 Reviewed-on: https://skia-review.googlesource.com/131780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove origin from GrGpu::readPixelsGravatar Brian Salomon2018-06-02
| | | | | | | Change-Id: I40d046c66240ab40794aa008861a1974f7f9182c Reviewed-on: https://skia-review.googlesource.com/131620 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove origin from GrGpu::writePixelsGravatar Brian Salomon2018-06-02
| | | | | | | | Change-Id: Iea3d68d282420f28623ebea315499fbd7ad9d471 Reviewed-on: https://skia-review.googlesource.com/131526 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove most of the remaining conflation of colorSpace and sRGB in GaneshGravatar Brian Osman2018-06-01
| | | | | | | Change-Id: I22cd838f15c548b459da925cd7e7d228f95fb2e2 Reviewed-on: https://skia-review.googlesource.com/131583 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* fix a weird edge case in to_srgb stageGravatar Mike Klein2018-06-01
| | | | | | | | | | | | | | I just uncovered this by porting the Chromecast bots from an old GCC to an old Clang. In to_srgb() we tune our constants so that 1.0f maps to exactly 1.0f, but because both JUMPER_IS_NEON and JUMPER_IS_SCALAR were defined, we picked the NEON values instead of the scalar values we want. Undefining JUMPER_IS_NEON when JUMPER_IS_SCALAR should do the trick. Change-Id: I6c6f76b78b3419e204c0b4df351459baf05315bc Reviewed-on: https://skia-review.googlesource.com/131582 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* turn on pointer-overflow on ASAN/UBSAN botsGravatar Mike Klein2018-06-01
| | | | | | | | | | | | | | | | | I know SkRasterPipelineBlitter will add back offsets to the mask pointer to make these fMaskPtr.pixels safe. SkImageInfo wasn't making out-of-bounds pointers, but was moving between two in-bounds pointers by subtracting large (negative) size_t. Switching to explicit negate and add quiets this down. Bug: chromium:836282 Change-Id: Ia65e380ec41dbfedce0659106830fbacb1a5cf4a Reviewed-on: https://skia-review.googlesource.com/131147 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove noise from test outputGravatar Herb Derby2018-06-01
| | | | | | | Change-Id: I94b6b87cac2a1ecea78666d601fec8b3a8f8da70 Reviewed-on: https://skia-review.googlesource.com/131581 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove GrGpu::getWritePixelsInfoGravatar Brian Salomon2018-06-01
| | | | | | | | | Change-Id: I30f9eed774b0b659ee91949a234bcc112fbee035 Reviewed-on: https://skia-review.googlesource.com/131480 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com>
* Replace GrContextPriv::read/writeSurfacePixels with ↵Gravatar Brian Salomon2018-06-01
| | | | | | | | | | | GrContextPriv::read/WritePixels2 Change-Id: I08be0f347d360e97bf9a6d1aeb25f9f584cc3d89 Reviewed-on: https://skia-review.googlesource.com/131442 Commit-Queue: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Set bounds correctly for color emoji that need post-cache transfomsGravatar Jim Van Verth2018-06-01
| | | | | | | | | | | | | | | We need to handle the bounds for transformed color emoji the same way we handle the bounds for distance field text. Without this bounds correction, the glyphs were being clipped out. Also adds a sample to test this case. Bug: 848616 Change-Id: I39dedbe2fd19331ad67978c95519f5c9d46f59fc Reviewed-on: https://skia-review.googlesource.com/131523 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Jim Van Verth <jvanverth@google.com>
* Always keep buffers in vulkan persistently mapped.Gravatar Greg Daniel2018-06-01
| | | | | | | | | | | | | This should hopefully fix (and possibly even improve) some of the perf regressions we had form switching the memory allocator which were caused by us now mapping and unmapping the entire VkDeviceMemory instead of just subsets. Bug: skia: Change-Id: Ia8232594f33003e88969bf16febea4e4eec0ac95 Reviewed-on: https://skia-review.googlesource.com/131443 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Dest color space no longer impacts mipmaps or texture samplingGravatar Brian Osman2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* GrTessellator: fix winding merged to zero on split edge.Gravatar Stephen White2018-06-01
| | | | | | | | | | | | | | | | Occasionally, the top edge of a split edge can be merged out of existence (if it can't be mathematically distinguished from one of its adjacent edges). In this case, we need to save its winding count before it's merged so that the other half of the split doesn't also get zero winding. NOTE: this adds a new test case to the concavepaths GM. Bug: skia:7785 Change-Id: Iff8b0a2ed3065e57b737ff915ff436146987caf6 Reviewed-on: https://skia-review.googlesource.com/131223 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Avoid divide-by-zero in shadow codeGravatar Jim Van Verth2018-06-01
| | | | | | | | Bug: oss-fuzz:6728 Change-Id: Id87140c8ee3b4e438c0c1e7d9b108a40e2a65fbe Reviewed-on: https://skia-review.googlesource.com/131145 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>