Commit Graph

42832 Commits

Author SHA1 Message Date
Florin Malita
c7a773b6fa Add SkShaderMaskFilter.h to public header list
Change-Id: I53a927e743d908ed5ce136a0f9eb9887753e1317
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222779
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-06-21 14:40:25 +00:00
Brian Osman
4b202a3ba9 ByteCode: Better signature for innerRun, avoid memory stomping
This centralizes the initial-lane-mask logic, and makes the return value
copying much more straightforward by just passing in the width. Lets us
shrink the arrays in the interpreter pipeline stage to the correct size.

Also normalize some formatting and structure.

Change-Id: I446598dcdd550d88ff1db1afe7507f31fa96d1d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222510
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-21 14:19:35 +00:00
Herb Derby
7924d9a4ae Simplify intercepts
Introduce textBlobToGlyphRunListWithoutRSX to convert text blob into
glyph runs. Convert the core of the code from working over text blobs
to working over glyph runs.

+ Misc cleanups

Change-Id: I33c1fc5e948dd7270031496325a96409f2cfeeb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222277
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-21 14:12:15 +00:00
Florin Malita
d7b321afa2 [skottie] Radial swipe effect
Implement radial wipe with a sweep gradient shader mask filter.

The implementation is slightly convoluted because edge feathering requires a real blur, which in turn requires content layer isolation.

So there are two distinct operation modes:

  - no feather -> draw the content directly into the dest buffer, with the mask filter
    deferred in SG context

  - feather -> draw the content into a separate layer, then blend (dstOut) the composed
    blur+shader mask on top

Change-Id: I253701aff42db8010ce463762252c262e2c5d92b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222596
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-21 14:03:45 +00:00
Brian Osman
d3494ede8d ByteCode: Support out params in local function calls
Change-Id: I1d133259264adfdc872b0f4aeaa9390363c46341
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222040
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-21 13:55:15 +00:00
Robert Phillips
82774f8bad Cleanup some legacy instantiate calls
Since explicit resource allocation has stuck these instantiate calls are no longer required.

Change-Id: I5a8a7fa714eb1e9550f4f645ce8fced2d5f7aa4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222457
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-21 12:31:24 +00:00
Eric Boren
8238a131b6 [infra] Remove stephana@ from OWNERS
He's being set as reviewer for recipe rolls, which causes the rest of us
not to see them.

Change-Id: Idaa59e32ba3fa28d2843a263e6fd8a0d0e234657
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222776
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-06-21 12:07:54 +00:00
Eric Boren
a1d26a8077 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/c8f87374dfa70a48f26ce431db7b264209d8c479 Implements use of RawResult in engine.py as a recipe return value. (debrian@google.com)


R=stephana@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I82379417a3f517a2d389a6978400614dd5be088f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221654
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-06-21 12:03:54 +00:00
skia-autoroll
e3beb99f39 Roll third_party/externals/swiftshader 4aa4fcd61334..a7edc1cd1d8f (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4aa4fcd61334..a7edc1cd1d8f


git log 4aa4fcd61334..a7edc1cd1d8f --date=short --no-merges --format='%ad %ae %s'
2019-06-20 bclayton@google.com LLVMReactor: Remove FIXME workaround for int cmps
2019-06-20 chrisforbes@google.com SpirvShader: Optimize SIMD::Pointer load of static equal offsets
2019-06-20 bclayton@google.com SpirvShader: Use masked loads / stores when possible.
2019-06-20 bclayton@google.com Reactor (LLVM): Add support for masked loads and stores.
2019-06-20 bclayton@google.com SpirvShader: Fix SIMD::Pointer::hasSequentialOffsets()
2019-06-20 bclayton@google.com SpirvShader: Clear transient fields of SpirvRoutine in emitEpilog()
2019-06-20 bclayton@google.com SpirvShader: Optimize pointer OOB masking
2019-06-20 bclayton@google.com SpirvShader: Split SIMD::Pointer limits into dynamic and static parts.
2019-06-20 bclayton@google.com SpirvShader: Fix SIMD::Pointer initialization of hasDynamicOffsets
2019-06-20 jose.dapena@lge.com GCC: fix ARM build because of missing symbols


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

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

Change-Id: I562b145c870201dbb789a03cae978578ae75a95e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222637
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-21 06:33:17 +00:00
skia-recreate-skps
812d71b8a4 Update Go deps
Change-Id: I8c1d620c22b1a097bbc801d8cd41d06025183b3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222644
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-21 05:33:06 +00:00
skia-autoroll
5ebebcfb35 Roll ../src 8f8d2c8d5447..31223069ea1d (408 commits)
8f8d2c8d54..31223069ea


Created with:
  gclient setdep -r ../src@31223069ea

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

Change-Id: I78bbc05b42783766cc32761c158f3a52db7332c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222639
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-21 05:02:27 +00:00
skia-autoroll
8bf60502d8 Roll third_party/externals/angle2 c5c937e1e8bd..bf4cfa77c4bf (9 commits)
c5c937e1e8..bf4cfa77c4


git log c5c937e1e8bd..bf4cfa77c4bf --date=short --no-merges --format='%ad %ae %s'
2019-06-20 ynovikov@chromium.org Switch ANGLE Win and Linux try bots to builderless.
2019-06-20 courtneygo@google.com Vulkan: Fix dirty element array buffer updates.
2019-06-20 dongja@google.com Debug: suppress INFO level messages by default
2019-06-20 spang@chromium.org Vulkan: Fix out of bounds access of pWaitDstStageMask
2019-06-20 timvp@google.com Vulkan: Implement copyBufferSubData
2019-06-20 jmadill@chromium.org Vulkan: Add more trace events.
2019-06-20 jmadill@chromium.org Vulkan: Sync image in TextureVk::syncState.
2019-06-20 jmadill@chromium.org Move event tracer back into common.
2019-06-20 lujc@google.com Fix dEQp test results path on Android


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

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

Change-Id: Icd1b02351ac94fd3ed6c546c104376ff5b4ab642
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222638
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-21 05:01:47 +00:00
Mike Klein
5549cb00a2 semaphore_wait() until KERN_SUCCESS
Like the Posix code below it, the Mac semaphore wait code
can wake spuriously.  Keep trying if we get KERN_ABORTED.

Pattern aped from V8.  I noticed they like us don't do
anything to test if the Windows WaitForSingleObject()
call fails.  Can it fail?

Bug: chromium:977341
Change-Id: I34f407fc4d6717deb6edcf7aa7bed1f8fb8b1baa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222583
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 23:30:06 +00:00
Mike Klein
0c64a54517 two register ops
This wraps up everything that doesn't touch memory or a label.

Small cleanups and refactoring as I start to understand some
things better...

Change-Id: I788fa877cfcab8f87c961df28fe561b51a5c62ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222571
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-20 21:30:46 +00:00
Mike Klein
ff0ae81e74 two register + immediate ops
The encoding kind of all goes through the same paths,
as the three argument instructions, but like the nursery
rhyme when there are only two they kind of all roll over
and the op-extension hops into the bed.

vpermq is the first place we need to set the W bit
to indicate a 64-bit lane operation, so a little
minimal plumbing for that.  It takes its arguments
a little differently too, passing dst where you'd
expect, the source where we'd pass y, and requiring
us to pass literal 0000 for the vvvv bits in VEX
(inverted as normal to literal 1111).

Change-Id: I91a4cd1b316eb908992631ce8b2cb3c62078e8c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222565
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-20 21:25:16 +00:00
Mike Klein
74ad844086 remaining 3-reg ops
Somewhat arbitrarily switched from vandps et al. float bitwise
ops to vpand et al. int bitwise ops.  We tend to use them more
int-y generally so the disassembly maybe reads more clearly?
They're identical in behavior AFAIK.

Shuffle tmp around from being an Xbyak::Ymm to its index.

I don't think there's anything tricky here.  Spookily things
all seem to work first try, as long as I don't make a typo.

Change-Id: I2b5d4ded7800915824cbd7c917edfd36e229d306
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222528
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 21:14:39 +00:00
Julia Lavrova
9af5cc4d98 Adding TestFontCollection
Change-Id: I43c20616dd842e9ffeaac614c853be4702a819a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222104
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-06-20 20:42:46 +00:00
Michael Ludwig
fa97463793 Add lighting, alpha threshold, and tile image filters to GM
Bug: skia:
Change-Id: I43f723f617602de5ba2bf82ff2fe1286527a8cc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222500
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-20 20:39:16 +00:00
Stephen White
1e5c05e99f Revert "GPU: always use TopLeft origin for saveLayer render targets."
This reverts commit 6f24faa623.

Reason for revert: larger impact on GMs than expected

Original change's description:
> GPU: always use TopLeft origin for saveLayer render targets.
> 
> Should have no user-visible result.
> 
> Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>

TBR=egdaniel@google.com,bsalomon@google.com,senorblanco@chromium.org

Change-Id: Ic8217206adfbd7d506a70c3d9ca828f0dde58c66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222509
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 20:28:57 +00:00
Jim Van Verth
bcfd0535d0 Fix ASAN issue.
The bufferAllocator was being unref'ed before the SkSpinlock went out
of scope, so the spinlock was then using deleted memory.

Bug: skia:8243
Change-Id: I69f090acccaaa3ba7fe2e4190103019a6f4e9359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222503
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-20 20:17:12 +00:00
Brian Osman
ecb3bb53ac ByteCode: Fixes for TRACE
Change-Id: I6b709a2b5e8014cedb152e763ea4470c6f79de4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222504
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-20 19:41:19 +00:00
Stephen White
6f24faa623 GPU: always use TopLeft origin for saveLayer render targets.
Should have no user-visible result.

Change-Id: Iae444888557347bfdf75e6353966cde907ee0a1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222506
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 19:40:10 +00:00
Brian Osman
fba386b940 ByteCode: Allow calls to functions that return void
Change-Id: Ia2e21bc984c509cd2405499f93ee5e19941cc492
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222499
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-20 19:29:40 +00:00
Jim Van Verth
d1b2c85dca Revert "Prefer using GrOvalOpFactory over GrFillRRect for circles and"
This reverts commit 731454a085.

Reason for revert: Seeing a lot of performance regressions.

Original change's description:
> Prefer using GrOvalOpFactory over GrFillRRect for circles and
> axis-aligned circular roundrects.
> 
> Bug: chromium:971936
> Change-Id: I4cd0cd9047b9b06d657826820ba5a937547f87c3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221000
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>

TBR=jvanverth@google.com,csmartdalton@google.com,khushalsagar@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:971936
Change-Id: Iab803b1777ef5e3d754d8ac1f404b01f57d9c1a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222501
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-06-20 19:11:50 +00:00
Brian Salomon
384981be3d Revert "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger."
This reverts commit 7635013ad1.

Reason for revert: breaking bots 

Original change's description:
> Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
> 
> Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
> Bug: 9176
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=djsollen@google.com,mtklein@google.com,kjlubick@google.com,reed@google.com,nifong@google.com

Change-Id: Ie5e5dac46ba1beeb8de0a29c1a7be1264616fe92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222502
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 18:52:01 +00:00
Ben Wagner
940aa43eb7 Update NVIDIA_Shield
Switch to version 7.2.3 from
https://developer.nvidia.com/gameworksdownload

Change-Id: Ic2b0a833ebfcb8508a71584021e7eae238e7ca7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222496
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 18:48:39 +00:00
Greg Daniel
52ee5f6753 Add FormatInfo struct to GrGLCaps.
Just landing the initial struct before adding specific flags to the struct
and filling out the formats.

Bug: skia:6718
Change-Id: I1013845cb61482184915d181a7fc7f85800b72c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222498
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 18:37:39 +00:00
Mike Klein
397fc88fc0 first VEX ymm vector ops
- 32x8 i32 add,sub,mul
   - add I32_Naive bench/test builder to get better i32 mul coverage
   - minor refactoring all over

Change-Id: I13cc19ff37a2da0bcff289ba51baac08f456d6c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222485
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-20 18:20:00 +00:00
Florin Malita
3127dd6c2a [sksg] Clear the context mask filter when applied via layers
Fixes rendering issues when a mask filter is applied to non-atomic
draws.

TBR=
Change-Id: I29486e7e759170bb2ece1e257bd6b981c161b1dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222459
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-06-20 17:39:14 +00:00
Nathaniel Nifong
7635013ad1 Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-20 17:33:04 +00:00
Mike Reed
3fd3cc94c3 runtime shaders
This extends the runStriped to all for return data.
GPU impl not done yet, will be done in a follow-on CL.

Change-Id: Ib107d2945f6fdb34ce1b5405a6c88a5ae7e9f7ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221539
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-06-20 17:11:05 +00:00
Jim Van Verth
bbf85f951c Switch Metal dynamic buffer allocations to use a ring buffer.
Buffer creation is a big hit on Metal. This allows us to recycle more
of the buffer.

Bug: skia:8243
Change-Id: If2e3b13d8175dfe370bd61771af0a59cce277340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221120
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 17:09:44 +00:00
Brian Salomon
f30b1c1bd5 Revert "Revert "Make SkASSERT not break build in constexpr GrSwizzle method on GCC""
This reverts commit 27239e456a.

Revert "Revert "Add function to GrDataUtils to handle color conversions.""

This reverts commit c34d993b62.

Change-Id: Iac1bdaa6f8380e63bbb87394e7fca96808572131
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222039
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 16:56:15 +00:00
Ravi Mistry
b2ca0067a7 [lottie-web-perf] Add LottieWeb CPU and GPU bots
* Added support for LottieWeb bots in perf_skottiewasm_lottieweb.py
* Adds a LOTTIE_WEB_BLACKLIST for lottie files that crash lottie-web as described in https://bugs.chromium.org/p/skia/issues/detail?id=9187#c4

NoTry: true
Bug: skia:9187
Change-Id: I8dbf485e7162e027cb4c4db2bf8f8e9c3ec4d966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222157
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-20 16:49:13 +00:00
Mike Klein
df465e206e forward-declare Program::Instruction
I'm getting tired of having changes to SkVM.h trigger
383 build targets, now 13.  No other reason.

Change-Id: I12b637e68db409ede9c0c5be74fcca66cca32505
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222479
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 16:14:41 +00:00
Robert Phillips
6b973876ba Fix up wacky_yuv_formats GM and GL caps
This CL:
  enables the Y416 row (i.e., uses RGBA_16161616)
  spruces up the GL caps configuration of R16, RG16, RGBA16 and RG16F

Change-Id: I405c5acaf3f31b7ab0e9797e6f5df1d4c41d70d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220535
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-20 15:58:34 +00:00
Mike Klein
13daa4f305 no -ffoo-sections on Darwin
-dead_strip works just fine there without those flags,
and they interfere with embedded bitcode.

Change-Id: If3766d245334fd9fa275e90fe67216ababafcecb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222450
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-20 15:35:54 +00:00
Ravi Mistry
4918bbcbfd Rename recipe from perf_skottie_wasm to perf_skottiewasm_lottieweb
The lottieweb perf recipe will be very similar to the skottiewasm perf
recipe, so decided to eventually use the same one for both.

Bug: skia:9187
Change-Id: Id9da91c9cf79df7c01c61c7920f944bec974e9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222156
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-20 15:03:44 +00:00
Ben Wagner
1811d1615e Update GPU driver for Intel Skylake and later
Also, removed the blacklist for skia:8706 since the tests are passing
before this CL.

Bug: skia:8587, skia:8659, skia:8706, skia:8961, skia:9023
Change-Id: Ib7bf3268b1981ba9860f77ea7e12673976105ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222041
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-06-20 14:40:04 +00:00
Stephen White
1e1ad8dda9 Rename a shader variable to please MSL.
"vertex" is a reserved word in MSL. Rename the variable to "position".

Change-Id: I20a8bdd443cbdb1a41496728fc1ff388a02e1d24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222105
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-20 14:30:57 +00:00
Greg Daniel
2c3398dc26 Switch from querying swizzle on caps to using swizzles stored on proxies.
Change-Id: I03f4a3affd6dda7a83bee8eec768dcaa93a6b801
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220534
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-20 13:38:05 +00:00
Robert Phillips
b520476ee6 Swap GrSurfaceProxy over to being held via sk_sp
This CL:
   replaces GrProxyRef with sk_sp
   streamlines GrIORefProxy to be more like SkRefCntBase (i.e., move the fTarget pointer to GrSurfaceProxy)

Change-Id: I17d515100bb2d9104eed64269bd3bf75c1ebbbb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221997
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-20 11:43:45 +00:00
skia-autoroll
b9ca863aba Roll third_party/externals/angle2 88e0322122f2..c5c937e1e8bd (5 commits)
88e0322122..c5c937e1e8


git log 88e0322122f2..c5c937e1e8bd --date=short --no-merges --format='%ad %ae %s'
2019-06-20 syoussefi@chromium.org Vulkan: Support R11G11B10_FLOAT and R9G9B9E5_SHAREDEXP
2019-06-20 syoussefi@chromium.org Vulkan: Minor cleanup of Transform Feedback validation
2019-06-19 geofflang@chromium.org Documentation: Update support matrix.
2019-06-19 dongja@google.com Vulkan: fix texture swizzle
2019-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 11805e41d992..f9d08a25fbe1 (1 commits)


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

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

Change-Id: Ib87ab346eb1277240b6578d1eb323147faae1661
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222363
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 05:55:14 +00:00
skia-recreate-skps
933d3a4ba8 Update Go deps
Change-Id: I1a2c28113d2ee55ff64dd4f5560030f2575d5863
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222372
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-06-20 05:34:24 +00:00
skia-autoroll
91dbe847c5 Roll ../src a69f99029b91..8f8d2c8d5447 (406 commits)
a69f99029b..8f8d2c8d54


Created with:
  gclient setdep -r ../src@8f8d2c8d54

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

Change-Id: I50b6a53c9d5aac92948036e462e807608a63ac0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 04:42:04 +00:00
skia-autoroll
10475bf947 Roll third_party/externals/swiftshader 62bb5edfe0a6..4aa4fcd61334 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/62bb5edfe0a6..4aa4fcd61334


git log 62bb5edfe0a6..4aa4fcd61334 --date=short --no-merges --format='%ad %ae %s'
2019-06-19 capn@google.com Avoid recompiling identical SPIR-V code
2019-06-19 sugoi@google.com Fixed Vulkan unittests for Visual Studio
2019-06-19 sugoi@google.com Android build fix
2019-06-19 sugoi@google.com Make VkNonDispatchableHandle POD
2019-06-19 swiftshader.regress@gmail.com Regres: Update test lists @ 62bb5edf


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

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

Change-Id: I6d7715d50f5aff3aa28ba790a9d4f66920d9609a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222362
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-06-20 04:34:44 +00:00
Michael Ludwig
e08b443f9b Make rt bounds dependent on stencil settings for quad optimizations
Before the the consolidation to the internal drawFilledQuad(),
regular draws would use the logical rt bounds to decide if it can be
a fullscreen clear. Stencil rect draws would use the worst case bounds
(needed to pass GrDefaultPathRendererTest).

Initially, the new drawFilledQuad() switched to always using the worst
case bounds to determine fullscreen clears. Since stencil rect draws
used drawFilledQuad(), this was necessary for the path renderer tests to
pass. But this had the side effect of making render targets with approx.
backing storage no longer perform fullscreen clears when a draw would
otherwise cover the logical bounds of the render target.

Normally, this would only be a performance issue, but it also seems to
have exposed a driver bug in the Nexus 5x on Vulkan where the draws
didn't properly fill the backing store. Having attemptQuadOptimization()
choose its rt bounds based on the presence of stencil settings keeps
both tests happy and increases the likelihood of using fullscreen clears.

Change-Id: I6df2c789211f32a4c94bee394d27b7fb4f7293e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222278
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-19 23:05:34 +00:00
Ravi Mistry
0233b1edf2 [lottie-web-perf] Use latest lottie-web version and use install location
NoTry: true
Bug: skia:9187
Change-Id: Id0a35b77e41c2b8ef8f3b0b61558c9d96db1c09a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222177
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-06-19 20:57:20 +00:00
Greg Daniel
46e61805c3 Revert "Remove gpu config fallback in onMakeColorTypeAndColorSpace."
This reverts commit 1fb0874af5.

Reason for revert: maybe breaking chrome roll.

Original change's description:
> Remove gpu config fallback in onMakeColorTypeAndColorSpace.
> 
> If the client is asking for a specific colorType for a GPU image it seems
> wrong to give them one they didn't ask for.
> 
> Change-Id: I65bcdfcb0f744458e2162fe266c08bd3c8fb5a85
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222176
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: If3469e45d03471af126605072f4d6debec7101b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222038
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-06-19 20:46:42 +00:00
Joe Gregorio
024a912136 Make debugger-assets part of cloudbuild CI.
Change-Id: I5d5946304e3c20ffad5b0af69d7d43b6847ab724
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222097
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-06-19 20:44:40 +00:00