Commit Graph

45268 Commits

Author SHA1 Message Date
Michael Ludwig
fcdd0612f3 Use just GrSurfaceProxy in pipeline management.
Replaces VisitSurfaceProxyFunc with GrOp::VisitProxyFunc since they are
now the same.

Records sampled textures as GrSurfaceProxies, but asserts they are in fact
texturable. Updates all backends to process the pipelines with surface
proxies (which always have had to do a surface->asTexture() virtual call
that is unchanged, this just avoids the unnecessary proxy virtual).

Also updates the GrTextureOp to not call asTextureProxy() anymore, to
take advantage of the relaxed pipeline types.

A number of instances of asTextureProxy() remain. It is still the primary
method of determining if a proxy is texturable, so code paths that branch
on that still use it. Some resource management code still requires mipmap
functionality specific to the GrTextureProxy API, so they still use it.

To keep this CL sane, the GrFP::TextureSampler and all generated FPs have
not been updated to use GrSurfaceProxy, although that will be in a follow
up since it should be technically possible.

Bug: skia:9556
Change-Id: I1e917aff9e70b08915e98ccc17c6b8f3be29c4f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255830
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-25 14:00:45 +00:00
Michael Ludwig
64025cab89 Lock down GrQuad ctors, avoid resetting Ws when known to be 1.0
Change-Id: I2df94791af133fcfb3fa491163394369f324bbc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256096
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-11-25 13:49:15 +00:00
Florin Malita
dd5ba942eb [skottie] Use seekFrame in skottie2movie
Produces more precise frame synchronization.

Change-Id: Ie9cd85cfbcab9eca827126feae48bb6836795983
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256217
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-11-25 13:35:45 +00:00
skia-autoroll
9c0c92b2db Roll third_party/externals/angle2 4c7db77e0185..e9b68f332a30 (5 commits)
4c7db77e01..e9b68f332a

git log 4c7db77e0185..e9b68f332a30 --date=short --no-merges --format='%ad %ae %s'
2019-11-23 emircan@chromium.org Clean unused NewCreateImagePipeCmd
2019-11-22 cnorthrop@google.com Enable frame capture on Android
2019-11-22 jmadill@chromium.org Posix: Fix async LaunchProcess.
2019-11-22 shrekshao@google.com EXT_texture_norm16 readpixels fix
2019-11-22 courtneygo@google.com Suppress flaky failure with Win7/NVIDIA/D3D11

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

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 bungeman@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: bungeman@google.com
Change-Id: I3717a0fe9f300e724ab4cbfb5e3c5b85888fd239
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256297
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-25 06:20:15 +00:00
skia-autoroll
d8bfc51614 Roll ../src 137e8082047a..0ec8ef3c9f4f (1040 commits)
137e808204..0ec8ef3c9f


Created with:
  gclient setdep -r ../src@0ec8ef3c9f

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 bungeman@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: bungeman@google.com
Change-Id: Ie543077f67d36139804020cc5c5684cf0a83dea8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256298
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-25 04:40:04 +00:00
skia-autoroll
61ad456558 Roll third_party/externals/swiftshader c8d4d4254ca1..d44d61514749 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c8d4d4254ca1..d44d61514749

git log c8d4d4254ca1..d44d61514749 --date=short --no-merges --format='%ad %ae %s'
2019-11-25 bclayton@google.com Fix chrome build: Use spaces (not tabs) in .gn files
2019-11-22 chrisforbes@google.com Fix vkGetDescriptorSetLayoutSupport implementation
2019-11-22 srisser@google.com Log unsupported extensions used in pNext structs
2019-11-22 sugoi@google.com Handle new device extension properties

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

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 bungeman@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: bungeman@google.com
Change-Id: I1286b5a0bc66a1836901449d339450dec53f7f52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256296
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-25 04:33:34 +00:00
Ben Wagner
6c4c685b2b Remove Debian9 GCC jobs and related code
Also update some recipe expectations to use job names that currently
exist.

Bug: skia:9632
Change-Id: I35883474a91ffb9fb2ab3b16089c7c80b5df0bd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255982
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-24 23:51:04 +00:00
Robert Phillips
50299de399 Reland "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
This reverts commit 997b37fdb9.

Reason for revert: May be blocking Chrome roll

Original change's description:
> Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
> 
> This reverts commit 078e8faa26.
> 
> Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I0d2754ac7f4672f0758e4d00cd9e06998637846a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256196
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-23 15:21:08 +00:00
recipe-roller
c3ff97a98b 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/800129711d28549962e99dfa08007d9d79e4f7a3 my_activity: allow to exclude some servers (vbendeb@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1dea6be6ecef10b0e07603faa38e8edb31873005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256104
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-23 03:03:05 +00:00
recipe-roller
a687c482ae 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/dcbdf913dcecac13e14af5928a070f369b729c60 [swarming] Don't use null user/tags in test data (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I60f962f5c8ae19e52ee8e4aa9f582ad525a433e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256103
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-23 02:00:44 +00:00
Brian Salomon
997b37fdb9 Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
This reverts commit 078e8faa26.

Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-23 00:51:03 +00:00
recipe-roller
47af12aa83 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/fb9043505a8386e9ea7b9ff12bad0aeaaf41d929 [recipes-py] Provide the ability to supply reason when cancel a build (yiwzhang@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iebaa1fbda6377589db5f174e92a3a6ff0f92c203
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256122
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-22 22:39:58 +00:00
Brian Salomon
e21af50dc6 Test texture domain effect with local matrix.
Add a common way to make rect op for testing that uses a GP with a local
matrix.

Change-Id: I958d1230bd5067b2e4b60fcd374e2f7718681e43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255782
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-22 22:37:33 +00:00
skia-autoroll
506ff4f82f Roll third_party/externals/angle2 b8e748be6b94..4c7db77e0185 (21 commits)
b8e748be6b..4c7db77e01

git log b8e748be6b94..4c7db77e0185 --date=short --no-merges --format='%ad %ae %s'
2019-11-22 xinyi.he@arm.com Vulkan: Set limitation on maxComputeWorkGroupCount
2019-11-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f2c9ce1e08ed..131a1ba8d06a (14 commits)
2019-11-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src f4d4668529f1..43fe7bafb14e (1 commits)
2019-11-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 53902309eda9..5efc3922e3e8 (1 commits)
2019-11-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src ba6cbb047868..24347673152e (1 commits)
2019-11-22 flibitijibibo@gmail.com UWP: Implement GetPathSeparatorForEnvironmentVar
2019-11-22 flibitijibibo@gmail.com GN: Only link to delayimp when d3d9 is enabled
2019-11-21 timvp@google.com Enable Compute Shader Program Input Queries
2019-11-21 lehoangq@gmail.com Metal: Re-add end2end test configs (running test is still disabled)
2019-11-21 syoussefi@chromium.org Vulkan: Simplify AppendToPNextChain use
2019-11-21 syoussefi@chromium.org Fix assert in angle_deqp_khr_gles* executables
2019-11-21 lehoangq@gmail.com Metal: Fix FramebufferMtl's read-after-delete
2019-11-21 jaszhix@gmail.com Fix crash during resizes when using the OpenGL renderer on Windows
2019-11-21 jonahr@google.com Manually roll Vulkan-Loader DEPS
2019-11-21 cnorthrop@google.com Update auto-roller list in wrangling doc
2019-11-21 tobine@google.com Vulkan:Remove exceptions for passing tests
2019-11-21 jmadill@chromium.org Roll third_party/android_ndk/ 89e8db0cd..27c0a8d09 (1 commit)
2019-11-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 2377845dd216..f2c9ce1e08ed (4 commits)
2019-11-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 40cd2166a446..39b3005ba560 (26 commits)
2019-11-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 720c5deb0244..53902309eda9 (9 commits)
2019-11-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 2ee9aaa288d9..45dde9ad6dde (1 commits)

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

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 robertphillips@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: robertphillips@google.com
Change-Id: Ib4928844032ccf8db64d81824bb7303698f15362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256054
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-22 22:34:53 +00:00
Hal Canary
fd05acd188 LICENSE file: clean up
Motivation: improve readability.

Change-Id: I07e1c40e75ffbe496f9f3b2f0e260bba6f141d90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255305
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2019-11-22 21:59:03 +00:00
skia-autoroll
3bc4235baa Roll third_party/externals/swiftshader f2c9ce1e08ed..c8d4d4254ca1 (15 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f2c9ce1e08ed..c8d4d4254ca1

git log f2c9ce1e08ed..c8d4d4254ca1 --date=short --no-merges --format='%ad %ae %s'
2019-11-22 swiftshader.regress@gmail.com Regres: Update test lists @ 698235ce
2019-11-22 sugoi@google.com libVulkan references and deferences structures uselessly
2019-11-21 srisser@google.com Revert submission
2019-11-21 sugoi@google.com Vulkan header update
2019-11-21 srisser@google.com Log unsupported extensions used in pNext structs
2019-11-21 amaiorano@google.com Subzero: add subzeroEmitTextAsm flag
2019-11-21 amaiorano@google.com Subzero: add subzeroDumpEnabled flag
2019-11-21 amaiorano@google.com Subzero: map optimization level none/less to m1
2019-11-21 amaiorano@google.com Subzero: fix invalid asserts during emit()
2019-11-21 amaiorano@google.com Subzero: fix invalid register allocation
2019-11-21 amaiorano@google.com Subzero Win64: fix Call for ptr and spillover args
2019-11-21 chrisforbes@google.com Regres: Update deqp to 3ca6f6fe2e4e023cb9d4ea763990336d762b49e2
2019-11-21 digit@google.com [OpenGL] Fix implicit int-to-float-conversion compiler warning.
2019-11-21 sugoi@google.com Remove quadLayout
2019-11-21 kadam@inf.u-szeged.hu Add new relocation types.

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

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 robertphillips@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: robertphillips@google.com
Change-Id: I60ad55e70081df4d6d09bf9541f05d2e60decc3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256053
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-22 20:51:57 +00:00
Jim Van Verth
9f2516f64d Add checks for TextureSampler count in text GeoProcs.
Chrome is seeing unexplained segfaults when trying to access the n-1th
textureSampler while creating textOp GeoProcs -- it's possible that's
because n is 0. Also add checks to make sure n is not > kMaxTextures.

Bug: chromium:1027314
Change-Id: I65a5472980bab37d580b3f237a132a8b23794abe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255985
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-22 20:28:17 +00:00
Ethan Nicholas
db80f6936c SkSL now supports functions defined in sksl_gpu.inc
Change-Id: Ib29f41f6e71b176fec1ead26259ad1945a41e634
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-11-22 19:39:44 +00:00
Mike Reed
30bc527fd6 Revert "Reland "Revert "Use flat version of path-direction enum"""
This reverts commit 7cda6f3743.

Reason for revert: legacy convexity code removed -- google3 should be ok

Original change's description:
> Reland "Revert "Use flat version of path-direction enum""
>
> This reverts commit 1792b19485.
>
> Reason for revert: need to update legacy_convexity, still used by google3
>
> Original change's description:
> > Revert "Revert "Use flat version of path-direction enum""
> >
> > This reverts commit 0dacc6b7d3.
> >
> > Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
> > Auto-Submit: Mike Reed <reed@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=reed@google.com
>
> Change-Id: I0ecea0eb8a237298c6b908cc4bfd1cacdfc5b900
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255976
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I3529139bb391c4f62ce5cd0744cdf38a13b71d78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255984
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-11-22 19:09:54 +00:00
Robert Phillips
34cea00bdf Add utility for creating test-only GrProgramInfos
This is complete overkill for what these GMs require but it will help centralize things.

Change-Id: If30cbd9a9cfc8fcc1fe96fc9ca1b4cb17cdeb4bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255824
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-22 19:01:14 +00:00
Kevin Lubick
241e81339b [skolo] Remove internal hardware 2
Bug: skia:7160, skia:9517
Change-Id: I5c00dca477de88bc46cbc12829a97fb36aed8f14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255979
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-22 19:00:20 +00:00
Mike Reed
8ee77d8f42 remove LEGACY_CONVEXITY code -- no more clients
Change-Id: Ifd33831b6a83a56685435ce8e4fbb218a147b34e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255981
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-22 18:31:44 +00:00
Michael Ludwig
189c98042f GrQuadPerEdgeAA::Tessellator owns GrVertexWriter
Change-Id: I3c8bf48dda061aa9d318b9f81f22608fdd68fcbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255786
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-22 17:31:34 +00:00
Michael Ludwig
fe13ca3e67 Move textureop fallback code out of GrRTC and into AddTextureSetOps
(also renames CreateTextureSetOps to AddTextureSetOps, to match naming of
GrFillRectOp::AddFillRectOps).

Now that GrTextureOp can add more than one op to the GrRTC, it can take
over ownership of its fallback code for the texture set. It already had
taken over the code for non src-over blends when drawing a single texture.

Besides consolidating where the logic of converting TextureSetEntries into
op data lives, this makes the fallback case more consistent in terms of
performance. Previously, it would go through GrRTC::drawTexturedQuad,
which attempts to merge the clip with the draw for correctness reasons.
A batch never attempted these optimizations, so now even when one op per
quad is required, there won't be the overhead of comparing clips.

Change-Id: I30883e3bd45ed4386f81584e3d68229c46b17e47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255781
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-11-22 16:13:03 +00:00
Ravi Mistry
68e470de86 [G3 compile bot] Add comment to CL when there is an interesting failure
Also, create and use new service account for the G3 compile bots.

Interesting failure here refers to when the bot fails only because of
test failures and not:
* merge failures
* unknown failure reasons (eg: some flaky timeouts from the script running in borg)
* when the bot is not owned or approved by a Googler

NoTry: true
Bug: skia:9631
Change-Id: I964fd7874269116cca0e25d1b516283a00d5133f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254278
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-11-22 16:08:03 +00:00
Mike Klein
fee0079e77 rough unit test support for FM
I've punted for now on GPU test support.

Change-Id: I2ebe54a6fc61e1ce92120a6a221d5bb936b047e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255874
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-22 15:49:33 +00:00
Jim Van Verth
b1edfde279 Rename GLRTFBOIDIs0 to WrapsSwapchainSurface and use for Metal.
This provides a way to indicate that a Metal RenderTarget, and in
particular a RenderTargetProxy, is framebufferOnly, so it can be
restricted to certain operations.

Bug: skia:9573
TBR: bsalomon@google.com
Change-Id: I733fae2fce402c375534889346255afe28a57944
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255783
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-22 15:33:33 +00:00
Nigel Tao
6ec1b39f0c Optimize SkWuffsCodec's sk_bzero calls
The *previous* SkWuffsCodec.cpp commit, 39da10b5 "Optimize SkWuffsCodec
pixbuf zero-initialization", removed the need to *explicitly*
zero-initialize the fPixelBuffer on the first frame decode. Subsequent
frames, including the first frame of the animation again if the
animation is looped, still need to call sk_bzero.

Prior to *this* commit, each row of the pixel buffer was zeroed
separately. When it is necessary to memset to zero, it can be faster to
issue one big call instead of many small calls.

For example, the single-frame droids.gif file mentioned in the previous
commit (39da10b5) now skips the explicit sk_bzero calls, due to the
optimization in exactly that previous commit. But if it was a looped
animation, decoding subsequent (repeated) frames would need to memset
the re-used buffer to zero. The time taken for those sk_bzero calls
would be affected by this commit: from 2.900ms to 2.454ms (out of a
total decode time of 33.342ms as per 39da10b5's commit message).

Bug: skia:8235
Change-Id: I72ec3dc4230f06f358b5e8fee1b2799607d86615
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255358
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-11-22 14:49:33 +00:00
Robert Phillips
98f3fd97f4 Update bezier_*_effects GMs to not use rand
It was disconcerting to have these change radically when I changed the code flow in another CL.

Change-Id: Ifd4c1be454e3f9291fa05f040545c95fa20be58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255822
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-22 14:48:33 +00:00
Hal Canary
b752a63d77 Documentation: Cq-Include-Trybots
Docs-Preview: https://skia.org/dev/contrib/cqkeywords?cl=255524
No-Try: true
Change-Id: Idb7248f5eac07474b2b079041c739c9ef9717c18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255524
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-11-22 14:36:13 +00:00
Ben Wagner
4d3ac513db Add Docker-based GCC Test tasks
Since we've moved compilation to a Debian10 Docker container, the
resulting binaries won't run on Debian9 unless we also run them in a
Debian10 Docker container.

Test-Debian10-GCC-GCE-CPU-AVX2-x86-Debug-All-Docker failures are
tracked in skia:9664.

Bug: skia:9632, skia:9664
Change-Id: I97edc142cf558e30d11bd7bc3b5d1b423ba2418b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255152
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-22 12:32:32 +00:00
Kevin Lubick
e59c167b0f [canvaskit] Add SkContourMeasure
Change-Id: Ied060a4de792d6372b8410bf8c7628b5fd1dfefb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255528
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-22 12:17:55 +00:00
Mike Reed
7cda6f3743 Reland "Revert "Use flat version of path-direction enum""
This reverts commit 1792b19485.

Reason for revert: need to update legacy_convexity, still used by google3

Original change's description:
> Revert "Revert "Use flat version of path-direction enum""
> 
> This reverts commit 0dacc6b7d3.
> 
> Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
> Auto-Submit: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I0ecea0eb8a237298c6b908cc4bfd1cacdfc5b900
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255976
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-22 11:03:34 +00:00
Brian Salomon
078e8faa26 Revert "Make FP optimizations helpers use SkAlphaType not GrColorType"
This reverts commit 7a538b1eec.

Reason for revert: ios failures

Original change's description:
> Make FP optimizations helpers use SkAlphaType not GrColorType
> 
> Change-Id: I3b7cde6e7f68192af5419fb09c7d59e7a803a4d5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255818
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: Id41daa47fb3ccac434bb9d71a697f32e36c87367
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255835
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-22 04:10:34 +00:00
Brian Salomon
7a538b1eec Make FP optimizations helpers use SkAlphaType not GrColorType
Change-Id: I3b7cde6e7f68192af5419fb09c7d59e7a803a4d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255818
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-11-22 03:30:32 +00:00
Mike Reed
1792b19485 Revert "Revert "Use flat version of path-direction enum""
This reverts commit 0dacc6b7d3.

Change-Id: Ie103e9f36b07e4ee256a3688a4decf3a6dd74314
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255832
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-22 00:51:22 +00:00
recipe-roller
aad4e6e19e 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/65f6b45d6d3fb1050a1f802969ef9ad2c0000428 gclient: Assert invokations of gclient succeed when running smoketests. (ehmaldonado@chromium.org)
  https://crrev.com/c50b0963e3f25f16e46a0029b1c1e939d0d4abd8 git_cache: don't lose options in upload_bootstrap. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie408dac677f6a1f38abe70978467c3012d87d599
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255880
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-21 23:34:02 +00:00
Ben Wagner
0788481c63 Remove Build-Ubuntu18-GCC job
This partially reverts
https://skia-review.googlesource.com/c/skia/+/254797. The Ubuntu18 GCC
job was added in anticipation of using it for Valgrind jobs; however,
https://skia-review.googlesource.com/c/skia/+/255537 switches Valgrind
to Clang, which makes this unnecessary.

Bug: skia:9632
Change-Id: I97d7e0d4e3be109ae48b386140117aac4279618f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255790
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-21 22:40:32 +00:00
Ben Wagner
bff12d60f6 [infra] Add service_account_json option to asset utils
Change-Id: If2686949009ba6fdf703ea794c0764c0e9966590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252261
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-21 22:33:42 +00:00
John Rosasco
b41b3ce57f Slim down .far by ~45 MB.
Change-Id: Ib958e768f6293812e5a96589e6d3d672aae1dc7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255865
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-21 22:29:42 +00:00
Mike Reed
0dacc6b7d3 Revert "Use flat version of path-direction enum"
This reverts commit e0fbe94351.

Reason for revert: need to add guard flag to flutter

Original change's description:
> Use flat version of path-direction enum
> 
> Bug: skia:9663
> Change-Id: I00077d9f2b14b3e983e6a46ef6f560cabdb1678d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242557
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>

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

Change-Id: If47173d9b203b2d3a175af290a15d986accb4703
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9663
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255831
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-11-21 22:10:32 +00:00
Hal Canary
b5c217b698 [reland] public.bzl: update to replace Gif with Wuffs
Original CL: https://review.skia.org/254578

Change-Id: I254e4e0d560f8772a6e2ca60209dca23384dadb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255819
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-11-21 22:05:01 +00:00
Mike Klein
1cb05993af all-constant peepholes
This adds a bunch of tests for ops that can all be evaluated directly in
skvm::Builder.  You can see the sort of effect this has by looking at
the diffs for SkVMTest.expected... lots of `v3 = sub_f32 v2 v2`
transformed to `v3 = splat 0 (0)` and that sort of thing.

My favorite part is handling many assert_true() calls at compile time!

While the old inter-Op code parallels aren't as clear now, these new
early-out tests kind of work like comments explaining each op.  I find
that nice.  I found it hard to parse so many uses of the word "splat" so
I did go back to isImm() from isSplat(), and added allImm() to test for
and read several immediates all at once.

Some of this is less C++17 than I'd like. :/

Change-Id: Ie8187d5d184195e3c0c92d613508fb708c28302f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255814
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-21 22:00:11 +00:00
Mike Reed
e0fbe94351 Use flat version of path-direction enum
Bug: skia:9663
Change-Id: I00077d9f2b14b3e983e6a46ef6f560cabdb1678d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/242557
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-11-21 21:45:20 +00:00
Kevin Lubick
9c2b7cfe90 [canvaskit] Try some things to reduce GPU test flakiness
1) some flags that "The Internet" says may help
2) retry running the test script up to 3 times.

I wasn't able to reproduce the crashes with a non-Docker
Chrome, only in the Docker container, which was
very hard to debug.

Change-Id: I87f31c32f63b2770d8d5afa6a8e4b90c35dbf0bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255820
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2019-11-21 20:56:42 +00:00
Mike Klein
364506e999 build with Clang for Valgrind bots (take 2)
I had enough trouble merging that I've written a new CL.

This CL switches the Valgrind bots to Clang and resorts jobs.json.

Looks like we need to go back to limiting to SSE 4.1 when building with
Clang.  (We're much more aggressive about using AVX+ with Clang than we
were GCC.)

Change-Id: Ifbd3126a6ceb9b1c5ed0cf676d0f80d5457fce7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255537
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-21 17:50:28 +00:00
Mike Klein
260db43a77 add some missing bitfield initializers
OK this one is cool.

GrGLCaps::onSurfaceSupportsWritePixels() starts off like

    bool GrGLCaps::onSurfaceSupportsWritePixels(const GrSurface* surface) const {
        if (fDisallowTexSubImageForUnormConfigTexturesEverBoundToFBO) {
            ...

Clang compiles this into

    53e5:  cmpl   $0x0,0x94(%rdi)
    53ec:  js     5435 <GrGLCaps::onSurfaceSupportsWritePixels(GrSurface const*) const+0x5d>

I think what's going on is that
fDisallowTexSubImageForUnormConfigTexturesEverBoundToFBO is the 32nd of
a bunch of neighboring bitfields, and that makes it the top bit of the 4
bytes at a 0x94 byte offset from GrGLCaps (rdi == this).  The cmpl/js
combo is reading that whole 4-byte chunk of bitfields and asking "is
this negative", a fun and I'm sure efficient way to test that bit.

Now I bet Valgrind thinks all those bits need to be initialized to
answer that question, and I also bet GCC just slapped a big 4-byte 0
down onto all these bitfields, incidentally initializing the fields we
leave uninitialized.  In any case I think it's healthy to initialize
these fields.  Shame there aren't any bitfield initializers until C++20.
Think it's too early to upgrade?

Change-Id: I767515190cf1ed08cf1d6981e550a65ccaffdec5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255419
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-21 17:44:38 +00:00
Ethan Nicholas
fc671ad888 Reland "Fixed some GrSkSLFP limitations."
This is a reland of 190157bff2

Original change's description:
> Fixed some GrSkSLFP limitations.
> 
> This makes it possible to pass more types as uniforms / inputs and fixes an
> issue with non-main functions calling other non-main functions.
> 
> Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

Change-Id: Icc06cd54abb7acc83415915e16ca64c3eb6b943b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255779
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-11-21 17:40:38 +00:00
Michael Ludwig
119ac6d1b7 Normalize src coords and domain up front instead of at tessellation time
Change-Id: Ibdbd9b56e8848c4efd842fa658c6d76be4523043
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255580
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-11-21 17:37:38 +00:00
Robert Phillips
8053c972b4 Add onPrePrepare to GrFillRRectOp
As the first real op to be updated this required the plumbing of the DstProxyView and the de-constification of the GrAppliedClip.

Bug: skia:9455
Change-Id: Ieaa16adfa1d114021b2ad60d0ef8ecbe31d9cc82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255136
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-21 17:30:08 +00:00