Commit Graph

45457 Commits

Author SHA1 Message Date
Greg Daniel
ed96bcaa63 Have GrLatticeOp use GrSurfaceProxyView.
Bug: skia:9556
Change-Id: Ibb0fe82edb9c28efd94cc599856ed9afe71dfd09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258416
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-12-05 20:37:33 +00:00
Mike Klein
d50cc95872 upgrade SkMiniRecorder to c++11
It had been manually std::move()ing without actually
calling it by that name.  GCC noticed.

Oh hey, let's call ~T().

Change-Id: Ie54b8906e3a4334f73e46ca9d31dc8542289f238
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258344
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-05 20:17:13 +00:00
Brian Osman
ffbfd1bc78 Particles: Remove play-position thing, simplify mouse tracking
Change-Id: I36ce78ee1de8096d9aa164444e8af31b3831a3ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258217
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-05 20:07:13 +00:00
Brian Salomon
b0047b57b7 Revert "Remove most of GrConfig.h"
This reverts commit 80e334dad8.

Reason for revert: Chrome is including our private headers which means this breaks the Chrome roll:
https://chromium-review.googlesource.com/c/chromium/src/+/1953757

Original change's description:
> Remove most of GrConfig.h
> 
> Change-Id: I0f693bed0778151f93d07cd42c6b597566695ab1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257999
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ie206db9865a7f9a7e334eb248de8cff38dd31d15
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258356
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-05 19:52:48 +00:00
Mike Reed
76c5192db7 clip paths in perspective (as needed)
Change-Id: I3807312a20e8c9699b9ede8706a6e47bb354480a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258243
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-05 19:44:53 +00:00
Herb Derby
c9ab3ff632 Have direct mask glyphs happen after SDFT
Direct ARGB fallback is only needed when rendering SDFT. So,
the direct mask stage follows the SDFT case to handle any colored
glyphs the SDFT could not handle.

Change-Id: I97dfbcf3177f113402bfa363eef287b2617f3bb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252260
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-05 19:33:43 +00:00
Mike Klein
ae2e6073b6 more "SkScalerContextRec is bytes"
Just like the first CL, this time hopefully I got all the rest
for SkScalerContextRec.  (I had been going file by file...)

Change-Id: Icae83ff0f6f6b360b1f13069c467a40d8f1d8d62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258343
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-05 19:21:12 +00:00
Brian Salomon
80e334dad8 Remove most of GrConfig.h
Change-Id: I0f693bed0778151f93d07cd42c6b597566695ab1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-05 18:37:33 +00:00
Mike Klein
786be72765 tell GCC copying into SkScalerContextRect is safe
GCC warns now about memcpy()ing into types that have no trival copy
assignment.  (I think it's the mix of public and private fields that
makes SkScalerContextRec non-trivial.)

Yet SkScalarContextRec really is designed for memcpy(), so we can just
stifle it by casting the memcpy() destination pointer to void*.

Change-Id: I72f9aedd3e1ff9d496db066260bcde7178c1bf7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258338
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-05 18:22:02 +00:00
Mike Klein
908b4a1158 stifle GCC warnings in Sk4px
GCC warngs that we're memcpy()ing into Sk4px, a non-trivial type.  We're
really quite sure about its layout (now asserted) so I think it's safe
to just cast to void* to quiet the warnings.

Change-Id: I6b868e0dc7113302914c37b0aac187272203329f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258270
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-12-05 18:20:33 +00:00
Robert Phillips
7f11fb5025 Add mutex to guard GrSkSLFPFactoryCache accesses
In the DDL-recording world we're now computing GrProgramDescs at record time. This ends up creating the GrSkSLFPFactories involved in multiple threads. As part of the GrContextThreadSafeProxy, the GrSkSLFPFactoryCache has to be thread safe.

This CL also forces GrSkSLFP.h and GrSkSLFPFactoryCache.h to only ever be included in .cpp files.

Bug: skia:9455
Change-Id: Ic5e87c28d2c1c5b468ac81e07b66c1191efbbd65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257634
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-12-05 17:58:03 +00:00
Michael Ludwig
4384f04356 Help MSVC pack GrTextureOps bitfields
Bug: skia:
Change-Id: I868da59cfcd4357ea4b2f4018dc3b94bae6d0287
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258237
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-12-05 17:46:13 +00:00
Mike Klein
1713fcc5b4 Stifle GCC false positive
When deserializing SkRRects we copy the raw data then recreate a little
more analysis stored at the end of the struct that is not serialized.

GCC worries we've not copied enough, but we have.  We can stifle the
warning by casting the pointer to void* before calling memcpy().

Change-Id: I3ae0007927611d4fc84ced8d12f62e0fa23ee3ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258267
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-05 17:45:37 +00:00
Mike Klein
9b849047b8 clearing fFlags is redundant here
GCC noticed that we're memset()ing fFlags to zero even though
it's non-trivial... non-trivial for having default initializers
that already set all its fields to false.  So like, well warned,
but also, the memset() was totally redundant?

Change-Id: I115f41cb5026804ffbb4a0ffacfc9cdb89161d8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258266
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-05 17:41:09 +00:00
Mike Reed
b4068ed946 show perspective bug (need for clipping)
Next CL will add call to SkPathPriv::PerspectiveClip() to fix this

Change-Id: Ia52ab019457f363184dc4730ab3e3582669e55e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258242
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-05 17:40:33 +00:00
Mike Klein
ba094e59b9 GCC 8 reminds us, don't memcpy() sk_sp
../../include/private/SkTArray.h:496:15:
    error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type
    ‘class sk_sp<GrTextBlob>’ with no trivial copy-assignment; use copy-assignment
    or copy-initialization instead [-Werror=class-memaccess]
             memcpy(&fItemArray[dst], &fItemArray[src], sizeof(T));
             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This may be safe in context and the sort of thing we're used to getting
away with, but I think it's probably also the sort of thing we should
try to do as little as possible.

If this is really a major performance choke point, it might make sense
to going back to an array of raw pointers?  That's what we had back
before https://skia-review.googlesource.com/c/skia/+/9535/.

Change-Id: If16918f908e8950b81e73b70764bae200bda2e62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258265
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-05 17:36:03 +00:00
Brian Salomon
fa9232ccfd Some changes to GrYUVToRGBEffect.
Don't implement domains, use child effects instead.

Don't do a 4x4 matrix mul. Do 3x3 + a translate.

Undo some of effects of this effect's stint as .fp generated code.

Specify optimization flags using resulting alpha type.

Multiply computed color with input color (so this is more interchangeable
with GrSimpleTextureEffect used for non-planar texture images)

Change-Id: I9d3d0ff7aed9177cd32ab16e9ceb67d458c3d88c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257883
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-05 17:28:32 +00:00
Mike Reed
fae46e4043 move perspective-clipper into SkPathPriv
From here we can start trying it out for real
- skottie could call it directly
- SkDraw could call it for the raster-backend

Change-Id: I703838241d67c539afd3d3e31d0ddf1c66645799
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258001
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-05 16:18:52 +00:00
Ben Wagner
3af8955037 Add additional Mac Metal jobs
Add Perf testing for Metal on MacBookAir7,2 and MacMini7,1. Also run
Test Debug Metal on MacMini7,1.

Change-Id: Id1a457cd41dda1dee8fc6893e87a6701782b0b2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258002
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-05 16:08:42 +00:00
Heather Miller
6b738b588c Update Skia milestone to 81
Change-Id: If4173d0ac0028d3595f85c66182a22cabf444955
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258216
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-12-05 15:52:12 +00:00
Greg Daniel
f0e04f0c31 Always destroy resources instead of simply "abandoning" them in Vulkan backend.
This also now requires that when using a vulkan GrContext, the backing VkDevice,
Queue, and Instance must be alive when the GrContext is first destroyed or
abandoned. Additionally any GrBackendTextures created from the GrContext must
be deleted before destroying or abandoning the GrContext.

Bug: skia:9603
Change-Id: Ibf194d2ffdcddd61e34214d7d59a2d9a33c880e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257921
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-12-05 14:45:45 +00:00
Florin Malita
6cc49538b3 [skottie] Fix precomposed camera sizing
Precomp layers can have a different size vs. main composition.

Instead of relying on the global animation (main comp) size, use the
current (pre)comp size when setting up cameras.

Change-Id: I54106375fb39dde2bfd11e14a38e5ec3e7190764
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258156
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-12-05 14:34:15 +00:00
Kevin Lubick
0af13b3caf [canvaskit] update shaping example to have emoji
Docs-Preview: https://skia.org/?cl=257998
Change-Id: I4892f00d80375874198fc60edadf84ffe41a5f5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257998
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2019-12-05 13:08:52 +00:00
skia-autoroll
f5542b6aa3 Roll third_party/externals/swiftshader bbd0694f9ab2..dee5b5f3cf3f (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bbd0694f9ab2..dee5b5f3cf3f

git log bbd0694f9ab2..dee5b5f3cf3f --date=short --first-parent --format='%ad %ae %s'
2019-12-05 chrisforbes@google.com Regres: roll deqp forward to current tip of 1.1.6
2019-12-04 sugoi@google.com Enable the fullDrawIndexUint32 feature
2019-12-04 swiftshader.regress@gmail.com Regres: Update test lists @ bbd0694f
2019-12-04 bclayton@google.com VulkanUnitTests: Fix bad comment on assembly.

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

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 bsalomon@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: bsalomon@google.com
Change-Id: I8cc815fe3d13a651d7490c07b8faedcecf22283c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258100
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-05 07:30:25 +00:00
skia-autoroll
1f19aa99cd Roll ../src d02b0cb4d389..a25cc4cdcd47 (492 commits)
d02b0cb4d3..a25cc4cdcd


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

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 bsalomon@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: bsalomon@google.com
Change-Id: I4295c0e57efac950c5179ce611323fb60a148bcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258099
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-05 07:25:05 +00:00
skia-autoroll
57e05d8106 Roll third_party/externals/angle2 249cb200173f..5f857839b9ec (14 commits)
249cb20017..5f857839b9

git log 249cb200173f..5f857839b9ec --date=short --first-parent --format='%ad %ae %s'
2019-12-05 ianelliott@google.com Improve current multisampled renderbuffer/texture support
2019-12-04 syoussefi@chromium.org Remove build_apk_secondary_abi from gn files
2019-12-04 jmadill@chromium.org gn: Minor improvements.
2019-12-04 syoussefi@chromium.org Vulkan: Optimize unused uniform cleanup in glslang wrapper
2019-12-04 syoussefi@chromium.org Re-enable atomic counter tests on !windows
2019-12-04 jmadill@chromium.org Vulkan: Fold read access into write flags on buffer writes
2019-12-04 shrekshao@google.com Turn on fboRenderMipmap for D3D11
2019-12-04 courtneygo@google.com Split out core.compute_shader expectations
2019-12-04 courtneygo@google.com Add Compute Shared Memory Size Validation
2019-12-04 thomasanderson@chromium.org Expose GL_ARB_sync for GL
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 4fde9b750992..e72b61c7c20d (1 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b64fbfec4dcd..bbd0694f9ab2 (3 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 3ed4586044f2..e82a428605f6 (3 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src a4af7676feb0..e58c080d4f02 (1 commits)

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

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 bsalomon@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: bsalomon@google.com
Change-Id: Ie309f15e7769ab1b972b07b2779825291ed7ba35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258098
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-05 07:20:55 +00:00
Michael Ludwig
77eae2c7ae Revert "Specialize inset/outset/reset based on known quad type"
This reverts commit d83912bc81.

Reason for revert: Chrome+Android complains about mutable constant GrQuadUtils::TessellationHelper::kFunctionTables; maybe also layout test failures?

Original change's description:
> Specialize inset/outset/reset based on known quad type
> 
> Change-Id: I5ca35be216cf6e7d863f2d7638905a61a0b9ef00
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257392
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ibc3ec464c42ba8f3a16ac9c773700868400f3ed9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258116
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-12-05 03:56:30 +00:00
recipe-roller
0af32fdf5f 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/cc11b065c54bae31b125f8ee0431cf9a08b1fe4f Revert "[bot_update] Also bootstrap in the case that there are 0 pack files" (ehmaldonado@chromium.org)
  https://crrev.com/9212599f6aacbdbecd378814e63e236660ab42aa [recipes] replace the variable ${platform} with resolved-platform in test output (yiwzhang@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I36fddbd3b9a434fa522b31cafc882d0bc4ebbb15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258048
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-12-04 23:50:20 +00:00
recipe-roller
be7f1a6616 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/32a801b5dadfd40ef7999339559413408555ebdc [bot_update] Also bootstrap in the case that there are 0 pack files (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6e17ba1d5505e2e422d1b047588ca421b49720f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258004
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-12-04 22:59:10 +00:00
recipe-roller
8d18b00a95 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/a0b8c5dcf1890916119ed180ab936948ec62cba1 Don't fetch tags in presubmit (danakj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie164f2a66a404ce5ee9256aed9dc621c832c43dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258040
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-12-04 22:28:50 +00:00
Michael Ludwig
adb12e7700 Reduce GrTextureOp size
Switches ViewCountPair to store a sk_sp<GrSurfaceProxy> instead of a
GrSurfaceProxyView. It applies the origin from the view at initialization
time and then no longer needs it. All ViewCountPairs have the same swizzle
so that is stored once at the op level instead of per entry.

Additionally, re-arranges the metadata of GrTextureOp to ensure that it
packs into an 8byte aligned field. After first switching to
GrSurfaceProxyView, the op went to 144 bytes, and each entry was 32 bytes.
After Greg's GrSwizzle shrinkage, the op went to 136 bytes and each entry
went to 24 bytes. This CL further reduces the top to 120 bytes and each
entry is 16 bytes.

Change-Id: I912864db8846affc32620f60cc7d1d17cf0654fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257919
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-12-04 21:51:50 +00:00
Michael Ludwig
d83912bc81 Specialize inset/outset/reset based on known quad type
Change-Id: I5ca35be216cf6e7d863f2d7638905a61a0b9ef00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257392
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-12-04 21:41:20 +00:00
Mike Klein
039368775c flip on a bunch of GCC warnings
I've landed fixes for most of these,
leaving -Wclass-memaccess as a TODO.

Bug: skia:9674
Change-Id: Ifb951bc66e022b48ff4b66e4555d3fe3c7ef5aaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257501
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 21:40:21 +00:00
Herb Derby
e74c77685d Specialize vertex size for GrTextBlob
The old code assumes a conservative size for vertices of 20 bytes,
but this only happens in perspective or strange DFT modes. This can
be reduced to 16 bytes in the non-perspective case a savings of 20%

Change-Id: Ife7e7cc4bd00798f173c5390c3100605908e6276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257923
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-04 21:17:20 +00:00
Mike Klein
7a671982cd work around GCC 8 mips release bug?
This feels kind of bad, but at least it's just a unit test?

Change-Id: I18740f846680218a00add40eb2398876c4fd19be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258023
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 21:14:13 +00:00
Herb Derby
8c78ce67b5 Remove legacy CPU glyph drawing code
Change-Id: I96d0fc60d951876b44314c74a5fb4c9bed204741
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257997
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-04 21:07:41 +00:00
Herb Derby
e9f691d53c Make fInitialViewMatrix const in GrTextBlob
This is a big plumbing CL to pass the viewMatrix to the right places.

Change-Id: I6af67c6ba44c9c830ea52e8b50baafb88b40afc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257894
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-04 21:01:50 +00:00
Hal Canary
14629417cb experimental/skottie_ios: fix some objc errors
* Turns out that dealloc is unnecessary.  Some compilers
    give an error when it is there.

  * Use __bridge cast, since some compilers require it.

Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal
Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Release-iOS_Metal
Change-Id: I42d9ef16a5d6425c98a8a2b564bf4a06f26886f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257677
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 20:35:19 +00:00
Robert Phillips
1b3c267c4a Add helper functions to AAHairlineOp
In order to be able to expose AAHairlineOp's programInfos we'll need to be able allocate the GPs in a different arena.

Bug: skia:9455
Change-Id: I786318dc4bf18dbc245cb26bbc995649de9104d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257996
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-12-04 20:16:39 +00:00
Mike Reed
6344c29379 some cleanups for halfplanes
Plan is to next move the clipper into utils / SkCanvas itself

Change-Id: Ia79c5bc2750a3a2719f901d255890a8c43ef1b42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-04 18:27:17 +00:00
recipe-roller
67c0dcd894 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/0e60ecd30efa9a469b4bcc93006c253861a26164 [git-cl] Add graceful error handling to "git cl archive". (kmarshall@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia83885e1f99fc4ebaae22cf5f914f0d4206a8772
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257908
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-12-04 18:25:46 +00:00
Greg Daniel
1a5d2d590a Remove unneeded abandon/release check in GrGpuResource message processing.
Change-Id: Ib11405be82e8ff7fd1edcaca2f19c44cce2abbd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257889
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-12-04 18:11:16 +00:00
Brian Salomon
4e1066f248 Remove SkSize& SkSize::operator=(const SkISize&)
Having it means you cannot write:

SkSize size;
float x, y;
size = {x , y};

clang allows it but GCC does not, claiming it is ambiguous between the
implicitly generated
SkSize& SkSize::operator=(const SkSize&)
  and
SkSize& SkSize::operator=(const SkISize&)

clang gives the same error if the former is explicitly declared default.

Change-Id: I3b64436ef6aa669b3d87e7f37057c5dcb4add987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257880
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-04 17:36:06 +00:00
Hal Canary
a06f9d0787 SkQP: model-creation improvements
- cut_release/find_commit: use cookies, handle errors.

  - tools/skqp/make_skqp_model.cpp: better error handling

Change-Id: I702e9a13d3a2123c30e3a870fcb942759cfc47c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257682
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-04 17:08:36 +00:00
Mike Klein
f78aa16af1 work around GCC false positive warning?
On 32-bit Release builds, GCC warns about this line in this test,

    ../../tests/SkRasterPipelineTest.cpp:225:40:
    error: ‘int __builtin_memcmp_eq(const void*, const void*, unsigned int)’
    reading 8 bytes from a region of size 0 [-Werror=stringop-overflow=]
                                 !memcmp(&data[j][0], &buffer[j][0], sizeof(buffer[j])));
                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I don't really see anything wrong, and I'm not really sure why it takes
offense here testing load_f16 and not in the very similar next chunk of
code testing load_af16.  Anyway, it's simple enough to write a loop.

Change-Id: Ie4f598328dd7109660b9ae97a5a27b386e833fd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257869
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-12-04 17:07:46 +00:00
Greg Daniel
e1185589ff Handle failures in submission of vulkan command buffers.
Bug: skia:9603
Change-Id: Ia8e020e15361e4a535719958a7e4035888dde14f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257681
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 16:55:16 +00:00
Mike Klein
edc3bde2e7 replace SkIRect[1] with SkIRect
GCC 8 is still tripping on GrWindowRectangles for mips64el:

    ../SRC/skia/tests/WindowRectanglesTest.cpp:55:42:
    error: 'int __builtin_memcmp_eq(const void*, const void*, long unsigned int)'
    reading 112 bytes from a region of size 16 [-Werror=stringop-overflow=]
       REPORTER_ASSERT(reporter, !memcmp(B.data(), windowData,
                                         (GrWindowRectangles::kMaxWindows - 1) * sizeof(SkIRect)));

    ../SRC/skia/tests/WindowRectanglesTest.cpp:69:42:
    error: 'int __builtin_memcmp_eq(const void*, const void*, long unsigned int)'
    reading 128 bytes from a region of size 16 [-Werror=stringop-overflow=]
       REPORTER_ASSERT(reporter, !memcmp(B.data(), A.data(),
                                         GrWindowRectangles::kMaxWindows * sizeof(SkIRect)));

Both A and B are filled up to the kMaxWindows limit (8) at this point,
but GCC still clearly thinks .data() is returning the 16-byte
fLocalWindows SkIRect[1] array.

I was curious to see if removing the (currently pointless) array helps GCC
get the gist.  It doesn't, but I still kind of want to remove it.

Change-Id: I4ee9478b8c69061cb351d203d55749f68dcb939e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257873
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-04 16:46:36 +00:00
Brian Salomon
8a99a41116 Fix for 420/422 chroma subsampling of odd dimension images when
converting from YUV to RGB on GPU.

Change-Id: I872e1e85f3efccce7bf93d2f3d5f2a841b8a5b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257680
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 16:32:40 +00:00
Mike Reed
270f7e22c5 Reland "remove legacy SkPath enum guards"
This reverts commit fdf7e08210.

Reason for revert: briano fixed flutter call-site

Original change's description:
> Revert "remove legacy SkPath enum guards"
> 
> This reverts commit 7fdceb9216.
> 
> Reason for revert: need more fixes in flutter (getFillType)
> 
> Original change's description:
> > remove legacy SkPath enum guards
> > 
> > Change-Id: I5874ac89b6dec5c050bc02df9df6849d2131df76
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257690
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I7b65e51b53dc15739ddeb76d9b5fd18d956f4cfd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257879
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I0ff366d1e98cd9d581e0bf1041d1c859a88ffef6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257887
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-04 16:01:10 +00:00
Robert Phillips
9320905592 Add onPrePrepareDraws to GrFillRectOp
In DDL-mode, this pulls the tessellation of the GrFillRectOp's vertices forward to record time.

Bug: skia:9601
Change-Id: I1a505845cc20f795d6f171b4c19d779475fdd240
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257685
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-12-04 15:44:36 +00:00