Commit Graph

41008 Commits

Author SHA1 Message Date
Florin Malita
fb4bce8322 [sksg] Refactor gradient implementation
Currently, gradients are PaintNode subclasses - which limits their
applicability to leaf DAG nodes.

In order to support generalized gradient/shader effects:

  * introduce a new Shader base class
  * refactor gradients as Shader subclasses
  * introduce ShaderPaint (to support current Gradient-as-paint use)
  * introduce ShaderEffect (to support future Gradient-as-effect use)

Tangentially:

  * rename SkSGPaintNode.h -> SkSGPaint.h
  * consolidate sksg::Color into SkSGPaint.h

Change-Id: I94ba949f4504c09cfde4a4f030d927411fdd66a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205263
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-04-01 18:43:43 +00:00
Ben Wagner
f23ff10eb2 Cache data stream for CG typefaces.
CoreGraphics requires a full data copy for all operations involving font
tables or data. As a result, cache the font data stream either from font
creation or from when reconstructing the font stream from cg. This greatly
increases the speed and decreases memory use in common use cases with
variable fonts and shaping.

Change-Id: Ife0646987268cb7be3f56ba9c2aa2b62cb3777d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204720
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-04-01 18:29:23 +00:00
Brian Salomon
b916b7b227 GrBackendTextureImageGenerator proxy callback uses unique key to find existing GrTexture.
This removes a case where we can get the first ref on a GrGpuResource outside of
GrResourceCache.

Bug: skia:8927
Change-Id: I4068aff2f91a2e11ada059f4ef406a620140319b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204770
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-01 18:07:23 +00:00
Robert Phillips
acc10fa32b Make prepareSurfaceForExternalIO always flush
This probably isn't a huge change from current behavior but, short-term, could introduce some additional flushes.

The long-term plan is to update the drawing manager to perform partial flushes (i.e., flush only the portion of the DAG required for the target proxy) at which point performance should actually be better than the current situation (in which the entire DAG is flushed if there is any pendingIO on the target proxy).

Change-Id: I3270474344c7f982f97cf5087b2c85691bdc31d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205000
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-01 17:31:58 +00:00
Brian Salomon
5fd105778e Make GrVkGpuRTCommandBuffer::CommandBufferInfo hold textures by pending read.
Bug: skia:8927
Change-Id: I437bc2ad99248fba4b5dccfd01a5c499ce80cd31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205261
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-04-01 17:27:13 +00:00
Ravi Mistry
ef6c1742b1 Remove 4 page sets that are not useful as SKPs
After this lands we will have 50 SKPs in our repository. We can now
institute an "if we add one we have to delete another one rule".

NoTry: true
Bug: skia:8653
Change-Id: I4da8d2c2ce312878bfe8ac0c6bc2f7dc4711bb85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205262
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-04-01 17:26:54 +00:00
Brian Salomon
b6a3a3b245 Make lazy proxies have 2 modes for proxy/surface key management.
kSynced: Proxy and GrSurface key kept in sync.

kUnsynced: Proxy and GrSurface keys are unrelated.

This will allow cross-context image generators' lazy instantiation
callbacks to use unique keys to find any pre-existing backing GrTexture
rather than keeping an unref'ed bare pointer to the GrTexture.

Bug: skia:8927

Change-Id: Id15e2a64e8d2e56c4ce70b9399eb1d8bcea6ac9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204723
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-01 17:16:43 +00:00
Brian Osman
de206c75c2 Remove the NullGL interface (and associated test context)
Bug: skia:
Change-Id: Ie3c9ee39fc1e0a4406de085c60d8433ffb4419df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203708
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-01 14:56:23 +00:00
Mike Klein
ce90d6f088 more opinionated file loading in fm
Only try to parse .skp files as SkPictures, only .svg
files as SVG, and only try to parse any given file once.

This cleans up error logging from, e.g., trying to
parse a .jpg as an .svg.  Sometimes even asserts.

Change-Id: Ibfab76e201eb273107b96fcbd3af94d397862291
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204882
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-01 14:10:13 +00:00
Robert Phillips
73cc4e8d5f Temporarily restore old behavior of read/writeSurfacePixels
In the interest of only changing one thing at a time, this should fix the putImageData perf regression in Chrome. It will be followed up by a CL to change prepareSurfaceForExternalIO to always flush (which could have a different perf impact).

On Chrome's putImageData benchmark we get:

w/o this CL: avg 293.1247823176651 runs/s
w/  this CL: avg 374.8427288397461 runs/s

Bug: 942538
Change-Id: I9b9bc752532890f4313a45e5a6aa34b915d5e43d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205003
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-01 13:35:57 +00:00
skia-recreate-skps
bb482ab871 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I8b25cbacdfcddc0c55a0cbb21a31557089e0b3c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205200
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-01 05:47:26 +00:00
skia-autoroll
289376febc Roll third_party/externals/angle2 6446c8882fa3..3115a0fc17fa (2 commits)
6446c8882f..3115a0fc17


git log 6446c8882fa3..3115a0fc17fa --date=short --no-merges --format='%ad %ae %s'
2019-03-29 ynovikov@chromium.org Sync run_code_generation_hashes.json after glslang autoroll.
2019-03-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 2ff54e34ed37..fcb845310450 (1 commits)


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

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

Change-Id: I02bb42efa5b6d6a179ed40dfd9611696a4d93014
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205174
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-01 05:04:26 +00:00
skia-autoroll
58c28588eb Roll ../src 871828938944..e01c3e081ff3 (525 commits)
8718289389..e01c3e081f


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

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

Change-Id: I27e799c130cf781674ef0a5c2f4a55965f6126ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205176
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-01 04:48:26 +00:00
skia-autoroll
8d1a794686 Roll third_party/externals/swiftshader 5bb034db6243..52a67b6495ce (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5bb034db6243..52a67b6495ce


git log 5bb034db6243..52a67b6495ce --date=short --no-merges --format='%ad %ae %s'
2019-03-31 nicolascapens@google.com Revert "Create a recursive version of MutexLock, and apply it to EGL."
2019-03-30 bclayton@google.com Reactor: Replace ArgI for std::tuple_element
2019-03-30 bclayton@google.com SpirvShader: Improve docs on IsStorageInterleavedByLane()
2019-03-30 swiftshader.regress@gmail.com Regres: Update test lists @ 513ed1d5
2019-03-29 bclayton@google.com SpirvShader: Fixes for complex loops.
2019-03-29 bclayton@google.com SpirvShader: Handle dead code branches.
2019-03-29 schuffelen@google.com Create a recursive version of MutexLock, and apply it to EGL.
2019-03-29 bclayton@google.com VkPipeline: Debug - show ids not names in disassembly.
2019-03-29 capn@google.com Fix descriptor set allocation and update


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

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

Change-Id: I11941c26d4d53dc9270291b53ff51b85955f8fee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205175
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-01 04:36:56 +00:00
Mike Reed
5ee611b26f Add sample to show strokeandfill and better alternatives
Change-Id: Ib4efd6ecc8d9dda67d6032405779c02c402b370d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205121
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-01 03:11:16 +00:00
skia-recreate-skps
acb4829c1b Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I990b35f9d2918fe022a682c136b50037ce05c51f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205146
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-03-31 08:38:55 +00:00
skia-recreate-skps
83edfbe736 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I50a8b1775d6c6532f0effc76efd186b3a2b19174
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205141
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-03-31 05:50:45 +00:00
Mike Reed
2fdbeae327 Start to unify signatures: return bool
Change-Id: If4a8e06f3a176697e3f5136dfc7ab1fbb347da70
Bug: skia:8937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205120
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-30 19:02:24 +00:00
Mike Reed
a6dd1ebd42 Revert "Reland "GPU support for SkMixers""
This reverts commit c9822a1818.

Reason for revert: got it

Original change's description:
> Reland "GPU support for SkMixers"
> 
> This reverts commit e6ebe7427a.
> 
> Reason for revert: want to see the breaks
> 
> Original change's description:
> > Revert "GPU support for SkMixers"
> > 
> > This reverts commit 3f2d05e7af.
> > 
> > Reason for revert: breaking the bots
> > 
> > Original change's description:
> > > GPU support for SkMixers
> > > 
> > > Bug: skia:
> > > Change-Id: Ic92f0b3c4613b3d599d59924d93cd4da8d161e89
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204445
> > > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> > > Reviewed-by: Mike Reed <reed@google.com>
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > 
> > TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com
> > 
> > Change-Id: Ice7c470a57a3ae55215288718aa6390592bd85e5
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204724
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> 
> TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com
> 
> Change-Id: If51303bc320fc488196ef9e696df8480bfbd31f6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204962
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com

Change-Id: I509687bcfe8fde6760b74c566e4405ff12f9cc9e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204963
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-30 15:14:15 +00:00
Mike Reed
c9822a1818 Reland "GPU support for SkMixers"
This reverts commit e6ebe7427a.

Reason for revert: want to see the breaks

Original change's description:
> Revert "GPU support for SkMixers"
> 
> This reverts commit 3f2d05e7af.
> 
> Reason for revert: breaking the bots
> 
> Original change's description:
> > GPU support for SkMixers
> > 
> > Bug: skia:
> > Change-Id: Ic92f0b3c4613b3d599d59924d93cd4da8d161e89
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204445
> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com
> 
> Change-Id: Ice7c470a57a3ae55215288718aa6390592bd85e5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204724
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com

Change-Id: If51303bc320fc488196ef9e696df8480bfbd31f6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204962
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-30 14:56:16 +00:00
skia-recreate-skps
265fd3de35 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I9eafd567374bb10125a4a1d08de07c2fd40d2441
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204888
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-03-30 05:48:23 +00:00
recipe-roller
59b7337151 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/047b02314c2a2ffd7e668e6280691206de659753 [lucicfg] Bump lucicfg version v1.5.6 -> v1.5.12. (vadimsh@chromium.org)
recipe_engine:
  https://crrev.com/6af8640f4269b14122fa7eb4339a248c871855a1 [buildbucket] Add "critical" parameter (nodir@google.com)
  https://crrev.com/8f658073e9df9d182ce6bb39cf2406e1a5ade7dd [buildbucket] Require commit ref (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia5d3ea13ea0926d80cac78244852e505406ce381
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204785
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-03-29 23:27:13 +00:00
Ethan Nicholas
e6ebe7427a Revert "GPU support for SkMixers"
This reverts commit 3f2d05e7af.

Reason for revert: breaking the bots

Original change's description:
> GPU support for SkMixers
> 
> Bug: skia:
> Change-Id: Ic92f0b3c4613b3d599d59924d93cd4da8d161e89
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204445
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,reed@google.com

Change-Id: Ice7c470a57a3ae55215288718aa6390592bd85e5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204724
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-03-29 21:06:24 +00:00
Ethan Nicholas
3f2d05e7af GPU support for SkMixers
Bug: skia:
Change-Id: Ic92f0b3c4613b3d599d59924d93cd4da8d161e89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204445
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-29 20:40:53 +00:00
Brian Salomon
73c6c9d268 Move new convex path towards the end of the path array in GM convexpaths.
Makes triaging a lot easier.

TBR=jvanverth@google.com

Bug: skia:8928
Change-Id: Id800b8e90e94e41c3ce3faaae8f3e10b501f0e04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204784
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-29 20:23:23 +00:00
Michael Ludwig
3d2753e683 Interpolate coverage in screen space for perspective quads
Bug: chromium:947055
Change-Id: I1e0c4c5a6ab839ecca73759f66e2271038de835f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204961
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-29 19:13:23 +00:00
Chris Dalton
2c5e01104f Split GrCCCoverageProcessor into subclasses
Makes separate subclasses for geometry and vertex shaders.

Bug: skia:
Change-Id: Ifced79af3092090a71d03fe252fb4da76738cf08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204545
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-29 18:59:43 +00:00
Ethan Nicholas
10be9d5f45 fix SkSL lexer's handling of invalid characters
Bug: skia:8831
Change-Id: I3198c86af971c3340ccf7cc1d7dede6dd48939fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204980
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-03-29 18:50:23 +00:00
Brian Salomon
5f8a62bd18 In GrAAConvexPathRenderer check whether middle quadtric control point is
close to line segment between first and last control points and if so
draw as a line.

Previously we just checked whether the middle control point was close to
either the first or last.

Bug: skia:8928
Bug: chromium:945449
Change-Id: I1f7353623c29dcdc329812c44815b80898f83625
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204981
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-29 18:29:53 +00:00
Michael Ludwig
0c4b581564 Add reproduction test case for crbug/947055
Bug: chromium:947055
Change-Id: If271112285aa413a71c094502c81b501c77a129e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204742
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2019-03-29 18:24:03 +00:00
Florin Malita
8dd5ea1a75 [skottie] Allow extra-normal Bezier interpolation
AE/Lottie allow Bezier control Ys to be outside the [0..1] range.

Update SkCubicMap to do the same.

Bug: skia:8931
Change-Id: I54ee8dbb4e6e0a33a917500523c82fe56c854d4a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205002
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-03-29 18:23:03 +00:00
recipe-roller
dbcb7ad17c 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/db94883c139d0588a78098babdd45750a9145fb4 Add better validataion for engine_step.TriggerSpec. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8b20190862da233d9aa7c96abfc0b1ade693d535
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204782
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-03-29 17:37:32 +00:00
Robert Phillips
7eeb74fdfd Add checks that the GrResourceAllocator is operating as expected
With explicit resource allocation there should be no explicit instantiating at flush time. There are, however, still several instances where instantiate is called outside of testing (e.g., readSurfacePixels and writeSurfacePixels).

Change-Id: Ic459a550ca85048f66d6a1eb7d601411f83c6e32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204721
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-03-29 16:20:31 +00:00
Ben Wagner
d04d3ae3b7 Update SkTLazy includes.
SkTLazy now uses std::aligned_storage instead of SkAlignedSStorage, so
update the includes to reflect this.

Change-Id: I2f26e418a3e2836555fcb877a7041e354e569374
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204781
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-03-29 16:03:31 +00:00
Jim Van Verth
20ae25ce11 Reland "Reland "Fix blurry edges on large ovals.""
This is a reland of 4dd7c1dae1

Original change's description:
> Reland "Fix blurry edges on large ovals."
> 
> This is a reland of c7aed036c3
> 
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half.
> In the medium-precision case, adds a scale factor to the shaders to ensure that the
> denominator of the distance calculation stays within range. If enough precision isn't
> available, falls back to a path renderer.
> 
> Original change's description:
> > Fix blurry edges on large ovals.
> >
> > Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> > low-precision case, it falls back to a path renderer for large ovals.
> >
> > Bug: b/110380864, skia:8873
> > Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> Bug: b/110380864, skia:8873
> Change-Id: Ic72d819f589ffebf9c5250bb4df4de22ab23f282
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202718
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: b/110380864, skia:8873
Change-Id: I026d943f4ac005e04ef7350c5af67fda6865ae92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203729
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-29 14:11:21 +00:00
skia-autoroll
84a53268af Roll third_party/externals/swiftshader 51562f15f4ad..5bb034db6243 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/51562f15f4ad..5bb034db6243


git log 51562f15f4ad..5bb034db6243 --date=short --no-merges --format='%ad %ae %s'
2019-03-29 swiftshader.regress@gmail.com Regres: Update test lists @ 51562f15


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

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

Change-Id: I98c247d0b3df346c345cbd7bd8ff37b1ae5e0822
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204920
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 10:53:24 +00:00
recipe-roller
a2cec203ee 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/d19589ff81c38ecc60228d0429cf39bfb4381ce6 Throw error for unicode URLs in .gclient (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9f8616a41cf04ae46f0803cd1c235f5dc4d8fbc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204881
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-03-29 06:39:14 +00:00
skia-recreate-skps
57b7a792bb Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I600eb62b9a182b28e21e653d34c03a110478ffae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204880
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-03-29 05:49:42 +00:00
skia-autoroll
0e9d290acf Roll ../src eb8d3bc0b607..871828938944 (487 commits)
eb8d3bc0b6..8718289389


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

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

Change-Id: I6de6f43d9c4a68d6bdc1495bfa4c976c06ef9670
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204850
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 05:11:52 +00:00
skia-autoroll
dd6b5e3ed4 Roll third_party/externals/angle2 8116d646b3f8..6446c8882fa3 (3 commits)
8116d646b3..6446c8882f


git log 8116d646b3f8..6446c8882fa3 --date=short --no-merges --format='%ad %ae %s'
2019-03-29 jgilbert@mozilla.com Combine SizedFloatRGBA[Renderbuffer,TextureAttachment]Support.
2019-03-28 jgilbert@mozilla.com Add support to CHROMIUM_color_buffer_rgba for creating RGBA32F renderbuffers on ES2.
2019-03-28 tobine@google.com Vulkan:Clamp stencil ref value


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

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

Change-Id: I2ad2453d454a82c09664b5d4366ab7e31f49b28e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204848
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 04:37:22 +00:00
skia-autoroll
6b6915a159 Roll third_party/externals/swiftshader fc8a46d0af96..51562f15f4ad (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fc8a46d0af96..51562f15f4ad


git log fc8a46d0af96..51562f15f4ad --date=short --no-merges --format='%ad %ae %s'
2019-03-29 chrisforbes@google.com Add support for OpMatrixTimesMatrix


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

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

Change-Id: I837c3cd69b8d0a2272edab357651184a16396b66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204847
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 03:58:42 +00:00
skia-autoroll
6aa2b8a422 Roll third_party/externals/swiftshader c9d98716d2e7..fc8a46d0af96 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c9d98716d2e7..fc8a46d0af96


git log c9d98716d2e7..fc8a46d0af96 --date=short --no-merges --format='%ad %ae %s'
2019-03-29 chrisforbes@google.com Wire up indirect dispatch


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

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

Change-Id: I08e7f6c8475c654670821d9a102c2744751f290c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204845
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 03:18:02 +00:00
recipe-roller
bf4229cc10 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/94845e3a38c887497c7e843cd715e55bcdfc494f Add better validataion for engine_step.EnvAffix (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1535b0201450860ccb195c002d1b22ad1e762a06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204743
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-03-29 02:16:32 +00:00
skia-autoroll
f4d3f1f884 Roll third_party/externals/swiftshader 37628f09a4c5..c9d98716d2e7 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/37628f09a4c5..c9d98716d2e7


git log 37628f09a4c5..c9d98716d2e7 --date=short --no-merges --format='%ad %ae %s'
2019-03-29 bclayton@google.com Add .vscode/c_cpp_properties.json


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

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

Change-Id: I13992c2509e47ac2c49f68bee988cddbe0e1e072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204841
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-29 01:52:32 +00:00
recipe-roller
714f44c63f 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/e1bd7abedaddbd8513adbce310eb11777f2a3084 [fetch] Mark commits which touch .gitattributes as "interesting". (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I10b04917589c0e6dd69bf70e40b6235b7b72c5a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204709
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-03-29 01:33:42 +00:00
recipe-roller
8aab82d2d5 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/bdbe07f29de834a118979825aa0ece78caa2cf50 gclient: Support syncing deps to refs/{branch-heads,tags}:revision. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1e896bbfb4a9feb32dad107303135fd813c13f6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204741
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-03-28 23:25:22 +00:00
skia-autoroll
2e520f60f8 Roll third_party/externals/swiftshader 48b3587f8ea4..37628f09a4c5 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/48b3587f8ea4..37628f09a4c5


git log 48b3587f8ea4..37628f09a4c5 --date=short --no-merges --format='%ad %ae %s'
2019-03-28 chrisforbes@google.com Claim support for multi draw indirect + base instance


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

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

Change-Id: I6d3ba55d0ef9c614139599bafc254653c83f2754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204706
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-03-28 23:17:12 +00:00
Florin Malita
20678f822b [skottie] Tweak Shaper test tolerances to fix NativeFonts bots
TBR=bungeman@google.com
Change-Id: I70ac3a993f1eaee57b074c493eaa70ba9adbf20d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204780
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-03-28 23:09:52 +00:00
Florin Malita
01fe263606 [skottie] Add support for BodyMovin 5.5.0 keyframes
BM 5.5.0 introduced a change in the keyframe format (dropped redundant
start/end value repetitions).  This updates the parser to support the
new format.

TBR=reed@google.com
Change-Id: I44efc54b60d08574ab649b0da90336dbd0e40391
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204740
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-03-28 22:50:32 +00:00
recipe-roller
d8388e0bfe 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/48f7d09ba6cca243c582f8e6eb80bd10a0ff161c Add the ability to use lambdas as post-processing hooks. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4be174a815ad060dfb5a489eedfc1dcc5d1322a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204705
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-03-28 22:47:13 +00:00