Commit Graph

42214 Commits

Author SHA1 Message Date
recipe-roller
fc33e01353 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/5e72c468299a968684d6d458536719dc41085faf [buildbucket] Field mask in schedule requests (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I589740310f8c85d00ee73e185f318bc78890d9fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218819
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-05 22:42:33 +00:00
Mike Klein
6b43c30cd7 add mad_unorm8 instruction
At some point adding more and more complex instructions reduces
to the absurdity of SolveTheWholeProblem-The-Instruction, but
I think this one will come up often enough to still make sense.
mad() makes sense for unorm8 just about everywhere mad() makes
sense for f32.

This instruction won't matter to a JIT, but helps the interpreter.

Change-Id: Iace92296cffbb6fbc3acd1f853cb01c51792f796
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218716
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:46:02 +00:00
Mike Klein
e4227613e7 use u32 in mul_unorm8
This lets the compiler know the /256 can be >>8 like we'd want it to be.
At head the compiler does a signed divide using two shifts and an add.

Before:
 49b:   49 c1 e1 07                     shl    $0x7,%r9
 49f:   48 c1 e0 07                     shl    $0x7,%rax
 4a3:   c5 fd 6f 04 01                  vmovdqa (%rcx,%rax,1),%ymm0
 4a8:   c4 a2 7d 40 04 09               vpmulld (%rcx,%r9,1),%ymm0,%ymm0
 4ae:   c5 fd 6f 4c 01 20               vmovdqa 0x20(%rcx,%rax,1),%ymm1
 4b4:   c4 a2 75 40 4c 09 20            vpmulld 0x20(%rcx,%r9,1),%ymm1,%ymm1
 4bb:   c5 fd 6f 54 01 40               vmovdqa 0x40(%rcx,%rax,1),%ymm2
 4c1:   c4 a2 6d 40 54 09 40            vpmulld 0x40(%rcx,%r9,1),%ymm2,%ymm2
 4c8:   c5 fd 6f 5c 01 60               vmovdqa 0x60(%rcx,%rax,1),%ymm3
 4ce:   c4 a2 65 40 5c 09 60            vpmulld 0x60(%rcx,%r9,1),%ymm3,%ymm3
 4d5:   c4 e2 7d 58 25 00 00 00 00      vpbroadcastd 0x0(%rip),%ymm4        # 255
 4de:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 4e2:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 4e6:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 4ea:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4ee:   c5 dd 72 e0 1f                  vpsrad $0x1f,%ymm0,%ymm4
 4f3:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 4f8:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4fc:   c5 fd 72 e0 08                  vpsrad $0x8,%ymm0,%ymm0
 501:   c5 dd 72 e1 1f                  vpsrad $0x1f,%ymm1,%ymm4
 506:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 50b:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 50f:   c5 f5 72 e1 08                  vpsrad $0x8,%ymm1,%ymm1
 514:   c5 dd 72 e2 1f                  vpsrad $0x1f,%ymm2,%ymm4
 519:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 51e:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 522:   c5 ed 72 e2 08                  vpsrad $0x8,%ymm2,%ymm2
 527:   c5 dd 72 e3 1f                  vpsrad $0x1f,%ymm3,%ymm4
 52c:   c5 dd 72 d4 18                  vpsrld $0x18,%ymm4,%ymm4
 531:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 535:   c5 e5 72 e3 08                  vpsrad $0x8,%ymm3,%ymm3
 53a:   e9 71 02 00 00                  jmpq   7b0

After:
 49b:   49 c1 e1 07                     shl    $0x7,%r9
 49f:   48 c1 e0 07                     shl    $0x7,%rax
 4a3:   c5 fd 6f 04 01                  vmovdqa (%rcx,%rax,1),%ymm0
 4a8:   c4 a2 7d 40 04 09               vpmulld (%rcx,%r9,1),%ymm0,%ymm0
 4ae:   c5 fd 6f 4c 01 20               vmovdqa 0x20(%rcx,%rax,1),%ymm1
 4b4:   c4 a2 75 40 4c 09 20            vpmulld 0x20(%rcx,%r9,1),%ymm1,%ymm1
 4bb:   c5 fd 6f 54 01 40               vmovdqa 0x40(%rcx,%rax,1),%ymm2
 4c1:   c4 a2 6d 40 54 09 40            vpmulld 0x40(%rcx,%r9,1),%ymm2,%ymm2
 4c8:   c5 fd 6f 5c 01 60               vmovdqa 0x60(%rcx,%rax,1),%ymm3
 4ce:   c4 a2 65 40 5c 09 60            vpmulld 0x60(%rcx,%r9,1),%ymm3,%ymm3
 4d5:   c4 e2 7d 58 25 00 00 00 00      vpbroadcastd 0x0(%rip),%ymm4        # 255
 4de:   c5 e5 fe dc                     vpaddd %ymm4,%ymm3,%ymm3
 4e2:   c5 ed fe d4                     vpaddd %ymm4,%ymm2,%ymm2
 4e6:   c5 f5 fe cc                     vpaddd %ymm4,%ymm1,%ymm1
 4ea:   c5 fd fe c4                     vpaddd %ymm4,%ymm0,%ymm0
 4ee:   c5 fd 72 d0 08                  vpsrld $0x8,%ymm0,%ymm0
 4f3:   c5 f5 72 d1 08                  vpsrld $0x8,%ymm1,%ymm1
 4f8:   c5 ed 72 d2 08                  vpsrld $0x8,%ymm2,%ymm2
 4fd:   c5 e5 72 d3 08                  vpsrld $0x8,%ymm3,%ymm3
 502:   e9 79 02 00 00                  jmpq   780

Change-Id: If38f59aeb3c37aba365e647cda1a753819a16aa8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218613
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:37:44 +00:00
Mike Klein
f1df3979c6 tidy up register allocation
- stack allocate up to 16 registers (up to 2KB)
   - align the heap fallback without loop
   - assert the heap fallback is aligned

Change-Id: I8d314c29967731a78aeceea179adfc40694f0606
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218601
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 20:28:42 +00:00
recipe-roller
e0d90c84e4 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/affd410d415a1bb443b695b673e8175c3f0bcd4c gclient: Report only the origin to metrics collection. (ehmaldonado@chromium.org)
  https://crrev.com/822dbc51a298688c61e4dd8c40fbc714e1460663 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: Ibbbf77de568a77a1e6768b6bd09d1accb72ef54a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218605
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-05 18:49:08 +00:00
Chris Dalton
5b5403e75b ccpr: Preserve fill rules for cached paths
Fixes a bug where even-odd fill rule was not being preserved on paths
that were reused from a stashed fp16 coverage count atlas.

Bug: skia:8782
Change-Id: I6698498a6f4c8df8eff10b19beb80e49663a577c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218047
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-06-05 18:24:08 +00:00
recipe-roller
928b2997b3 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/075cb05bdeb5eb7f42cf259a5a40eebf54dc21dd tryserver: add a 10 minute timeout on fetching CL info from gerrit. (jbudorick@chromium.org)


R=stephana@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I35bba11e42d94b1f91735ee503331f7b60153ab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218540
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-05 18:04:47 +00:00
Greg Daniel
c5167c053b 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>
2019-06-05 17:37:11 +00:00
Brian Salomon
d1bc240f15 Use 1e-4 rather than 1e-5 as "nonZeroAlpha" in various shader code.
1e-5 may be zero in fp16.


Bug: skia:9099
Change-Id: I28a518f5cf1aa7926f7422625c0f14ed1a082809
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218558
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-05 17:15:04 +00:00
Greg Daniel
6565506463 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>
2019-06-05 17:04:31 +00:00
Mike Klein
754bad3f38 hoist loop-invariant code out of the loop
I'm of two minds about this... it adds register pressure and really only
tends to hoist few instructions that are fairly cheap anway.  On the
other hand, it's neat, it's easy to turn off (just set the initial
hoist value to false in Builder::push()) and it does deliver a
noticeable though slight performance improvement in the interpreter.

I think the final decision will probably come down to what we think
about maintainability?

Change-Id: Idd6346f70f03188917918406731154246a7c6fcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218584
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-05 16:31:41 +00:00
Greg Daniel
4d74f605d7 Make feature structs on GrVkBackendContext const.
Change-Id: I6655c2458a4a9b007cb3d5e100f5368697a0f6bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218547
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-05 15:56:00 +00:00
Hal Canary
27a7431b81 SkPDF: clean up image shader code
simplify dedup key

Change-Id: I0fd2a7357130c73dbfa799ade0ff443b74d72993
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218542
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-05 15:55:10 +00:00
Brian Salomon
68ba117a6f GrShaderCaps always stores config texture swizzles.
Previously the swizzles were all "rgba" when GL texture swizzle was
used. This made it impossible to know the component mapping in that
case from API-neutral code.

Change-Id: I5e55fec87f0de2f8d43d8dc7759125482fccd91c
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218280
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-05 15:42:30 +00:00
Brian Osman
6386efa1dd Remove unused "DropsTileOnZeroDivide" caps bit
Change-Id: I545d75a5b95833c6a78f225769ea30656700f785
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218543
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-05 15:38:07 +00:00
Brian Osman
95253bd0ac Fix SkSL standalone compile errors
With clang-cl, at least, I need these changes to build with
skia_compile_processors = true

Change-Id: I9221355f135ee66af0b172ce7ac56e4ea077214e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218539
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-06-05 14:57:01 +00:00
Michael Ludwig
de4c58cbac Combine GrPerspQuad and GrQuad
Also moves GrQuadType to an inner enum of GrQuad as GrQuad::Type.
Renames some of the types for improved clarity (IMO)

Change-Id: I2c91d60374d2b7c414034e9fe0b0113a794bd610
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216604
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-05 14:42:21 +00:00
Greg Daniel
6eb8c24009 Move readSurfacePixels and writePixelSurface into GrSurfaceContext.
Change-Id: I22770826e973a0e4c881bc74bcb3793c604887c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218193
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-06-05 14:34:04 +00:00
Mike Klein
c2d9a3145b Revert "print 1/K floats as fractions"
This reverts commit 346f82c1c3.

Reason for revert: *SAN bots

Original change's description:
> print 1/K floats as fractions
> 
> Change-Id: Id00cbd0950e77debb5ab5d45541dc0f8d13a3c42
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218338
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: Ic35cec97d2dc2c1e19dbdf8ea7b505ad75072da1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218529
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-05 14:12:26 +00:00
Robert Phillips
c70ed90f59 Revise GrDataUtils to be more self-contained
This makes the GL and Vk backends share more code and sets up for the Metal implementation.

Change-Id: Idcc434f54bcfd1ef5963abe85cadbd807783299c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217956
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-05 13:58:35 +00:00
Jim Van Verth
90ef39f806 Add GrCFResource::reset() to allow Chrome to transition to sk_cf_obj.
Chrome is using operator= to set the Metal texture resource, but
sk_cf_obj doesn't support that for the bare object. This will allow
me to transition them to reset() instead.

Change-Id: Iadfb9624fac2ee6292e3d3f16057a19c683923e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218537
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-05 13:55:05 +00:00
Brian Salomon
e2826ab59c Add API to invalidate GL texture parameters from GrBackendTexture.
This is modeled on how we coordinate VkImage layout changes between
GrContext and clients.

A type GrGLTextureParameters is used to track the current parameter
state.

When a client creates a GrBackendTexture in order to wrap a resource
they created a new GrGLTextureParameters is created and the wrapped
GrGLTexture will share ownership.

When GrContext creates a non-wrapped GrGLTexture, the GrGLTexture
creates a new GrGLTextureParameters and any GrBackendTextures created
from that GrGLTexture will share ownership.

Clients indicate parameter changes by calling
GrBackendTexture::glTextureParametersModified().

We still assume all texture parameters may have changed after a call
to GrContext::resetContext() (for now). The "timestamp" that is used
to implement this has been moved from GrGpu to GrGLGpu as there were
no other use cases.

Change-Id: Ic24e00488fad254a29d5eec6890278b67df6efae
Bug: skia:7966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217385
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-05 13:50:25 +00:00
skia-autoroll
9893f8e151 Roll third_party/externals/angle2 2dd40a44d1a6..3c219171135d (5 commits)
2dd40a44d1..3c21917113


git log 2dd40a44d1a6..3c219171135d --date=short --no-merges --format='%ad %ae %s'
2019-06-05 spang@chromium.org Add ARM vendor id
2019-06-04 jmadill@chromium.org Vulkan: Store array buffer conversions in BufferVk.
2019-06-04 jonahr@google.com Rename EGL_ANGLE_workaround_control to EGL_ANGLE_feature_control.
2019-06-04 syoussefi@chromium.org Vulkan: Process dirty framebuffers first
2019-06-04 syoussefi@chromium.org Vulkan: Rename Resolve* shaders to BlitResolve


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

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: Ic0c634bfa5433b630ebcd51897831d27762f7331
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218463
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-05 05:51:56 +00:00
skia-autoroll
7e2c3cdbb2 Roll ../src ce989eacabd7..72cb69b7908e (348 commits)
ce989eacab..72cb69b790


Created with:
  gclient setdep -r ../src@72cb69b790

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: I99bf926dadd6e3b73797b907522afdcd6e050d09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218464
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-05 04:54:56 +00:00
skia-autoroll
57bc74b619 Roll third_party/externals/swiftshader 79d4ac9ab695..5b424e69101a (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/79d4ac9ab695..5b424e69101a


git log 79d4ac9ab695..5b424e69101a --date=short --no-merges --format='%ad %ae %s'
2019-06-04 sugoi@google.com Revert Chromium vulkan unit test build for now
2019-06-04 sugoi@google.com Build fix for MacOS and Fuchsia


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

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: I6e239f3d5086d943240bc5768e6dcfadd66a5447
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218462
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-05 04:32:16 +00:00
recipe-roller
89fc1db4e8 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/7bd3deb9c112801932856d8f18edddd62dffa9cf [isolated] Roll client (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7c1104fb64a1031b22b22b7f709abd4386780b76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218224
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-05 00:52:04 +00:00
recipe-roller
bb365e2c53 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/b70069b5465136f8634c5694b714b1b4421276f5 Remove swarming_task from StepData. (karenqian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia7a5ee39ce96b4d2316be90aaf362a93c633b88c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218339
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-04 23:52:32 +00:00
Mike Klein
346f82c1c3 print 1/K floats as fractions
Change-Id: Id00cbd0950e77debb5ab5d45541dc0f8d13a3c42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218338
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 21:11:22 +00:00
Mike Klein
eb1fe8fb54 move peepholes where they're relevant
Much easier to reason about in each method.
And extend extract->shr special case to any right shift.

Change-Id: If6af83cf07b2c300cf47816c4c15d717e4d49a8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218337
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 20:56:12 +00:00
Florin Malita
1c44db15d1 [skottie] Initial text range selector support
Each animator can have multiple range selectors, whose combined "coverage"
modulates how the animator props compose with other/initial props.

Since there can be multiple animators with different/arbitrary selectors,
we compute independent property values for each fragment.

Supported features:

 - start, end, offset, amount
 - units: percentage, index
 - based-on: characters-only for now
 - mode: add-only for now
 - shape: square-only for now

Change-Id: If7fee46ffb29e1f92542822481ed699fd0b0b521
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218076
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-04 20:50:32 +00:00
Mike Klein
771633190e print SKVM test failures
Can sometimes be hard to know what's going on
on the bots without a little bit more debug help.

Change-Id: Ie556a8de88349170e9d9e44c16098223442838a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218316
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 20:33:42 +00:00
Mike Klein
cf0daac980 allow two immediates
This lets us move the calculation of extract's shift up to Builder time.

Most immediates live in y.imm now, with extract using both y.imm (mask)
and z.imm (shift), and pack using z.imm for its shift because it needs
both x and y regs.

Change-Id: I0081382f4d4c02198cae5819294b3adeea7341bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218249
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-06-04 20:18:12 +00:00
Robert Phillips
4bdd36f625 Make color initialization version of createBackendTexture public
Mechanical.

Change-Id: I48be78a12684fc5243ee509e391984daa190fb7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-04 20:12:22 +00:00
Mike Klein
a4bb020636 add SkVMBuilders.* to DM deps in G3
Needed since https://skia-review.googlesource.com/c/skia/+/218041

Change-Id: I914c22e62d96b423041e4810a41b892789030510
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218336
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-06-04 18:42:23 +00:00
Michael Ludwig
d17e05aeda Extract GrQuadList into separate header
Change-Id: I152ea5a40c4cc65ef5250ca575622a25cf6d1d2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216603
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 18:08:06 +00:00
Eric Boren
6fed6d320b [infra] Fixes for chrome_release_branch
Change-Id: I5bccb29582f894c982de78e41fd5dbf3888b9be1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218190
Commit-Queue: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-06-04 17:41:50 +00:00
Mike Klein
3c00d3d379 dump register and instruction count
Change-Id: Ib0d4f354787e413749fdda8b59ccc2f94472b0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218243
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 17:27:29 +00:00
Mike Klein
9656dcedc2 add extract instruction
Kind of the flip side of pack.

Made slightly awkward by instructions having only one immediate...
calling _BitScanForward / __builtin_ctz() at runtime seems to work
fine, but it really could have been done at compile time.

Change-Id: Ic83fe8e0a1603fb9189598dcc26c842cc797bf45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218241
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 17:23:49 +00:00
Mike Klein
1665aaa5fd add pack instruction
This instruction can lower to some useful SSE/NEON
instructions, and even if not, is a handy way to
express the frequent paring of << and |.

I32_SWAR:  2.3 -> 1.9
I32:       2.6 -> 2.4
F32:       5.1 -> 4.7

Change-Id: Ia169ad40f0aaef32417e05d9bf91c2d2542e7b5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218238
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 17:14:49 +00:00
recipe-roller
87e0147b85 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/2c48f24c7f88f2f09821db492e8cc9a4361ded58 git-cl: Report presubmit execution time. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1ca5787680c24b318f7b1de7e541d1662009462b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218189
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-04 17:04:19 +00:00
Mike Klein
d7d04dc5eb add mul_unorm8 instruction
Another way for an interpreter to go faster
is to provide better instructions.

mul_unorm8 is one we use all the time.

Drops _I32 bench from ~3.6ns/px to ~2.6ns/px.

Change-Id: I9d08914c114048b79075796af9ec802236b35706
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218236
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-04 16:59:49 +00:00
Mike Klein
7b7077cc36 centralize test/bench SkVM builders
Eliminate the duplicate functionality,
and better testing for the bench builders.

Change-Id: If20e52107738903f854aec431416e573d7a7d640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 16:55:59 +00:00
skia-autoroll
ac79ca16c6 Roll skia/third_party/skcms ca5b4470be98..386ae89d2b64 (1 commits)
https://skia.googlesource.com/skcms.git/+log/ca5b4470be98..386ae89d2b64

2019-06-04 mtklein@google.com turn on more FP16 tests


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: Iecd9c740fde66460e7a3bf38bb1a24eb9a017288
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218237
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-04 16:08:23 +00:00
Robert Phillips
806267973f Switch all internel uses of GrContext::createBackendTexture over to initialized versions
For Skia's testing we always want an initialized backend texture. Except for the
BackendAllocationTests of course.

Change-Id: I47b5e4c9845b3f58ebad5ba052780a69d6cd6954
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216348
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-04 14:42:27 +00:00
Jim Van Verth
81b7e3df38 Create FenceSync implementation that works for all Metal configs
Bug: skia:8243
Change-Id: I609db0bf4183b3508c002f9f2d0a8a70a276edca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217942
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-04 14:30:32 +00:00
Herb Derby
baf64786ba Convert over more sites to SkStrikeSpecStorage, and remove unused calls
Convert over remaining callsights for strike lookup, and reduce the SkStrikeCache
API.

- one friend decl.

Change-Id: I109a747061030f26ff908472ea55a4424d5c10f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209109
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-04 14:11:45 +00:00
Ravi Mistry
048413400a Add Tecno Spark3 Pro devices to the tree
All 5 bots are here:
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-004
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-057
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-009
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-113
* https://chromium-swarm.appspot.com/bot?id=skia-rpi-114

Bug: skia:9087
Change-Id: I5988787439a0a174ed97ad97a597a5dbd66c922b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217897
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-04 13:42:55 +00:00
Michael Ludwig
663afe501a Move GrPathUtils, GrRect, and GrShape into src/gpu/geometry/
Change-Id: I864d3c2452f3affdc744bf8b11ed3b3e37d6d922
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216602
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 13:36:05 +00:00
recipe-roller
62fd2c32bb 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/8c2c028496f3b8e47034e45682a41be3405dbaeb Add cpu cost classes to api.step. (iannucci@chromium.org)
  https://crrev.com/c2b6b7ae345169e8f0a09f767467ddd897542a25 Fix fake_kitchen.sh on windows. (iannucci@chromium.org)
  https://crrev.com/b1c18614e63aeb781c75681f5ff393576dc9e8ab Fix logdog client library on windows. (iannucci@chromium.org)
  https://crrev.com/ac2632016e98b767225c2f1328418c1167618efe [step_runner/subproc] Refactor handle closing out of main function. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I313e3cbcf5289938fbb89f6b7bd30b4766cf5868
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218177
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-04 12:21:26 +00:00
Brian Osman
32c526b1d9 Interpreter: Minor cleanup of opcodes
Some were unused, others are only used (and implemented) as scalar.

Change-Id: I0c3127e2b1e98303299517967c513d893a65e1ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-04 11:45:06 +00:00