Commit Graph

45597 Commits

Author SHA1 Message Date
Herb Derby
eba195f1ea Make GrTextBlob initial position const
* Convert from fInitialX, fInitialY to an SkPoint fInitialOrigin
* Start putting params in a consistent order
* inline and remove single use functions

Change-Id: I53eecf6098b475ef05f4f5c4133510ee1104073f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257756
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 23:26:40 +00:00
recipe-roller
e5f8721b27 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/be3109961d3d5d541623b35afd7b15f167fa16ea Roll bb tool to @ b7405423 (tandrii@chromium.org)
  https://crrev.com/240afdb1c43a304bb0145824967a1850a02c01b8 [cipd] Update client 2.2.20 => 2.3.1. (vadimsh@chromium.org)
  https://crrev.com/434f1219fd28c66ccb10ff40d66845e27bbf636d gclient: Remove annotated_gclient. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ied31d9abdc56d481b73f59c9fa49d735b8b153ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257757
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-12-03 22:42:51 +00:00
Mike Reed
7fdceb9216 remove legacy SkPath enum guards
Change-Id: I5874ac89b6dec5c050bc02df9df6849d2131df76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257690
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-03 21:47:40 +00:00
Herb Derby
00ae959342 Start cleanup of GrTextBlob
* Make a single private section
* Reorganzie private section
* Start making const things const

Change-Id: I88081d02ee6034234d35d15306bffb47ce63ac8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257688
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 21:24:50 +00:00
Florin Malita
75368c3a02 [skottie] Deferred image frame resolution
Instead of always grabbing the first frame at load time, only do so for
single-frame images.

For multi-frame images, defer frame resolution until actually needed
(at seek time).

There's a slight complication in dealing with image scaling: since we
no longer know the intrinsic size of the frames upfront, we need to
set up a transform effect preemptively for multi-frame images, and
update on the fly when the frames are resolved.  This is not
necessarily bad, because theoretically frames could have different
sizes.

Bug: skia:9686
Change-Id: Ib831d0e2ecad061ba52bdd8721e7598ea38c1e6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257622
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 20:17:40 +00:00
Brian Osman
6104ba0dca Particles: Do a cleanup/standardization pass on the API
For clients not using JSON, the factories were inconsistent.

Change-Id: Ifd920fa1e18f5edffa12de238af8488406951e5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257683
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-03 20:06:18 +00:00
Herb Derby
808b55d6c6 Replace some std::tie with auto []
Change-Id: I388eb8022a17bc58ea906460970a6c8f162601e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257679
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 19:44:20 +00:00
Michael Ludwig
8c14134836 Reorg helper functions in prep for function pointer caching
This does several pure refactoring changes:
1. Adds reset() functions to each helper struct type instead of having
TessellationHelper impl. the struct's reset logic.
2. Moves computeDegenerateQuad() to EdgeEquations.
3. Separate adjustVertices() into adjust and adjustDegenerate varieties, and
have it take a signed distance. This makes it no longer branch on degeneracy
or on whether or not it's insetting or outsetting.
4. The top-level inset()/outset() functions apply the appropriate sign to the
edge distances, and use the appropriate adjust or adjustDegenerate function
based on the inset/outset degenerate flag in OutsetRequest. Essentially all
the old branching in adjustVertices() is baked into the choice of inset() or
outset().
5. Rearranged the structs and function definitions so no forward declarations
were needed, and functions in CPP matched H order.

The major functional change with this is that adjustDegenerate() now has
an optimized case for rectilinear quads, where it can continue to use
moveAlong() but with smaller inset distances.

Change-Id: Ifc7f4537a4e89e82c74e831ab1cd00ffc4daaa4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256777
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-12-03 19:42:41 +00:00
Herb Derby
c694627157 Don't draw strikes that are too small
This may fix a fuzzer bug that trips an
assert for empty rectangles. I could not reproduce
the fuzzer problem.

Bug: chromium:1029831
Change-Id: I88befb7c27d9ddc357e0a9e494e68125f8252f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257676
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-03 19:01:10 +00:00
Mike Klein
c10a8321f8 remove SkColorSpaceXformSteps::Required
It's error-prone, and now unused.

Change-Id: Ibae848bdb121695521e66d6e8544a82678e22f7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257660
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 18:33:10 +00:00
Kevin Lubick
6bbeaa7c64 [skottieWASM] make sure we are using CPU or GPU correctly
Change-Id: Ib9013fa9bedbbbf8a7787ef2a75d707dd6360cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257635
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-12-03 18:29:53 +00:00
Florin Malita
a4f1391bb9 Reland "[skottie] Remove defensive seek(0) from Animation ctor"
This reverts commit e0f374bf8f.

Reason for revert: including tracing fix
Original change's description:
> Revert "[skottie] Remove defensive seek(0) from Animation ctor"
>
> This reverts commit 042fe0847b.
>
> Reason for revert: SkottieTracing bots not happy.
>
> Original change's description:
> > [skottie] Remove defensive seek(0) from Animation ctor
> >
> > It potentially causes unnecessary image frame loads.
> >
> > Well-behaved clients should always seek() before calling render().
> >
> > Bug: skia:9686
> > Change-Id: If16257dc947941541d9ae8906b5ec7b1754dd7df
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257625
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
>
> TBR=fmalita@chromium.org,reed@google.com,aparchur@google.com
>
> Change-Id: I3b7efdfc8e0aed1deb8756d585f946b4309d469d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9686
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257630
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,reed@google.com,aparchur@google.com

Bug: skia:9686
Change-Id: Ib8a5d76821685cfa7e7dac61bcc31da5629d9055
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257632
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 18:26:40 +00:00
Mike Klein
7321e6a0ab replace CSXformSteps::Required() in GrSurfaceContext
Calls to Required() are subtly error prone without taking the alpha
types into account.  Just so happens that we're doing half of that here
ourselves, and letting Required() handle the rest... best to just let
CSXformSteps handle all the logic.

This _does_ slightly_ change the values of unpremul and premul, in that
it's now possible for them both to be true when we need a color space
transform (when the source and dst are both premul).  We don't think
this actually changes any of the logic that uses these bools though...
the canvas2D fast paths are unchanged because if needsColorConversion is
false, we'll still never set both at once.  And the `convert` bool only
ever looks at the logical or of the two, so it won't change.

Change-Id: I051793cd84693e1a5dd367d036ab7f2e2308bbf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257659
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 18:06:40 +00:00
Mike Klein
7fa8f3a4f3 Fix sprite blitter choice logic
While we're asking if there are any color space xform steps to do,
let's look at all 5 of them, including whether we need to unpremul or
premul.  The sprite blitter paths this logic guards can't handle
any change in color space _or_ alpha type, so this is a perfect fit.

Without this fix, we'd happily draw premul into unpremul using memcpy().
(Unpremul -> premul was already guarded by the check with my new note.)

Change-Id: Ic8d9e69f6c7bd2902ff77393de1da9cd940ea826
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257657
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 17:55:20 +00:00
Mike Klein
a7bb87ed53 replace CSXformSteps::Required() in SkShader
This call is working perfectly fine as far as I reckon, but it's subtly
error-prone to not explicitly mention the alpha types when making this
kind of decision.  It just so happens that Requires() used premul/premul
just as we do here, so this should be a no-op.

Change-Id: I96850cc4109a6ac3c46bb7bbb467a30628ee8d44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257658
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-12-03 17:48:41 +00:00
Mike Klein
c971747eef add friendly new ctor for xform steps
This isn't even used, so it definitely definitely
will have no perf impact.

Change-Id: I3e459bce440aef5e3e8fa2724dd2839b866920b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257656
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-12-03 17:47:20 +00:00
Jim Van Verth
c336315d3c Some more tweaks to perspective path clipping
Bug: skia:9546
Change-Id: Ib91880e09ae6373bc133d684aa7510c67681ec1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257629
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-12-03 17:35:10 +00:00
Florin Malita
e0f374bf8f Revert "[skottie] Remove defensive seek(0) from Animation ctor"
This reverts commit 042fe0847b.

Reason for revert: SkottieTracing bots not happy.

Original change's description:
> [skottie] Remove defensive seek(0) from Animation ctor
> 
> It potentially causes unnecessary image frame loads.
> 
> Well-behaved clients should always seek() before calling render().
> 
> Bug: skia:9686
> Change-Id: If16257dc947941541d9ae8906b5ec7b1754dd7df
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257625
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,reed@google.com,aparchur@google.com

Change-Id: I3b7efdfc8e0aed1deb8756d585f946b4309d469d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9686
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257630
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 17:17:36 +00:00
Mike Klein
b6b7e7b6c8 Revert "replace SkColorSpaceXformSteps::Required()"
This reverts commit 122eda7877.

Reason for revert: breaking up into parts to help diagnose a possible performance regression.

Original change's description:
> replace SkColorSpaceXformSteps::Required()
> 
> It's error-prone to ask if a color space transform is required without
> explicitly mentioning alpha types.  I think the whole method can be
> replaced by a friendlier constructor and direct use of flags/mask:
> 
>     SkColorSpaceXformSteps::Required(src.colorSpace(), dst.colorSpace())
> 
>         ~~~>
> 
>     0 != SkColorSpaceXformSteps(src, dst).flags.mask()
> 
> This removes the unexpected gray square from the fiddle in skia:9662.
> 
> Bug: skia:9662
> Change-Id: Id54cae534023ab29c94dcc149e6b67fc9c166665
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257399
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I4073f45c52e77f02fe3ecb75c20fc29873080c20
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9662
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257652
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 16:52:42 +00:00
Florin Malita
042fe0847b [skottie] Remove defensive seek(0) from Animation ctor
It potentially causes unnecessary image frame loads.

Well-behaved clients should always seek() before calling render().

Bug: skia:9686
Change-Id: If16257dc947941541d9ae8906b5ec7b1754dd7df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257625
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 16:49:10 +00:00
Mike Klein
b78729a8f3 Fix some GCC warnings.
Drop unnecessary () in `const char* (*fText)`.  Sure, whatever.

Then a couple tweaks where we use strncpy():

    In one case in SkICC.cpp, GCC warns us we're passing sizeof(dst) as
    the copy count, which can be error prone because you may miss a
    terminating nul.  I believe the existing strncpy() behavior is what
    we want here, so I've stifled this and left a note.  We don't really
    want a terminating nul... we want a zero fill of the remaining dst.

    On the other side of that if-statment in that same function, GCC
    warns that we've passed exactly sizeof(src) as the copy count when
    writing the calculated description prefix, which again might be
    buggy due to a missed terminating nul.  Seemed like memcpy() was the
    way to go here for that prefix. Ultimately we check to make sure we
    wrote every single destination byte.

    Over in SkPDFMetadata.cpp, strncpy() is concerned once again that
    we're copying strlen(src) and thus omitting the terminating nul.  As
    usual we don't want that terminating nul, so switch to memcpy() to
    make that explicit.

I'm starting to think strncpy() is too helpful to reason about sanely.

Change-Id: I1bcd5f4e406ca388c1c236c5f3ee531bf1737705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257408
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 16:21:40 +00:00
Mike Reed
1d15439f69 remove legacy next from iter
Change-Id: I417425bf27c154a312ab8cb7aaf150faa35a0696
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257617
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-03 16:01:20 +00:00
Kevin Lubick
eda0b436df [canvaskit] Add test and extern for MakeImage
This was originally exposed for use with specs/web-img-decode and has
seen some actual use.

Change-Id: I6cc4fdf431b45cbbc21b91881c688c5545ca44a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257317
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-12-03 15:39:48 +00:00
Brian Osman
db2e7641be Particles: SkImageBinding to allow sampling an image from script
Provides functionality similar to AE property maps

Change-Id: I1705706a6b7e25fbab55465f2e20d0b145330b0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255977
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-03 15:22:20 +00:00
Brian Osman
9dac0d8216 Particles: Better integration for ResourceProvider
This untangles some of the dirty state tracking and dynamic rebuilding
support (that's only needed for the GUI editor), so the core code is
more streamlined. It also paves the way for feeding the RP to bindings.

Change-Id: I208ec59622154fdb2845c3ae8f7efb070d1abfc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257476
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-03 14:12:50 +00:00
skia-autoroll
9fe91522ae Roll ../src 8a4500482e8d..bd8110e59b6b (424 commits)
8a4500482e..bd8110e59b


Created with:
  gclient setdep -r ../src@bd8110e59b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC bsalomon@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: bsalomon@google.com
Change-Id: Ib1dc272e19e75a56ef01714e68193556334324fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257559
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-03 04:54:39 +00:00
skia-autoroll
f888b87a74 Roll third_party/externals/angle2 ea0dcd4bda18..fb40d231c3e2 (10 commits)
ea0dcd4bda..fb40d231c3

git log ea0dcd4bda18..fb40d231c3e2 --date=short --first-parent --format='%ad %ae %s'
2019-12-02 jmadill@chromium.org Add new test runner harness.
2019-12-02 syoussefi@chromium.org Vulkan: implement external semaphore barriers
2019-12-02 syoussefi@chromium.org Fix RenderingLimitToDefaultFBOSizeWithNoAttachments test
2019-12-02 syoussefi@chromium.org Add test for multithreaded shared-context resource
2019-12-02 geofflang@chromium.org D3D: Log why a renderer fails to initialize.
2019-12-02 timvp@google.com VULKAN: dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.framebuffer_texture2d
2019-12-02 xinyi.he@arm.com Vulkan: Textures incorrect on Android maps with Vulkan Backend
2019-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader fb7ca1d5aca5..b64fbfec4dcd (3 commits)
2019-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src b334829a91d6..47f3eb42641b (1 commits)
2019-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 38b4db48f98c..83af46951202 (1 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC bsalomon@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: bsalomon@google.com
Change-Id: I7525483e0e5100dfac7f0829e5fd9d0aaf8148a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257558
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-03 04:36:39 +00:00
recipe-roller
49e564e5e0 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/3f4fe7e32cfe34f02d0244ba6cb73cc5ba58c9be [resultdb] Add empty resultdb module (nodir@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5ef915676ed533f87d236835f8a7e31b9216b854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257513
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-12-03 02:39:49 +00:00
recipe-roller
e9df32b09f 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/496f6008a295bf9cb8cb1eb6571a83c314ed7d28 [path] Run YAPF (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib47a7e9aaf45341643339be3a0e96d3263d80ede
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257509
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-12-03 01:53:48 +00:00
recipe-roller
bf6b0b251e 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/6d31ed5d639e0bead9080b6543f8c1e6b69b0221 cpplint: Fix Python 3 errors. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8594a8acc84a2180f3647012571d247e8fa2a856
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257536
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-12-02 23:34:38 +00:00
John Rosasco
e4653925ce skqp CIPD upload infra for Fuchsia
Change-Id: I4733e6ea234874d78158d4509fafdef8371659f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257499
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-02 22:55:08 +00:00
Mike Klein
8ebac1732c remove T*/void* union in SkTArray
Another memcpy-doesn't-activate-union-fields bug for GCC, I think.

As far as I can tell this union is completely pointless, and this is so
prehistoric git blame doesn't help. (svn blame wouldn't even.)  I don't
really want to know.

Change-Id: I5a67469337752986c6a5979d91cb56417955d019
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257445
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-02 22:08:29 +00:00
Mike Klein
73ac393064 tweak for GCC, memcpy() -> for-loop
I think GCC with optimization is getting confused about what field of
this union is active, and then triggers a crazy warning about
memcpy()'ing (size_t)-1 bytes.

Reading the rules about unions, I think it might be that really only "="
is ever able to switch which union field is active, and our memcpy()
here really doesn't technically work to change the active field.

Change-Id: Ibe33143161935d5e39b9a2f5d35560e4961056e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257444
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-02 21:57:19 +00:00
Mike Klein
0f9df470ca remove pointless tests
Why are we testing how memset() and snprintf() work in
tests/StringTest.cpp.  Nevermind, I don't want to know...

Change-Id: Ic8608fea95635ee2fbb7da34a195de73d7a1444a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257415
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-12-02 21:27:39 +00:00
Greg Daniel
369ee6bbdb Update GrSwizzle to only store key and not string.
Change-Id: Ieaba188e620e5c1f1d423109e628b0ca78f3afe0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257394
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-12-02 21:11:08 +00:00
recipe-roller
81f6037fb0 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/02b5af35755b90057b87f48afe9d7faa1de5d97f fix hashtags: double colons are not hashtags (apolito@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I453f1042f4fba96cf0f4ba87fa94b6a0e7d16f7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257414
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-12-02 20:39:38 +00:00
Brian Salomon
7eabfe873b This is a reland of GrDomainEffect with significant changes:
1) It correctly handles GPs that have a local matrix

2) It applies its rectangle after the child FP's coord transform. It makes
the child's transform be a no-op and the builder will no longer insert code
or uniforms for the child transform. The domain effect adds its own coord
transform with the same settings as the child's original transform. The result
is that the generated code only has one coord transform matrix and that matrix
is applies in the vertex shader. The previous version of this effect applied
the transform in the fragment shader.

Bug: skia:9570

Change-Id: I514e959414aebe240e9f99e30f13265d8751b656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257054
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-12-02 20:25:07 +00:00
recipe-roller
63ebfe0392 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/b4307d5c14decea515c4559863a30e23adcb04c4 Switch yapfignore to fnmatch (bsheedy@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I849e5db7e0a6fc3e5efbdcdc5fe3d9880a118e73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257406
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-12-02 20:04:07 +00:00
Michael Ludwig
08bd1f7300 Compare textureType separately from backend format
Prior CL had assumed GrBackendFormat == incorporated the texture type,
since it currently owns that, but that is not the case. So when the
texture type comparison was dropped, textures could be batched when they
shouldn't have, particularly external vs. 2D.

Bug: b/145261411
Change-Id: I9497fc17c7f82b4016cbf1a752f93946615de2dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257390
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-02 19:58:37 +00:00
Stan Iliev
cdf1bc3bd3 Expose SkRuntimeShaderFactory class to clients
Test: Build and linked android
Change-Id: Ia98063fba2d2124335d71a5b1fe3a63f0c065f1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257327
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2019-12-02 19:53:37 +00:00
Julia Lavrova
3281b961c5 A new API call on Paragraph: a number of unresolved glyphs
Change-Id: Iba33c0df4aa9f2dc9b816c0954980ac8a971909b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257326
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-12-02 19:23:45 +00:00
Mike Klein
122eda7877 replace SkColorSpaceXformSteps::Required()
It's error-prone to ask if a color space transform is required without
explicitly mentioning alpha types.  I think the whole method can be
replaced by a friendlier constructor and direct use of flags/mask:

    SkColorSpaceXformSteps::Required(src.colorSpace(), dst.colorSpace())

        ~~~>

    0 != SkColorSpaceXformSteps(src, dst).flags.mask()

This removes the unexpected gray square from the fiddle in skia:9662.

Bug: skia:9662
Change-Id: Id54cae534023ab29c94dcc149e6b67fc9c166665
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257399
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-02 18:21:05 +00:00
Mike Reed
2e3be5648a Reland "fix sense of ifdef for deprecated method"
This reverts commit b97a24a009.

Reason for revert: flag added to chrome

Original change's description:
> Revert "fix sense of ifdef for deprecated method"
> 
> This reverts commit aa98dd3d27.
> 
> Reason for revert: broke chrome, easy to add a flag there
> 
> Original change's description:
> > fix sense of ifdef for deprecated method
> > 
> > Change-Id: I32164225750b23e1cc26aa36a60feda27bbd90a8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257319
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=bungeman@google.com,kjlubick@google.com,fmalita@chromium.org,reed@google.com
> 
> Change-Id: I629bbd7f04a4ac8227c62f4d05cf2cb2601900c3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257328
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,kjlubick@google.com,fmalita@chromium.org,reed@google.com

Change-Id: If4c1e2a51fc8bc34f8053d716efea55e809967f7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257378
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-02 17:45:26 +00:00
Mike Reed
b97a24a009 Revert "fix sense of ifdef for deprecated method"
This reverts commit aa98dd3d27.

Reason for revert: broke chrome, easy to add a flag there

Original change's description:
> fix sense of ifdef for deprecated method
> 
> Change-Id: I32164225750b23e1cc26aa36a60feda27bbd90a8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257319
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,kjlubick@google.com,fmalita@chromium.org,reed@google.com

Change-Id: I629bbd7f04a4ac8227c62f4d05cf2cb2601900c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257328
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-02 16:45:39 +00:00
Mike Reed
aa98dd3d27 fix sense of ifdef for deprecated method
Change-Id: I32164225750b23e1cc26aa36a60feda27bbd90a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257319
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-02 16:17:34 +00:00
skia-autoroll
d523ce04e7 Roll ../src c8e3617e402d..8a4500482e8d (272 commits)
c8e3617e40..8a4500482e


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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC bsalomon@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: bsalomon@google.com
Change-Id: I6165c9fa7e5d8c468504b9b80221915577bb7ac7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257309
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-02 04:50:40 +00:00
skia-autoroll
9fb322979a Roll third_party/externals/angle2 bc82fb14aab4..ea0dcd4bda18 (7 commits)
bc82fb14aa..ea0dcd4bda

git log bc82fb14aab4..ea0dcd4bda18 --date=short --first-parent --format='%ad %ae %s'
2019-11-29 amaiorano@google.com Use Vulkan rectangle lines to emulate OpenGL multisampled lines
2019-11-29 syoussefi@chromium.org Ignore .git_cl_description_backup
2019-11-29 syoussefi@chromium.com Update flex and bison binaries for Windows.
2019-11-29 syoussefi@chromium.org Update flex and bison binaries for Linux.
2019-11-29 syoussefi@chromium.org Infrastructure for uploading flex/bison binaries
2019-11-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 61050599ec0f..4fde9b750992 (1 commits)
2019-11-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader d6e903bdc9ef..fb7ca1d5aca5 (13 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC bsalomon@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: bsalomon@google.com
Change-Id: I065ad79945173b78a7bc6e2ffc08ab6fb70062db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257308
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-02 04:47:10 +00:00
skia-autoroll
d050e5a75e Roll third_party/externals/swiftshader fb7ca1d5aca5..b64fbfec4dcd (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fb7ca1d5aca5..b64fbfec4dcd

git log fb7ca1d5aca5..b64fbfec4dcd --date=short --first-parent --format='%ad %ae %s'
2019-11-30 bclayton@google.com VkPipeline: Replace spirv-opt list with RegisterPerformancePasses()
2019-11-29 paulthomson@google.com Regres: refactor for use as a library
2019-11-29 swiftshader.regress@gmail.com Regres: Update test lists @ fb7ca1d5

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC bsalomon@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: bsalomon@google.com
Change-Id: I1352bb668ce964870dfc1e033f5d671e65848d02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257307
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-02 04:34:50 +00:00
skia-recreate-skps
fd0c257451 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I5129dfa31a06c272ae1ce8a24988c0182201b923
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257302
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-12-01 08:15:09 +00:00
recipe-roller
40d34e3651 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/5ae4817ada0bd02f8c0d9f141d0f3c65701068a5 Move .git_cl_description_backup to depot_tools dir (hferreiro@igalia.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If242aae93ee4ffd1c290d48282980c17c5d45747
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257265
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-11-29 16:49:47 +00:00