Commit Graph

41484 Commits

Author SHA1 Message Date
Jim Van Verth
75c3ae4c2e Add GrMtlCommandBuffer
Used to encapsulate encoder creation. Bundles blitencoder
commands into a single encoder.

Bug: skia:8243
Change-Id: I53a4303678bb4f4e6667a3655cfe414b2e50615d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209435
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-23 16:20:26 +00:00
Hal Canary
bd5e9505d8 Make default SkUserConfig a noop
Change-Id: Ica7d62c758558c0e2c7bea9da8a08f25d1cfaeed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209805
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-23 16:07:56 +00:00
Mike Reed
9adc82c73d Fixes for saveBehind/drawBehind
- fixes bug in device restore (was passing the wrong matrix)
- use drawbehind for the clear, to avoid rounding differences between canvas and gpu

Change-Id: I9c130e38437d8d34242620750f11a6ae7e62ff97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209801
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-04-23 15:05:06 +00:00
Robert Phillips
7eec3cd688 Implement alternate method for determining recycle-ability of allocated GrSurfaces
With the upcoming removal of pendingIO refs the GrResourceAllocator needs a new means of determining when a backing GrSurface can be recycled and when it needs to be left assigned to a GrSurfaceProxy.

Change-Id: I6f62a793e8aba70019dc8d0e7d585366d1097d70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208227
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-23 14:39:11 +00:00
Mike Klein
1ce03a613e rename gamma stage gamma_
In some setups we see StockStage::gamma somehow
shadowing `double gamma(double)` from math.h.

No big deal.  We do the same for plus_ and xor_.

Change-Id: Ib5d45edf33dcfbc1d0eef1806674fa908e752200
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209788
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-23 13:38:36 +00:00
Robert Phillips
12c4629624 Remove the option of disabling explicit resource allocation
We're burning our boats behind us. Succeed or die trying!

Change-Id: I6a9f71b758a6ae7b090c5221ab12a5ab4d166b47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209647
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-23 12:24:26 +00:00
Mike Klein
7ecad8791f add third_party/skcms to includes
This should allow us to #include "skcms.h".

Change-Id: Ie91f3af6145d78ffe0e433383a220fcb40452888
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209780
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-23 11:18:36 +00:00
skia-recreate-skps
f153e22114 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I1807c64cd281ec8ca956d94b6e97f607f448ef4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209763
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-23 05:46:07 +00:00
skia-autoroll
f31ae87fe0 Roll third_party/externals/angle2 c467f7b54188..cff6f150eae1 (1 commits)
c467f7b541..cff6f150ea


git log c467f7b54188..cff6f150eae1 --date=short --no-merges --format='%ad %ae %s'
2019-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 0e5d1bb66ad3..86c72c9486a9 (3 commits)


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

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

Change-Id: If018a85218f2b65bfb4b25e253e9ad1f15d012cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209733
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-23 05:10:06 +00:00
skia-autoroll
0438f02d79 Roll ../src 3ed0f75776bb..29e17ed23dea (265 commits)
3ed0f75776..29e17ed23d


Created with:
  gclient setdep -r ../src@29e17ed23d

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

Change-Id: I4d2cac2d1c7e02a553d998df9cd1a0b57a70a50e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209732
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-23 04:39:05 +00:00
skia-autoroll
977b16d9c9 Roll third_party/externals/swiftshader bcc71a322953..707ed9974cb3 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bcc71a322953..707ed9974cb3


git log bcc71a322953..707ed9974cb3 --date=short --no-merges --format='%ad %ae %s'
2019-04-23 chrisforbes@google.com Add support for OpAtomicISub, OpAtomicIIncrement, OpAtomicIDecrement
2019-04-23 chrisforbes@google.com Add support for OpExtension
2019-04-22 swiftshader.regress@gmail.com Regres: Update test lists @ bcc71a32


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

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

Change-Id: I8d99fca7f6a472ad16f251e028e472618f5ff77c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209734
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-23 04:35:35 +00:00
Brian Osman
c3186302bd Add skcms directory to public includes
skcms is part of Skia's public API now. This attempts to recognize that,
and pave the way for moving the header to another location more easily
in a follow up CL, or - at a minimum - for clients that redistribute
Skia as a library + includes to relocate the skcms.h header as part of
that.

Change-Id: I15da63b0d4ab8916a71fb7e6ab3656db87252707
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209640
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-22 20:32:23 +00:00
Greg Daniel
06be079791 Add wait function on GrContext to wait on semaphores.
This behaves like the SkSurface::wait call but is not tied to a specific
surface.

Change-Id: Ic572296e0f581204bf69a7178645d99e365c0692
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209648
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-22 20:28:23 +00:00
Jim Van Verth
dd15d69e1f More buffer changes for Metal.
* Use setVertexBytes and setFragmentBytes to set uniforms
* Use shared dynamic buffer for small texture uploads


Bug: skia:8243
Change-Id: I8436ca483e996a43d42e3862d0f1281bf864ab80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209645
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-22 20:26:03 +00:00
Mike Reed
50d79af7b7 hide internals of SkColorMatrix (so we can migrate to col-major)
Change-Id: If0eb6fb2efb6816b92ad7ca7d8caaace71397b7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209409
Commit-Queue: Ravi Mistry <rmistry@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-22 19:10:04 +00:00
Mike Klein
731ba99a85 deshard NP and N7 CPU test bots
Cq-Include-Trybots: skia.primary:Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Debug-All-Android,Test-Android-Clang-Nexus7-CPU-Tegra3-arm-Release-All-Android,Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Debug-All-Android,Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-All-Android
Change-Id: If0dc05534fb1a6d35641708e038ad3088aa2a2aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209612
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-22 18:13:33 +00:00
Mike Klein
86e61993a9 Revert "simplify and centralize SK_API"
This reverts commit 7f960d2083.

Reason for revert: Chrome roll again

Original change's description:
> simplify and centralize SK_API
> 
> Attempt two, this time not setting visibility("default")
> unless SKIA_IMPLEMENTATION is defined.
> 
> Bug: skia:8975
> Change-Id: I8d4e2071f1a8ee8a5702ac62ffc4000379d4fc43
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207854
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com,chinmaygarde@google.com

Change-Id: I0f9e6e5da2c17f789a4599042b9ae3a1ba412987
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8975
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209680
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-22 18:09:45 +00:00
Robert Phillips
5f78adf890 Add explicit GrSurfaceProxy flag to skip explicit resource allocation (take 2)
This approach eliminates a lot of edge cases where ops (e.g., the SmallPathOp) are treating their proxies in a special manner (i.e., just holding a raw ref and never adding pendingIO). Given that the atlas managers are managing the lifetime of the proxies there is no reason for the GrResourceAllocator to be aware of them.

Pulled out of:

https://skia-review.googlesource.com/c/skia/+/208227 (Implement alternate method for determining recycle-ability of allocated GrSurfaces)

Change-Id: I0a8d3c2d56036d568b6d49ddc78c32761642d1c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209419
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-22 18:05:33 +00:00
Mike Klein
4b19592a57 remove duplicate SkBase64.h
There's already an identical header in include/utils/SkBase64.h.
(And it's used by Flutter, so we need to keep the include/ one.)

Change-Id: Ia86f5b18d4351ec871902d0fd0e9f076f5d62fc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209664
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-04-22 17:53:03 +00:00
Mike Klein
3276d95876 rm src/compute
This is a stale, unused, untested snapshot.

Change-Id: I7c78c7c0f1637850724cbe8dcd99223a0ea592d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209644
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-22 17:35:53 +00:00
Eric Boren
264000254c [docs] Update documentation for branching process
Document new chrome_release_branch script.

No-Try: true
Docs-Preview: https://skia.org/?cl=209418
Bug: skia:8932
Change-Id: Ic38840f6e8ecac309e6bd7669dd2b110ff586401
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209418
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-04-22 16:46:33 +00:00
Mike Klein
7f960d2083 simplify and centralize SK_API
Attempt two, this time not setting visibility("default")
unless SKIA_IMPLEMENTATION is defined.

Bug: skia:8975
Change-Id: I8d4e2071f1a8ee8a5702ac62ffc4000379d4fc43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207854
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-22 16:32:03 +00:00
Greg Daniel
5816b3d45d Fully add back old GrContext flush api.
I left off the optional finished proc on the previous cl :(

Change-Id: I5f540c718bb7e12e7ea74287f1e50e35edd79700
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209417
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
2019-04-22 16:19:23 +00:00
Mike Klein
e0eeda5756 add constexpr constructor to SkMatrix
This is an experiment in making SkMatrix less sharp.

Change-Id: Ie1881b0905b594aa1c444440fae5253970850e12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208340
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-22 15:41:29 +00:00
Greg Daniel
7a5b6ec0f6 Update comment on vulkan allocator.
Change-Id: I70991d5727172f72a61f073d0cd684da6ca43780
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209413
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-22 15:12:56 +00:00
Greg Daniel
d10c90155c Add back deprecated GrCotnext flush API till clients get fixed.
Change-Id: I14b90a9022ebd4d5b3251964af5c7060853c0dcc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209412
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-22 14:59:31 +00:00
Brian Osman
cbc33b8e35 Add SkSL viewing/editing to viewer
Still only works with the GL backend. For other backends,
need to add similar logic to the shader caching, and some
extra checks in Viewer to force the SkSL flag on.

But in GL, this lets you toggle the checkbox and see the
SkSL / GLSL at will (and edit in either form).

Change-Id: I6d392113aa9cbcbd6e64589b849de70d0ac3beeb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209165
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-22 13:57:02 +00:00
Mike Klein
6350cb0f4b Revert "Add explicit GrSurfaceProxy flag to skip explicit resource allocation"
This reverts commit 7bb47f2a2e.

Reason for revert: chrome roll maybe

Original change's description:
> Add explicit GrSurfaceProxy flag to skip explicit resource allocation
> 
> This approach eliminates a lot of edge cases where ops (e.g., the SmallPathOp) are treating their proxies in a special manner (i.e., just holding a raw ref and never adding pendingIO). Given that the atlas managers are managing the lifetime of the proxies there is no reason for the GrResourceAllocator to be aware of them.
> 
> Pulled out of:
> 
> https://skia-review.googlesource.com/c/skia/+/208227 (Implement alternate method for determining recycle-ability of allocated GrSurfaces)
> 
> Change-Id: Ia6bec5e8f5d5bc63e86ae011bcc3f8e061c066b2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209400
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

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

Change-Id: Id65bd176f56aa91ff76ec1979aef6206b7665d63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209600
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-22 12:42:31 +00:00
skia-recreate-skps
08cb24621a Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ib81f238ac0c5c5fbeb476d0e3c7a0be7fa28adcc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209581
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-22 05:47:01 +00:00
skia-autoroll
3018bd1a79 Roll third_party/externals/angle2 145ec7fa7c81..c467f7b54188 (4 commits)
145ec7fa7c..c467f7b541


git log 145ec7fa7c81..c467f7b54188 --date=short --no-merges --format='%ad %ae %s'
2019-04-19 spang@chromium.org Compute usage from format properties cache in glTexStorageMem2DEXT
2019-04-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 805b09f92203..0e5d1bb66ad3 (1 commits)
2019-04-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src ac878fcbdd64..7aad9653f9a3 (2 commits)
2019-04-19 kbr@chromium.org Reland "Define and expose EGL_ANGLE_power_preference extension."


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

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

Change-Id: I9f75c51efaed50bad35a7dfc596a14e2fddbeb85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209574
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-22 05:17:30 +00:00
skia-autoroll
f1ff8aa959 Roll third_party/externals/swiftshader a16238df3f28..bcc71a322953 (7 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a16238df3f28..bcc71a322953


git log a16238df3f28..bcc71a322953 --date=short --no-merges --format='%ad %ae %s'
2019-04-21 bclayton@google.com Reactor: Remove trailing semicolons.
2019-04-21 bclayton@google.com Remove LLVM 3 from SwiftShader and all references.
2019-04-20 bclayton@google.com LLVMReactor: #error if usng LLVM 3
2019-04-19 chrisforbes@google.com Fix comment describing compare/exchange behavior
2019-04-19 bclayton@google.com Switch SIMD::Pointer::base from a Float* to Byte*
2019-04-19 bclayton@google.com SpirvRoutine: Use SIMD::Pointers for pointers map.
2019-04-19 swiftshader.regress@gmail.com Regres: Update test lists @ a16238df


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

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

Change-Id: Ic419c263a96acc24f8e29f5ad33958762324e544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209575
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-22 04:33:50 +00:00
skia-autoroll
f062679899 Roll ../src a55917cb9824..3ed0f75776bb (344 commits)
a55917cb98..3ed0f75776


Created with:
  gclient setdep -r ../src@3ed0f75776

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

Change-Id: Ic678825f6b5b9e8e11aca44e648ca50417bddd33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209573
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-22 04:33:30 +00:00
Mike Reed
2ce364071e use portable typeface for new gm
Change-Id: Idb2f23139fa14a334982e40b7ccaa7c7fd77d5dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209407
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-04-21 22:47:20 +00:00
skia-recreate-skps
264f9d23bd Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ieb52d6c8c817a2ff27bc0969694f2eb7a0fc522f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209563
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-21 22:46:20 +00:00
Ravi Mistry
8da16762f1 Skip __init__.py in webpages_playback.py
NoTry: true
Bug: skia:9001
Change-Id: I1516f65c36b79263a71eaed27f18835dfd902eee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209406
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-04-21 18:55:50 +00:00
skia-recreate-skps
a76fad2d49 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ifdb0096abf38f24159d63623639c73b475f70c48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209540
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-21 05:49:04 +00:00
skia-recreate-skps
13906d5d51 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I28735f09cc048a5caca7ff771443e1d43f8f6ee6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209502
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-04-20 05:49:00 +00:00
Jim Van Verth
c03cfaf204 Add Metal support for dynamic buffers.
Implements dynamic buffers as subbuffers of a larger allocation. As
we map and unmap, we change the subbuffer to ensure we don't overwrite
previous data. Buffers larger than our standard allocation are assumed
to do their own subbuffer management.

Bug: skia:8243
Change-Id: I3600463860fae235c46414a465ea106faa97ea0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209061
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-04-19 23:11:03 +00:00
Mike Reed
d567408362 Add secret draw-behind method
This is a variant of drawPaint but is automatically clipped
to the bounds of the most recent saveBehind buffer (axis-aligned bounds).

No public exposure.

Impl is pretty simple (its a variant of drawPaint)
- find the most recent saveBehind device bounds
- if there is none, draw nothing, else
  - temporarily intersect the device's clip with that bounds
  - drawPaint
  - restore the clip

See https://buganizer.corp.google.com/issues/129117085

Change-Id: I7c532e63a80b118fb2416c572b8e0d2abf8cf59a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209166
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-19 20:50:22 +00:00
Brian Salomon
1c0b05afde SkClipStack::isRRect succeeds if stack is an intersection of rects.
This helps enable optimizations that rely on the entire clip reducing
to a single rectangle, such as converting a drawRect to a clear.

Bug: b/122296071

Change-Id: I1fea4565644280d57610f8585b76babb557301d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209382
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-04-19 20:14:12 +00:00
Chris Dalton
84d36cdb60 ccpr: Calculate edge coverage in the coverage processor
Does the opposite-edge coverage calculation for curves in the coverage
processor, rather than the Shader class. This allows the vertex shader
implementation to do it more clean and directly, as well as allowing
the future sample mask implementation to disregard edge coverage
entirely.

Bug: skia:
Change-Id: Idaddfff8b22e3223f2a4e286900941969f975c6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208990
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-04-19 19:49:22 +00:00
Ethan Nicholas
898a8a5b1a Fixed internal skslc error with negated literal vectors
There was a spot where we were assuming that a constant vector was
guaranteed to be a vector constructor (e.g. float4(1)), while ignoring
the possibility that it could be a prefix operator applied to a
constructor (-float4(1)), leading to a crash. This fixes that and
simplifies the logic.

Bug: oss-fuzz:14019
Change-Id: Ic4b8fc896764494112a83c2fcca0a66eed804bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209176
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-19 19:37:52 +00:00
Greg Daniel
865dc5604d Adjust vulkan memory allocation block size knobs to better match the type of draws we do.
We were allocating blocks significantly larger than the amount of memory we actually using
which caused us to end up wasting a lot of unused memory. This brings our allocation
sizes more inline with our uses.

Change-Id: I1b00670cfdfdb21884a4a203a1c35e183d83dbcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209402
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-04-19 19:30:08 +00:00
Ethan Nicholas
49465b41d1 reworked SPIR-V binary operations and added support for VectorTimesScalar
Bug: skia:
Change-Id: I03b8a1ed3cf78060c5b9a5ede8d0371998116744
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/208677
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-19 19:25:32 +00:00
Robert Phillips
7bb47f2a2e Add explicit GrSurfaceProxy flag to skip explicit resource allocation
This approach eliminates a lot of edge cases where ops (e.g., the SmallPathOp) are treating their proxies in a special manner (i.e., just holding a raw ref and never adding pendingIO). Given that the atlas managers are managing the lifetime of the proxies there is no reason for the GrResourceAllocator to be aware of them.

Pulled out of:

https://skia-review.googlesource.com/c/skia/+/208227 (Implement alternate method for determining recycle-ability of allocated GrSurfaces)

Change-Id: Ia6bec5e8f5d5bc63e86ae011bcc3f8e061c066b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209400
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-04-19 19:25:02 +00:00
Hal Canary
ba1602896d SkQP: new docker test code
`tools/skqp/docker_run_apk.sh` executes SkQP tests in an emulator

`tools/skqp/run_apk.sh` is used by `docker_run_apk.sh` and
`tools/skqp/test_apk.sh` to factor out common code.

Also: `bin/sysopen` now pipes output to `/dev/null` and doesn't block.

TODO: harmonize with test code executed by bots in `infra/skqp/`.

No-Try: true
Change-Id: Ia212a84565ff52279a845e20372a0ad7cc0726a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209401
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-19 18:50:03 +00:00
Ethan Nicholas
65a8f56e74 fixed Metal code generation for recursive functions
Bug: oss-fuzz:14096
Change-Id: I9a7586e4000d1398be131ee4a2b85812b14096f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209381
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-04-19 18:36:03 +00:00
Michael Ludwig
2929f51aa4 Don't batch across domain modes in GrTextureOp
Change-Id: I3ea0f521dbfccf183fd55e850aeafe641ec28002
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209324
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-04-19 18:05:54 +00:00
Brian Osman
cf4ec506ec Convexity checker: Wait for significant x-product when walking edges
This effectively re-applies the logic from
https://codereview.chromium.org/298973004

The change to the unit test for 389050 is interesting.
The last convexity rewrite "fixed" that case by allowing
it to be detected as convex. In the process, it actually
broke the original bug, so that rendering of the HTML
failed. This CL causes us to give up and decide that the
path is concave, but we return to rendering correctly, so
that's a win.

The bug that initiated this (950508) is effectively the
exact same bug as 2235, which is why I haven't added a new
test case. The existing test case is much more concise than
the 100K data file needed for the new one.

Bugs: skia:2235 chromium:389050 chromium:950508
Change-Id: I0de65db8644f37e335c47e9d41c676b8e8b020fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209164
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-19 18:01:54 +00:00
Michael Ludwig
377befab71 Update compositing benchmark to use image-set API
Change-Id: I73de5cb894e4084ca86e43c2918a1a9fe656b11d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209323
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-04-19 17:36:34 +00:00