Commit Graph

42167 Commits

Author SHA1 Message Date
Robert Phillips
bd1ef686cb Implement color-based backend texture creation for Vulkan
Change-Id: I01db1b81712096069386b2497da97c2bbb0a05d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216610
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 17:56:23 +00:00
Jim Van Verth
c8f285a707 Fix DDL_Metal test configs
Bug: skia:8243
Change-Id: I5ffb75db0e213c37d3b2bfa2bd3d0c77d0ba42d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215838
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:44:07 +00:00
Jim Van Verth
8a9a371182 Reland "Added AutoreleasePool for managing pool memory in testing apps."
This is a reland of a36e089065

This is only active when Metal is enabled.

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:8243
Change-Id: I743a3dcc93b46387a6a330e855c2e8810b482544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:40:01 +00:00
Hal Canary
8a64fa66e7 SkShaderBase::isAPicture()
motivation: will be used by SkPDF backend in later CL.

Bug: chromium:967418
Change-Id: I1002c290f70245cce7ae2cf759d3eaf54cb8cd81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216873
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-05-31 14:30:34 +00:00
Brian Salomon
d6f3f18d51 Color matrix effect rewritten as .fp
Also adds flexibility to unpremul the input, clamp the output, premul the
output or not.

Also fixes SkMatrix44 as a ctype.

The intent is to reuse this for rgb->yuv conversion in async rescale and
read.

Bug: skia:3962
Change-Id: I470d1cfebdbd79d8541b633c1747d510a5549ac4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217128
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-31 14:25:05 +00:00
Jim Van Verth
dac1e55862 Use GrCFResource class to manage backend surface MtlTexture resources.
The texture resource in MtlTextureInfo is a CoreFoundation object,
so we have to manage the refcounting ourselves. GrCFResource is a
wrapper class which will automatically take care of this for us on
creation, assignment, and destruction.

Bug: chromium:964498
Change-Id: I9a3768833744d4aaaec2142200283f0e7eaad165
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216351
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Christopher Cameron <ccameron@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-05-31 14:00:12 +00:00
Robert Phillips
8043f32f67 Clean update ETC1 data utilities (take 2)
Change-Id: Idb84867cf1a701bd2f0ffff863fd78c3caf0739e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217376
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 13:44:32 +00:00
Kevin Lubick
c4fec06e5a Revert "Added AutoreleasePool for managing pool memory in testing apps."
This reverts commit a36e089065.

Reason for revert: Primary suspect in breaking G3

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
> 
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
> 
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,brianosman@google.com

Change-Id: I64f6e0baba21a9d35682ab53bdf418180be8579b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217377
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-05-31 12:31:14 +00:00
recipe-roller
da95a75be1 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/a60ff0ed1597c637ca24b898bd1649c7d9b30838 Further refine cmd0 lookup. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If8ce903638301532a9462b54297e1ef835dfe4b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217356
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-31 07:02:52 +00:00
skia-autoroll
8c407875fa Roll third_party/externals/angle2 172e5d373fad..0a56f0e3d22d (6 commits)
172e5d373f..0a56f0e3d2


git log 172e5d373fad..0a56f0e3d22d --date=short --no-merges --format='%ad %ae %s'
2019-05-30 timvp@google.com Vulkan: Update front face mode during syncState()
2019-05-30 cnorthrop@google.com Revert "Vulkan: Use atomics in SerialFactory."
2019-05-30 syoussefi@chromium.org Vulkan: Merge Color and Depth/Stencil resolve shaders
2019-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src 7f4277e21b52..7ac42f80c0e8 (1 commits)
2019-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 66e46037d74f..625eb25d6e80 (1 commits)
2019-05-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src f051812343eb..e7866de4b1dc (4 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@0a56f0e3d22d

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

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: Iab982e7a3c5325bcdf071dedec02137faced26e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217248
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-31 06:30:22 +00:00
skia-autoroll
b965815303 Roll ../src 97d3c9084977..8e522297bf91 (404 commits)
97d3c90849..8e522297bf


Created with:
  gclient setdep -r ../src@8e522297bf

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=kjlubick@google.com

Change-Id: If1ef698a4830cafb9f37976457aafe7398b3eabf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217249
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-31 04:49:12 +00:00
skia-autoroll
ee6a8f6685 Roll third_party/externals/swiftshader 37bc82ac64f5..c0d7ee45d45f (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/37bc82ac64f5..c0d7ee45d45f


git log 37bc82ac64f5..c0d7ee45d45f --date=short --no-merges --format='%ad %ae %s'
2019-05-30 sugoi@google.com Disable double inline warning in LLVM project
2019-05-30 sugoi@google.com Fixed PipelineLayout creation on 32 bit


Created with:
  gclient setdep -r third_party/externals/swiftshader@c0d7ee45d45f

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=kjlubick@google.com

Change-Id: I413b37bc6c1c55813fbc1c75a69ed4e5e6db29bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217247
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-31 04:35:42 +00:00
Ben Wagner
89799efe58 Document SkShaper::RunHandler::Buffer
This at least documents the current behavior. There exists tension between
users who just want positions and those who also want advances, which
requires this to be overly clever. Perhaps a better solution can be
found.

Change-Id: Ic2166ca294003da3325a0fe068ef84cdef9f804d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217259
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-05-30 23:06:02 +00:00
recipe-roller
14d69cdda0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/e634bbd816e69976845479453d01a96d78ab2593 Add back windows 32bit support. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I830a37480233cddc81a3895b36d838fd202a6bc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217257
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-30 22:51:26 +00:00
Herb Derby
e500d11536 Use strike spec for bitmap rendering
Change-Id: I31cc0b1817443fcff0abfb5d3aaecf8a04caa816
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216877
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-30 21:20:33 +00:00
Ethan Nicholas
65e49ba51b added support for SkMatrix44 ctype
Bug: skia:
Change-Id: Ia09660d88837de6c8b55ded96696d3c3680df2a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217130
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-30 20:16:52 +00:00
Jim Van Verth
a36e089065 Added AutoreleasePool for managing pool memory in testing apps.
This is only active on MacOS and iOS -- on other platforms it
will do nothing as they have no need for autorelease pools.

Bug: skia:8243
Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-30 19:13:34 +00:00
Mike Reed
c72216583d share tiny bit of code for std language iter
Change-Id: I928ba956c1ff038332d7c7497fe5fc0c297f4f22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217140
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-30 19:10:44 +00:00
recipe-roller
3a79bf4959 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/3acbc749e4a60ea817bd7bd1c6b8115861ac344f gclient: Make it possible to set target_rev to a commit hash. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I93b1a21f1a02036bb74c68400a2b2bbf6c71ea64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217127
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-30 18:31:58 +00:00
Mike Reed
ab399c8467 free formatctx when we're done
Change-Id: I039fad48a65048cf20c0d2d2981120466c41038b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217124
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-30 17:41:28 +00:00
Robert Phillips
1e50638847 Revert "Clean update ETC1 data utilities"
This reverts commit 6fc7e2142b.

Reason for revert: ANGLE!

Original change's description:
> Clean update ETC1 data utilities
> 
> Change-Id: I03d5d86c617f2f9cca5c1198d242ce0fbb5b2f14
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217120
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,robertphillips@google.com

Change-Id: I20c6b50d7ba89b299df42e8c2d42d43ec2ee1aeb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217125
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-30 17:31:33 +00:00
recipe-roller
a25993a246 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/67c48200732195aa9a9a1d13b895d43ac68692d8 [git-cl] Fix crash in "git cl upload" (borenet@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I065f42447120f600787b3916c1ebb583a7969121
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217113
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-30 17:30:28 +00:00
Michael Ludwig
4a0cf5071f Remove old GrFillRectOp factories
Also renames MakeGeneric() back to Make() and updates tests

Change-Id: I493c40d84ef1a075bddca72939f46a81bea5dea7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215091
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-30 17:26:28 +00:00
Robert Phillips
6fc7e2142b Clean update ETC1 data utilities
Change-Id: I03d5d86c617f2f9cca5c1198d242ce0fbb5b2f14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217120
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-30 17:08:08 +00:00
Florin Malita
0fe004c14c [skottie] Shaper: fission glyphs into separate fragments when needed
In the presence of animated text properties, we want the Shaper result
glyphs to be split into separate fragments.

Add a Shaper flag to request this mode, and upate the logic to emit
one fragment per glyph, when active.  Otherwise fall back to the
current/consolidated blob mode.

Change-Id: If7440e5fa1ae2f8855984d3ae4d6852b10b2316c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216879
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-05-30 17:05:00 +00:00
Robert Phillips
f62e575bab Use GrVkImage utilities in GrVkGpu::createTestingOnlyVkImage
An attempt to share more code. Pulled out of:

https://skia-review.googlesource.com/c/skia/+/216610 (Implement color-based backend texture creation for Vulkan)

Change-Id: Ie109cfc00fe47b7060be51d4c23f1b8f7db2328c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216875
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-30 16:56:18 +00:00
Hal Canary
3a0590ec1a SkPDF: implement kDecal image shader TileMode
Change-Id: Iccdfaed4b47f95e4a134d8732264599a8179d187
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216876
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-30 16:33:08 +00:00
Hal Canary
fcea9a9161 SkPDF: MakeShader uses Color4f
Also some minor refactoring in make_image_shader().

Change-Id: I6061ebeb8c297045b1a276160fe18cc6ae54bde7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216867
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-30 14:52:29 +00:00
Ben Wagner
bd8c724fd4 Correct shaper assert around iterator fonts.
The assert here was intended to catch the case where a font run iterator
produced a font without specifying a typeface. This should never happen.
However, it is currently fine for the user to pass in a font without
specifying a typeface, which really means they don't care.

Change-Id: Ib63430142b9a05b4f2f8603e7a56a0ac09fa219f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216874
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-05-30 14:47:58 +00:00
Mike Reed
5093e23de6 support assets for skottie2movie
Change-Id: Icb66c9cf4eb2db72997b566fe863dab21d2824ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216871
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-30 14:37:29 +00:00
Herb Derby
b3043e4d70 Collapse the SkTextInterceptsIter into base class
Reorganize the glyph Intercepts code to allow bulk operation.
This is just reorganizing and inlining existing code.

+ Shorten some long lines.

Change-Id: I1a01b50d94386279d3a8715a78266ee8a27547b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216606
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-30 13:57:38 +00:00
Brian Osman
3e29f1dd63 Interpreter: Elide dup/pop around stores
This centralizes the logic for popping unwanted expression
results into writeExpression (controlled by 'discard').
Then, it extends a few other functions to also take that
discard parameter, and skip the work that was being done to
leave the expression result on the stack - and thus saving
the need for the pop. Those functions that may (or may not)
honor the discard request return the new value.

Produces much cleaner code for assignments (and ++).

Change-Id: I62bc62df823efda2af77c55f4eee32403496a4ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215837
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-30 13:42:38 +00:00
Ben Wagner
e8db325168 Add trivial implemenations of shaper run iterators.
Change-Id: I71f9cf2971cdb44ae2d189e29afc2ab330750dcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216780
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-30 13:19:28 +00:00
Ravi Mistry
cf01a5ccd9 Add new G3 compile try bot
NoTry: true
Bug: skia:9021
Change-Id: Ifbba8d23fefc383d0dec9e14e08cdf42e67b3e57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216642
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-30 13:10:08 +00:00
Ravi Mistry
783d607073 Add recipe for triggering and waiting for G3 compile tasks
NoTry: true
Bug: skia:9021
Change-Id: I20448aebccaa9e408f8942bf05641183aadd9fc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216641
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-30 12:51:48 +00:00
Ravi Mistry
4bcdb6b9aa Script to trigger and wait for G3 compile tasks
Tested success case with:
python trigger_wait_g3_task.py --issue 190200 --patchset 14

Tested failure case with:
python trigger_wait_g3_task.py --issue 94900 --patchset 4

Tested merge conflict with:
python trigger_wait_g3_task.py --issue 209802 --patchset 1

Tested unauthorized case with:
python trigger_wait_g3_task.py --issue 216568 --patchset 5


NoTry: true
Bug: skia:9021
Change-Id: I7d1438f460e176c8ef61de704a7b326f77d7b503
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216640
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-30 12:09:38 +00:00
Mike Reed
69aaee0ff9 Revert "Compare pixels for TypefaceWithNoPaths test"
This reverts commit 405735228f.

Reason for revert: failing on android bots

Original change's description:
> Compare pixels for TypefaceWithNoPaths test
> 
> Change-Id: I786b741462ca2b68b43e5f3443671c4a7e2f801f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216614
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,khushalsagar@chromium.org

Change-Id: Ib958c1b6c8893e100743d827aa50d5273d2a4cd6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-30 11:40:59 +00:00
Heather Miller
655ee0f015 Update Skia milestone to 77
Change-Id: I997f82ec6d61b896b332c9cd0c731500a99a38f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216860
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-05-30 11:15:58 +00:00
skia-autoroll
2f0f5fb37d Roll third_party/externals/angle2 ded5f903261a..172e5d373fad (11 commits)
ded5f90326..172e5d373f


git log ded5f903261a..172e5d373fad --date=short --no-merges --format='%ad %ae %s'
2019-05-29 syoussefi@chromium.org Vulkan: Implement universal stencil resolve
2019-05-29 spang@chromium.org Vulkan: Submit semaphores from glWaitSemaphoreEXT & glSignalSemaphoreEXT
2019-05-29 syoussefi@chromium.org Vulkan: fix buffer copy barriers
2019-05-29 jonahr@google.com Add EGL_ANGLE_workaround_control extension.
2019-05-29 jmadill@chromium.org Update Windows AMD suppression.
2019-05-29 spang@chromium.org Vulkan: Support submitting multiple semaphores
2019-05-29 spang@chromium.org Vulkan: Reuse flushImpl() from finishImpl()
2019-05-29 syoussefi@chromium.org Vulkan: Implement multisampled framebuffers
2019-05-29 geofflang@chromium.org Vulkan: Rename getSubmitFence to getNextSubmitFence.
2019-05-29 aleino@nvidia.com Use D3D11 GetDimensions driver workaround for 3D textures
2019-05-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 6c7db9c63098..f051812343eb (3 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@172e5d373fad

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

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: Ia9013c001348feefd70facf0675b38e9fbfdff8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216823
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-30 05:44:01 +00:00
skia-autoroll
2d25d871d3 Roll ../src b3e0873d64ad..97d3c9084977 (529 commits)
b3e0873d64..97d3c90849


Created with:
  gclient setdep -r ../src@97d3c90849

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=kjlubick@google.com

Change-Id: Ia6ca7c4936fb00546f2d0377f9be941269c6b357
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216824
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-30 04:54:10 +00:00
skia-autoroll
859f7108a5 Roll third_party/externals/swiftshader ca8e3d7c153e..37bc82ac64f5 (11 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ca8e3d7c153e..37bc82ac64f5


git log ca8e3d7c153e..37bc82ac64f5 --date=short --no-merges --format='%ad %ae %s'
2019-05-29 chrisforbes@google.com Enable arm32 build for pastel
2019-05-29 chrisforbes@google.com Various additional fixes for Android build
2019-05-29 chrisforbes@google.com Adjust llvm7 file list to include passes required for arm target
2019-05-29 hliatis@google.com Fire VkFence in vkAcquireImageANDROID
2019-05-29 hliatis@google.com Fix memory leak in vkDestroyImage
2019-05-29 srisser@google.com Fix buffer overflow on Mac
2019-05-29 capn@google.com Fix initializing bits after bitfields
2019-05-29 samans@chromium.org Fix build failure
2019-05-29 samans@chromium.org Fix alignment of VkWrapper
2019-05-29 srisser@google.com Fix Mac builds when using llvm.
2019-05-29 swiftshader.regress@gmail.com Regres: Update test lists @ ca8e3d7c


Created with:
  gclient setdep -r third_party/externals/swiftshader@37bc82ac64f5

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=kjlubick@google.com

Change-Id: Ib4552c4dba31c2e1670f391070e2260822f97dba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216822
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-30 04:32:50 +00:00
recipe-roller
56543311ae Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/77e19d35dc361460fab352eafc1255c820131644 Roll led to latest version. (iannucci@chromium.org)
  https://crrev.com/9779b146cdfec9abb6bb7ad1a7e8d21916a3dfd1 git-cl: Use modern environment variable name to trigger tracing (jrn@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7a28a87cf10375c5cf70d30bcd76a855e6e6c564
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216767
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-29 23:48:56 +00:00
Florin Malita
eca7315109 [skottie] Add a Shaper line buffer
Instead of committing glyphs directly to SkTextBlob buffers, accumulate
data for a full line before passing to the builder.

For now this doesn't have any effect (other than making a data copy),
but the intermediate buffer will be used for

  a) post-shaping adjustments (justification, tracking?)
  b) multi-blob/fragmented shape results

Change-Id: I45796ef2fd491a14322c32672137ac90138f36ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216686
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-29 22:10:05 +00:00
Brian Osman
5bdf525b9c Fix divide by zero in interpreter test
Change-Id: I43f8663b70aaa7c0a006f61b1194475fc11e0846
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216692
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-29 21:30:06 +00:00
recipe-roller
bc7e403e6d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/57101cd8c0028985759fb381f064ee77b3e0adbc Refactor new_step_stream to take only the essential data. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ieb23022986b238b0d8b951aeaf913ba9ccd6a21d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216690
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-29 21:28:10 +00:00
recipe-roller
063b5d7b9e Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/55b0c542ede5a3ed4e93c0c844559ea74790e5ea cq: expose api.cq.props_for_child_build property. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ied7ebcd8ac958f91d99593eaee2d6761dcf921dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216685
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-29 21:00:03 +00:00
Greg Daniel
b3f82dddfc Reland "Remove call to copy in GrcontextPriv read/write pixel calls."
This reverts commit 1013ecfb34.

Reason for revert: relanding with fix

Original change's description:
> Revert "Remove call to copy in GrcontextPriv read/write pixel calls."
>
> This reverts commit d0d66fb8be.
>
> Reason for revert: crashing on readpixels on some android bots
>
> Original change's description:
> > Remove call to copy in GrcontextPriv read/write pixel calls.
> >
> > Instead we just directly do all those copies as draws.
> >
> > Change-Id: I0cd9dfc6f96e35fbbc9c153a28a08eebf1d7b77f
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216356
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I2b39564e0b20cf83e21744c91ee8ddb9d988ab22
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216608
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: Ic5a8d453efbfe38cd6cb1a95c504b10ef8a9cf22
No-Presubmit: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216615
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-29 20:32:32 +00:00
Brian Osman
909231c8de Interpreter: Matrix/Vector multiplication
Change-Id: I3dc5e5be1cf12c581cce3854d0db7e73db6e1fd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216681
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-29 20:32:31 +00:00
Brian Osman
1e855b22b7 Interpreter: Support component-wise ops for matrices
The linear algebra cases are more complex, coming in separate CL.

Change-Id: I5bbc25a126b61eee6f5b9775ab142e103c00f837
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216612
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-29 20:24:02 +00:00
recipe-roller
21399d0407 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/edb73a793557dcbdfe6854f27d90d3d488fa04ec Make nested parent steps have strict scope. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6e3e6923511c17206e48dcf9689779b231e905e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216678
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-29 20:21:51 +00:00