Even with verified/finite inputs, fx can sometimes collapse to infinity.
When that happens, attempting to apply repeat/mirror tiling produces NaN
results and things go south.
Catch these degenerate cases and tile to 0 (for lack of a better idea).
Note: leaving fx == +/- inf in clamp mode should be safe.
BUG=oss-fuzz:6622
Change-Id: I65711020057856b47045f67a52d906336ad1f173
Reviewed-on: https://skia-review.googlesource.com/114090
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Enable /arch:SSE2 for Win x86 builds (both MSVC and Clang).
Change-Id: I0618e938b6542b60fae3947b7e0dcde22650ba54
Reviewed-on: https://skia-review.googlesource.com/56721
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This tryjob is currently just experimental/non-blocking, and we are
severely short on capacity due to chromium:821040.
Bug: chromium:821040
Change-Id: I36b193cecd4f7ecf4c6f5769e869ee37a1285582
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/114221
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Add a third define in SkCanvasPriv to complement
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag and
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag.
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag exists only to define
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag and
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag.
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag is used only by
Android framework.
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag is used internally.
Note that changes to CanvasStateTest.cpp inside
SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG aren't testable by existing
skiabots; it requires building an Android framework aware version
of dm. CanvasStateTest.cpp may have bit-rotted.
R=reed@google.com,scroggo@google.com
Bug: skia:6454,skia:7690
Change-Id: I74f2a54636fae89a5a88a7e13f1baba49d3e2115
Reviewed-on: https://skia-review.googlesource.com/112401
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
SkTraceEventCommon.h currently includes <utils/Trace.h>, but doesn't
actually use anything directly from it. In addition, Skia doesn't
directly depend on libutils, but instead on libcutils. As a result,
replace the <utils/Trace.h> include with <cutils/trace.h> which is what
actually provides all the needed macros and declarations.
Change-Id: Ic6a7283c71fc94058f735b1b3e541fec3a7db760
Reviewed-on: https://skia-review.googlesource.com/114099
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Bug: chromium:820913
Change-Id: I77f9b40cf6173369a4a1b943d71734c305893e09
Reviewed-on: https://skia-review.googlesource.com/114140
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We now check GL_NUM_SHADER_BINARY_FORMATS to ensure that it is greater
than zero, and handle errors that occur when we try to install a
cached shader by falling back to using GLSL.
Bug: skia:
Change-Id: I1ac46243e9c561d15e1b4190b68afbf514fc8079
Reviewed-on: https://skia-review.googlesource.com/113820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: b/70846442
Test: I5110881203c000474116a94a48f2afc9a9b62001
These methods were already called by the client. The client may have
further overridden the SkColorType (and therefore the SkColorSpace), so
respect their final decision on both.
Change-Id: Iddcf618e474784b0a000fd516250c44285dacc6b
Reviewed-on: https://skia-review.googlesource.com/114062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Update unit tests to use backend render targets on non-GL contexts
Add named DM configs for rendering to Vulkan backend render targets and textures.
Make src data ptr param to createTestingOnlyBackendTexture be const.
Change-Id: I17f5375ed9bb08422006698956469d3151c4954c
Reviewed-on: https://skia-review.googlesource.com/113276
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Bug: skia:
Change-Id: I793456c7a479d160a82bc613cbaf656f85bf6819
Reviewed-on: https://skia-review.googlesource.com/114081
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
64e5ed2abd..f0b30dd8bd
$ git log 64e5ed2ab..f0b30dd8b --date=short --no-merges --format='%ad %ae %s'
2018-03-12 lucferron Vulkan: Enable a bunch of dEQP texture related tests
2018-03-02 oetuaho Use non-human-readable mangled names for types
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=stephana@google.com
Change-Id: I031a1d6b6708ab732876735e636c55e74fa42384
Reviewed-on: https://skia-review.googlesource.com/114003
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
This reverts commit 8103ecae7b.
Reason for revert: Investigated the 565 diffs, they appear to be *more* correct.
Original change's description:
> Revert "Add SkColorSpaceXform_skcms"
>
> This reverts commit 67f62b1a61.
>
> Reason for revert: I want to investigate the image/colorimage gold diffs. May be correct, but some of them are pretty large.
>
> Original change's description:
> > Add SkColorSpaceXform_skcms
> >
> > Currently only enabled in Skia dev builds. Passes all unit
> > tests. Has some GM differences, but nothing major.
> >
> > Bug: skia:
> > Change-Id: Ib87f8cff44649c731e829f063ccef448d67d1910
> > Reviewed-on: https://skia-review.googlesource.com/112520
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
>
> TBR=mtklein@google.com,brianosman@google.com,reed@google.com
>
> Change-Id: Ib4d7174f5c2700d6f742f488e740e5a6c87ac7a8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/113880
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=mtklein@google.com,brianosman@google.com,reed@google.com
Change-Id: I6501ff55349a6aeed62bb64afc47f789e8cc3460
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/114040
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
e98b1b5d41..64e5ed2abd
$ git log e98b1b5d4..64e5ed2ab --date=short --no-merges --format='%ad %ae %s'
2018-03-09 lucferron Vulkan: Fix scissor clears + enable dEQP tests
2018-02-25 lfy GLES1: state: Define / initialize GLES1-specific states
2018-03-12 lucferron Vulkan: Enable culling rasterization state dEQP tests
2018-03-09 lucferron Vulkan: enable multiple draw* dEQP tests
2018-03-12 lfy Run clang-format on State.cpp
2018-03-09 lucferron Vulkan: Enable 16 additional tests for the scissor test
2018-03-09 lucferron Vulkan: Enable 1046 additional tests for blending rasterization states
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=stephana@google.com
Change-Id: Ib5fe881ce096940709a510f4473840b3c83b414d
Reviewed-on: https://skia-review.googlesource.com/113920
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
This adds drawImageNine and drawRegion support, actually
serializes regions (badly) for clipRegion, and fixes bugs
in quite a few other draw commands (wrong op type, missing
factory registration, JSON attribute mismatch, etc...)
There are still some other draw virtuals missing, but even
getting Lattice to round-trip through JSON is going to be
a bunch of new code, and I didn't want to combine too much
new code with the fixes for existing bugs.
Change-Id: I13749a2d21f4a5ca5f5948b60fc11185bc46645f
Reviewed-on: https://skia-review.googlesource.com/113707
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 67f62b1a61.
Reason for revert: I want to investigate the image/colorimage gold diffs. May be correct, but some of them are pretty large.
Original change's description:
> Add SkColorSpaceXform_skcms
>
> Currently only enabled in Skia dev builds. Passes all unit
> tests. Has some GM differences, but nothing major.
>
> Bug: skia:
> Change-Id: Ib87f8cff44649c731e829f063ccef448d67d1910
> Reviewed-on: https://skia-review.googlesource.com/112520
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,brianosman@google.com,reed@google.com
Change-Id: Ib4d7174f5c2700d6f742f488e740e5a6c87ac7a8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/113880
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Currently only enabled in Skia dev builds. Passes all unit
tests. Has some GM differences, but nothing major.
Bug: skia:
Change-Id: Ib87f8cff44649c731e829f063ccef448d67d1910
Reviewed-on: https://skia-review.googlesource.com/112520
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 1a462bd0fe.
Reason for revert: Broke android. Need to run android bot for these.
Original change's description:
> IWYU for some test files starting with 'C'.
>
> Change-Id: I9a9596f7a941cdd8f01e055965c70a4b24438499
> Reviewed-on: https://skia-review.googlesource.com/113746
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
TBR=bungeman@google.com,herb@google.com
Change-Id: Ic63c2fcc7457e442e9b29a9ccd429927e24e3b77
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/113841
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
https://skia.googlesource.com/skcms/+log/3ca91a31d659..6cecdee60988
$ git log 3ca91a31d..6cecdee60 --date=short --no-merges --format='%ad %ae %s'
2018-03-12 mtklein static_assert -> assert
2018-03-12 brianosman Pack skcms_Curve better
Created with:
roll-dep skia/third_party/externals/skcms
The AutoRoll server is located here: https://skcms-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
TBR=stephana@google.com
Change-Id: I6852ef3fb30dd29c74455bbe9e23eb35dddff029
Reviewed-on: https://skia-review.googlesource.com/113860
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Ever since we added drawShadow to the public api, blurs have necessarily
part of the core. This CL just formalizes that.
This should also allow us to have builds that exclude all of /effects (for code size)
and still be valid.
Will follow-up with a change to deprecate SkBlurMaskFilter and SkBlurQuality (both no longer needed).
Bug: skia:
Change-Id: Ifbbd8b47a30a0386d215726b67bcf1e8b84fb8f5
Reviewed-on: https://skia-review.googlesource.com/113713
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Bug: skia:
Change-Id: I3e051cefd6861b63bab33a1812674eacf67a35dd
Reviewed-on: https://skia-review.googlesource.com/113748
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
391bda23b5..e98b1b5d41
$ git log 391bda23b..e98b1b5d4 --date=short --no-merges --format='%ad %ae %s'
2018-03-08 jmadill Framebuffer: Handle errors in checkStatus.
2018-03-12 lucferron gpu_test_expectations: Fix test for API overlap
2018-03-08 jiawei.shao ES31: Update dEQP-GLES31 geometry shader related test expectations
2018-03-09 kvark Update driver constants on program change. Comes with a new SamplerMetadataUpdateOnSetProgram test.
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=stephana@google.com
Change-Id: I3862be5332c7580abaf2ce36f680da2caf5c8c72
Reviewed-on: https://skia-review.googlesource.com/113728
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
And, change the logic to handle NaN and Inf.
Small cleanup.
BUG=skia:7515
Change-Id: Ib02ad8f4bc66df57d226d4440ef6214fd2f813d6
Reviewed-on: https://skia-review.googlesource.com/113742
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
SkReadBuffer.h currently includes itself. Due to the include guards this
doesn't turn into an issue at compile time, but it is strange,
unecessary, and makes include-what-you-use unhappy.
Change-Id: I92df9ccf7c53ed2b5e9433ebf654dbf041b5e143
Reviewed-on: https://skia-review.googlesource.com/113716
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Chrome stopped using this months ago
Change-Id: I5ea432b1545980680b2d54205513a55ef43dfc62
Reviewed-on: https://skia-review.googlesource.com/113711
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
SkPaint flatten and unflatten rely
on interfaces that are not public,
SkReadBuffer and SkWriteBuffer.
R=reed@google.com
Bug: skia:6172
Change-Id: I487af9f8931c78daf763c51d9e0d3ff8ff440b22
Reviewed-on: https://skia-review.googlesource.com/112561
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
UBSAN has identified an int overflow in a byte offset calculation.
BUG=skia:7698
Change-Id: Ia9687c15bb63dc2953de5d9b9aad764a24e73a57
Reviewed-on: https://skia-review.googlesource.com/113710
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>