Commit Graph

43842 Commits

Author SHA1 Message Date
Michael Ludwig
0a1e9efa39 Don't use AA convex path renderer if direction can't be determined
Without the changes to GrShape and GrAAConvexPathRenderer, this new GM
would not draw the red circle at the center when using Ganesh. Raster
drew the red circle. The difference came about because they checked
convexity after transforming by the view matrix, and Ganesh checked
before.

With this particular path construction and the very large scale factor
on the CTM, the convexity calculator in local space computed small
enough edge vectors that it thought the contour backtracked on itself
instead of winding in a consistent direction.

The GrAAConvexPathRenderer would claim it could draw the convex path,
but later when actually preparing to draw, it would do nothing if it
turned out the convex path didn't have a direction. This CL updates it
so that the convex path renderer's canDraw() function matches what it
is actually able to draw.

There is the separate issue of the convexity/direction checking
precision.

Bug: chromium:996140
Change-Id: I6f2af2d9ba6752663d97c8573deb2d767a3f1245
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238121
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-09-02 01:57:03 +00:00
skia-recreate-skps
7dfd4bd3fc Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I81be23f22c881e010294a503786b0a492417c2c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238644
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-01 08:18:12 +00:00
skia-recreate-skps
7e45515fa3 Update Go deps
Change-Id: I598500727a4411a4b565462f4c0d1da83da69a9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238639
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-01 05:25:42 +00:00
Mike Reed
6e637472eb remove legacy flag SK_SUPPORT_LEGACY_RECT_PARAMS
Change-Id: If44832593bfb3877e1fe7c68ec64c70f0d595ed5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238176
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-08-31 12:12:19 +00:00
skia-recreate-skps
c2ec9bfe1b Update Go deps
Change-Id: Id44616f7238302fd35be794d2e6983417a42e95e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238616
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-31 05:25:49 +00:00
recipe-roller
f46c8268bf 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/17016be940adee622232217f60df423ad555e82c README.git-cl.md: Remove reference to Rietveld (maruel@chromium.org)
  https://crrev.com/7542437eea41f579d1f87d78f6848db15e34070f git cl: get rid of builders-map. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0c34c3f6a98bc33ed8c3328200b4859a1ecde2fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238559
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-08-30 23:19:09 +00:00
Florin Malita
93edd9eb44 [skottie] Discard unneeded static text animators
Change-Id: I8751b1b1193726849e6ed3f127e32c17b8a7ed6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238443
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-30 21:09:08 +00:00
Andy Weiss
8ef18d359b Override operator delete for GrCCPathCache::Key
GrCCPathCache::Key allocates extra space for a buffer in Make but using sized
delete will then lead to UB as operator delete is not implemented.

This change overrides the delete operator to force the unsized variant
which gets rid of the UB at the cost of not taking advantage of sized
delete. Once P0722R1 is available to safely compute the full size of
the object inside delete, this code can change to use sized delete.

c.f. https://bugs.chromium.org/p/skia/issues/detail?id=6384
and http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0722r1.html

Change-Id: Id92edc71374be6880aa362e625bb9a5d20e07ac0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238116
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-30 20:08:21 +00:00
Greg Daniel
15ecdf94fd Just skip uninstantiated GrOps instead of delete them on flush.
Change-Id: I4e1755872979b635ad993cfba6b17d7b79ee2c54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238179
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-30 20:01:41 +00:00
Brian Osman
33f9d69353 Pass SkPaint by const-ref to SkParticleDrawable
Makes it clearer that this isn't optional, for drawables that route to
similar canvas calls.

Change-Id: I12142c11676ba6baeea3e2779ec05af601d8beb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238440
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-30 19:03:36 +00:00
Chris Dalton
4ece96d76d Reland "Initiate MSAA resolves during DAG generation"
This is a reland of 804f6a0fe7

Original change's description:
> Initiate MSAA resolves during DAG generation
> 
> Adds an "fIsMSAADirty" flag to GrRenderTargetProxy and switches to
> resolving MSAA in GrTextureResolveRenderTask. This completes our push
> to resolve textures outside of render passes.
> 
> For the time being, we only store a dirty flag on the proxy and still
> rely on the GrRenderTarget itself to track the actual dirty rect. This
> will be followed by a CL that moves the dirty rect out of
> GrRenderTarget and into the proxy.
> 
> Bug: skia:
> Change-Id: I21219a58028bdb4590940210e565133093cd34b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235672
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: skia:
Change-Id: I805b3af1404eb7919ae937cff3dfa97921e32c69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237482
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-30 17:54:10 +00:00
Ethan Nicholas
095f5b4de8 .fp files now support user-defined functions
Bug: skia:
Change-Id: I9903f4c7751474a066b52b1feab39b58a9cb7af2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238439
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-08-30 17:50:45 +00:00
Ethan Nicholas
e7a6bad7a3 removed dead code from SkSLPipelineStateCodeGenerator
Bug: skia:
Change-Id: Ie33391a9ef70eb7210a205c98b63fdc333295be8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238437
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-08-30 17:49:05 +00:00
Mike Reed
8d72456867 add bot to test savelayer legacy flag
Change-Id: Ic80e312396519fb6993f545e7c7127c2c41beccf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238477
Reviewed-by: Eric Boren <borenet@google.com>
2019-08-30 17:15:55 +00:00
Chris Dalton
a43e2d284b Don't assert mips actually need resolve during texResolveRenderTask
Too many exceptions can arise during flush in which the mips won't
actually be marked dirty: Failed to flush GL state, Ops that don't
actually issue any draws, etc. Since the DAG can't and shouldn't
predict these rare exceptions, we just remove the assert.

Bug: skia:
Change-Id: I41cd802f226388fca3762736f15b529efb69a3a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238166
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-08-30 16:17:33 +00:00
Brian Osman
2aa85df8e7 Particle cleanup: split SkParticleBinding out of SkParticleEffect
Also simplify type registration.

Change-Id: Ia47febb2ae2cd5821476c3dd33a688b688aa6d6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238359
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-08-30 15:32:38 +00:00
Ethan Nicholas
d4efe685dd SkSL sample() now permits specification of coordinates
Bug: skia:
Change-Id: I16073008ac852f1864bd1d2bd38087a5b661d05a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232581
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-08-30 15:29:13 +00:00
Peng Huang
21d726de0b Add SkSurfaceProp::operator!=.
Bug: skia: None
Change-Id: Iead86585ecb2151a91e5e81da7d75d74a86819ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237444
Commit-Queue: Peng Huang <penghuang@chromium.org>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-30 15:27:33 +00:00
Ravi Mistry
6d50818641 Match CanvasStateHelpers.cpp change in Android repo
Matches https://googleplex-android-review.git.corp.google.com/c/platform/external/skia/+/9293246/2

Bug: skia:9381
Change-Id: I2c84e729aa9965e36aabf84fd4903afaace2fdd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238357
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-08-30 13:49:11 +00:00
Ravi Mistry
b30ba90aec Fix spreadsheets page set for RecreateSKPs bot
NoTry: true
Bug: skia:9380
Change-Id: Iab05b1baab58032a8053242fd2a8b6e8799c35cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238037
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-08-30 13:43:11 +00:00
Brian Osman
575699569e Update sample particle data in canvaskit demo
Change-Id: Ia55ed099c9b7d3896b29d51dafce11a518a0bdf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238122
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-08-30 12:19:58 +00:00
skia-recreate-skps
7409b73fa5 Update Go deps
Change-Id: Iea67fa2488c293a7e8658fa9fbe22652eb62220f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238243
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-30 05:30:43 +00:00
skia-autoroll
b0b46209ed Roll third_party/externals/angle2 5d27a6961601..120b61d34ba8 (9 commits)
5d27a69616..120b61d34b

git log 5d27a6961601..120b61d34ba8 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 lujc@google.com Use ShaderProgramID in place of GLuint handles
2019-08-29 tobine@google.com Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
2019-08-29 tobine@google.com Reland "Vulkan: Use VK repos' internal BUILD.gn files"
2019-08-29 geofflang@chromium.org Expand the TextureGL::releaseTexImage size reset workaround to Win AMD.
2019-08-29 syoussefi@chromium.org Vulkan: DispatchIndirect in graph dump output
2019-08-29 m.maiya@samsung.com Vulkan: Fix compute shader bug affecting 10_10_10_2 formats
2019-08-29 lujc@google.com Various fixes for frame capture
2019-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f27bd2aa2e3f..796df2d74e05 (4 commits)
2019-08-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 15fc19d0912d..73422a0a5ee1 (1 commits)

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

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 stani@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: I9245bb8b81e3f0ef26432d2950526b4c1dedf628
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238236
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 05:25:03 +00:00
skia-autoroll
de98912db4 Roll ../src 2dd36fa786a2..a461132e64f5 (466 commits)
2dd36fa786..a461132e64


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

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 stani@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.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
Bug: None
TBR=stani@google.com
Change-Id: Iea4acc4f6252e4ed0607b8ed0f2d5319383703f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238239
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 05:10:03 +00:00
skia-autoroll
ba0a2c7ad9 Roll third_party/externals/swiftshader eea9d35b8757..680d37610656 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/eea9d35b8757..680d37610656

git log eea9d35b8757..680d37610656 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 sugoi@google.com Add VK_IMAGE_USAGE_SAMPLED_BIT to SurfaceKHR
2019-08-29 sugoi@google.com Support for independentBlend feature
2019-08-29 capn@google.com Disable Vulkan projects in Visual Studio solution build
2019-08-29 bclayton@google.com Regres: Adjust constants and include error messages
2019-08-29 bclayton@google.com WSI: Very basic XCB surface implementation.
2019-08-29 swiftshader.regress@gmail.com Regres: Update test lists @ eea9d35b
2019-08-29 chrisforbes@google.com Add support for ImageFormatRg32{f,i,ui}

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

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 stani@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I64bcffacb1325095f05af4d7481bdcd21ec4b6c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238237
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-30 04:35:03 +00:00
Florin Malita
165ca3f85b [skottie] Text selector ease-high/ease-low support
Change-Id: Ia879868df677cabca6d5fcd09845efdb6147ee8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238177
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-29 21:34:10 +00:00
Jim Van Verth
68cb8b0239 Switch to new IOS windowing system.
This replaces the SDL-based system and should allow Metal to work on iOS.
OpenGL and raster will render but there's no touch input yet.

Bug: skia:8737
Change-Id: I863accc47f0e1781192d567dbe54d1e321c3cd2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/231561
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-08-29 20:13:03 +00:00
Stephen White
e264131289 Dawn: Implement RenderPipeline caching (optimization).
Implement RenderPipeline caching. This moves creation of all pipeline-
related objects from GrDawnGpuCommandBuffer.cpp to GrDawnProgramBuilder.

Change-Id: I42797750877b655ee19347406946302b296f3758
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236917
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-29 19:54:33 +00:00
Greg Daniel
d72dd4dfdc Fix updating of current task index in GrResourceAllocator
Bug: chromium:996610
Change-Id: Ibb133e0ab4c1250189b69b60418d8c553c9645e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238117
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-29 19:04:02 +00:00
Brian Salomon
a036f0d54e Make GrSurfaceProxy derive from GrNonAtomicRef and remove GrIORefProxy.
Also, expose GrNonAtomicRef's ref count. Since it's non-atomic and not
thread-safe it seems fine.

Change-Id: I5cf48e60d32094354955b2614cfeebbb4c1ecf2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238059
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-29 19:03:33 +00:00
Florin Malita
a58bbee8f7 [skottie] Refactor/generalize text selector shape generators
The main motivation for this change is getting *all* shape generators to
run the ramp through a cubic mapper - this will allow adding
ease-in/ease-out support in a follow up CL.

As a bonus, the new implementation is more straightforward and concise
(at the expense of dropping some likely-premature optimizations).

Change-Id: Ia2bc53525ae529c35300be124220b4d61e4fc474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238061
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-29 18:56:23 +00:00
Brian Osman
8a97782956 Move common particle code to an automatically-injected header
Change-Id: If99e1802c8187ebd98b67717d744c6695bb25900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238118
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-29 18:49:33 +00:00
Stephen White
d729e2d64a Dawn: submit all command buffers in a single call.
All command buffers are now appended to a single vector, and submitted
submitted in onFinishFlush() in a single submit.

In order to do this, implement a centralized command encoder for copies.
This command encoder is used for buffer-to-buffer, buffer-to-texture and
texture-to-buffer copies.

Change-Id: If1092ae4edbe03c995d4cb80e0dc124516d63dad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235826
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-29 18:45:05 +00:00
Herb Derby
3783375c4d Only send the RemoteStrikes that have pending glyphs.
Count the number of strikes in fRemoteStrikesToSend that have
glyphs to send. The strike may not have glyphs to send, because they
were sent previously. Then, send the strikes that have glyphs to send.
Keep the bool in the serialization which indicates that strike
has glyphs and should always be true now. The bool will be removed in the next CL.

Change-Id: I8b75d1bda574fd71adfd21cb20ff912340fc2e33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237815
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2019-08-29 17:02:02 +00:00
Hal Canary
b1f411ac05 tools/skui: put all enums in a common namespace
Change-Id: Icd331e8946d80652750b8b6ea0db65f5f676ac3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238058
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-29 15:39:32 +00:00
Brian Osman
ca8b07cf8a Reland "Pin the GLSL version to be no larger than the GL version"
Updated to fix a bug with the different version numbering between
GL and GLSL.

This reverts commit 0042cb0c87.

Change-Id: I5ae9bb77bd46eac47b05e340b491f8a8671ef5a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238057
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-29 14:57:42 +00:00
skia-recreate-skps
938ce9fc53 Update Go deps
Change-Id: If2b7905883a12c31084afb467e01586085309a8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238024
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-29 05:25:41 +00:00
skia-autoroll
b0465ae8b2 Roll third_party/externals/angle2 886698bc3fdd..5d27a6961601 (13 commits)
886698bc3f..5d27a69616

git log 886698bc3fdd..5d27a6961601 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 timvp@google.com Support separable shader programs
2019-08-28 lujc@google.com Use ProgramPipelineID in place of GLuint handle
2019-08-28 syoussefi@chromium.org Vulkan: Expose EXT_instanced_arrays
2019-08-28 lujc@google.com Use PathID in place of GLuint handle
2019-08-28 geofflang@chromium.org Supress dEQP ETC texture tests on Mac.
2019-08-28 geofflang@chromium.org Suppress error messages in ANGLE end2end tests on Nexus6P.
2019-08-28 cwallez@chromium.org Suppress correct failure on Android FYI Release (NVIDIA Shield TV)
2019-08-28 lujc@google.com Use QueryID in place of GLuint handle
2019-08-28 spang@chromium.org Move default ANGLE platform type out of main switch/case
2019-08-28 cwallez@chromium.org Suppress crashing perftests on Win Intel Exp Rel
2019-08-28 cwallez@chromium.org Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV)
2019-08-28 lujc@google.com Support in memory frame capture replay
2019-08-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src a3bc04b278ed..f27bd2aa2e3f (4 commits)

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

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 stani@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: Ia09e23b235c51fce9d8a6063d4285b4e82fd50d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238019
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:25:01 +00:00
skia-autoroll
0baadc0381 Roll ../src c96d445dc9eb..2dd36fa786a2 (452 commits)
c96d445dc9..2dd36fa786


Created with:
  gclient setdep -r ../src@2dd36fa786

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 stani@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.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
Bug: None
TBR=stani@google.com
Change-Id: I6696332512a0a3b07b9ef9c086dc7f33f5370d5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238020
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:00:31 +00:00
skia-autoroll
47023272a1 Roll third_party/externals/swiftshader cde4dd9601ce..eea9d35b8757 (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cde4dd9601ce..eea9d35b8757

git log cde4dd9601ce..eea9d35b8757 --date=short --no-merges --format='%ad %ae %s'
2019-08-29 bclayton@google.com Device/Renderer: Work arounds for MemorySanitizer false-positives
2019-08-29 chrisforbes@google.com Clamp float values to correct range before conversion to normalized
2019-08-28 capn@google.com Support running Vulkan unit tests from the output directory
2019-08-28 chrisforbes@google.com Add missing vkGetPhysicalDevicePresentRectanglesKHR function
2019-08-28 chrisforbes@google.com Fix vkClearAttachments VK_ATTACHMENT_UNUSED handling
2019-08-28 swiftshader.regress@gmail.com Regres: Update test lists @ 05823feb
2019-08-28 capn@google.com Prettify atomic initialization
2019-08-28 chrisforbes@google.com Update testlists for Vulkan CTS 1.1.5 roll
2019-08-28 bclayton@google.com Device/Renderer: Fix uninitialized field.
2019-08-28 capn@google.com Make round-robin task enqueue index thread safe

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

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 stani@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=stani@google.com
Change-Id: I5936b92e5e9d918d6477553dcb26ae55364853f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-29 05:00:01 +00:00
Michael Ludwig
a4b448831c Reland "Calculate draw bounds in drawEdgeAAImageSet"
This reverts commit a5fa56e910.

Reason for revert: Fixes bound calculation to transform fDstRect by each entry's pre-view matrix
if needed.

Original change's description:
> Revert "Calculate draw bounds in drawEdgeAAImageSet"
>
> This reverts commit 977b50a7e0.
>
> Reason for revert: Likely broke skia_renderer bots, https://test-results.appspot.com/data/layout_results/linux-rel/177320/vulkan_swiftshader_blink_web_tests%20%28with%20patch%29/layout-test-results/results.html
>
> Original change's description:
> > Calculate draw bounds in drawEdgeAAImageSet
> >
> > This will allow SkiaRenderer to provide image filters on the SkPaint
> > instead of using an explicit saveLayer, where they must calculate the
> > draw bounds. Once SkiaRenderer provides filters that way, they will
> > automatically take advantage of any implicit layer optimizations we can
> > add down the road.
> >
> > Bug: skia:9283
> > Change-Id: I87adef336a08210d4d015e36c907e893a973947d
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237477
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: I99d90f7beae89b509c35649dcfcdf392a47b3415
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9283
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237596
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I1cba1e70d32abe7cd2ad3cfe478960a3670e79ca
Bug: skia:9283
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237900
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2019-08-28 21:05:30 +00:00
Michael Ludwig
ac3521262b Reland "Combine snapBackImage and snapSpecial"
This reverts commit fd849a537a.

Reason for revert: Magnifier filter fixed, layout tests shouldn't break on this change anymore.

Original change's description:
> Revert "Combine snapBackImage and snapSpecial"
> 
> This reverts commit 45739aa1d8.
> 
> Reason for revert: Looks like the magnifier filter doesn't handle subset origins correctly either, not caught by our tests, but does in layout tests.
> 
> Original change's description:
> > Combine snapBackImage and snapSpecial
> > 
> > Previously, snapBackImage always made a copy since that is required for
> > its use in saveBehind(). Backdrop filters also used snapBackImage because
> > it relied on its subset SkIRect argument to avoid using the entire
> > layer as input to the backdrop filter. The regular snapSpecial() originally
> > did not take a subset at all. The GPU implementations of snapSpecial()
> > and snapBackImage() were very similar. This merges them into a single call
> > that takes a subset SkIRect and a boolean to control if the copy is required.
> > 
> > Only saveBehind() requires that the copy is made, due to how it bypasses
> > the regular copy-on-write behavior managed by SkCanvas and SkSurface. The
> > no-argument saveSpecial() is still provided, but it is defined to just snap
> > the bounds of the device.
> > 
> > Flutter noticed a fairly serious performance regression on iOS that went
> > back to this CL: 08b260c27b. It was determined that the only significant change in
> > behavior that was active given their minimum working example was switching
> > from snapSpecial() to snapBackImage(). Hopefully moving to a snapSpecial that
> > takes a subset, but doesn't copy when there is a texture already available
> > will restore the performance.
> > 
> > Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
> > Change-Id: I448f8886347a1e0f4da8f61279744bb9254f7752
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237127
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> TBR=bsalomon@google.com,brianosman@google.com,michaelludwig@google.com
> 
> Change-Id: I7fd897da8a50b2fc0079e2aed9b6ad4bed6d3879
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237616
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: Ieeb7e8c3b3261d9e900fea6e83a5726b4b6c86cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9283, https://github.com/flutter/flutter/issues/36352, https://github.com/flutter/flutter/issues/37541, https://github.com/flutter/flutter/issues/36064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237904
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-28 21:03:12 +00:00
recipe-roller
bf4ddcf612 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/ee8d9ce83d7c26d09283efc88d381bd2505bf836 owners: add owners_rooted_at_file() (ellyjones@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iece6b0e34d39b212b3107b6edc745c1cd627637b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237959
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-08-28 20:59:10 +00:00
Brian Osman
0042cb0c87 Revert "Pin the GLSL version to be no larger than the GL version"
This reverts commit 63655b5a21.

Reason for revert: Seems to be happening on more devices than is expected.

Original change's description:
> Pin the GLSL version to be no larger than the GL version
> 
> Some Adreno 308 devices have a driver bug where the GLSL version is
> higher than the GL version, and attempting to use shaders with that
> version triggers an error.
> 
> Change-Id: I5c8996e9771983e547ec75e57b04e2584507727f
> Bug: https://github.com/flutter/flutter/issues/36130
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237898
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I4df2a01ae5228aa4edb56b35aa7f28807886282a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/flutter/flutter/issues/36130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-28 20:46:08 +00:00
Michael Ludwig
9c853fa54a Fix non-zero special-image subsets in magnifier filter
This will let us re-land https://skia-review.googlesource.com/c/skia/+/237127
which makes non-zero subsets much more common. Confirmed that this CL and
the linked CL will now pass the CC unittests that caught the original failure.

Change-Id: Ic0393a574b2c19d92421a5deece81ab2ed70fc97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237899
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-28 20:35:29 +00:00
Michael Ludwig
6c580f3cc1 Revert "Fix flutter roll"
This reverts commit 7be971fa3a.

Reason for revert: Flutter has been updated to new API, these patches
should not be necessary.

Original change's description:
> Fix flutter roll
>
> Flutter extends from the SkCanvasVirtualEnforcer, so the prior change
> to onDrawEdgeAAQuad to accept an SkColor4f instead of SkColor broke
> their build, the flutter roller, and--transitively--the G3 roller.
>
> This keeps the old onDrawEdgeAAQuad around as a no-op so their
> canvas_spy class can extend from it.
>
> TBR=bsalomon@google.com, stani@google.com
>
> Bug: skia:
> Change-Id: I3798ec60a21e90c3d3f5d59f19f7dbe62e37cbec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237590
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I2946043dbddfdfc8c853e68853a8a349db0b5ab1
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237901
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-08-28 19:50:56 +00:00
Leon Scroggins III
0e68f44212 SkAnimatedImage: Update HEIF duration
Bug: 139815242
Test: Manual

HEIF does not know the correct duration for a frame until it has been
decoded. Update the frame time after decoding.

Change-Id: I6c4d1f27ea927b27d4c435e6aca94d57126e1146
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237876
Reviewed-by: Chong Zhang <chz@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-08-28 19:49:06 +00:00
Jim Van Verth
066ceb15b6 Implement fences and semaphores for Metal.
GrFence is implemented by a single MTLSharedEvent where we increase the
value with each new invocation. GrSemaphore uses a MTLEvent (the
assumption here is that we are signaling and waiting on the same device)
with an associated value that defaults to 1. For generating a large
number of GrSemaphores at once it should be possible to use the same
MTLEvent but with different assigned values.

Bug: skia:8243
Change-Id: Ic7de2d9d295fbe51e67bc7c3c4354257cb0774d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233416
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-08-28 19:38:56 +00:00
Brian Osman
63655b5a21 Pin the GLSL version to be no larger than the GL version
Some Adreno 308 devices have a driver bug where the GLSL version is
higher than the GL version, and attempting to use shaders with that
version triggers an error.

Change-Id: I5c8996e9771983e547ec75e57b04e2584507727f
Bug: https://github.com/flutter/flutter/issues/36130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237898
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-28 18:37:55 +00:00
Brian Salomon
76556a39ea Alpha8 support cleanup in GrGLCaps.
*Never renderable in ES but always texturable
*glTexStorage2D validity based on GL_EXT_texture_storage extension
*Move workarounds to workaround setup code

Change-Id: Id2b59ed8c65c88fea9e5cb671d34651dfb9b6a11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237814
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-28 18:26:36 +00:00