Commit Graph

46456 Commits

Author SHA1 Message Date
Brian Osman
d1be5d64f8 Fix skshaper in component builds
It was building a shared library, but had no exports (on Windows).
We think the correct model for modules in the future is for each one
to be a separate DLL linked against the public API/exports of Skia.
This serves as the model for that. Doing this with other modules will
probably require exporting more symbols from Skia.

Change-Id: I116b1635533d755ae71e8df5aa234270b7f77a31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267477
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-30 14:20:48 +00:00
Mike Klein
ce9e060b48 finish up 2pt conicals
In the end it turned out best to let the subclasses
modify the mask, rather than return how to do it.
This gave more flexibility about how to calcualte it.

Add negate(x), norm(x,y).

Change-Id: Ie17050037f0441becf06897fbe31587d6709009d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267456
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-30 13:59:28 +00:00
Benjamin Wright
5df08e55e1 [fuchsia] Replace system-temp with isolated-temp.
This change replaces system-temp with isolated-temp. As system-temp is
now deprecated.

Bug: fuchsia:25081
Change-Id: I4f87b69caa95df7c9809c3eb3d0f7e40ef4cddad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266974
Reviewed-by: John Rosasco <rosasco@google.com>
Auto-Submit: Benjamin Wright <benwright@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-30 13:57:57 +00:00
Eric Boren
0ec7b84854 [infra] Update go.sum
I ran "go build -i go.skia.org/infra/..." and this was the result. I've
added that as a step of UpdateGoDeps in
https://skia-review.googlesource.com/c/buildbot/+/267596

Change-Id: Id1494fb012209de1419d4b620c8e8983f2a4d4cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267616
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-01-30 13:27:57 +00:00
recipe-roller
8f44c3504c Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
  https://crrev.com/5a91e29d366be1e9e7c7e270a1da92790625c618 (tikuta@chromium.org)
    swarming: remove deprecated arg

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iee62bb6795d86a25dd84d069e6034632fa443e83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267578
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>
2020-01-30 08:28:07 +00:00
recipe-roller
f1c330bde2 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
  https://crrev.com/7d4ed3e64183a01cba0ef7abfa6ca1a4e586cef7 (tikuta@chromium.org)
    swarming: update swarming client

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iecc531e850b5e09dfe690a0d86fa5e4a46241c46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267534
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>
2020-01-30 06:31:37 +00:00
skia-autoroll
25bcd6a621 Roll ../src 243744c215b7..fbfe7df1b1d4 (481 commits)
243744c215..fbfe7df1b1


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

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 reed@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: reed@google.com
Change-Id: I266cebfc669511514ba4abe4c17f4fcb945a0e9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267526
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-30 04:53:07 +00:00
skia-autoroll
5b0486531b Roll third_party/externals/swiftshader 6c3dc3581eaf..430def835f9f (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6c3dc3581eaf..430def835f9f

git log 6c3dc3581eaf..430def835f9f --date=short --first-parent --format='%ad %ae %s'
2020-01-29 capn@google.com Regres: aways use build output path for ICD json
2020-01-29 capn@google.com Associate bug IDs with unimplemented functionality
2020-01-29 amaiorano@google.com Fix memory leak in rr::Optimizer
2020-01-29 bclayton@google.com Regres: Make it work on windows.
2020-01-29 amaiorano@google.com Subzero: implement coroutines for Win32
2020-01-29 bclayton@google.com SpirvShaderDebugger: Expose builtins in HLSL / GLSL.
2020-01-29 bclayton@google.com Vulkan/Debug: Add VariableContainer::extend()

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

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 reed@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: reed@google.com
Change-Id: I8c825443112be42479207c0e27fc02f9fac1e557
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267525
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-30 04:38:27 +00:00
skia-autoroll
73b748619e Roll third_party/externals/angle2 2bc9cc12f0b0..ee07cb317579 (18 commits)
2bc9cc12f0..ee07cb3175

git log 2bc9cc12f0b0..ee07cb317579 --date=short --first-parent --format='%ad %ae %s'
2020-01-30 jmadill@chromium.org Test Harness: Allow filter with sharding params.
2020-01-29 tobine@google.com Add GN arg to extract native libs in APK
2020-01-29 jdarpinian@chromium.org Fix re-enabling ARB_texture_rectangle
2020-01-29 geofflang@chromium.org D3D11: Copy from Image objects instead of TextureStorage when possible.
2020-01-29 spang@chromium.org Fuchsia: Enable perFrameWindowSizeQuery by default
2020-01-29 sugoi@google.com Enable GL_OES_depth_texture_cube_map with Vulkan backend
2020-01-29 spang@chromium.org Fuchsia: Skip PointSpriteAlternatingDrawTypes on ARM Fuchsia
2020-01-29 shrekshao@google.com SH_CLAMP_INDIRECT_ARRAY_BOUNDS logic update
2020-01-29 syoussefi@chromium.org Vulkan: Cleanup glslang wrapper
2020-01-29 courtneygo@google.com Vulkan: Simplify format table generation
2020-01-29 syoussefi@chromium.org Vulkan: Set varying location & xfb decorations in SPIR-V
2020-01-29 jgilbert@mozilla.com Disable skipValidation when context is lost.
2020-01-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 07a55839eed5..9a80305c0897 (1 commits)
2020-01-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src e39b5cf6a1b6..ebe1b7497acb (1 commits)
2020-01-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 34e16df059f8..6c3dc3581eaf (2 commits)
2020-01-29 syoussefi@chromium.org Vulkan: Set fragment output locations in SPIR-V
2020-01-29 syoussefi@chromium.org Vulkan: Set vertex attribute locations in SPIR-V
2020-01-29 syoussefi@chromium.org Vulkan: Set set/binding in SPIR-V

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

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 reed@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: reed@google.com
Change-Id: I0df936cb100a6c1c3a0767aefd6a97ff5a1b4d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267524
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-30 04:37:07 +00:00
Chris Dalton
4328e928ef Add a stencil/tessellation hybrid mode for path rendering
This is a hybrid approach where we stencil only the curves using GPU
tessellation shaders, and then tessellate the path's inner polygon on
CPU and draw it directly to the final render target, stencilled
against the curves. Tessellating just the inner polygon is more than
fast enough to do in real time, and still allows us fill in the
majority of pixels in a single render pass. It gives us most the
benefit of CPU tessellation, but at a fraction of the cost.
Furthermore, the tessellated inner polygon can potentially be cached
and reused independent of the view matrix.

Change-Id: Id45adc643b51ab80a0c655dd2045a5314bdc7507
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-30 01:44:15 +00:00
recipe-roller
1a049bb043 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/e827b0f7ec9d54c901ac9a9d2d734cd5ecbf478e (sokcevic@google.com)
    Adds support to edit description on git cl upload

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic8700be1df6c2db27c485a610035b6b784fc98f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267518
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>
2020-01-30 00:40:23 +00:00
recipe-roller
24ed75db12 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (depot_tools) into this repository.

depot_tools:
  https://crrev.com/ca7b3bf330522124f4f718771483dd1d7011324e (ukai@google.com)
    roll out new goma client binary (VERSION=188)
  https://crrev.com/9d635962bc7844212b4309b5123bfd9a2f9bfa4c (ukai@google.com)
    OWNERS: add ukai for cipd_manifest.*
  https://crrev.com/ea8b58b970c0c94b4a36270b806ee307547cd77e (apolito@google.com)
    add apolito to owners
  https://crrev.com/1a0daf728cae33e170699a0e372c808736d08862 (agable@chromium.org)
    Let the presubmit recipe module skip owners checks when necessary

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib5b2c7b8ead2b30d680919b5468d70b73bf97185
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267504
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>
2020-01-29 23:13:32 +00:00
Nathaniel Nifong
d0a0c59c80 Return summaries of all layers for display
Bug: skia:9752
Change-Id: I1012f4cda1c28d446269f0a3f212ccf80f17c194
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267439
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-29 20:55:49 +00:00
Greg Daniel
5c082496e1 Use views throughout gpu blur code.
Bug: skia:9556
Change-Id: I3988c8112d72d5453cf93e58542eb68b16e67e1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267452
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-29 20:37:00 +00:00
Kevin Lubick
8a46f76646 [canvaskit] Add demo for RT shader
No-Try: true
Docs-Preview: https://skia.org/?cl=267453
Change-Id: Iaddd796c8650e4668b9c23e0bf7cb64cbf998af2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267453
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-01-29 19:42:40 +00:00
Chris Dalton
6ccc032f4b Add a "kSimpleInnerPolygons" mode to GrTessellator
The inner polygons connect the endpoints of each verb. (i.e., they are
the path that would result from collapsing all curves to single
lines.) Requiring it to be simple means the tessellator will abort if
there is any self intersection or double winding.

This exciting new mode will be used by the GPU tessellator. It will
stencil the curves only, then draw the inner polygon directly to the
canvas. This gives us most the advantage of CPU tessellation, at a
fraction of the cost. And the tessellated inner polygon can
potentially be cached and reused independent of the view matrix.

Change-Id: I4c70b18c6f8b011396e00a5b08997cdf9846c9af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266422
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-29 19:08:07 +00:00
Florin Malita
f7d399a6ca [skottie] Cleanup: convert shape stroke/fill to new adapter pattern
TBR=
Change-Id: If4b9e591fdd4349b6a06ce86ba5284ab43634a03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267447
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-29 19:02:07 +00:00
Brian Salomon
38c85d262c Check for valid stencil buffer in GrGLGpu::clearStencilClip
Bug: chromium:984747
Change-Id: Ic71786a4de31b8836a4d28863cfaa474ed77502e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267446
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-01-29 18:50:07 +00:00
Brian Salomon
37e7b36a3d Make cache RRect blur masks with exact fit textures.
I made this be kApprox here:
https://skia-review.googlesource.com/c/skia/+/264838

to resolve a TODO. However, it uses more memory and after thinking about
it I'm not sure why it was a TODO to use an approximate texture for a
cached texture. If it's worth caching it's probably worth making a trim
texture.

Bug: chromium:1044017

Change-Id: Iac8302291592231875f5619b33e8ee6e13a92a64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267444
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-29 18:31:59 +00:00
Mike Reed
f4a90679d1 tweak textbox to use subpixel
This makes it line-up with the coretext version.

Bug: skia:9836
Change-Id: I39f51e56ecb0d55ab970a8fa247bede9f4f0f394
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267445
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-29 18:26:27 +00:00
Chris Dalton
022bd3b32a Preserve triangle winding in GrTessellator
Ensures the tessellator's triangles always wind in the same direction
as if the path had been triangulated as a simple fan (a la red book).

Change-Id: I1275a6dc9c2673e5f710ca46c357409dcd233162
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263390
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-01-29 18:24:57 +00:00
Julia Lavrova
db543f60a8 Memory leak in cache
Change-Id: I3edebd64a28584412e0dfac6849ee8d608243262
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267441
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-01-29 17:39:37 +00:00
Greg Daniel
8354717302 Remove asTextureProxyRef from SkSpecialImage.
We replace all uses of the function with asSurfaceProxyViewRef.

Bug: skia:9556
Change-Id: I23d425531d78e30fc401b04169d5dc96072cdd80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267181
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-01-29 16:47:06 +00:00
Mike Reed
a2a0c8a2c4 extract font from run
Change-Id: Ice98eeb1f815cf07f842b22ddc26e32e849a1218
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267256
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-29 15:28:06 +00:00
Florin Malita
d960cc31b6 [skottie] Cleanup: remove unused header
SkottieAdapter.h is no longer used.

TBR=
Change-Id: I5a6f503c52168a4418540d344e47cdde101a9f90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267396
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-01-29 15:13:36 +00:00
Robert Phillips
99044e1a6a Update wacky_yuv_formats GM to demonstrate YUV resizing on the GPU
Change-Id: Idd2b75ca84c1d7984aa983820b4325fbbda2b753
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266203
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-29 14:16:36 +00:00
Robert Phillips
45c9487914 Add SkImage::MakeTextureFromCompressed and deprecate MakeFromCompressed
Bug: skia:9680
Change-Id: Ifb8bc362cb2d2d3c0640f81eb6a11a613bf18de6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267178
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-29 13:21:55 +00:00
Kevin Lubick
dc49b0ca98 [canvaskit] Fix support for fonts with CFF
Adds a test to load different font types. Currently supported:
 - .ttf
 - .otf
 - .ttc

Not supported:
 - .woff
 - .woff2

This only increases code size by ~4kb, so that big glyph table
has still been successfully removed.

Bug: skia:9829
Change-Id: I0231578b2abf4f36df57ff8073b7697d16606373
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267180
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-01-29 12:39:55 +00:00
skia-recreate-skps
3d23fc123c Update Go Deps
Change-Id: I820d6204b02d73f4a782caaae6c80e0a3ebb8cee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267340
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-01-29 05:23:33 +00:00
skia-autoroll
1b5b51de55 Roll ../src 77c4d4c42f40..243744c215b7 (487 commits)
77c4d4c42f..243744c215


Created with:
  gclient setdep -r ../src@243744c215

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 reed@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: reed@google.com
Change-Id: I80d55ad523bdc88f8e84e3a3e2ed550cd1744645
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267284
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-29 04:53:03 +00:00
skia-autoroll
803aaeb796 Roll third_party/externals/swiftshader 34e16df059f8..6c3dc3581eaf (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/34e16df059f8..6c3dc3581eaf

git log 34e16df059f8..6c3dc3581eaf --date=short --first-parent --format='%ad %ae %s'
2020-01-28 capn@google.com Support LLVM 8+ build changes
2020-01-28 bclayton@google.com SpirvShaderDebugger: Fix double nesting of struct members

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

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 reed@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: reed@google.com
Change-Id: I2535d2e74eee899ec766fca737907a0df308fc87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267283
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-29 04:36:23 +00:00
skia-autoroll
71d5d9c9fd Roll third_party/externals/angle2 086aded3cb74..2bc9cc12f0b0 (19 commits)
086aded3cb..2bc9cc12f0

git log 086aded3cb74..2bc9cc12f0b0 --date=short --first-parent --format='%ad %ae %s'
2020-01-29 spang@chromium.org Fuchsia: Blacklist swiftshader on Fuchsia
2020-01-29 spang@chromium.org Fuchsia: Disable GLES3 testing on Fuchsia ARM
2020-01-29 syoussefi@chromium.org Vulkan: Fix handling of inactive fragment outputs
2020-01-29 spang@chromium.org Vulkan: Disable global merge for volk
2020-01-28 spang@chromium.org Fuchsia: Implement SystemInfo on Fuchsia
2020-01-28 ynovikov@chromium.org Disable 'nodiscard' warning on MSVC for dEQP.
2020-01-28 spang@chromium.org Fuchsia: Switch to gfx_tests sandbox configuration
2020-01-28 shrekshao@google.com Turn on clampArrayAccess globally but off for compute shaders
2020-01-28 jmadill@chromium.org D3D11: Fix uninitialized BufferEx SRV.
2020-01-28 jmadill@chromium.org Fix overlay build.
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 881bbb347a08..726435870206 (1 commits)
2020-01-28 ianelliott@google.com Vulkan: SwiftShader now getting correct sample positions
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 1b3441036a8f..97f1d485b763 (1 commits)
2020-01-28 syoussefi@chromium.org Add a test to expose location'ed varying link bug
2020-01-28 jmadill@chromium.org Make run_code_generation fail if git cl format fails.
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 310fb8617946..44ac9b2f406f (2 commits)
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src b0ada80356ca..07a55839eed5 (6 commits)
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src b181c1a7ddb5..e39b5cf6a1b6 (1 commits)
2020-01-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 748ad200897b..34e16df059f8 (6 commits)

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

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 reed@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: reed@google.com
Change-Id: I77a476c060e226e6cd082dc9cf1e8572429cb637
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267282
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-29 04:34:54 +00:00
Mike Klein
9404603ccb remove more vtune references
Obsolete since I added the dylib SkVM JIT mode.

Change-Id: I124f83cd365fd542ca92fab7f187b003ad2e1c90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267279
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-29 04:19:03 +00:00
Mike Klein
caf5ee4451 start on 2pt conical gradients
Couple ways to do this masking, but since we basically
need the same for decal, seems easiest to send it up to
the common code and handle it all together.

Change-Id: Idf806d7feab12a9caf339febd30dd3a2432ec038
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267244
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-29 03:43:42 +00:00
Chris Dalton
dcc8c5431b Convert the "bool antialias" param in GrTessellator to an enum
Change-Id: I685f4fd9e4c5b01a9b727a21f525721f025957a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266421
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-01-29 01:27:02 +00:00
Greg Daniel
c52db71c9b Store GrSurfaceProxyViews on SkSpecial*_Gpu.
To make this change cleaner, GrMakeCachedBitmapProxy now returns a view
and all its callers updated.

Additionally some effects were updated to fully use views in cases
where they had to be updated anyways to support SpecialImages and there
wasn't much additional work to pass them around everywhere.

Bug: skia:9556
Change-Id: Ie5a631cdec481391437e2f74275f958d15676780
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267176
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-29 00:24:33 +00:00
Florin Malita
ad9110026b [skottie] Separate text resize options
The sk_vj text property (Skottie extension) is currently mixing
vertical alignment and resizing semantics into a single enum.  This
precludes certain valid combinations.

Split the resize options into a separate enum (ResizePolicy), and ensure
support for all combinations.

Before:

  "sk_vj": 0 -> Shaper::VAlign::kVisualTop
  "sk_vj": 1 -> Shaper::VAlign::kVisualCenter
  "sk_vj": 2 -> Shaper::VAlign::kVisualBottom
  "sk_vj": 3 -> Shaper::VAlign::kVisualResizeToFit
  "sk_vj": 4 -> Shaper::VAlign::kVisualDownscaleToFit


After:

  "sk_vj": 0 -> Shaper::VAlign::kVisualTop
  "sk_vj": 1 -> Shaper::VAlign::kVisualCenter
  "sk_vj": 2 -> Shaper::VAlign::kVisualBottom

  "sk_rs": 0 -> Shaper::ResizePolicy::kNone
  "sk_rs": 1 -> Shaper::ResizePolicy::kScaleToFit
  "sk_rs": 2 -> Shaper::ResizePolicy::kDownscaleToFit


Bug: skia:9809, skia:9810
Change-Id: I631ae1fa31a9bc9c6958bb480354138591d504ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267040
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Isabel Ren <isabelren@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-29 00:09:42 +00:00
Mike Klein
faa34c536b partial strength reduction for bit ops
We had full constant eval of these already; this adds a bunch of
degenerate cases when one argument is known to be true or false.

Change-Id: Ic0535d8a99357947fd73bd9f719eec4645dc919d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267243
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-28 23:50:01 +00:00
Greg Daniel
6f5441a2f6 Remove create function in proxyProvider that takes a raster SkImage.
Instead in proxyProvider we just have a create a bitmap call which
does no special fallback or logic. All the callers now go through
GrBitmapTextureMaker which handles and special fallbacks or caching
support that we need.

Change-Id: I71bb896cc78f64f9d6d54b54af2490d48e0f5af5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266842
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-28 23:29:32 +00:00
Mike Klein
5e58f94d67 tweak grading in gm/skbug_9819 for G8
We can look at the luma to test correctness,
which lets G8 destinations be tested correctly.

Change-Id: I412381e5b2829258f0f9f340fb28ff88344e7f02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267225
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-28 22:10:36 +00:00
Mike Klein
bd1360f4d7 skvm sweep gradients
Basically the same as SkRasterPipeline version.
Need to thread uniforms through for scale/bias.

Change-Id: I27fd91469d9108d155a751dad71047eded4b6692
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267223
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-28 22:08:20 +00:00
Mike Reed
04da74633f improvements to shaper_ct
- fix CF leaks
- handle memory allocs better (using arena)

Change-Id: I0282bac288f7e5a785b6aab100251edde4b06b3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267079
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-01-28 22:05:31 +00:00
Brian Salomon
2ea69aa297 Fix asyncRescaleAndReadPixelsYUV420 fallback w/out GL_EXT_texture_rg.
Copying the color type from the RTCs is incorrect because we may have
fallen back to GL_RGBA8 if GL_R8 is not renderable.

Change-Id: Ie8effabfe60c2410d200b1775f463d5edb13fe81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267179
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>
2020-01-28 21:46:50 +00:00
Mike Klein
ba9da466cc radial gradients in skvm
- Add sqrt(), vsqrtps for x86.
- Hook into SkRadialGradient.

Change-Id: I66a4598e30fe16610c59a512f7d962323ee5134a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267196
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-28 21:04:36 +00:00
Herb Derby
0ef780befd Use a monotonic counter for atlas and plot generations
Currently when the GPU resources are freed, the generation counters
are reset back to 1. This could allow stale data to be retained in the
SubRun texture coordinates. In addition, it confuses managing the
GrStrikes.

Use monotonic counters so that no number is ever repeated. This allows
for a simple check of equality without any additional checks or constrinats.

Bug: chromium:1045016

Change-Id: Ib58abf9a99107a37927fa73aef88a95900f70a5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266618
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-01-28 21:01:36 +00:00
Mike Klein
d352529216 incorporate r,g,b,a into shaderHash
Today's shader hash changes if the unordered set of {r,g,b,a} values we
produce changes, but is not sensitive to simple order changes like
sampling RGBA vs BGRA.

Folding in a hash of each value's ID in order will fix this.

This has been difficult to track down (thread-local caches),
so I've added a GM that reliably reproduces the bug.

Live demo: https://fiddle.skia.org/c/30f2e5b731c2e53a6f092424c585ca41

Bug: skia:9819
Change-Id: Iceb09d89eb036735028ae97dc79c576787199ac5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267119
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-28 20:58:37 +00:00
Robert Phillips
162e04b9a9 Expand the compressed_textures GM
This CL adds testing for some edge cases in compressed texture handling

Bug: skia:9680
Change-Id: I4915f46bca9e2fb5c827a51152f28dc1e9d22942
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/266201
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-28 20:34:18 +00:00
Kevin Lubick
0f4cb09320 [debugger] Use correct archiver
This will allow usage of emscripten 1.39.6 to build

Change-Id: I089f47fa4fa38bf55c5071f5d711856c8ab422b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267080
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-28 19:51:18 +00:00
Herb Derby
6d54a1e5f0 Atlas generation numbers is not tracking plot changes -- disable it
The atlas generation number is used avoid checking if each glyph has
a valid plot location. If the atlas generation number ever misses
an eviction of a plot, then some glyph atlas coordinates will be considered
valid when in fact they are stale.

Fix: Always check the texture coordinates of every glyph. Don't use the
atlas generation numbering to reduce work.

Bug: chromium:1045016
Change-Id: I287d3bbcd0a5d679327002595ae50e0f775dca12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267096
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-28 19:35:34 +00:00
Mike Klein
a4ecfd10b4 prune unused SkPostConfig
Mostly this is really just removing strictly unused bits.

Removing SkNO_RETURN_HINT() from SK_ABORT() isn't quite
strictly unused, but I think maybe it's moot since we
added SkUNREACHABLE to the end of SK_ABORT().

Change-Id: I1b23a7f1cb325723b359762b0879110a2c82575f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267071
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-28 19:20:34 +00:00