Commit Graph

41287 Commits

Author SHA1 Message Date
Mike Klein
1dcc55b372 rewrite new SkVx unit test
- be more explicit about casting
 - general rewrite for clarity

Cq-Include-Trybots: skia.primary:Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC
Change-Id: I924d6d247e6b9afcefb27c690715fdad84635a5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207721
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 19:14:04 +00:00
Mike Klein
ae6c5c08be clean up SK_SUPPORT_LEGACY_A8_MASKBLITTER
cannot find anyone defining it

Change-Id: Ia93555b4d8fa1c07dd932dc39fe8854518f1455e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207720
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 18:38:22 +00:00
Mike Klein
90c9749bd5 simplify and centralize SK_API
Bug: skia:8975
Change-Id: Id45738b178b108593cf931ac236505901e97330a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 18:23:02 +00:00
Lee Salzman
41d087c262 limit mask drawing to clip bounds
Change-Id: Iab74531614654f241e12d1cd1af14725888580c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207143
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Lee Salzman <lsalzman@mozilla.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-11 17:55:32 +00:00
Mike Klein
4b44a0d01a add SkVx helpers for working with unorm8
These replicate the base logic of Sk4px::Wide::div255() and
Sk4px::approxMulDiv255(), and will come in handy replacing them.

No platform specializations yet... want to remind myself what
codegen they get from these vanilla versions first, and then
I'll fill in the platform specific stuff as needed.  The tests
should cover everything pretty exhaustively.

Change-Id: I5854d1bc0902a85cbb2351f669c4da7cc31a8775
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207683
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-11 17:54:23 +00:00
Herb Derby
812499d7f6 Change getMetrics to the final API prepareForDrawing
Change the name, and add the atlas limit parameter.

Change-Id: Ic718d06d483667d7a341b74c280bc3fd016289ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207314
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-11 17:30:12 +00:00
recipe-roller
caefdf123a 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/6379cd39a3336ab8716c77b1c68ab37ff406d060 Roll bb (nodir@google.com)
recipe_engine:
  https://crrev.com/ab483dae0cc2942e93506bedce9b814c77d42327 Add support for specifying swarming server. (yshaul@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I50acaa0c477ef1af8484355118c8e54ecad93ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207682
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-04-11 17:17:52 +00:00
Mike Klein
c33e6dcc70 restore SkOpts::blit_row_color32
We think there are some seemingly minor codegen improvements (pmovzxbw
instead of punpcklbw) when compiling for SSE 4.1 that might actually be
a bigger deal speed-wise than they'd seem.

Also rewrite using SkVx in a way that should scale well up to AVX2.

Change-Id: Ie7c0194dc4fe9fe81c1c932187c0bb00da69190b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207260
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Lee Salzman <lsalzman@mozilla.com>
2019-04-11 17:08:41 +00:00
Ben Wagner
25e371f7ee Make SkFontMgr_fontconfig respect the sysroot.
An FcConfig has the concept of a sysroot against which file names should
be resolved. Add support for this so that it is possible to use
relocatable FcConfigs. Also adds a test that this works.

Change-Id: I523d5fb1233830434a88dc52b27728aaf83bb5a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206278
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-04-11 15:42:20 +00:00
Jim Van Verth
0a72a06d10 Enable all Mtl tests
Bug: skia:8243
Change-Id: Ic95aefa7f08ff3f931923dd57faab0e2ceeb03e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207309
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-11 15:32:00 +00:00
Ethan Nicholas
b1cc013adf removed redundant GrCircleEffect.h
Bug: skia:
Change-Id: I1a7e5d7e6ca450c667cac2a2db258a48f862529b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207620
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-11 14:03:55 +00:00
Hal Canary
76e626d9bb SkQP: remove bad tests from future branches.
arcs_as_paths
    etc1
    ovals_as_paths
    perlinnoise
    radial_gradient_precision
    zero_length_paths_aa

Bug: b/129265491
Bug: b/127371533
Bug: skia:8857
Change-Id: Ib1d7a81c1d6002b052d37dc4d6f8403afdb178c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207311
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-11 13:50:25 +00:00
skia-recreate-skps
6d60534e95 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Iabde3a10e89e06bc8f1322fbc0c38f3a4e5329d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207297
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-11 05:51:40 +00:00
skia-autoroll
80eff54147 Roll third_party/externals/angle2 f39b4f0280ef..e6b23e45b380 (7 commits)
f39b4f0280..e6b23e45b3


git log f39b4f0280ef..e6b23e45b380 --date=short --no-merges --format='%ad %ae %s'
2019-04-10 ynovikov@chromium.org Skip Texture2DTestES3.TextureImplPropogatesDirtyBits on Win AMD GL
2019-04-10 jonahr@google.com Use ANGLE's gpu_info_util libraries for test expectations
2019-04-10 ynovikov@chromium.org Skip EGLSurfaceTest.SwapInterval on Nexus 5X and 6P GLES
2019-04-10 jmadill@chromium.org Minor update to auto-roller infra docs.
2019-04-10 syoussefi@chromium.org Vulkan: update GLES3 and EGL expectations
2019-04-10 spang@chromium.org Vulkan: Expose GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
2019-04-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src d90aae9a5a6c..82ebbbba15c2 (2 commits)


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=egdaniel@google.com

Change-Id: I91e964ae97905ae68e9addfe48f86b8eba1754e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207293
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 05:11:30 +00:00
skia-autoroll
235ec02e90 Roll ../src 1b121674f584..f8764798ff0e (366 commits)
1b121674f5..f8764798ff


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

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

Change-Id: Id8388e29dbfacd2baac61af8b0d737df30c2d52f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207292
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 04:58:30 +00:00
skia-autoroll
4d657d5e89 Roll third_party/externals/swiftshader f0aa9d5ab738..3954a0bafb8a (42 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f0aa9d5ab738..3954a0bafb8a


git log f0aa9d5ab738..3954a0bafb8a --date=short --no-merges --format='%ad %ae %s'
2019-04-11 bclayton@google.com SpirvShader: Document ops requiring capabilities
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450FindILsb
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Find[U,S]Msb
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Determinant
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NClamp
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NMax
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450NMin
2019-04-11 bclayton@google.com SpirvShader: Mark GLSLstd450IMix as unreachable.
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450InverseSqrt
2019-04-11 bclayton@google.com SpirvShader: Handle DecorationRelaxedPrecision decorations
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Sqrt
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Log2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Exp2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Log
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Exp
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Pow
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atan2
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atanh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Acosh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Asinh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Tanh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Cosh
2019-04-11 bclayton@google.com SpirvShader: Stub all the remaining GLSLstd450 unimplemented cases
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Sinh
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Atan
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Acos
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Asin
2019-04-11 bclayton@google.com SpirvShader: Implement GLSLstd450Tan
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Cos
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Sin
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Degrees
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Radians
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Ldexp
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Fma
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Frexp
2019-04-10 chrisforbes@google.com Implement pack/unpack extended instructions
2019-04-10 chrisforbes@google.com SpirvShader: Implement GLSLStd450ModfStruct
2019-04-10 bclayton@google.com SpirvShader: Implement GLSLstd450Modf
2019-04-10 srisser@google.com Generic Transform Feedback buffer as global state
2019-04-10 sugoi@google.com Use the ImageView's format in clear operations
2019-04-10 hliatis@google.com Resolve build issues with Reactor on Android
2019-04-10 swiftshader.regress@gmail.com Regres: Update test lists @ f0aa9d5a


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

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

Change-Id: I4598c779d9fd2bb2931e5d7ab6684a239834f7fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207294
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-11 04:45:00 +00:00
recipe-roller
99d7922767 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/a8a96dca3e5e81e2bfff4b93a2384c8b40a58068 Add commit_position module (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3022a22da68d3062fa78f11013227a031602f279
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207365
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-04-10 23:59:10 +00:00
recipe-roller
be94a48426 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/10a2ec175037ae0a360b7e317ecc9b8ac76e9d95 [buildbucket] Print builder ids (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib844817cb32747184a5b97ed2838566c32756535
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207364
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-04-10 22:49:40 +00:00
recipe-roller
34adc46220 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/cc7c58088b474b95483beaf4b41a3028121e4f7b [scheduler] Read current triggers (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I643ad06f0668ce8c78c7efe776bc44bd4e41a414
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207363
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-04-10 22:10:40 +00:00
Mike Reed
fb5bcca999 oops, remove the rest of SkMixer
Change-Id: I64820668e9f501002e64942d5c8a2b07abedf74a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207313
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-10 21:50:30 +00:00
recipe-roller
49f0630cb8 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/166a0650c2d951e45118581b5fa442940a675a13 Add recipe_proto OWNERS (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic011ac4b0bee4296a9604b4b1df16e334d108df4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207362
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-04-10 21:28:40 +00:00
Herb Derby
eded39a92d Return a span from getMetrics
Change-Id: I41f339dfa1a49f07ea5ab42e30d1a1e20af97b30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207308
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 21:23:35 +00:00
Greg Daniel
b9990e4492 Add more general flush call to GrContext.
This is to match the current features of SkSurface::flush and to prepare
for adding additional features to flush.

Bug: skia:8802
Change-Id: I5d68272e1277b416af357e6ffaf426841ceda943
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207301
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-10 21:19:10 +00:00
Ethan Nicholas
6dd9d3da60 removed duplicate GrCircleEffect.cpp
Bug: skia:
Change-Id: I741342126cd37ae12865e88aa4b21e6f152537d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207310
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-10 21:18:30 +00:00
Brian Osman
42280f8961 Add Shared library Windows builds
On Windows, exported types always have their constructors,
destructors, assignment operators, etc... generated, including
exception handling. This can require stricter rules about usage of
forward declared types. Ensure that we build correctly in that
environment (with both MSVC and Clang).

Change-Id: I119c368fcf3f0e55acce7b8f9183eca3ae1851fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207223
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-10 21:04:35 +00:00
Brian Osman
eec1e9e4f1 Even more DLL build fixes
These changes let us build a non-official component build on Windows,
using either MSVC or clang

Change-Id: Ia3279aa19e007e70ff28925ff70a0bfe8144d96f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207307
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 21:02:40 +00:00
Mike Reed
e3f17b911f remove SkMixer, since we have explicit lerps/blends in SkShader
Change-Id: I937861df9d8ae89c0587ea59dd740989bebd35a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207305
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-04-10 20:59:30 +00:00
Greg Daniel
e20f6cae8b Reland "Remove unnecessary flush in RenderYUVAToRGBA (take 2)"
This reverts commit 1208002548.

Reason for revert: This wasn't the cause of chrome roll failure as the failing bot is randomly failing on non-skia rolls as well.

Original change's description:
> Revert "Remove unnecessary flush in RenderYUVAToRGBA (take 2)"
> 
> This reverts commit 223845f792.
> 
> Reason for revert: speculative revert for chrome roll
> 
> Original change's description:
> > Remove unnecessary flush in RenderYUVAToRGBA (take 2)
> > 
> > There is no real reason to flush here. If clients need to access the results immediately they should be flushing at the API level.
> > 
> > A reland of: https://skia-review.googlesource.com/c/skia/+/196645
> > 
> > It needs to land after the Chrome CL:
> > 
> > https://chromium-review.googlesource.com/c/chromium/src/+/1560554 (Flush pending work after calls to YUVGrBackendTexturesToSkImage)
> > 
> > Change-Id: I230d7433b5c1b72d8f50fd475033c942826eda94
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206688
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> 
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
> 
> Change-Id: Ib712184e8c4f03cb4da21ca5c445b37cd3d7cd90
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207306
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: I543baa628f45a5599fbbc7bcafc0d12db6fa2adf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207312
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-10 20:45:02 +00:00
Florin Malita
b72dee21c1 [skottie] Initial "Levels" effect support
Introduce sksg::LevelsColorFilter and hook into Skottie's effects builder.

Limitations:

  - BM/Lottie does not export animated paramaters (static values only)
  - BM/Lottie only exports the first modified channel

Change-Id: I9ef389478c2eaa0d13794abe6a8089a8b3c0c62e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206269
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-04-10 20:40:10 +00:00
Florin Malita
347a9709bb Reland "[skottie] More snug kTop Shaper alignment"
This reverts commit 80658204f4.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "[skottie] More snug kTop Shaper alignment"
> 
> This reverts commit 7ef3e14516.
> 
> Reason for revert: TSAN failures (HB?)
> 
> Original change's description:
> > [skottie] More snug kTop Shaper alignment
> > 
> > The current implementation relies on SkShaper ascent values for top
> > text box alignment, but the results are not as visually accurate as AE
> > (or Lottie).
> > 
> > Use the computed tight bounds instead.
> > 
> > Change-Id: I4447a834fe3cae398fc887766daa68802e7f50a5
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206684
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> 
> TBR=bungeman@google.com,fmalita@chromium.org
> 
> Change-Id: Icdcca2f6a7b33c8366c1118be2e842ff3978c8bd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206911
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

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

Change-Id: I8b72a30b7c2d6d6918f768e59e5d7c987ed5c147
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207300
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-10 20:27:34 +00:00
Jim Van Verth
9896a0d790 Add mipmap generation for Metal
Bug: skia:8243
Change-Id: Id71073dffe6e2b42d099f0c92059b53c48b46c4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206717
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-10 20:19:00 +00:00
Hal Canary
6028fa708b SkPDF: narrow layer bbox
This change reducess the size of the layer bounding box for layers
created when drawing a path or image with a mask filter.

All test PDFs render the same.

Motivation: renderers may be able to allocate smaller raster layers and
save time and memory.

Change-Id: Ibe53b85bada5d6af6ecc98aff972b5610c09d4dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207361
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 20:15:50 +00:00
Greg Daniel
1208002548 Revert "Remove unnecessary flush in RenderYUVAToRGBA (take 2)"
This reverts commit 223845f792.

Reason for revert: speculative revert for chrome roll

Original change's description:
> Remove unnecessary flush in RenderYUVAToRGBA (take 2)
> 
> There is no real reason to flush here. If clients need to access the results immediately they should be flushing at the API level.
> 
> A reland of: https://skia-review.googlesource.com/c/skia/+/196645
> 
> It needs to land after the Chrome CL:
> 
> https://chromium-review.googlesource.com/c/chromium/src/+/1560554 (Flush pending work after calls to YUVGrBackendTexturesToSkImage)
> 
> Change-Id: I230d7433b5c1b72d8f50fd475033c942826eda94
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206688
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ib712184e8c4f03cb4da21ca5c445b37cd3d7cd90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207306
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-10 19:48:17 +00:00
Mike Klein
1c62426f96 make to_vec template parameters explicit
For some reason, Clang can infer <N,T> but GCC can't.
No big deal... we know exactly the ones we want anyway.

Change-Id: I15ba4d4edbd3bc0f37ebe3c2b6e411726cd9fb69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207341
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-04-10 19:45:55 +00:00
Mike Klein
da7b053527 tweak SkVx to play nicely with others
Was starting to use this and ran into a few problems with clashing
symbols, namely SI and cast().  Seemed simple enough to not use SI,
and to move all the free-standing types into skvx: skvx::cast,
skvx::shuffle, etc.

Change-Id: Ia5d8ef6d0ae5375bf80d76be88d16f0c9cde56e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207340
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-04-10 19:40:05 +00:00
Herb Derby
13df106d59 Add an index to SkGlyphPos
In the mask case, the original position is needed for the fallback case.
Add an index from the original sequence to lookup the source position
when needed.

Change-Id: I16ca08cab6be685af45e4ccabf3d1f76efd7e61e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206709
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-04-10 19:16:05 +00:00
recipe-roller
b156c41d87 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/6c8922f408b3a4f103be5659fa941b2bbe1befb2 Implement copy operations for sentinel. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia5ec3c79bdeb60a0b6f393efded89848633fee91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207360
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-04-10 19:05:49 +00:00
Brian Osman
c725e8f7ea Make SkShaper's GN setup more DLL friendly
Similar to the Skottie refactor that just landed, this avoids having an
empty component when shaper is disabled (which turns into a DLL with no
sources, and a missing DllMain). I think this pattern of having modules
expose the same components as empty groups is simpler (and also fixes
the fact that only two of N references in top-level BUILD.gn were
guarded). Also, no one is using the define?

Change-Id: I9d25c1cfbd42336874f4428bf61f3e34a4a18d3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207303
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 18:59:35 +00:00
Brian Osman
ca9465688f Make Skottie's GN setup more DLL friendly
Skottie doesn't currently build with is_component_build=true. Trying to
build a DLL with skia_enable_skottie=false failed, because we ended up
with a component("skottie") that had no sources. That led to fallback
linker behavior, but no DllMain.

To solve this, and simplify things, move the skia_enable_skottie checks
to the outer scope, and simply replace all the referenced components
with empty groups when it's not enabled. Also fix some fm code that was
assuming it was always enabled.

Change-Id: I4a47d80d882e6c557ee14b34255e22e09292cc8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207302
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 18:35:25 +00:00
Ethan Nicholas
21a9b56fc2 moved files generated from .fp files into generated/ directories
Bug: skia:
Change-Id: I8605cdfcc0b1c56c23a6075c7fe188ab7384681c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207221
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-10 18:02:02 +00:00
Herb Derby
7921c01150 Reland "Do not use sub-pixel positioning for source space"
This is a reland of 7b56b0ae39

Original change's description:
> Do not use sub-pixel positioning for source space
>
> Since the source space drawing modes call getGlyphMetrics with
> the point {0, 0}, just turn of sub-pixel positioning. This uses
> a more efficient code path in the strike
>
> Change-Id: I360f56e1eede776dfa82db6b780b88c1fda50d36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206701
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
> Auto-Submit: Herb Derby <herb@google.com>

Change-Id: I4f5305990765e280930f93b25c049f6df198dc10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206912
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 17:36:50 +00:00
Robert Phillips
223845f792 Remove unnecessary flush in RenderYUVAToRGBA (take 2)
There is no real reason to flush here. If clients need to access the results immediately they should be flushing at the API level.

A reland of: https://skia-review.googlesource.com/c/skia/+/196645

It needs to land after the Chrome CL:

https://chromium-review.googlesource.com/c/chromium/src/+/1560554 (Flush pending work after calls to YUVGrBackendTexturesToSkImage)

Change-Id: I230d7433b5c1b72d8f50fd475033c942826eda94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206688
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-10 17:08:00 +00:00
Brian Osman
14003828df Delete SkSL::Compiler copy constructor and assignment operator
Another fix for Windows DLL builds. This is basically the issue from
crbug.com/770771 - we have a vector<unique_ptr>, and unique_ptr does
not allow copying or assignment. For an exported (SK_API) class, those
members will be auto-generated unless they're explicitly deleted.

Change-Id: I5764ecf0528f28cc3c201127b51574ad41841325
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207220
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 16:21:04 +00:00
Ben Wagner
20054dca88 Make path in Sk1DPathEffect thread safe.
Found by TSAN reporting on a recorded Sk1DPathEffect being drawn from
multiple threads.

Change-Id: I6d4bf9c336d9fd091263babd558891e64203e281
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207180
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-10 16:00:30 +00:00
Hal Canary
f5edf36d44 SkPDF: split GraphicStateStack out
motivation: SkPDFDevice is too big to think about.

All pdf outputs are identical.

Change-Id: I7d56aea07907ebcc9276d81797007d6798d54ee0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207123
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 15:42:40 +00:00
Hal Canary
b4719cc724 SkPDF: simplify device drawRect
minimal difference in `thinrects` gm, all having to do with degenerate
rectangles.

Change-Id: I1cec8698f5c20b966b9d92acbd476e4b499df879
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207120
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-10 15:39:00 +00:00
Ethan Nicholas
442615b85a regenerated FP files to make bot happy
Bug: skia:
Change-Id: I487e17d32d26f9f5acafe011ea1a6ad90cedf9b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207122
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-10 15:30:50 +00:00
Brian Salomon
a585fe9a74 Add Vulkan implementation of transfering from GrSurface to a GrGpuBuffer
Bug: skia:8962
Change-Id: I3796bef5a9e1af741b933afc78e32effb2b57a4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206703
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-10 15:28:30 +00:00
Brian Osman
e8a986387b Define all ImageSetEntry members out of line
This fixes compile errors in Windows DLL builds, where (due to
exceptions?) any of these members might need to call sk_sp's
destructor.

Change-Id: I82986afa4497216cda76b681782ccea3c530ba7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207121
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 15:06:20 +00:00
Robert Phillips
9313aa77e1 Skip flush in GrDrawingManager if the specifed proxy doesn't have any work (take 2)
This is rather ham-fisted but I would like to have a short-term fix for the "always-flush" perf regressions.

Change-Id: I508e2d725ac18f50318baf31bc3243fe932c724b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206697
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-10 13:55:01 +00:00