Commit Graph

43138 Commits

Author SHA1 Message Date
Robert Phillips
f9fcf7ffa8 Alter approximate scratch texture binning after 1024
As the powers-of-2 get larger the coarse binning can burn a lot of VRAM.

Granted it isn't the best metric but, with this CL, the number of textures created and scratch textures reused remains unchanged when running the GMs.

Change-Id: I84abbbae0ed01aabb387671b5ee0e4fcdb82b671
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226226
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-11 13:29:41 +00:00
Leon Scroggins
aed8009a6d Revert "Update Wuffs version"
This reverts commit 42ece2b7c9.

Reason for revert: Requiring the latest version of wuffs broke the flutter roll.

Original change's description:
> Update Wuffs version
> 
> The primary purpose of this commit is to track upstream Wuffs more
> closely.
> 
> A side effect is to pull in the Wuffs commit
> 5bea867f72
> "Allow an LZW literal width of 1", which eliminates a difference between
> the old third_party/gif decoder and the new third_party/wuffs decoder.
> 
> As the CodecTest.cpp comment says, the GIF spec explicitly says that the
> LZW literal width should be at least 2, but in practice, GIF encoders
> violate the spec. After that upstream commit, Wuffs has followed other
> GIF decoders in being more liberal in what it accepts.
> 
> Codec_InvalidAnimated therefore no longer has a separate "#ifdef
> SK_HAS_WUFFS_LIBRARY" section. The first frame of the test's GIF image
> data, being the required frame of the third frame, no longer has an
> invalid LZW literal width according to Wuffs.
> 
> Bug: skia:8235
> Change-Id: Ie94537f5232128ffc1d1547f4c0b84992e54ab02
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226476
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>

TBR=scroggo@google.com,nigeltao@google.com

Change-Id: I9e636e81f57eefd836a53738872ddb9f5c9b13c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8235
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226697
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-07-11 13:14:33 +00:00
Eric Boren
620b7e9b01 [infra] No relative path for infra_tests.isolate
This should allow dependent repos to use their own version of this
isolate file.

Change-Id: I4afe08cc35da51f4bade0c4a80964dcece91bd8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226514
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-11 12:40:21 +00:00
recipe-roller
4e6a4416e5 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/78dec0421b6903c0d260d51aff69d6b7ebf09781 Show nice error on failure to enumerage input files. (eliribble@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iaa2eaf4cd30568b438423a054b0c7f7bd764cb16
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226747
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-07-11 05:38:30 +00:00
skia-autoroll
e56292cb8c Roll third_party/externals/angle2 4e71b2bc2546..9668237739a2 (7 commits)
4e71b2bc25..9668237739


git log 4e71b2bc2546..9668237739a2 --date=short --no-merges --format='%ad %ae %s'
2019-07-11 jiajia.qin@intel.com Fix the RTV and SRV conflict
2019-07-11 shrekshao@google.com Add flags to shader translator to emulate gl_BaseVertex and gl_BaseInstance
2019-07-11 kbr@chromium.org Support blitFramebuffer to and from IOSurface-backed textures.
2019-07-10 jonahr@google.com Fix CopyTexture to support GL_LUMINANCE/ALPHA/LUMINANCE_ALPHA
2019-07-10 jonahr@google.com Update trigger.py to take extra arguments
2019-07-10 timvp@google.com Vulkan: Fix khr-gles3.shaders.uniform_block.common.name_matching test failure
2019-07-10 geofflang@chromium.org GL: Implement EGL_ANDROID_native_fence_sync


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

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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
TBR=fmalita@google.com

Change-Id: Iba322249c5820cc63a131c1affd2d636b36f489c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226736
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-11 05:37:10 +00:00
skia-recreate-skps
0aa1858c8d Update Go deps
Change-Id: Ifc719381e4af167c4f6b9fdf4735700176b57a56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226745
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-11 05:29:00 +00:00
skia-autoroll
07a5906a43 Roll ../src 9d81bd852e09..17462d53f92d (335 commits)
9d81bd852e..17462d53f9


Created with:
  gclient setdep -r ../src@17462d53f9

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

Change-Id: I8f47501bce14b972a8d08959822cb821044b5b5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226738
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-11 04:53:00 +00:00
skia-autoroll
a3be4d749f Roll third_party/externals/swiftshader 8c4c9e37bf96..28ae0a4b2810 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8c4c9e37bf96..28ae0a4b2810


git log 8c4c9e37bf96..28ae0a4b2810 --date=short --no-merges --format='%ad %ae %s'
2019-07-10 bclayton@google.com Reactor: Add new 'EarlyCSEPass' optimization pass.
2019-07-10 bclayton@google.com Use Nucleus::adjustDefaultConfig for Vulkan's default reactor config.
2019-07-10 bclayton@google.com Reactor: Add support for specifying and modifying default configuration settings.


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

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

Change-Id: I35ec7f7b2a338b91121a895a9d229d6ccfe2efdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226737
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-11 04:37:30 +00:00
recipe-roller
f304969e0f 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/3768f8421f8f62c133221e5da136d578a5d73e03 [lucicfg] Update to the latest version. (vadimsh@chromium.org)
recipe_engine:
  https://crrev.com/ce9672b4fa31f12efc35008478675193aa98a433 [swarming] Update presentation (joshuaseaton@google.com)
  https://crrev.com/c311cdcc9e6de9c2decaa69ce54f9a5fbe00fa16 [isolated] Roll client (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iba9d26b53414f32a2d572277109c38fa190a7bc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226696
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-07-11 01:39:04 +00:00
Brian Salomon
4e9cde8632 Blacklist GrTestingBackendTextureUploadTest on MoltenVk.
TBR: jvanverth@google.com

Change-Id: I4c254fae30ee30bb4f84140f47cc69c9bfa1b8cd
Bug: skia:9247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226676
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-11 00:38:43 +00:00
Brian Salomon
c38cfa99a7 Third land of "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles"
Fix: Use non-zero rowbytes when uploading zeros for initial texture clear

This reverts commit f16020ba1b.

Bug: chromium:981254
Change-Id: Iafd5893dd1b397ec1d91c64d48d46059e62488a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226557
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-10 22:58:58 +00:00
Greg Daniel
554b492ace Add missing RGB_888x colorType to GL RGBA format.
Bug: b/137017906
Change-Id: I98bfc9607fa78536e1cf44707636558ed1980b4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226616
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-07-10 22:38:07 +00:00
recipe-roller
0797a3bd85 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/b077e6d7b5e202070b28b0e7e1be95396c423eec [fetch] Actually fetch from the provided ref. (iannucci@chromium.org)
  https://crrev.com/4cf2107dcc2dd67bb3e84154700ee5023eea02b3 [fetch] Fix docstring typos/inaccuracy. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I15d78a3c66ef240544a6284866a972afc9f12f6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226602
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-07-10 22:29:47 +00:00
Mike Klein
49d32524f4 lifetime analysis readability refactor
This is basically a no-op CL, with two changes designed to make
SkVM lifetime analysis easier to reason about:

  1) rename Analysis.life to Analysis.death,
     since it indicates the instruction when the value dies
  2) use death == 0 to mark dead code instead of an NA sentinel

The life->death change really is just a naming thing, something I
realized makes a little more sense this way around after talking about
how this code works out loud.  'death' holds the time of a Val's death.

The second change also isn't very important, but I realized that there
is a perfectly good in-band value to mark dead code, 0, and there's no
need to use NA as a sentinel.  If we mark an instruction as death == 0,
that indicates the value is needed only until instruction 0 executes,
i.e. never.  They're sort of pre-dead.  This cuts one of the overloads
for what NA means in SkVM.cpp; now it only means "no value".

All the code that tested against the NA sentinel now tests against 0
instead.  We could go a step further and rewrite the tests to be death >
id for live code or death < id for dead code, but that amounts to
roughly the same thing in the end: instructions either live for some
time with a death that is later than their own ID, or are dead with
death == 0.  There is some small ambiguity around whether we should mark
store instruction's deaths as id or id+1 and which of the tests should
be <= or >=, but checking against 0 makes that all moot, and I think the
checks also stand out more clearly with the literal '0' in the code.

This is a little warmup to refamiliarize myself with the code, with an
ultimate goal of moving hoisting and register assignment to the backends
so they can be influenced by instruction selection: platform specific
ways to handle immediates or splats, choosing destination registers and
instructions that play well with the available argument registers, etc.

Change-Id: I6978abf0bd01dcd0e7a142d632826e7692060ade
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226549
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-10 22:00:37 +00:00
Brian Osman
6b03ea0905 Remove MSVC 2015 toolchain remnants
We haven't built with 2015 in a long time (and are no
longer able to). Also, this asset doesn't exist (it is
available as V6 of win_toolchain, though).

Change-Id: I5113293e9b9d6652520029f003a29d1c52d092e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226559
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-10 21:46:57 +00:00
Robert Phillips
409d2aa8bf Fix assert
Change-Id: I23a88524d741cecefa16ae7e364d2294db1c6030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226508
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-10 21:41:27 +00:00
Brian Salomon
9e9ea91092 Try GrGLSizedInternalFormat enum
Change-Id: I970fe3547caf4fa363f20aa8246b293a19c4ba8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226225
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-10 21:30:38 +00:00
Stephen White
0d70b716ca Add first Dawn dependencies.
Add Dawn repo to DEPS.
Add skia_use_dawn flag to BUILD.gn (default false).
Add Metal.framework for Mac when building for Dawn/Metal.
Add d3d12, dxgi, d3dcompiler libs when building for Dawn/D3D12.
Disable SPIRV validation when building for Dawn.
Add BUILD.gn for dawn and dawn/third_party libraries.

(Note that I had to split the declare_args() section of BUILD.gn
into two, so that I could refer to skia_use_dawn in skia_enable_spirv_validation.
If there's a better way to do this, I'm open to suggestions.)

Change-Id: I9bdaf990694f6b8bcce6b77c1a8b1620a7396e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-10 21:21:17 +00:00
Brian Salomon
44a84fb802 Blacklist ColorTypeBackendAllocationTest on MoltenVK
Bug: skia:9247
Change-Id: I8b4261fc81f31f56d24ae3aa84ae81c33ea2b2b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226501
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-10 21:13:08 +00:00
recipe-roller
f778ad6449 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/986505f4893ae4c0cd11f0f2a6ea4a2cc27f9488 Updated error message format (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I08561668c201d8643bd3374aea052bb60dabdaae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226547
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-07-10 20:56:08 +00:00
Mike Reed
3a8ff230ab Move test around in cubic_solver to test function, not delta_t.
Add SkOpts variant for avx2 to get FMA
Decrease tolerance now that we're testing the function

Before

  15/15  MB	1	1.13ms	1.17ms	1.18ms	1.26ms	4%	cubicmap_0_1_1_1
  15/15  MB	1	1.08ms	1.13ms	1.12ms	1.17ms	3%	cubicmap_0_1_1_0
  15/15  MB	1	862µs	904µs	900µs	937µs	3%	cubicmap_0_1_0_1
  15/15  MB	1	861µs	878µs	882µs	934µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	1.44ms	1.47ms	1.49ms	1.55ms	3%	cubicmap_1_0_1_1
  15/15  MB	1	1.44ms	1.48ms	1.48ms	1.55ms	3%	cubicmap_1_0_1_0
  15/15  MB	1	1.42ms	1.42ms	1.46ms	1.53ms	3%	cubicmap_1_0_0_1
  15/15  MB	1	1.42ms	1.42ms	1.44ms	1.51ms	2%	cubicmap_1_0_0_0

After moving the check to the function, not delta_t

  15/15  MB	1	900µs	900µs	915µs	971µs	3%	cubicmap_0_1_1_1
  15/15  MB	1	899µs	900µs	914µs	988µs	3%	cubicmap_0_1_1_0
  15/15  MB	1	865µs	896µs	890µs	946µs	3%	cubicmap_0_1_0_1
  15/15  MB	1	866µs	910µs	914µs	959µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	1.29ms	1.29ms	1.33ms	1.44ms	4%	cubicmap_1_0_1_1
  15/15  MB	1	1.28ms	1.29ms	1.34ms	1.54ms	6%	cubicmap_1_0_1_0
  15/15  MB	1	1.26ms	1.26ms	1.27ms	1.34ms	3%	cubicmap_1_0_0_1
  15/15  MB	1	1.26ms	1.26ms	1.27ms	1.3ms	2%	cubicmap_1_0_0_0

After SkOpts (on an avx2 machine)

  15/15  MB	1	613µs	613µs	616µs	646µs	2%	cubicmap_0_1_1_1
  15/15  MB	1	613µs	613µs	624µs	654µs	3%	cubicmap_0_1_1_0
  15/15  MB	1	862µs	865µs	867µs	887µs	1%	cubicmap_0_1_0_1
  15/15  MB	1	865µs	901µs	896µs	949µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	849µs	850µs	868µs	929µs	4%	cubicmap_1_0_1_1
  15/15  MB	1	849µs	850µs	873µs	940µs	4%	cubicmap_1_0_1_0
  15/15  MB	1	831µs	831µs	856µs	950µs	5%	cubicmap_1_0_0_1
  15/15  MB	1	831µs	831µs	848µs	911µs	3%	cubicmap_1_0_0_0

(not checked in) if we also enable the pragma in cubic_solver

  15/15  MB	1	593µs	594µs	597µs	623µs	2%	cubicmap_0_1_1_1
  15/15  MB	1	593µs	595µs	605µs	629µs	2%	cubicmap_0_1_1_0
  15/15  MB	1	864µs	867µs	869µs	890µs	1%	cubicmap_0_1_0_1
  15/15  MB	1	864µs	866µs	886µs	950µs	4%	cubicmap_0_1_0_0
  15/15  MB	1	809µs	831µs	841µs	891µs	4%	cubicmap_1_0_1_1
  15/15  MB	1	809µs	810µs	855µs	1.11ms	11%	cubicmap_1_0_1_0
  15/15  MB	1	794µs	861µs	856µs	914µs	4%	cubicmap_1_0_0_1
  15/15  MB	1	794µs	821µs	818µs	853µs	3%	cubicmap_1_0_0_0

Change-Id: I260391be956d31a5cf3d0367d1285e56af7568f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226499
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-07-10 20:28:28 +00:00
Robert Phillips
cc32642882 Fix SkPixmap and SkBitmap dox for computeByteSize
The SIZE_MAX behavior was added in response to https://bugs.chromium.org/p/skia/issues/detail?id=7132

Bug: skia:9242
Change-Id: If4bd0649c738f68967b0aaa83e43cd7930c87823
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225730
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-10 19:43:59 +00:00
Brian Salomon
f16020ba1b Reland "Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles""
This reverts commit 4b40a1d5bf.

Reason for revert: Breaking iOS/GL

Original change's description:
> Revert "Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles""
> 
> This reverts commit abb5a315af.
> 
> Two fixes:
>   1) GMs pass valid rowBytes when calling directly to GrGpu.
>   2) Check for non-null data before trying to set UNPACK_ROW_LENGTH
> 
> Bug: chromium:981254
> 
> Change-Id: I24e46b0d2b14562d6b84a29fefe3410ce5c06c94
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226498
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I7f22151aad7fefd6896a57d4448d03fd3bdec0e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:981254
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226556
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-10 19:22:20 +00:00
Florin Malita
ccacfa02d2 [skottie] Caching motion tile
Update MotionTileEffect to avoid rebuilding shaders redundantly,
at render time:

  1) build all shaders at revalidation time
  2) cache the layer content picture separately, and only rebuild when
     the layer content changes

To support #2, add some SG helpers for querying subtree inval state.

With this change, we avoid all render time allocations.

Notry: true
Change-Id: I55a1f95752704af6a667b266e725492de6640387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226512
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-07-10 19:13:41 +00:00
Nigel Tao
42ece2b7c9 Update Wuffs version
The primary purpose of this commit is to track upstream Wuffs more
closely.

A side effect is to pull in the Wuffs commit
5bea867f72
"Allow an LZW literal width of 1", which eliminates a difference between
the old third_party/gif decoder and the new third_party/wuffs decoder.

As the CodecTest.cpp comment says, the GIF spec explicitly says that the
LZW literal width should be at least 2, but in practice, GIF encoders
violate the spec. After that upstream commit, Wuffs has followed other
GIF decoders in being more liberal in what it accepts.

Codec_InvalidAnimated therefore no longer has a separate "#ifdef
SK_HAS_WUFFS_LIBRARY" section. The first frame of the test's GIF image
data, being the required frame of the third frame, no longer has an
invalid LZW literal width according to Wuffs.

Bug: skia:8235
Change-Id: Ie94537f5232128ffc1d1547f4c0b84992e54ab02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226476
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-07-10 17:45:43 +00:00
Eric Boren
51146b47db Revert "[infra] No relative path for infra_tests.isolate"
This reverts commit 5cc450b609.

Reason for revert: breaking dependent repos

Original change's description:
> [infra] No relative path for infra_tests.isolate
> 
> This should allow dependent repos to use their own version of this
> isolate file.
> 
> Change-Id: I5f20eafbd10319eef70ddb65b434269ca99d5c9f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226416
> Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,benjaminwagner@google.com

Change-Id: I91d59aefa943aab371c1cdb14087309c60f29d35
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226505
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-10 16:59:57 +00:00
Robert Phillips
3cd5432331 Add protected status to SkSurfaceCharacterization
Change-Id: I27bd051c1fce0239faff7fc073eaf82976fb63ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225940
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-10 16:30:35 +00:00
Brian Salomon
4b40a1d5bf Revert "Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles""
This reverts commit abb5a315af.

Two fixes:
  1) GMs pass valid rowBytes when calling directly to GrGpu.
  2) Check for non-null data before trying to set UNPACK_ROW_LENGTH

Bug: chromium:981254

Change-Id: I24e46b0d2b14562d6b84a29fefe3410ce5c06c94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226498
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-10 16:13:44 +00:00
Eric Boren
5cc450b609 [infra] No relative path for infra_tests.isolate
This should allow dependent repos to use their own version of this
isolate file.

Change-Id: I5f20eafbd10319eef70ddb65b434269ca99d5c9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226416
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-10 16:08:41 +00:00
Brian Osman
6f5358f505 Interpreter: Disallow recursion
I think this is the minimum rule that's easy to understand when writing
SkSL for the interpreter that ensures we'll be able to statically
determine total stack usage of a particular function.

While writing the new test, I also noticed that we still return
(invalid) byte code, even when there are errors. Fixed that.

Change-Id: I625a8592c9ba1656074e5f0d4227d41968af7b37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226218
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-10 16:08:39 +00:00
Brian Salomon
abb5a315af Revert "Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles"
This reverts commit 65eb084e78.

Reason for revert:blocking chrome roll and asserting in GMs

Original change's description:
> Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles
> 
> Bug: chromium:98125
> Change-Id: I7a5184872e92b9e0994a5175461b4f46191ccc9d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226223
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I71799990a128ade8e769bffd69841dafdf47a871
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:98125
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226496
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-10 12:42:34 +00:00
Eric Boren
f1a7c21d4c [infra] Fix WASM Gold aggregator build
Change-Id: If960640ba74916226d8cdf912f48142cee0ef2c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226317
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-10 12:18:13 +00:00
skia-autoroll
42ef17dc9b Roll third_party/externals/angle2 5dfad811ce32..4e71b2bc2546 (11 commits)
5dfad811ce..4e71b2bc25


git log 5dfad811ce32..4e71b2bc2546 --date=short --no-merges --format='%ad %ae %s'
2019-07-09 jmadill@chromium.org Framebuffer: Clean up query naming.
2019-07-09 geofflang@chromium.org Refactor the wait/signalSemaphore entry points to be on the Semaphore object
2019-07-09 shrekshao@google.com Fix regex parenthesis missing escaping backslash
2019-07-09 ianelliott@google.com Vulkan: Add support for GL_RGBA8-to-GL_RGB5_A1
2019-07-09 ianelliott@google.com Vulkan: Note that KHR-GLES3.texture_repeat_mode.* tests pass
2019-07-09 clemendeng@google.com Rename "opengl32" to "libGL"
2019-07-09 geofflang@chromium.org Move member initializers from Caps.cpp into the struct definitions.
2019-07-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 4b4b41a63499..8aa9a7bb8f74 (1 commits)
2019-07-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 9702d47c6fe4..0c4feb643b89 (7 commits)
2019-07-09 cwallez@chromium.org PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
2019-07-09 syoussefi@chromium.org Vulkan: Add storage buffer support


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

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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
TBR=fmalita@google.com

Change-Id: I7abdc674b4ef563f87cba8ab551d756f29c5fa27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-10 05:23:15 +00:00
skia-autoroll
af4e7b6cf6 Roll ../src 9a8eb165a861..9d81bd852e09 (434 commits)
9a8eb165a8..9d81bd852e


Created with:
  gclient setdep -r ../src@9d81bd852e

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

Change-Id: Ife23e8e78bfb0dafc5da83a4a420db37306040bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-10 04:38:15 +00:00
Ben Wagner
96fdfe0fe8 Fix test TextBlob_serialize
Previously, this test was passing only because it used the default
typeface. In deserialization code, if the typeface can't be
deserialized, it is replaced with the default typeface. I changed the
test to use a non-default typeface, which caused it to fail. I then
changed the custom typeface serializer/deserializer functions so that
the test passes.

Change-Id: I14e33f7fd18342e76a1fa624ae97fd894e010b6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226221
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-09 22:40:01 +00:00
Ben Wagner
7232e90e92 Fix header name in build file.
Change Iterator.h to the actual name Iterators.h. This was caught by
the cmake bot, but it would be nice to use gn check in the future.

Change-Id: If5deb82a33329306ce4456e67d3518a75526b18a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225900
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-07-09 21:45:02 +00:00
Julia Lavrova
35f88226bb Adding locale
Change-Id: I4f118f37a1226f4259d0e5be3b6b557b38b3b316
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222785
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-09 20:55:51 +00:00
Brian Salomon
65eb084e78 Restore GL_UNPACK_ROW_LENGTH to 0 between MIP levles
Bug: chromium:98125
Change-Id: I7a5184872e92b9e0994a5175461b4f46191ccc9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226223
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-09 20:40:41 +00:00
Greg Daniel
5c96db8821 Move last few uses of SkColorType out of GrCaps.
Change-Id: Ie13e511f42afa7a06fad674ead3e1d5d8e051e77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226216
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-09 20:03:44 +00:00
Brian Salomon
a3ffaabcc4 Fix up row bytes for single level texture in GrResourceProvider.
Change-Id: I5419a79255f9e9cdb3322238bd0d3b14e88ef6e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226156
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-09 19:39:54 +00:00
Brian Osman
19ece744f9 Only include angle in default configs when it's enabled
Previously, running nanobench on Windows without ANGLE enabled would
immediately fail (unless you specified --config) with:

  No context was available matching config 'angle_d3d11_es2'.

Change-Id: I4a02f4f96a1c4366bee21e6cf379d53c3a086d23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226220
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-09 19:39:04 +00:00
Eric Boren
9e416c15a4 [infra] Make infra tests idempotent
Change-Id: I1a75b211753ea5e097234dd4104d0906cfd04673
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223916
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-09 19:04:47 +00:00
Eric Boren
edea01deac Revert "[infra] No task deduplication"
This reverts commit 326ad9e716.

Reason for revert: This was an outage of some kind, not intentional expiration of isolates.

Original change's description:
> [infra] No task deduplication
> 
> Isolates are expiring despite the tasks which generate them being
> deduped. Hopefully this is temporary, and we can update the isolate
> server to expire based on last usage date rather than creation date.
> 
> Change-Id: I7158612cd9b28c80268c54da9af88d2048e6aad1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226176
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,rmistry@google.com

Change-Id: I3afc8e9e89174505d87d96d45ab6c9e44937bb29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226219
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-09 18:32:26 +00:00
Florin Malita
ef914f6444 Remove onMakeBurstPipelineContext
No longer used?

Change-Id: Ib944e5a18feb70444b34f5aba5f5c4019df1abdb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226217
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-07-09 18:26:44 +00:00
Florin Malita
9ab449ab69 Optional local matrix for SkShaders factories
Change-Id: Id913f89c699097ce53c9f8ef6deea264811a4179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226082
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-07-09 18:09:14 +00:00
Robert Phillips
a5e78be278 Make Mock GrBackendFormat use GrColorType (instead of GrPixelConfig)
The switch to GrColorType does mean that we can no longer represent compressed backend formats in the Mock backend surfaces.

This will require a Chrome CL before it can land in Skia.

TBR=bsalomon@google.com
Change-Id: Ie4e2d4826f960664a21d3de79933eb1cb5d06896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225538
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-07-09 17:43:14 +00:00
Michael Ludwig
0a7cab0f67 Reland "More optimizations for CropToRect, for axis-aligned quads that have not been inverted"
This reverts commit 0437f0f5d8.

Reason for revert: layout tests have been suppressed

Original change's description:
> Revert "More optimizations for CropToRect, for axis-aligned quads that have not been inverted"
> 
> This reverts commit 88a64b4696.
> 
> Reason for revert: Chrome layout tests
> 
> Original change's description:
> > More optimizations for CropToRect, for axis-aligned quads that have not been inverted
> > 
> > Prior to CropToRect(), GrRTC::crop_filled_rect only operated on SkRects. The
> > quad cropping code generalized the optimization to any axis-aligned quad, but
> > a consequence of this is the code had to be robust to flips and 90 degree
> > rotations. While it can handle more cases, it has lead to a 1-10% performance
> > regression on cropped-rectangle-heavy perf tests in chromium.
> > 
> > This change brings back the simplest cropping solution when the axis-aligned
> > quads have not been flipped/rotated, but the general version still exists for
> > the other class of quads as well.
> > 
> > Bug: chromium:980608
> > Change-Id: I83d71075cacc3d849fd9aac6436ea3244a0ae4b9
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225724
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Auto-Submit: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
> 
> Change-Id: I428cbefa5985c6160df0460d38b0698b43d289de
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:980608
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225733
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: Ibef8e521f45111b3307731966e19ef66824567e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:980608
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226177
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-07-09 17:20:15 +00:00
Eric Boren
326ad9e716 [infra] No task deduplication
Isolates are expiring despite the tasks which generate them being
deduped. Hopefully this is temporary, and we can update the isolate
server to expire based on last usage date rather than creation date.

Change-Id: I7158612cd9b28c80268c54da9af88d2048e6aad1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226176
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-09 17:20:04 +00:00
Brian Salomon
b42af2f2cc vk_format_to_pixel_config behind GR_TEST_UTILS
Change-Id: I2aae762cb63fc940536959b3f0f73df472bcac7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226083
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-09 16:27:41 +00:00
Hal Canary
3a85ed12bf ModifierKey unifies sk_app::Window::ModifierKey & Sample::Click::ModifierKey
Change-Id: Idb5dfe57a7f6e3d6078ab1e68d542b084114cfbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225735
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-09 16:16:41 +00:00