Bug: skia:8263
Change-Id: Ic5003128485116c66ae1ed61e8727b9b1c33aa1a
Reviewed-on: https://skia-review.googlesource.com/147968
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
The "closed" shape property cannot be interpolated -- so ensure we catch
different values in interpolation pre-checks.
Bug: skiai:8264
Change-Id: If2c7e09c1227b0013acba3833c314e0646715d52
Reviewed-on: https://skia-review.googlesource.com/147967
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
No-Try: true
Change-Id: I9ca13921cdc5ed388b6b4ba46d99a2d4e4735158
Reviewed-on: https://skia-review.googlesource.com/146532
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
5055fba569..f26b27e295
git log 5055fba5692f..f26b27e29535 --date=short --no-merges --format='%ad %ae %s'
2018-08-20 oetuaho@nvidia.com Add some shared utilities for multiview tests
Created with:
gclient setdep -r third_party/externals/angle2@f26b27e29535
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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=fmalita@google.com
Change-Id: I402db5103ca43c16272d9583a8d732109641bd6f
Reviewed-on: https://skia-review.googlesource.com/147982
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
43a2762db1..5055fba569
git log 43a2762db19a..5055fba5692f --date=short --no-merges --format='%ad %ae %s'
2018-08-17 jie.a.chen@intel.com Optimize Program::resolveLink
2018-08-17 jie.a.chen@intel.com Fix type cast errors in GLES1State
2018-08-17 fjhenigman@chromium.org Vulkan: support depth offset.
Created with:
gclient setdep -r third_party/externals/angle2@5055fba5692f
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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: I98df2f4b5740589ace4c19de340937ed28f5296c
Reviewed-on: https://skia-review.googlesource.com/147911
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Move all CPU configs except 8888 to new BonusConfigs bots
(and keep them running on the *SAN bots), and turn on the
new rec2020 configs there too.
Change-Id: I0bba4b88c580cb627e2842f136318d98373c0543
Reviewed-on: https://skia-review.googlesource.com/147813
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Change-Id: Ibbfb69610e8821ff3a7f0c01875c34132ee4d718
Reviewed-on: https://skia-review.googlesource.com/147962
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Perspective is really hard. Perhaps if we could change the API to pass in
the bounds of the shape in question, we could do a better job. As it is we
are just looking at the gradient around the origin.
Bug: skia:
Change-Id: I0542dfef8dfcc9b598048729b5fc65b745f800ed
Reviewed-on: https://skia-review.googlesource.com/147818
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
3394a73db9..43a2762db1
git log 3394a73db973..43a2762db19a --date=short --no-merges --format='%ad %ae %s'
2018-08-17 tobine@google.com Refactoring EGL validation
Created with:
gclient setdep -r third_party/externals/angle2@43a2762db19a
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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: I1a73a5463511b9e10f7280e8fd6aefe3ee41e6e4
Reviewed-on: https://skia-review.googlesource.com/147900
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Breaking Changes:
- All method calls that mutate a path now return the same JS path
object to allow chaining (moveTo, lineTo, trim, op, simplify, etc).
Pre-existing code likely will need to have some delete() methods
removed because the path will be deleted multiple times. See
chaining.js for this code (basically, we wrote our own binding code
since the default code wasn't quite flexible enough)
- GetCanvasFillType -> GetFillTypeString (Was in https://skia-review.googlesource.com/c/skia/+/147209)
Since Canvas and SVG use the same strings, it seemed logical to make
them share.
- stroke() now takes a single object instead of 3 params. This object
currently can have up to 4 params, cap, join, width, miter_limit.
This object can be expanded on in future versions as more configuration
options are added.
As per custom with v0 software, we bump the minor version to 0.2.X
to indicate breaking changes in a pre-release software package.
Other changes of note:
- Simple tests added for effects (see effects.specs.js) A follow up
CL will handle the Gold (correctness tests)
- Simple tests added for equals and copy constructors (from https://skia-review.googlesource.com/c/skia/+/147209)
- Added transform() to allow for arbitrary matrix transforms
- Added SimpleMatrix as a value_array, which means users can
provide a 9 element array which will be converted to SimpleMatrix
and then SkMatrix on the C++ side.
- Renamed helpers_externs.js to externs.js and expanded it greatly.
This was necessitated by the code written in chaining.js
- Fixed a few bugs in previous tests (svg gold test race condition,
uncaught exception in svg reporting)
See also https://skia-review.googlesource.com/c/skia/+/147209 which
allows .moveTo .lineTo, etc to chain on the C++ SkPath.
Bug: skia:8216
Change-Id: I7450cd8b7b5377cf15c962b02d161677b62d7e15
Reviewed-on: https://skia-review.googlesource.com/147115
Reviewed-by: Mike Reed <reed@google.com>
SkPath::addPath(... SkPath::kExtend_AddPathMode) duplicates
the last point if the added path first point is the same,
resulting in:
path.xVerbTo(..., pt);
path.lineTo(pt);
The extra point has no effect in filling or stroking.
Pathops uses extend mode a lot; fixing this avoids
the output of Op() and Simplify() requiring another pass
through Simplify() to reduce the path to its minimum.
R=reed@google.com,robertphillips@google.com
Bug: skia:8227
Change-Id: I7d660b6dc45e37221abf351dd291b90c303943ec
Reviewed-on: https://skia-review.googlesource.com/147810
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
If first and last point are very nearly the same,
pathops considers the contour closed, but SkPath
adds a degenerate line to connect the two.
Change pathops to emit the first point rather than
a point very nearly the same as the last point
in a contour to avoid the degenerate line.
TBR=reed@google.com
Bug: skia:8249
Change-Id: Ibcc18643c78db4955c9eda9ca90219aad81d56d5
Reviewed-on: https://skia-review.googlesource.com/147720
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Still loads to do. For now just draws trivial text nodes using a default fontmgr.
Change-Id: I7343b648726d2c4f376f43437f6ae1377ad8ba86
Reviewed-on: https://skia-review.googlesource.com/147465
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
This reverts commit da135c3973.
Reason for revert: blocking Chrome roll
Original change's description:
> Make directFilterMaskGPU & directFilterRRectMaskGPU no longer require canFilterMaskGPU's permission
>
> This changes the following GMs:
> drawlooper
> rects
> blurrects
>
> for the GPU configs
>
> Change-Id: Ia13a457d9c5e350463065622c72c660146079998
> Reviewed-on: https://skia-review.googlesource.com/147562
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=robertphillips@google.com,brianosman@google.com
Change-Id: I157a0a91e093f9af9a101d78098103a705c3fa93
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/147880
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
AFAICT none of our clients are using this feature
This will change the occludedrrectblur GM.
Change-Id: I7e5b8fa67db0373dee11a1467d2b2b6a414a1574
Reviewed-on: https://skia-review.googlesource.com/147561
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Add AsWinding to convert SkPath with even odd fill to winding fill.
This basic implementation works for simple non-intersecting paths.
It may fail if contours in paths touch, specifically when the leftmost
point in a contour is shared with another contour.
The incomplete parts are marked with TODO in the code.
If this interface and implementation look promising, I will continue to
tackle the more difficult cases.
R=reed@google.com,bungeman@google.com
Bug: skia:7682
Change-Id: I479fba60072eb1391b451fcb819504245da2e2a9
Reviewed-on: https://skia-review.googlesource.com/147044
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
No-Try: true
Change-Id: Icaa25a6dde9d6ca1c75cba03b4250b6248f75952
Reviewed-on: https://skia-review.googlesource.com/147806
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
when the 'va_start' and 'va_copy' were called,it should call 'va_end' too.
Change-Id: I621939cacbaa163ac59616ad19f00e214c3094fc
Signed-off-by: z102.zhang <z102.zhang@samsung.com>
Reviewed-on: https://skia-review.googlesource.com/147180
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This changes the following GMs:
drawlooper
rects
blurrects
for the GPU configs
Change-Id: Ia13a457d9c5e350463065622c72c660146079998
Reviewed-on: https://skia-review.googlesource.com/147562
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
- SkIntToScalar not needed for literal values
- more compact use of SkPath makers
Bug: skia:
Change-Id: Ia43a6f753cfe07f362ed1a032687790f9cc23f0e
Reviewed-on: https://skia-review.googlesource.com/147802
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
No reference to memory allocated from the serializer should be retained
after another allocation is made, since the vector can internally
realloc. In the case where a glyph is tooLargeForAtlas, we serialize the
path and still access the glyph after it, which could result in a UAF
bug.
R=mtklein@google.com
Bug: 874740
Change-Id: I33c048c154e53b89d68acd02d68718d7ec7b2388
Reviewed-on: https://skia-review.googlesource.com/147824
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
f0e3c19a0c..3394a73db9
git log f0e3c19a0c02..3394a73db973 --date=short --no-merges --format='%ad %ae %s'
2018-08-16 tobine@google.com Refactor of EGL SwapBuffers validation
2018-08-16 lfy@google.com GLES1: Fixes for Gets() test
Created with:
gclient setdep -r third_party/externals/angle2@3394a73db973
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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=kjlubick@google.com
Change-Id: I687e5566ef8bb132884fa91d44d047f6c7b7490e
Reviewed-on: https://skia-review.googlesource.com/147780
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
The current documentation states that SkFontMgr::matchFamilyStyle will
never return nullptr, resolving to the default system font or the empty
typeface if necessary. This isn't the behavior desired by any users,
since doing so makes it difficult for the user to check if a 'good'
match was made or not. All of the current SkFontMgr implementations can
return nullptr anyway for a number of reasons, from lack of a 'good'
match to an error.
Bug: skia:8260
Change-Id: I96299c16aaa7228fd42a9d8ec4889c7355cb53a5
Reviewed-on: https://skia-review.googlesource.com/147721
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
This reverts commit 7ca217b3b2.
Reason for revert:
Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-All-Android ?
Original change's description:
> avoid illegal enum values in GrGLGpu
>
> This tracks the state of the blend equation and coefficients
> using an out-of-band bool rather than an illegal enum value.
>
> This was caught by -fsanitize=enum.
>
> This CL doesn't change the size of fHWBlendState.
>
> Change-Id: I8dbc8aaaa07e82186c148ceb19590390051eb296
> Reviewed-on: https://skia-review.googlesource.com/146962
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,csmartdalton@google.com
Change-Id: I508cc6a49fcc68907086dcde904db2f791802474
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/147600
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The stroker preflights calls to setNormalize, which fails for non-finites,
so the CanNormalize needs to reflect this.
Bug: oss-fuzz:8368
Change-Id: I3591f73391c53a2538b9bc1aceb1baa4cd19e676
Reviewed-on: https://skia-review.googlesource.com/147565
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
This reverts commit d1b8a166db.
Reason for revert: breaks android apps, by drawing overlapping content out of painters order.
Original change's description:
> Add ability to specify different GP textures for each mesh in a draw.
>
> Uses GrPipeline::DynamicStateArrays to allow per-mesh GP textures when
> drawing an array of GrMeshes.
>
> Uses this along with op-chaining to make drawing multiple TextureOps
> with different textures faster.
>
> Change-Id: Iec4da1b72a13d0e0c94c8a8568fe4221c539dfcf
> Reviewed-on: https://skia-review.googlesource.com/145960
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I5c686b85adb378ba7faf34576efce74aebd348f7
Reviewed-on: https://skia-review.googlesource.com/147260
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Adapting gray to 565 will add a noticeable purple/green tint.
I'd rather only the 565 images in Gold were tainted with that.
Change-Id: Ib09e92b2f78c6de086345124e9eefeb31bbb5fa8
Reviewed-on: https://skia-review.googlesource.com/147422
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: Iabcbbac2fc1ff8bcfd87bd774f81cdb4b960daa7
Reviewed-on: https://skia-review.googlesource.com/147560
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I90ef93b34149750316f4053a65a324894218b984
Reviewed-on: https://skia-review.googlesource.com/147423
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This tracks the state of the blend equation and coefficients
using an out-of-band bool rather than an illegal enum value.
This was caught by -fsanitize=enum.
This CL doesn't change the size of fHWBlendState.
Change-Id: I8dbc8aaaa07e82186c148ceb19590390051eb296
Reviewed-on: https://skia-review.googlesource.com/146962
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>