Commit Graph

42286 Commits

Author SHA1 Message Date
Hal Canary
fc894d4c0e More classes no longer inherit from SkNoncopyable
Change-Id: Ifa862a4e7e79e8faa15dd89401c02145e7279160
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218185
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 18:15:18 +00:00
Florin Malita
e695e53f1c [skottie] Add support for range selector domains
Range selector's "Based On" property controls how range indices map
to glyphs: characters, characters-excluding-spaces, words, lines.

To support this feature:

  - update SkottieShaper to track domain-relevant info per fragment
    (fLineIndex, fIsWhitespace)

  - update TextAdapter to build domain maps
    (domain index -> fragment span)

  - update RangeSelector to run its range indices through a domain map,
    if present.

Change-Id: I80e713f6beaa2578aa0eae1d1ddae8e1e47d8d10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219859
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 17:49:08 +00:00
Mike Klein
22ea7e994b add Builder::dump()
I used to have a dump of the value program before it was
translated to registers, but it went away a while ago.
This restores it.

Change-Id: I9b8bfcb124843cad4b0dc44bdf0a03e95a0c83d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219757
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 17:43:58 +00:00
Eric Boren
22b715f01e [infra] Add MSAN GPU (SwiftShader) bot
Bug: skia:9152
Change-Id: I3f1713a765854a56d709a48e510cbfbff4f191cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219522
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-06-10 17:39:38 +00:00
Mike Klein
0ea4cf97ac clarify behavior in SkTypeface::serialize() a little
I found it odd that we were mutating isLocalData,
which is pretty clearly an immutable fact.

Change-Id: If52ed6dddd094debe12488c7f437e61c040ad8d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219337
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-10 17:15:38 +00:00
Mike Klein
c66373d897 tweak mul/mad_unorm8
Using the approximation (x*y+x)/256 is slightly
faster than (x*y+255)/256 while still maintaining
the property that it's never off by more than a bit.

In the interpreter this saves ~0.1 ns/px when used,
and is also nice for JITting because it doesn't need
any constant registers.

(x*y+y)/256 works just as well, of course.

Change-Id: Ic946e26f0d22c602dfa7e8fa0d64bf87db5505ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219917
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 16:35:07 +00:00
Robert Phillips
d1d869d96e Make GL & Vk backends create uninitialized backend textures
We want the non-color, non-pixel-data version of createBackendTexture to truly create uninitialized textures.

Change-Id: I08867508ea181b7ba3685638cc7a3ea11d527a24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218396
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-10 16:27:07 +00:00
Julia Lavrova
5ec1b8ff3f Adding skparagraphto public.bzl
Change-Id: Ia86963f743fc63a25b413344839f7e58e703b728
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219861
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 15:48:14 +00:00
recipe-roller
f30e75e73d 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/26e62df9518bb9a243111ced132ecf6b17510a75 [bb] Roll to d0bb723b (nodir@google.com)
recipe_engine:
  https://crrev.com/4629cdf6803b6ba978f97f6f1ee7b65b37f33acf cq: remove .deps attribute from CLs passed to recipe. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I74cd79288e53db550e6f83f1532b2efdd1d28ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219916
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-06-10 15:36:23 +00:00
Stephen White
9b7f1430d7 GrTessellator: fix for intersections returning non-finite points.
If the line/line intersection code returns Inf, it can easily turn into
a NaN in subsequent operations, which leads to an assert or hang.

The fix is to ignore intersections which are non-finite.

Bug: 969359
Change-Id: I9e9a5ce5d617aa75b91215a5bbae91ce6f234b7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-10 15:30:08 +00:00
Ethan Nicholas
4e3b0119cd tighten up SkSL parser depth testing
Bug: skia:
Change-Id: I459748b92a62da7b09a57a4b719d787bac897ebd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-10 15:20:59 +00:00
Mike Klein
a630732c36 revise extract instruction
Convert extract(x,bits,z) to be (x >> bits) & z,
now a more explicit parallel to pack().

This lets us eliminate the funky bit counting required from the old
instruction, but more saliently it makes it more likely that the masks
we AND with will be the same value.

Ultimately down at the x86 or ARM ISA level, the AND instructions don't
really benefit from having an immediate argument (while the shifts do).
We might as well treat the mask as a normal value, letting it get
commoned with identical values, loop hoisted, etc.

Change-Id: I48a38468b46f2c730574c025f412262296472447
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219597
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-10 15:08:19 +00:00
Ethan Nicholas
feba68a078 skslc now errors on out-of-range shifts
Bug: oss-fuzz:14043
Change-Id: Iac068faf311f418200ec7049ce67f06e2b8c812d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219860
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-06-10 15:03:15 +00:00
skia-autoroll
de24185f35 Roll third_party/externals/angle2 ea49f6f5d4e3..2d0a9acb0551 (7 commits)
ea49f6f5d4..2d0a9acb05


git log ea49f6f5d4e3..2d0a9acb0551 --date=short --no-merges --format='%ad %ae %s'
2019-06-08 Tom.Tan@microsoft.com Initialize STACKFRAME64 for ARM64
2019-06-07 dongja@google.com DEBUG: Log all debug messages to console
2019-06-07 timvp@google.com Vulkan: Implement ES 3.0 rasterizer discard
2019-06-07 tobine@google.com For WebGL warn on late extension directive
2019-06-07 syoussefi@chromium.org Disable Linux stack traces on CFI builds
2019-06-07 syoussefi@chromium.org Vulkan: implement glSampleCoverage
2019-06-07 syoussefi@chromium.org Vulkan: implement ES3 blit


Created with:
  gclient setdep -r third_party/externals/angle2@2d0a9acb0551

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=herb@google.com

Change-Id: Iac613843b7b4103b9905a5d329d35d9891812884
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219797
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 15:03:14 +00:00
Florin Malita
07e103fce8 [skottie] Range selector cleanup pass
Generalize the partial coverage logic to handle all three cases (left
edge, right edge, both edges), and remove the single-index
branch.

Also add some docs.

TBR=bungeman
Change-Id: I90af708f053d6d3eff154fc1309a5c1269a7eaed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219518
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-10 14:58:10 +00:00
skia-autoroll
2a484efd8c Roll third_party/externals/swiftshader c2c829bc9a63..f60a2d59c9f2 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c2c829bc9a63..f60a2d59c9f2


git log c2c829bc9a63..f60a2d59c9f2 --date=short --no-merges --format='%ad %ae %s'
2019-06-07 sugoi@google.com Removed some dependencies on old threading class
2019-06-07 sugoi@google.com Replace sw::Resource with sw::WaitGroup
2019-06-07 swiftshader.regress@gmail.com Regres: Update test lists @ c2c829bc


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

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=herb@google.com

Change-Id: Ib9a758e4e90b7b6453c01333e3a581b797e142e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219796
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 14:58:09 +00:00
recipe-roller
c357509e8d 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/0563a8832214e4e7243f854341200142c186c446 Change swarming module to include user. (karenqian@google.com)
  https://crrev.com/a823eb259ca185dd70efbf8abd89e8e785da636b Remove RETURN_SCHEMA (martiniss@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I521b238ec9fe5a95fd46c08aed39c07d54c9695a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219596
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-06-10 14:53:09 +00:00
skia-autoroll
d1d9f51b0e Roll ../src 6406ce90edf0..37e3060c53b6 (508 commits)
6406ce90ed..37e3060c53


Created with:
  gclient setdep -r ../src@37e3060c53

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=herb@google.com

Change-Id: Ia00cbeba30d0acbe318f985e728cda0b775683b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219798
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-10 14:53:08 +00:00
Herb Derby
07cd38dc13 Revert "SkParagraph"
This reverts commit 10ad0b9b01.

Reason for revert: Breaks google3 build

Original change's description:
> SkParagraph
> 
> Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

TBR=borenet@google.com,djsollen@google.com,halcanary@google.com,bungeman@google.com,kjlubick@google.com,reed@google.com,drott@chromium.org,jlavrova@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I3f4ef2f34b7489d008c2fe92527d39fba0e16ff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219858
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 13:16:53 +00:00
Herb Derby
7a1bf99935 Revert "Build fix"
This reverts commit 14c8ca93db.

Reason for revert: This and original cl are breaking google3

Original change's description:
> Build fix
> 
> Change-Id: Ifd64425e6c8bc1a51b4617f043b828acafeb4368
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218966
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,jlavrova@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I655f1da3d9c08994c210fff3ee9310288a248895
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219856
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 13:03:07 +00:00
Herb Derby
607c6d9c86 Revert "Try to fix include problems for skparagraph"
This reverts commit cc82972af1.

Reason for revert: Part of the chain of cls breaking Google3

Original change's description:
> Try to fix include problems for skparagraph
> 
> Change-Id: Id98790de9364093dbcd6948c00c192ad0bb01882
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219573
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,jlavrova@google.com

Change-Id: Ib2000566a9764dab2dd46f0a4ed0877be1b7f1d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219857
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 12:44:44 +00:00
Herbert Derby
cc82972af1 Try to fix include problems for skparagraph
Change-Id: Id98790de9364093dbcd6948c00c192ad0bb01882
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219573
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-09 22:00:04 +00:00
Herb Derby
9577f01ba0 Revert "Add FontCollection.h to gni"
This reverts commit 9e1e8caff3.

Reason for revert: ooops it was in includes

Original change's description:
> Add FontCollection.h to gni
> 
> Change-Id: I0e720d6cf023303328fd68ce70e09a81e61088f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219697
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

TBR=herb@google.com,jlavrova@google.com

Change-Id: I4c2c08765ed3502323af028fe0aeb57472db7de0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219756
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-09 13:59:48 +00:00
Herbert Derby
9e1e8caff3 Add FontCollection.h to gni
Change-Id: I0e720d6cf023303328fd68ce70e09a81e61088f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219697
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-09 13:24:20 +00:00
Ben Wagner
53ae936b84 Make rasterallocator test a bit better.
This cleans up some of the names to make it easier to understand.
Unfortunately, this also disables the 'common' code since it has issues
with pic-8888 and serialize-8888 configs.

Change-Id: I059d7594c357ba588daeb29643d242f7f510ecc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218968
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2019-06-07 19:31:22 +00:00
Julia Lavrova
14c8ca93db Build fix
Change-Id: Ifd64425e6c8bc1a51b4617f043b828acafeb4368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218966
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-07 18:48:22 +00:00
Brian Osman
8016441e20 Interpreter: Refactor interface and lifetime management
Interpreter is now just a namespace with Run and Disassemble. This hides
all of the implementation details. In addition, the interpreter only used
the Program because of a few details in FunctionDeclarations - scrape that
when constructing a ByteCodeFunction, and we don't need to keep the entire
Program alive, just the ByteCode. Adjust tests to ensure that this works.

Change-Id: I61efe4fe986476afedbd295d3d55b2a326fea4e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219521
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 18:47:22 +00:00
Mike Klein
b0632faa59 fold through SKSL_USE_STD_STRING
We're always defining it... this just deletes dead code.

Change-Id: Ifab266444eed687f637032ac62c8768ebc25625c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219544
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-07 18:15:43 +00:00
Mike Klein
7d3b27d90e free skvx from its Skia shackles
Remove the need to include SkTypes.h in SkVx.h,
making SkVx entirely independent of Skia.

As an experiment, switch to checking Clang/GCC-style __SSE__ /
__ARM_NEON defines directly instead of the slightly more abstract
SK_CPU_SSE_LEVEL / SK_ARM_HAS_NEON.

Those SK_ defines only exist to help SSE detection on MSVC, which SkVx
generates serial code for anyway.

If this sticks I may do this same sort of change all through Skia.

Change-Id: I1c51fd6ba1fa48f199ce623824d5ef20ff6be995
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219541
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-07 18:08:23 +00:00
Robert Phillips
28a5a4344a Revise GrDataUtils to be more self-contained (take 3)
This makes the GL and Vk backends share more code and sets up for the Metal implementation.

Change-Id: I781d5b6188fb2d46ae4ec48204fda74fe28b18c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218964
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-07 17:50:43 +00:00
Greg Daniel
46cfbc67f6 Reland "Reland "Remove support for copyAsDraw in gpu copySurface.""
This reverts commit 4c6f9b7670.

Reason for revert: Landing with neuxs 7 and androind one fixes

Original change's description:
> Revert "Reland "Remove support for copyAsDraw in gpu copySurface.""
>
> This reverts commit 84ea04949c.
>
> Reason for revert: nexus 7 and android one broken
>
> Original change's description:
> > Reland "Remove support for copyAsDraw in gpu copySurface."
> >
> > This reverts commit c5167c053b.
> >
> > Reason for revert: fixed
> >
> > Original change's description:
> > > Revert "Remove support for copyAsDraw in gpu copySurface."
> > >
> > > This reverts commit 6565506463.
> > >
> > > Reason for revert: seems to break things?
> > >
> > > Original change's description:
> > > > Remove support for copyAsDraw in gpu copySurface.
> > > >
> > > > The major changes on a higher lever are:
> > > > 1) The majority of all copies now go through GrSurfaceProxy::Copy which
> > > > takes in a proxy and returns a new one with the data copied to it. This
> > > > is the most common use case within Ganesh.
> > > >
> > > > 2) The backend copy calls no longer do draws, require origins to be the
> > > > same, and won't do any swizzling or adjustment of subrects. They are
> > > > all implemented to be dumb copy this data to this other spot.
> > > >
> > > > 3) The GrSurfaceContext copy call has now been moved to priv and renamed
> > > > copyNoDraw, and a new priv copyAsDraw was added to GrRenderTargetContext.
> > > >
> > > > 4) WritePixels and ReplaceRenderTarget both need to specifiy the destination
> > > > of copies. They are the only users (besides the GrSurfaceProxy::Copy) which
> > > > call the priv methods on GrSurfaceContext.
> > > >
> > > > Change-Id: Iaf1eb3a73ccaf39a75af77e281dae594f809186f
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217459
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > >
> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> > >
> > > Change-Id: Id43aa8aa1451e794342e930441d9975b90e6b59f
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218549
> > > 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: I1a96f85ae2ff7622a6b57406755d478e7fbcf56e
> > No-Presubmit: true
> > No-Tree-Checks: true
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218797
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I310930a9df30535f45a065263a40239141e15562
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219384
> 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: I88df4f19aa26ed77b5af4e25d138387cbabd1934
No-Presubmit: true
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219386
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-07 17:38:33 +00:00
Herb Derby
33a6f7c0a8 Remove advance only mode from SkGlyph.
SkGlyph would be initialized with advances, but the bounding box, etc.
would be calculated later. Initialize the glyphs everything except, image
and path data.

+ Clean up private: section.

Change-Id: I016e820563690fc4a74c85cd73442675119dacbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219524
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-07 17:29:45 +00:00
Julia Lavrova
10ad0b9b01 SkParagraph
Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-06-07 17:23:23 +00:00
skia-autoroll
2866a5b747 Roll skia/third_party/skcms 386ae89d2b64..ed2c978cdeef (1 commits)
https://skia.googlesource.com/skcms.git/+log/386ae89d2b64..ed2c978cdeef

2019-06-07 mtklein@google.com test wasm with node instead of a browser


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel
TBR=jcgregorio@google.com,mtklein@google.com

Change-Id: I3c2522550c8de1f51edf8e690c13427ea59aa967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219540
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 17:14:43 +00:00
Jim Van Verth
7bd76643aa Another attempt at a shim to get sk_cf_obj landed.
Add retain() instead (this will be added to sk_cf_obj as well).
The issue is that Chrome is storing their objects in a unique_ptr<>
style class which wishes to retain ownership, so we can't use reset(),
which transfers ownership.

Change-Id: I84fd453128963c11c6c8b6e950be8a0851e03066
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219523
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-07 16:59:19 +00:00
recipe-roller
ac53c42b09 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/4c5c8ab626d5e9e4e19271490cb895a6ef8a41da Reland "Reland "gclient: Require a target ref when applying patches."" (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6ebe40b2e23a6b6e06d4e49b374dd7b9d992c137
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219525
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-06-07 16:30:39 +00:00
Robert Phillips
fe18de5060 Experimental: Add R_16 and RG_1616 to Ganesh (take 2)
This is to support the P016 and P010 YUV formats. Initially, only Vulkan and GL support these formats.

Change-Id: I4e896f1d3fb32207227a755517ae5a00a58e6045
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219403
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-07 14:00:58 +00:00
skia-autoroll
6faf8d662a Roll third_party/externals/angle2 b91f87b6ce1c..ea49f6f5d4e3 (8 commits)
b91f87b6ce..ea49f6f5d4


git log b91f87b6ce1c..ea49f6f5d4e3 --date=short --no-merges --format='%ad %ae %s'
2019-06-06 dongja@google.com Debug: Add LOG_INFO logging level
2019-06-06 timvp@google.com Vulkan: Handle VK_ERROR_OUT_OF_DATE returned by vkAcquireNextImageKHR()
2019-06-06 jgilbert@mozilla.com Use execv instead of execve w/ environ.
2019-06-06 geofflang@chromium.org Don't remove the symbol_visibility_hidden config in asan builds.
2019-06-06 courtneygo@google.com Avoid recreating swapchain for preRotation
2019-06-06 dongja@google.com Vulkan: fix uint indices causing incomplete buffer
2019-06-06 jmadill@chromium.org Vulkan: Move descriptor pools into ProgramVk.
2019-06-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 2f4a8dfd3a59..d3692c701b12 (1 commits)


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

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=jcgregorio@google.com

Change-Id: I67e478d0dc1f79d3fb8218e3ea28fe95f80d6b1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219498
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 06:00:34 +00:00
skia-autoroll
0e8362655a Roll ../src 5f60135c7766..6406ce90edf0 (429 commits)
5f60135c77..6406ce90ed


Created with:
  gclient setdep -r ../src@6406ce90ed

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=jcgregorio@google.com

Change-Id: I2db67d051b23578362734e51f29457358047f9bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219499
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 04:52:34 +00:00
skia-autoroll
44425cc746 Roll third_party/externals/swiftshader 5c9e165bc4d5..c2c829bc9a63 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5c9e165bc4d5..c2c829bc9a63


git log 5c9e165bc4d5..c2c829bc9a63 --date=short --no-merges --format='%ad %ae %s'
2019-06-06 swiftshader.regress@gmail.com Regres: Update test lists @ 5c9e165b
2019-06-06 capn@google.com Fix image sampling with divergent LOD
2019-06-06 samans@chromium.org Add missing files to LLVM's Build.gn
2019-06-06 sugoi@google.com Better 32 bit Windows Fix


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

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=jcgregorio@google.com

Change-Id: I5d05f79ded446d5f2829e2a8a71f72fc13eac923
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219497
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-07 04:36:04 +00:00
recipe-roller
3431d9d1dc 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/fe4c61ad2331739d9278befba776d9eee912256a [buildbucket] Split wait and fetch (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If61afc3aa751e5d05b6d9f749307439ff996a574
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219402
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-06-07 01:44:35 +00:00
Ben Wagner
2b4dcd381c Remove duplicate simple samples, make one a gm.
SampleBigBlur is super simple and now covered by gms and AnimBlur
sample.

SampleBigGradient now has a gm shallow_gradient_linear.

SampleConcavePaths has a more complete gm concavepaths.

SamplePoints now has an almost exact gm.

RasterAllocatorSample is made into a gm so that it will be run by d. It
appears to be the only test of SkRasterHandleAllocator, so it should
probably run.

Change-Id: Iad7b99d0f92898fc4b2fdccc5aae35d0277f2fff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219400
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-06-07 01:39:32 +00:00
Brian Osman
25132b6841 Remove unused caps: UnsignedSupport and ImageLoadStoreSupport
Change-Id: I67c5a8c313438018ccafe5f760e291a31410e56c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219397
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 01:39:30 +00:00
Florin Malita
04462d12c8 [skottie] Fix text selector sub-unit range handling
The current logic modulates the shape generator output by its fractional
coverage, ignoring constant lo/hi contributions.

But RampUp/RampDown have non-zero hi/lo constant coverage, which needs
to be accounted for.

The correct behavior is to perform a 3-way weighted average of the
lo/hi/generator, based on their relative weights.

Change-Id: Ide0ed2ae590bbce2b56c0c65008b64632b987905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218962
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-07 01:34:27 +00:00
Brian Osman
1e2d4a1159 Fix line numbering problem when reporting SkSL compile errors
We were pretty-printing the source after feeding it to the compiler, so
line numbers didn't match up. Instead, pretty-print before compilation
(but only in debug builds), and remove any reformatting that happens
downstream.

Change-Id: I2b032ed01f725ca27e17436510d93505f7924aa5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218961
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-07 01:34:26 +00:00
Stan Iliev
8231031613 Small fixes to C API. Add SK_API and fix function signature mismatch.
Test: Built and linked C API so
Change-Id: I1a4126851fb2e70b7592e0d7d21d771eb9c26440
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218798
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2019-06-07 01:29:23 +00:00
Herb Derby
ac7182773e Make FindOrCreateStrikeWithNoDeviceExclusive analog for SkStrikeSpec
Add MakeWithNoDevice to avoid the threshold of converting to
paths when using MakeCanonicalized.

Change-Id: I73b49dd35ffb2f4fa3b70ba3324bfcb348ca913b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218960
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-07 01:29:21 +00:00
Greg Daniel
aee5714be0 Manual revert of "Revise GrDataUtils to be more self-contained"
This reverts commit c70ed90f59.

Change-Id: Id418285ec3fb84d28630ba2da0e7435ed92b62ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218957
Auto-Submit: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-06 20:10:05 +00:00
Greg Daniel
d8a7408ee4 remove unused metal variable
TBR:ethannicholas@google.com

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I376d24fa8e722e90c75c8f9db636330771e7553f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219401
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 19:05:02 +00:00
Greg Daniel
992df579a4 Revert "Experimental: Add R_16 and RG_1616 to Ganesh"
This reverts commit 93d0146dc6.

Reason for revert: revertting so we can revert previous change

Original change's description:
> Experimental: Add R_16 and RG_1616 to Ganesh
> 
> This is to support the P016 and P010 YUV formats. Initially, only Vulkan and GL support these formats.
> 
> Change-Id: Ie9609e59c12528079f8d379359ddb9bac85b6a29
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218546
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: I00e1bf32404983b09f0933b2a9d65aa40a5ee754
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218959
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-06 18:47:53 +00:00