Commit Graph

44788 Commits

Author SHA1 Message Date
Michael Ludwig
b987862c86 Blacklist bulkrect benchmarks on chorizo
Change-Id: I487fb2e68de683301ce3d7ad19465b71d48c28e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251249
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-10-28 22:04:15 +00:00
skia-autoroll
e122772e88 Roll skia/third_party/skcms 8e28e18b5c9e..b118cb0ef477 (1 commits)
https://skia.googlesource.com/skcms.git/+log/8e28e18b5c9e..b118cb0ef477

git log 8e28e18b5c9e..b118cb0ef477 --date=short --no-merges --format='%ad %ae %s'
2019-10-28 brianosman@google.com Guard against integer overflow when classifying transfer functions

Created with:
  gclient setdep -r skia/third_party/skcms@b118cb0ef477

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC jcgregorio@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Ia9038f566ab4134fc8e5dcb849f92e087b6ddfdf
TBR=jcgregorio@google.com,mtklein@google.com
TBR=jcgregorio@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251268
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-28 21:10:54 +00:00
Florin Malita
c6fbedc507 [skottie] 3D layer parenting refinements
Observed AE layer parenting semantics:

  * layers are flagged as either 2D or 3D
  * camera applies to 3D layers, but not to 2D layers
  * parented 3D layers treat their ancestor transform chain as 3D (SkMatrix44)
  * parented 2D layers treat their ancestor transform chain as 2D (SkMatrix, ignoring 3D components)

This means that for a given layer, we may need to build two distinct transform chains - depending
on the type of descendant layer being considered.

Furthermore, transforms are animatable and their animators are scoped to a layer controller.  Since
we're potentially building two version of the transform node, we need to ensure all animators for
both of them are transferred to controller object (we still want to only instantiate a single layer
controller and render tree to avoid duplication).  IOW, all dependent layer transforms need to be
considered before "sealing off" a given layer controller.

In order to avoid a layer dependency/topological sort, we can split off the transform tree
construction into a separate pass.  High-level changes:

  -- replace existing LayerAttachContext with CompositionBuilder
     (holds LayerBuilders and other Composition-wide state)

  -- replace LayerRec with LayerBuilder
     (holds Layer-wide state and also caches transform nodes)

  -- pass 1: for each LayerBuilder, transitively build and cache a transform chain
     of a type (2d/3d) determined by the leaf (entry point) layer

  -- pass 2: for each LayerBuilder, build the actual layer content render tree
     and instantiate the layer controller objects

Bug: skia:8914
Change-Id: I9f7efcf4819424282fd3dda98f5621ba12fd001b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251001
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-28 20:29:54 +00:00
Jim Van Verth
1e0f2f389f Implement refPinnedTextureProxy for SkImage_Lazy.
Creating a cross-context texture exposed a hole in our lazyproxy
texture generation. Despite having a wrapped texture we were falling
back to drawing in tiled mode, which is incorrect. Filling in these
methods allows us to draw with the wrapped texture.

Bug: skia:9562
Change-Id: Ia26c5d75b202aefdf720e6d1f7a201af23e40676
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251214
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-10-28 20:28:33 +00:00
Brian Osman
9ead6c7400 Guard against integer overflow when classifying transfer functions
Bug: chromium:1016183
Change-Id: I2fa470db3690f79d83fd17b01e421e7457f7c725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251246
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-28 20:18:23 +00:00
Brian Salomon
620154a7dc Make GrFillInData use SkRasterPipeline
Makes it easier to add new color types.

Bug: skia:6718
Change-Id: Id0e6974ec87fd06587b2ccd7a9b99ceb1b6284f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251236
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-28 20:03:53 +00:00
Greg Daniel
1e058a5380 Reland "Revert "Rename gl_SampleMask to sk_SampleMask""
This reverts commit 4ac37632a8.

Reason for revert: Failing assert, "assert(fProgram.fSettings.fCaps->sampleVariablesSupport())" on some bots

Original change's description:
> Revert "Revert "Rename gl_SampleMask to sk_SampleMask""
> 
> This reverts commit 40b815db97.
> 
> Bug: skia:
> Change-Id: I454d3e86219276996d0b4f9e7fcf177bb6dc45e7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251004
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=csmartdalton@google.com,ethannicholas@google.com

Change-Id: I1fe9e2bb0d9f921f7d66e4a4707c21dd5c923586
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251248
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-28 19:28:25 +00:00
Michael Ludwig
1beb8ae9a2 Reland "Add variety of bulk API benchmarks"
This reverts commit 659b21d480.

Reason for revert: Fixed skipping nonrendering benchmark

Original change's description:
> Revert "Add variety of bulk API benchmarks"
>
> This reverts commit e63595dd85.
>
> Reason for revert: Breaking the Perf tests:
>
> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
> Command exited with code 139
> #######################################
> symbolized stacktrace follows
> #######################################
> build/nanobench BulkRectBench<1000, (RectangleLayout)1, (ImageMode)2, (DrawMode)2>::onPerCanvasPreDraw(SkCanvas*) at skia/bench/BulkRectBench.cpp:218
> build/nanobench main at skia/bench/nanobench.cpp:1277
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f1213dad2e1]
> build/nanobench _start at ??:?
>
>
>
>
>
> Original change's description:
> > Add variety of bulk API benchmarks
> >
> > Covers drawing 1000 anti-aliased rectangles, either sharing 1 image, using
> > a unique image, or as a solid color. Tests using the bulk APIs and regular
> > one-at-a-time drawing.
> >
> > Change-Id: Icdf5a1f6df229aed785212d0941b89c11aa785c0
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251003
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=robertphillips@google.com,egdaniel@chromium.org,michaelludwig@google.com
>
> Change-Id: I3b26d5a04c472993585242a108c2764ea2b96940
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251213
> Reviewed-by: Joe Gregorio <jcgregorio@google.com>
> Commit-Queue: Joe Gregorio <jcgregorio@google.com>

Change-Id: I83538faa29ada5ab1b02ff07ae9fe90734ed198e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251238
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-10-28 18:48:32 +00:00
Ethan Nicholas
4ac37632a8 Revert "Revert "Rename gl_SampleMask to sk_SampleMask""
This reverts commit 40b815db97.

Bug: skia:
Change-Id: I454d3e86219276996d0b4f9e7fcf177bb6dc45e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251004
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-10-28 18:47:52 +00:00
Brian Salomon
3683a4f5ae Remove legacy async read pixels APIs.
Chrome is now using the newer version.

Bug: skia:8962
Change-Id: I8c38bde63e1e032281d19b0cc7cb8cf301061a9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251198
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-10-28 17:28:53 +00:00
Mike Klein
a1991f5e3b experimental support for go/fibers
When run on cooperative threads, we need to notify the threading system
when we're going to block (in any way, sleep or spin) so that it doesn't
wake that thread up expecting it to make forward progress.

This should cover SkOnce, SkSpinlock, SkSemaphore, and by extension
SkMutex.  Not sure if there are others to hit, but really the only way
to find out is by deadlocked stack traces.  This CL (obviously?) does
nothing to mark synchronization primitives used by Skia's dependencies,
and in general I don't think we can do anything about them.

See cr/275261423 for more background and discussion.  It's not clear to
me that marking these symbols as weak is necessary, so I figured I'd
just try not doing that and seeing what breaks.  I can always follow up
with weak symbols if proven necessary.

Bug: skia:9577

Change-Id: I2c03fe92c58ad506dd8a68bdc90a09b28f965149
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251221
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-28 16:48:55 +00:00
Robert Phillips
c554dcf4b5 Add helper to determine the index buffer that will be used
This CL doesn't use the new VertexSpec member variable but should clarify the path forward (i.e., we will determine the index buffer option at characterize time and enforce that decision at onPrepare time for all the meshes).

This also refactors the GrTextureOp::characterize call.

Change-Id: I7010385abf5a462c12fd47e314aad893bca85fb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251002
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-10-28 16:36:02 +00:00
Joe Gregorio
659b21d480 Revert "Add variety of bulk API benchmarks"
This reverts commit e63595dd85.

Reason for revert: Breaking the Perf tests:

ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Command exited with code 139
#######################################
symbolized stacktrace follows
#######################################
build/nanobench BulkRectBench<1000, (RectangleLayout)1, (ImageMode)2, (DrawMode)2>::onPerCanvasPreDraw(SkCanvas*) at skia/bench/BulkRectBench.cpp:218
build/nanobench main at skia/bench/nanobench.cpp:1277
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f1213dad2e1]
build/nanobench _start at ??:?
  




Original change's description:
> Add variety of bulk API benchmarks
> 
> Covers drawing 1000 anti-aliased rectangles, either sharing 1 image, using
> a unique image, or as a solid color. Tests using the bulk APIs and regular
> one-at-a-time drawing.
> 
> Change-Id: Icdf5a1f6df229aed785212d0941b89c11aa785c0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251003
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,egdaniel@chromium.org,michaelludwig@google.com

Change-Id: I3b26d5a04c472993585242a108c2764ea2b96940
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251213
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2019-10-28 16:29:35 +00:00
Kevin Lubick
a1a4d82314 [canvaskit] Use skia's version of png and zlib
Change-Id: I730936cf91776451f7ba2657e5d07b20837e2dee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247297
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-28 16:27:53 +00:00
Michael Ludwig
e63595dd85 Add variety of bulk API benchmarks
Covers drawing 1000 anti-aliased rectangles, either sharing 1 image, using
a unique image, or as a solid color. Tests using the bulk APIs and regular
one-at-a-time drawing.

Change-Id: Icdf5a1f6df229aed785212d0941b89c11aa785c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251003
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-28 16:20:04 +00:00
Kevin Lubick
2d6d34ec19 [canvaskit] Use newer freetype
This new freetype lets us have emojis and brings in years
worth of bug fixes from the ancient version shipped in
the emscripten-ports

Change-Id: I0b8779dba3341a3ef73c715fde2e5fb37e45126a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/247296
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-28 15:15:39 +00:00
Ravi Mistry
18f5b1a6dd [Android compile bots] Add comment to CL when both nopatch and withpatch builds fail
Also, create and use new service account for the Android compile bots.

NoTry: true
Bug: skia:9568
Change-Id: I974229a87f8c00bf6e4d0d5e49bbfdde6ca84e19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250978
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-10-28 14:55:01 +00:00
skia-autoroll
428b5de64a Roll third_party/externals/angle2 77fba58c9658..95a736bd3347 (17 commits)
77fba58c96..95a736bd33

git log 77fba58c9658..95a736bd3347 --date=short --no-merges --format='%ad %ae %s'
2019-10-26 jmadill@chromium.org Reland "Add more test_utils functions."
2019-10-26 jmadill@chromium.org Roll chromium_revision 60074bf9e0..5fe256ab5e (709436:709762)
2019-10-25 ianelliott@google.com SwiftShader: Update the expectations file according to latest testing
2019-10-25 jmadill@chromium.org Capture/Replay: Add ANGLE_get_image extension.
2019-10-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 883e817b14bf..f44f7c066a67 (4 commits)
2019-10-25 jmadill@chromium.org Capture/Replay: Fix capture build on Android.
2019-10-25 jmadill@chromium.org Update wrangling docs to link to SwiftShader roller.
2019-10-25 jmadill@chromium.org GN: Explicitly add several Windows libs.
2019-10-25 jmadill@chromium.org Fix warnings in xxhash.
2019-10-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src feb154921397..b34fa731931b (23 commits)
2019-10-25 jmadill@chromium.org Capture/Replay: Fix docs link.
2019-10-25 jmadill@chromium.org Use googletest nested DEPS file.
2019-10-25 jmadill@chromium.org Roll chromium_revision 9325340209..60074bf9e0 (704874:709436)
2019-10-25 jmadill@chromium.org Enable "-Wconditional-uninitialized".
2019-10-25 jmadill@chromium.org Enable "-Winconsistent-missing-destructor-override".
2019-10-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 7662586844f4..b131630e7c74 (1 commits)
2019-10-25 jmadill@chromium.org Enable "-Wundefined-reinterpret-cast".

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=jcgregorio@google.com
Change-Id: I4fd8053d08eaa982396b29925815d608d94e252b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251177
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-28 06:05:17 +00:00
skia-autoroll
01b1f63d64 Roll third_party/externals/swiftshader 6d69aae0e1ab..1737a30e3e34 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6d69aae0e1ab..1737a30e3e34

git log 6d69aae0e1ab..1737a30e3e34 --date=short --no-merges --format='%ad %ae %s'
2019-10-25 sugoi@google.com Removed stencil reference from PixelProcessor::States
2019-10-25 amaiorano@google.com Fix LLVM7 partially initialized ManagedStatic

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=jcgregorio@google.com
Change-Id: I8995336ebbba508c9cd45c5fd5851f1b6cab3f45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251176
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-28 04:34:01 +00:00
skia-recreate-skps
62160f2f35 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Id8b4fbb9b89e64281fb67ef5d3d1a05166a3d2e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251156
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-10-27 08:52:26 +00:00
Herb Derby
ff82e15d01 Add GL Caps for Radeon Pro Vega
The Pro Vega is used in the iMac Pro, and has the following
string:
"AMD Radeon Pro Vega 56 OpenGL Engine"

Make it behave like kAMDRadeonHD7xxx_GrGLRenderer.

Change-Id: I3eb60a56e0d10df6d5deab18302514d0ae3b2a56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251116
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-25 20:37:01 +00:00
Emircan Uysaler
7697476ad2 Disable async readback from protected memory
Reading back pixel values from protected memory into cpu memory is
not allowed. This CL adds early returns so they are not attempted.

Bug: skia:9016, fuchsia:38648
Change-Id: Icc0b51a62e87b7aebd0e7cb2a061fea084e7f754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-25 20:02:01 +00:00
Herb Derby
f5e9b42ef0 Change from single prepareForDrawing to prepare[Mask|SDFT|Path]ForDrawing
This produces much simpler logic, and sets up for a massive simplification
of the diff canvas. You can see the ultimate changes in:

https://skia-review.googlesource.com/c/skia/+/238196

Change-Id: I92100bdccb80d0b6f7864435213c29a159e0caaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250039
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-25 19:35:09 +00:00
Hal Canary
a979b28cbb SkQP: mark several gms as unsuitable for skqp
This will make the Android 11 release go much smoother.

See: https://review.skia.org/228339 skia:7691 b/138466039 b/136618832

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP,Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Change-Id: I3fa48fa18ee20135e3c58e5c13a3cfffc0f88937
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248797
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-10-25 18:21:23 +00:00
Mike Klein
c466945ddd tweak ar/libtool setup
This is what I was getting at on the comments in PS 5.

Change-Id: I5435860ebea9ed01217d7acb378e1fadce19b107
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250776
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-25 18:21:22 +00:00
Herb Derby
d0a404e84d Introduce FitsInAtlas
Change-Id: I043c593f748da196abb0310bc0bc8302ca33e5af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250798
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-25 15:31:00 +00:00
Ben Wagner
bdf2c87947 HarfBuzz reports y-up, convert to y-down.
Change-Id: If90857f9cf8039ddc0dfba7f660d415a41953015
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250818
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-10-25 14:41:50 +00:00
Hal Canary
60e7962ee9 Upload text blob traces as assets for the bots
Change-Id: I611cd923f21e73d6393678ceeb308626da2498a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250816
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-25 14:04:50 +00:00
Ravi Mistry
3ceaf8d1c8 Remove Perf LottieWeb_Canvas CPU/GPU bots
Context is in https://bugs.chromium.org/p/skia/issues/detail?id=9566#c6

NoTry: true
Bug: skia:9566
Change-Id: Ib4f7ecca7a789486c2aad00e7951542f37190f27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250977
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-10-25 14:01:00 +00:00
Ravi Mistry
7f5344a0a1 Move SkottieWASM/LottieWeb* GPU bots to Golo
NoTry: true
Bug: skia:9566
Change-Id: Id3d00a3dfbf4893170dabbfecb039c1f6736ec03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250976
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-10-25 13:37:20 +00:00
Hal Canary
5dfefa2452 nanobench: option to execute directory of TextBlobTraces as benches
Follow on to https://review.skia.org/250259

Change-Id: I794a59dd8227042423c094bd5f7825cfa27da94c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250756
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-10-25 13:28:49 +00:00
Herb Derby
a7f3157ac0 Only scale fallback font if it is too big
If the drawing is rotate, then it won't be handled by the
device fallback case. So, the source glyphs can fit in
the atlas with out scaling, so don't scale. Previously,
the system would put the largest possible glyph in the
cache, and scale it down.

Change-Id: If4261854100d4736702d192e4f0847014c55f1c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250796
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-25 12:54:29 +00:00
skia-autoroll
24a409611f Roll third_party/externals/angle2 b2885bc4a40f..77fba58c9658 (16 commits)
b2885bc4a4..77fba58c96

git log b2885bc4a40f..77fba58c9658 --date=short --no-merges --format='%ad %ae %s'
2019-10-25 jmadill@chromium.org Fix improper vertex array assignment in ANGLE test.
2019-10-25 geofflang@chromium.org GL: Temporarily disable emulatePrimitiveRestartFixedIndex.
2019-10-25 jmadill@chromium.org Enable "-Wredundant-parens".
2019-10-25 jmadill@chromium.org Enable "-Wmissing-field-initializers".
2019-10-25 jmadill@chromium.org Enable "-Wshadow-field".
2019-10-25 jmadill@chromium.org Enable "-Wtautological-type-limit-compare".
2019-10-24 jmadill@chromium.org Use "full" git cl format by default.
2019-10-24 jmadill@chromium.org Capture/Replay: Write capture index file.
2019-10-24 tobine@google.com Fix TextureAttachment support for unsized DS formats
2019-10-24 jmadill@chromium.org Capture/Replay: Introduce environment options and docs.
2019-10-24 ianelliott@google.com Vulkan: Update expectations for SwiftShader sRGB fix
2019-10-24 jmadill@chromium.org Vulkan: Enable multithreading tests.
2019-10-24 jmadill@chromium.org GN: Fix one missing check for 'angle_has_build'.
2019-10-24 geofflang@chromium.org GL: Follow-up primitive restart emulation fixes.
2019-10-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 7738ed713e7b..883e817b14bf (1 commits)
2019-10-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 5e634c8999e6..7662586844f4 (3 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=michaelludwig@google.com
Change-Id: I8bc28d720ae14ea00e42fbb0743bbbdeeb383794
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250900
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-25 06:11:39 +00:00
skia-autoroll
ad5be17f55 Roll third_party/externals/swiftshader 883e817b14bf..6d69aae0e1ab (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/883e817b14bf..6d69aae0e1ab

git log 883e817b14bf..6d69aae0e1ab --date=short --no-merges --format='%ad %ae %s'
2019-10-24 sugoi@google.com Fixed using an offset in Blitter::blitFromBuffer()
2019-10-24 sugoi@google.com Fix stencil+MSAA
2019-10-24 paulthomson@google.com Add LESS_DEBUG_INFO CMake option

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=michaelludwig@google.com
Change-Id: I4a1c299109088309a090e196a30c4ab70ee00c32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250899
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-25 04:36:19 +00:00
Brian Salomon
28a8f28b3e Rename functions in TestUtils.h
Change-Id: Iaa8a4ac57e967c6429473fb3a738d377a47fc2c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250799
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-25 00:36:28 +00:00
recipe-roller
342fbc5484 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/a51a06699f6ccccdd8acab7df70c8e9a9184ff80 presubmit: Run tests on Windows. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I15ffad13b64bf8cc00b63772626ca5b701d47133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250819
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-10-24 23:16:59 +00:00
recipe-roller
6f1c20f01f 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/dc4d19eeb67ac1935a1730b263fab07bdf3ccb0e git-cl: Add 'format-full-by-default' setting. (jmadill@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If970d7848f0836f151c8899cd8c1cd1d173900e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250843
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-10-24 22:28:59 +00:00
recipe-roller
2355cf4707 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/de9e3cabe60e57f3b7f923e59aed8cb4f87e2f0a presubmit: Make ThreadPool surface exceptions on CallCommand. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I186da11700cb631caf64a266c5f15e173341e42f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250840
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-10-24 21:49:14 +00:00
Ethan Nicholas
b653813d58 Vulkan SkSL code now works in locales which use ',' as the decimal separator.
Bug: skia:9550
Change-Id: Ib844971bd1daebdf7a0f93388ad40e4977822233
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250076
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-10-24 21:11:57 +00:00
Ravi Mistry
d8c69b645b Make NUC7i5BNK SkottieWASM/Lottie_Web bots ON_DEMAND
NoTry: true
Bug: skia:9566
Change-Id: I8d8a993719065319e05b6adb91ed73585b37f7c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250737
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-10-24 21:07:33 +00:00
recipe-roller
f11221509f 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/70031fbf3a131685d9d0f0de3675cb946368743e recipe module buildbucket: migrate to protos for inputs. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4fb62db87dcd2b209da5ae044211126a9d8c1558
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250787
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-10-24 21:06:53 +00:00
Brian Salomon
d2c67f44f8 Reland "Allow direct readback for formats in non-ES OpenGL"
This is a reland of 162d16891f

Original change's description:
> Allow direct readback for formats in non-ES OpenGL
> 
> Bug: skia:8962
> Change-Id: I85a2e228892a54cc2a0abd607d034515a9af12af
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250258
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:8962
Change-Id: Id878df9747653f2b34e551073a4562277e789e9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250657
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-24 20:16:33 +00:00
Hal Canary
2362ae7b8c [minor] nanobench: use default member initializer
Change-Id: I0324b89d44805b18d5d31a27ec3825633daeb32d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250659
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-24 20:15:03 +00:00
Mike Klein
af01816bc3 remove NEON matrix procs
These appear to autovectorize fine.

There are a ton of tiny diffs here, which sounds to me like the NEON
code is doing something slightly different than the portable path.
That's kind of reason enough for me to want to drop this code... it's
write-once code that never gets updated or bug fixes.

I'm going to try replacing these next with some skvx-based code to see
if there's any speed up to be gotten from readable code.

nanobench -m bitmap_ [-before-]{+after+} is uninteresting:

! -> high variance, ? -> moderate variance
    micros      bench
   [-6086.72-]{+5996.35+}       shadermaskfilter_bitmap_80      8888
   [-5629.37-]{+5603.07+}       shadermaskfilter_bitmap_ff      8888
    [-348.31-]{+348.62+}        draw_bitmap_aa_rotate   8888
    [-215.12-]{+221.48+}        draw_bitmap_aa_translate        8888
    [-294.87-]{+315.18+}        draw_bitmap_aa_scale    8888
     [-11.89 !-]{+11.95+}       draw_bitmap_aa_ident    8888
    [-307.47-]{+304.01+}        draw_bitmap_noaa_rotate 8888
     [-14.56 !-]{+16.18+}       draw_bitmap_noaa_translate      8888
    [-294.56-]{+312.53+}        draw_bitmap_noaa_scale  8888
     [-12.05-]{+12.44+}         draw_bitmap_noaa_ident  8888
     [-38.14-]{+37.84+} ?       bitmap_RGBA_8888_A_source_stripes_three 8888
     [-35.98-]{+37.81 ?+}       bitmap_RGBA_8888_A_source_stripes_two   8888
     [-23.58-]{+23.89+}         bitmap_RGBA_8888_A_source_transparent   8888
     [-25.02-]{+24.96+}         bitmap_RGBA_8888_A_source_opaque        8888
    [-882.88-]{+777.45+}        bitmap_RGBA_8888_A_scale_rotate_bicubic 8888
    [-865.57-]{+451.20+}        bitmap_RGBA_8888_A_scale_bicubic        8888
    [-132.63-]{+145.47+}        bitmap_RGBA_8888_update_scale_rotate_bilerp     8888
    [-139.90-]{+147.01+}        bitmap_RGBA_8888_update_volatile_scale_rotate_bilerp    8888
    [-144.19-]{+132.19+}        bitmap_RGBA_8888_scale_rotate_bilerp    8888
    [-150.94-]{+158.66+}        bitmap_RGBA_8888_A_scale_rotate_bilerp  8888
     [-86.07-]{+85.63+}         bitmap_RGB_565_scale    8888
    [-455.76-]{+455.36+}        bitmap_RGB_565_scale_bilerp     8888
     [-91.71-]{+94.45+}         bitmap_RGBA_8888_update_scale_bilerp    8888
     [-93.79-]{+99.09+}         bitmap_RGBA_8888_update_volatile_scale_bilerp   8888
     [-95.02-]{+94.31+}         bitmap_RGBA_8888_scale_bilerp   8888
    [-100.45-]{+105.19+}        bitmap_RGBA_8888_A_scale_bilerp 8888
     [-20.89-]{+21.15+}         bitmap_RGBA_8888_update 8888
     [-21.16-]{+20.98+}         bitmap_RGBA_8888_update_volatile        8888
     [-81.12-]{+80.12+}         bitmap_RGB_565  8888
     [-21.05-]{+21.35+}         bitmap_RGBA_8888_scale  8888
     [-21.04-]{+20.99+}         bitmap_RGBA_8888        8888
     [-27.91-]{+27.78+}         bitmap_RGBA_8888_A      8888

Change-Id: Ia2746ac342e2a29653846da5252c09467a85a077
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250688
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-24 20:05:32 +00:00
recipe-roller
57ab918861 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/1dcbd5c1d72bf240d5e8dab20521250615ed9cd9 presubmit: remove reserved field from InputProperties (tikuta@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic1870ce939e272074f596125c96c41edab8c000d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250691
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-10-24 20:05:31 +00:00
Herb Derby
95ea4c4c9e Change code() to glyphID() on SkGlyph.
Change-Id: Id13cd5039df7ff3042858c8c89a2dc629b589d3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244998
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-24 20:00:29 +00:00
Chris Dalton
8a666d42c6 Reland "ccpr: Unblacklist Qualcomm with msaa"
This is a reland of 3f55695a04

Original change's description:
> ccpr: Unblacklist Qualcomm with msaa
> 
> Bug: skia:
> Change-Id: I1ab69fe87136955b01a329675f1d0affec3700ec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245530
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: skia:
Change-Id: I22ee033652c9c9357698c4adf5c7dbe6a7a0a155
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249808
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-10-24 20:00:25 +00:00
Brian Salomon
557e812779 Make GrSurfaceProxy ref counts thread safe.
Bug: chromium:1008312

Change-Id: I90525db25ee61aeb8f03abc7569d8e4224df1497
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250576
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-24 19:55:23 +00:00
Mike Klein
da5581f860 did you mean to leave this in?
Change-Id: I95e7eca71ee5d9ec1cf0d0136b560cd45cee910d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250685
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-24 19:55:22 +00:00
Jim Van Verth
5a8f3e4aac Reland "Enable Programs (formerly GLPrograms) test for other APIs"
This is a reland of 598741667a

Original change's description:
> Enable Programs (formerly GLPrograms) test for other APIs
> 
> Bug: skia:9365
> Change-Id: I2eeac4e628425411b0a8f9ffa94ad61d58254b77
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249806
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: skia:9365
Change-Id: I94db6cb2b1465edbb2e6d32708b835a76e12cbc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250016
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-10-24 19:53:25 +00:00