aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* 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>
* Move SkColorTable to src/codecGravatar Leon Scroggins III2018-06-01
| | | | | | | | | | | | | | | It is no longer needed anywhere else, and simply happens to be an implementation detail of SkCodec (at least for now). Remove references to SkColorTable in other classes, and clean up some includes of SkConvertPixels I found along the way. Remove unused includes/methods on SkColorTable Change-Id: I46c8e46f5b77c37710b6cf595d48107d55871d52 Reviewed-on: https://skia-review.googlesource.com/130845 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Skip bad line segments inside gen_alpha_deltasGravatar Yuqian Li2018-06-01
| | | | | | | | | Bug: chromium:847386 Change-Id: I5bb3268c27ecfbd66268adbc36be3ea72e0a69ba Reviewed-on: https://skia-review.googlesource.com/131324 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com> Auto-Submit: Yuqian Li <liyuqian@google.com>
* Reland fonts: Use correct SurfaceProps in analysis canvas for remoting.Gravatar Khushal2018-05-31
| | | | | | | | | | | This reverts commit cd21d676b782cf27a9ded17a69c0393e4d3e34cc. TBR=herb@google.com Bug: 829622 Change-Id: I515fdf67fde118db774ab170e021100eef13ce68 Reviewed-on: https://skia-review.googlesource.com/130701 Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
* don't walk off end of pointerGravatar Cary Clark2018-05-31
| | | | | | | | | | | | | Avoids pointer-overflow in ASAN/UBSAN. R=mtklein@google.com Bug:836282 Change-Id: I2125fa7927c30ae601431af8daec0f900c84799c Reviewed-on: https://skia-review.googlesource.com/131261 Auto-Submit: Cary Clark <caryclark@skia.org> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* SkFloatToDecimal: optimize the less common cases.Gravatar Hal Canary2018-05-31
| | | | | | | | | | bench PDFScalar_random goes from 120 ns to 70 ns. Change-Id: I6254f5c900395ee470ffee26303915025a8f0dda Reviewed-on: https://skia-review.googlesource.com/131151 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Auto-Submit: Hal Canary <halcanary@google.com>
* font remoting: Fix errors with sub-pixel positioning mismatch.Gravatar Khushal2018-05-31
| | | | | | | | | | | | | | | | | 1) Use correct offset from SkTextBlobRunIterator. Only kHorizontal_Positioning needs to use the y offset specified on the run. 2) Use the same mapping function from SkFindAndPlaceGlyph for mapping the glyph position from transform for the run. This avoids minor rounding differences between analysis and draw. R=bungeman@google.com,herb@google.com Bug:829622 Change-Id: Iaef74a8d01f0850ce042149458b2ea795c2a2b61 Reviewed-on: https://skia-review.googlesource.com/131169 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Reland "Use GrVkMemoryAllocator for vulkan memory allocations in ganesh."Gravatar Greg Daniel2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 331c266ed716526478a10885aff66181cec64486 Original change's description: > Use GrVkMemoryAllocator for vulkan memory allocations in ganesh. > > Besides using the new allocator, the big logical change is that map > and unmap calls form GrVkMemory are specc'd to map the entire GrVkAlloc > instead of a specific offset and size as they did before. As a > consequence of this, we move the handling of non-coherent alignment > for flush/invalidate calls to GrVkMemory instead of the callers. > > Bug: skia: > Change-Id: I794d713106602f27aa7e808c306bbb69fd2b67be > Reviewed-on: https://skia-review.googlesource.com/130021 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> Bug: skia: Change-Id: Ia9a4192d344449fb444d2adaa1d62ff1ede4b21d Reviewed-on: https://skia-review.googlesource.com/131083 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Allow CCPR in DDL mode (take 2)Gravatar Robert Phillips2018-05-31
| | | | | | | | | | | | A lot of the changes to get this compiling on the win_chromium_compile_dbg_ng bot (i.e., moving a lot of header files to private) should be undone if that bot is ever "fixed". Bug: skia:7988 Change-Id: I704ff793d80b18e7312048538874498824803580 Reviewed-on: https://skia-review.googlesource.com/130920 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove map() from SkRasterPipeline_opts.hGravatar Mike Klein2018-05-31
| | | | | | | | | | | It seems to be confusing some obscure build configuration in Google3. I don't really mind writing these out longform. Change-Id: I78e82d9fa18726d89d206e692fd260317c5f8686 Reviewed-on: https://skia-review.googlesource.com/131108 Auto-Submit: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* fonts: Fix image cache miss from glyphs too large for atlas.Gravatar Khushal2018-05-31
| | | | | | | | | | R=herb@google.com Bug: 829622 Change-Id: I17994663318c8db3537e99ef11aaee7beb2da23f Reviewed-on: https://skia-review.googlesource.com/131056 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Fix fuzzer bugsGravatar Robert Phillips2018-05-31
| | | | | | | | | | This adds checking for the input to SkColorMatrixFilterRowMajor255 and handles a potential seg fault. Bug: skia:7955 Change-Id: I9aba6712c38d32c9fe20f617744a4dce6ebacae4 Reviewed-on: https://skia-review.googlesource.com/131111 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Reland "remove toString""Gravatar Cary Clark2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 92e37b6d79f12ccfaaf7671413316952d182267d. Reason for revert: toString still used by flutter Original change's description: > Reland "remove toString" > > This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. > > Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia > > Original change's description: > > Revert "remove toString" > > > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > > > Reason for revert: broke flutter > > > > Original change's description: > > > remove toString > > > > > > toString may have been used by obsolete debugger only > > > find out if that is so > > > > > > R=​brianosman@google.com,bsalomon@google.com > > > > > > Docs-Preview: https://skia.org/?cl=119894 > > > Bug:830651 > > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > > Reviewed-on: https://skia-review.googlesource.com/119894 > > > Commit-Queue: Cary Clark <caryclark@google.com> > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: 830651 > > Reviewed-on: https://skia-review.googlesource.com/129340 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Cary Clark <caryclark@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: 830651 > Change-Id: Ida8725b6051132d8c46faf99358a8fcc1bcabf34 > Reviewed-on: https://skia-review.googlesource.com/129623 > Reviewed-by: Cary Clark <caryclark@skia.org> > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org Change-Id: Iafc59ffc1b3db67c520ba31bf12d68e1b46c0ea2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 830651 Reviewed-on: https://skia-review.googlesource.com/131082 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Reland "remove toString"Gravatar Cary Clark2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Original change's description: > Revert "remove toString" > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark <caryclark@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 830651 > Reviewed-on: https://skia-review.googlesource.com/129340 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 830651 Change-Id: Ida8725b6051132d8c46faf99358a8fcc1bcabf34 Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* GrTessellator: fix for ping-pong split fuzzer hang.Gravatar Stephen White2018-05-31
| | | | | | | | | | | | | | | | | | When support for out-of-range intersections was added in 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c, it was intended to support splitting edges that are almost flat, where merging with the top or bottom vertex would cause visual artifacts. However, it triggers too often for other, non-nearly-flat cases, causing simplify() to loop infinitely. The fix is to support out-of-range intersections only if they differ by 1/2 machine epsilon. This also generalizes the out_of_range_and_collinear() check, so it was removed. Bug: 838978 Change-Id: I238f2b90e4b7ad647ecf072427ee38726e549581 Reviewed-on: https://skia-review.googlesource.com/130458 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Revert "Use GrVkMemoryAllocator for vulkan memory allocations in ganesh."Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 331c266ed716526478a10885aff66181cec64486. Reason for revert: breaking an intel vulkan bot Original change's description: > Use GrVkMemoryAllocator for vulkan memory allocations in ganesh. > > Besides using the new allocator, the big logical change is that map > and unmap calls form GrVkMemory are specc'd to map the entire GrVkAlloc > instead of a specific offset and size as they did before. As a > consequence of this, we move the handling of non-coherent alignment > for flush/invalidate calls to GrVkMemory instead of the callers. > > Bug: skia: > Change-Id: I794d713106602f27aa7e808c306bbb69fd2b67be > Reviewed-on: https://skia-review.googlesource.com/130021 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com Change-Id: I5237c00625dc95d3d9b36c1e5591762988d85562 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/131081 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Move include into head to fix build breakage."Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fac695317f13bfd52bf640308834d3fc28fffc29. Reason for revert: needed to revert early change Original change's description: > Move include into head to fix build breakage. > > Bug: skia: > Change-Id: I47e182bf18f56c9c0749a1fd79b85d26fce9887e > Reviewed-on: https://skia-review.googlesource.com/131022 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > Auto-Submit: Greg Daniel <egdaniel@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=egdaniel@google.com,rmistry@google.com,brianosman@google.com Change-Id: Ie396d213c2e43e053a6c6df9cfb18ac4be8b909c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/131080 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Move include into head to fix build breakage.Gravatar Greg Daniel2018-05-30
| | | | | | | | | | Bug: skia: Change-Id: I47e182bf18f56c9c0749a1fd79b85d26fce9887e Reviewed-on: https://skia-review.googlesource.com/131022 Commit-Queue: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Check for ANGLE's implementation of texture_rectangle"Gravatar Ravi Mistry2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 00f8866a321332f07520e3c12963aa1332bb7e82. Reason for revert: Seems to be breaking angle test bots. Eg: https://chromium-swarm.appspot.com/task?id=3dcb7f58728de610&refresh=10 Original change's description: > Check for ANGLE's implementation of texture_rectangle > > ANGLE has implemented extension to support for texture_rectangle. Check > for its existence as well as GL_ARB_texture_rectangle extension. > > Intended to follow up on Chrome side to avoid copy into texture 2d for > PaintCanvasVideoRenderer. > > Bug: skia:7903 > Change-Id: I450aa7fcd08628831251a9e142fd50719723282d > Reviewed-on: https://skia-review.googlesource.com/130962 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Weiliang Chen <weiliangc@chromium.org> TBR=bsalomon@google.com,weiliangc@chromium.org Change-Id: I9fbf9ff314ffcf3abcc5275bd68124f4b329da21 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7903 Reviewed-on: https://skia-review.googlesource.com/131060 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* 3dGravatar Mike Reed2018-05-30
| | | | | | | | | Bug: skia: Change-Id: I10e56f08a2463fcac2b7813d43d0aae35268ac27 Reviewed-on: https://skia-review.googlesource.com/130842 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Check for ANGLE's implementation of texture_rectangleGravatar Weiliang Chen2018-05-30
| | | | | | | | | | | | | | ANGLE has implemented extension to support for texture_rectangle. Check for its existence as well as GL_ARB_texture_rectangle extension. Intended to follow up on Chrome side to avoid copy into texture 2d for PaintCanvasVideoRenderer. Bug: skia:7903 Change-Id: I450aa7fcd08628831251a9e142fd50719723282d Reviewed-on: https://skia-review.googlesource.com/130962 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Weiliang Chen <weiliangc@chromium.org>
* Use GrVkMemoryAllocator for vulkan memory allocations in ganesh.Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | Besides using the new allocator, the big logical change is that map and unmap calls form GrVkMemory are specc'd to map the entire GrVkAlloc instead of a specific offset and size as they did before. As a consequence of this, we move the handling of non-coherent alignment for flush/invalidate calls to GrVkMemory instead of the callers. Bug: skia: Change-Id: I794d713106602f27aa7e808c306bbb69fd2b67be Reviewed-on: https://skia-review.googlesource.com/130021 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Add a dummy SkColorTable.cpp in src/codecGravatar Leon Scroggins III2018-05-30
| | | | | | | | | | | | I'm planning to move the real SkColorTable.cpp to src/codec, but that will require updating Chromium's BUILD.gn file to build it. Put this one here so that Chromium has something to build until the real move takes place. Change-Id: I1f217cfc1f7841db34781510ef851497c58c086d Reviewed-on: https://skia-review.googlesource.com/130940 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Make sk_sp operator bool explicit.Gravatar Ben Wagner2018-05-30
| | | | | | | | | | | | | The sk_sp class has been using the operator pointer to field as a c++98 version of explicit operator bool. This change updates this class to use explicit operator bool. The one visible change is that the pointer to field version isn't quite as explcit, requiring code changes for some users. Change-Id: Iddf8fb347b1d3ec33db1af08489c9fd885c9bf08 Reviewed-on: https://skia-review.googlesource.com/130380 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Make GrPrimitiveProcessor::Attribute a class, hide data members.Gravatar Brian Salomon2018-05-30
| | | | | | | Change-Id: I008881d79c82fdde6bb68fe2218e62ccc9c538dd Reviewed-on: https://skia-review.googlesource.com/130600 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make skcms mandatoryGravatar Brian Osman2018-05-30
| | | | | | | Change-Id: I6b08cd586d313e3bc41c0da90698fc26ae1a8bb8 Reviewed-on: https://skia-review.googlesource.com/130822 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* warmup, remove clamping in append_gamut_transform()Gravatar Mike Klein2018-05-30
| | | | | | | | | | | | | | Clamping here seems inconsistent with our color pipeline model, and with the existing GPU impl. The SkRasterPipeline store stages already do clamp when storing unorms, and table-lookup stages clamp their inputs, so it should be safe. While refactoring, slim its interface down a bit. Change-Id: I4772457fdf90e483834d034f02974d7a859cbe24 Reviewed-on: https://skia-review.googlesource.com/130902 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* whoopsGravatar Mike Klein2018-05-30
| | | | | | | | | Change-Id: Ifffa6b9ef4fdce2779561e5cf8803785636c72de Reviewed-on: https://skia-review.googlesource.com/130900 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Allow CCPR in DDL mode"Gravatar Robert Phillips2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93540dd15715057e00b4f136977f441720317b60. Reason for revert: Chrome! > Allow CCPR in DDL mode > > Bug: skia:7988 > Change-Id: If757f29e0156c0ef7045b437b04e17aebe4de851 > Reviewed-on: https://skia-review.googlesource.com/130509 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com Change-Id: Ibb5017d1bf307545969069b94987e0a51a22e333 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7988 Reviewed-on: https://skia-review.googlesource.com/130880 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Make GrTextureOp disable coverage AA when rect falls on ↵Gravatar Brian Salomon2018-05-30
| | | | | | | | | | | integers."" This reverts commit 36be574e7bd5eb8bb41e2a0a15085e27b340cf4d. Change-Id: Ifdc06cb617ce5c736f861a715bb6f34791364e57 Reviewed-on: https://skia-review.googlesource.com/130507 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VulkanMemoryAllocator on this API." This reverts commit 98bddf930e4a8767bca60d84d585c386fabfc6b7. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API." > > This reverts commit 26c0e4c1f54759249c2d61b50fb5430bd73793f2. > > Reason for revert: breaks roll into fuchsia > > Original change's description: > > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API. > > > > Bug: skia: > > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 > > Reviewed-on: https://skia-review.googlesource.com/129980 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/130182 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Bug: skia: Change-Id: I422ffb3562da567f2e85c806286ad1a17c3862cd Reviewed-on: https://skia-review.googlesource.com/130183 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Allow CCPR in DDL modeGravatar Robert Phillips2018-05-30
| | | | | | | | | Bug: skia:7988 Change-Id: If757f29e0156c0ef7045b437b04e17aebe4de851 Reviewed-on: https://skia-review.googlesource.com/130509 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add DDL to SKPBenchGravatar Robert Phillips2018-05-30
| | | | | | | | | | | Most of this CL is just repackaging the promise image and tile code from ViaDDL for reuse by SKPBench. Change-Id: Ie5003c36fe85cc5be9639552f9488b8e92dcdbbf Reviewed-on: https://skia-review.googlesource.com/129805 Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "fonts: Use correct SurfaceProps in analysis canvas for remoting."Gravatar Ravi Mistry2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4f078f7cfac6580dce6e213c022708922739ac6d. Reason for revert: Seems to have caused these breakages: * https://chromium-swarm.appspot.com/task?id=3dc6788dc7b77010&refresh=10 * https://chromium-swarm.appspot.com/task?id=3dc67452db797c10&refresh=10 Original change's description: > fonts: Use correct SurfaceProps in analysis canvas for remoting. > > SaveLayer may not preserve the behaviour for lcd text, in which case > the surfaceProps used for desc generation are inconsistent. > > R=​herb@google.com > > Bug: 829622 > Change-Id: I3adfc6780f26e4eb333a8aff76eaa4b5a9f0a0a7 > Reviewed-on: https://skia-review.googlesource.com/129557 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> TBR=herb@google.com,khushalsagar@chromium.org Change-Id: I0372a3d834f8c4c929feb71c2b6b13739443eaaa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 829622 Reviewed-on: https://skia-review.googlesource.com/130680 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* support image-subsets in serializationGravatar Mike Reed2018-05-29
| | | | | | | | | | | A follow-on API change *could* be to extend the SerialProcs to pass subset information up to the client, in case they want to handle the subsetting step themselves. Bug: skia:7983 Change-Id: I36d3f1ce439886384495485c3be3c591d611a135 Reviewed-on: https://skia-review.googlesource.com/130543 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fonts: Use correct SurfaceProps in analysis canvas for remoting.Gravatar Khushal2018-05-29
| | | | | | | | | | | | | SaveLayer may not preserve the behaviour for lcd text, in which case the surfaceProps used for desc generation are inconsistent. R=herb@google.com Bug: 829622 Change-Id: I3adfc6780f26e4eb333a8aff76eaa4b5a9f0a0a7 Reviewed-on: https://skia-review.googlesource.com/129557 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* remove bit, srgbnl config in DMGravatar Mike Klein2018-05-29
| | | | | | | | | | | We're not going to need the bit. I've rewritten "esrgb" and "srgbnl" to express themselves the way I'd like them to work. Their images are supressed in Gold already. Change-Id: I6da58cc75dcb998cbfcf9a8f65de31c030adb494 Reviewed-on: https://skia-review.googlesource.com/130506 Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "GrTessellator: fix for ping-pong split fuzzer hang."Gravatar Ravi Mistry2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bfb2a05af105f452a0f369e39dae05f9224dfa19. Reason for revert: Seems to cause failures in chromeos and chromecast test bots. eg: https://chromium-swarm.appspot.com/task?id=3dc5be8269e3b410&refresh=10 https://chromium-swarm.appspot.com/task?id=3dc5d62dfdc99010&refresh=10 Original change's description: > GrTessellator: fix for ping-pong split fuzzer hang. > > Change 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c introduced support for > splitting on out-of-range intersections. However, this is only necessary > for correctness when the edge is nearly-flat (the top and bottom > points only differ by 1/2 machine epsilon in the primary sort criterion). > In other cases, it can cause repeated splitting and re-merging of edges, > as the intersection code (being approximate and not exact) may produce a > ping-pong set of intersections. > > The fix is to support out-of-range intersections only if they differ by > 1/2 machine epsilon. This also generalizes the > out_of_range_and_collinear() check, so it was removed. > > Bug: 838978 > Change-Id: I134f7eff3f15707e0d68de11c55f7fadce4ff8e7 > Reviewed-on: https://skia-review.googlesource.com/130448 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=robertphillips@google.com,senorblanco@chromium.org Change-Id: I3fa62423d3875665397adcecb94b467b9b6611cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 838978 Reviewed-on: https://skia-review.googlesource.com/130522 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Rename GrAtlasTextBlob -> GrTextBlobGravatar Herb Derby2018-05-29
| | | | | | | Change-Id: I61311b48f206890dfd1a20796d7d678cd05ef5a3 Reviewed-on: https://skia-review.googlesource.com/130140 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Herb Derby <herb@google.com>
* GrTessellator: fix for ping-pong split fuzzer hang.Gravatar Stephen White2018-05-29
| | | | | | | | | | | | | | | | | | | | Change 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c introduced support for splitting on out-of-range intersections. However, this is only necessary for correctness when the edge is nearly-flat (the top and bottom points only differ by 1/2 machine epsilon in the primary sort criterion). In other cases, it can cause repeated splitting and re-merging of edges, as the intersection code (being approximate and not exact) may produce a ping-pong set of intersections. The fix is to support out-of-range intersections only if they differ by 1/2 machine epsilon. This also generalizes the out_of_range_and_collinear() check, so it was removed. Bug: 838978 Change-Id: I134f7eff3f15707e0d68de11c55f7fadce4ff8e7 Reviewed-on: https://skia-review.googlesource.com/130448 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Make GrTextureOp disable coverage AA when rect falls on integers."Gravatar Brian Salomon2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ca439a0a0afca8ad20c724cc837ce7dbc67e1277. Reason for revert: layout tests :( Original change's description: > Make GrTextureOp disable coverage AA when rect falls on integers. > > Change-Id: Iaf5e8d154cc9108adcd8294812cecae7b4f01a5d > Reviewed-on: https://skia-review.googlesource.com/130148 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iac6bdc19ed16ebbee27a7601086c305490d44a50 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/130521 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* wouldn't it be nice?Gravatar Mike Klein2018-05-29
| | | | | | | | | | Here's our drawing pipeline if we always blend as encoded. I think it's very intuitive. Change-Id: I0e531c5da1f6279d0da1f19b84d6317d99942da3 Reviewed-on: https://skia-review.googlesource.com/130131 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrTextureOp disable coverage AA when rect falls on integers.Gravatar Brian Salomon2018-05-29
| | | | | | | Change-Id: Iaf5e8d154cc9108adcd8294812cecae7b4f01a5d Reviewed-on: https://skia-review.googlesource.com/130148 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Drop unneeded .get() in GrCoverageCountingPathRenderer.cppGravatar tzik2018-05-29
| | | | | | | | | | | MSVC's std::unique_ptr<>::get() is marked as NODISCARD, and the .get() call here causes a warning. Bug: chromium:752720 Change-Id: Iadc217247533b6148285f7a81c982527d98c86f9 Reviewed-on: https://skia-review.googlesource.com/130360 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reland "Turn off domain in GrTextureOp when src rect contains entire proxy"Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | | | This is a reland of 869433fa113d1573d5d91fcafdca413b247ce1b0 Original change's description: > Turn off domain in GrTextureOp when src rect contains entire proxy > > Move check for turning off domain when nearest/no-aa to GrRenderTargetContext. > > Change-Id: I3c071b5f73fb3134218453204f30c3020c9dad9a > Reviewed-on: https://skia-review.googlesource.com/130143 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: I29a21e26de8a246a74bd40fd0cda044f8f18327e Reviewed-on: https://skia-review.googlesource.com/130307 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Reland "Workaround constexpr bug in MSVC 2015 in GrTextureOp"Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | This is a reland of 9eff78e2623d600282ca63c2e9988e0ffbba2949 Original change's description: > Workaround constexpr bug in MSVC 2015 in GrTextureOp > > Change-Id: I441858aab5fcd63e5467625a23681c5bcd35f25b > Reviewed-on: https://skia-review.googlesource.com/130122 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: I90e5d807f658baadfab80333d84872d8105bf02b Reviewed-on: https://skia-review.googlesource.com/130306 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Reland "Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp."Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | This is a reland of a0047bcff704a9121a6d82a6f97d6124463a2e54 Original change's description: > Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp. > > Change-Id: I8faa2838b3110b8080ac48bbe223240e3fb22998 > Reviewed-on: https://skia-review.googlesource.com/129762 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: Icbad064ae2779f4e140a55e520c0034cd1d17477 Reviewed-on: https://skia-review.googlesource.com/130305 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Revert "Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp."Gravatar Stephen White2018-05-26
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit a0047bcff704a9121a6d82a6f97d6124463a2e54. Reason for revert: Possibly blocking the Chromium roll (layout tests) Original change's description: > Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp. > > Change-Id: I8faa2838b3110b8080ac48bbe223240e3fb22998 > Reviewed-on: https://skia-review.googlesource.com/129762 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: If7ddf13d8a63bc1ab6a51a1395896282f3a31702 Reviewed-on: https://skia-review.googlesource.com/130304 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>