Commit Graph

44221 Commits

Author SHA1 Message Date
Chris Dalton
aa3cbb81b7 Mark mipmaps dirty from makeClosed() rather than opList constructors
Bug: skia:
Change-Id: Ia90877399777134e735ac6328fff629748ef49d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235158
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-21 17:43:33 +00:00
Robert Phillips
e1efd38cf0 Remove GrPendingIOResource
AFAICT these three remaining uses of GrPendingIOResource were just real-ref placeholders (i.e., they just added 1 pending read and then held on to the GrPendingIOResource until object destruction).

Change-Id: Iba6bb199477d846d079999f09794422e240c675a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235458
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-21 17:29:43 +00:00
Chris Dalton
30eea6c87c Convert GrManyDependentsMipMappedTest to a mock gpu test
This allows us to test with fReduceOpListSplitting both enabled and
disabled.

This CL also requires adding basic mipmap support to GrMockGpu.

Bug: skia:
Change-Id: I97ba912a9e5f3b90756c027ac19c003c99c15902
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235996
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-21 16:55:23 +00:00
Florin Malita
05bab9a29d [svgcanvas] Don't emit default fill and stroke attributes
Default fill: "black".

Default stroke: "none".

Change-Id: I8069f8c4a852cf43e281b6fdcdc58062637c984b
Bug: skia:9344
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235829
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-21 16:43:03 +00:00
Brian Salomon
af696501c6 Fix sk_sp<> for incomplete type build issue
Change-Id: I211b7bc1e6d9dcdb1c74f6b6d28cd67674c059b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235830
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-21 16:21:23 +00:00
Ben Wagner
cd111cdcc5 Simplify gdi handle use with gdi fonts.
More than anything else, this gets rid of a few 'goto's.

Change-Id: Ica28d5653f2ad8fb77d11141e2ae1831787efdfa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235099
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-08-21 16:06:25 +00:00
skia-autoroll
ad10df6942 Roll skia/third_party/skcms 12b0343d8960..47820316fcec (1 commits)
https://skia.googlesource.com/skcms.git/+log/12b0343d8960..47820316fcec

git log 12b0343d8960..47820316fcec --date=short --no-merges --format='%ad %ae %s'
2019-08-21 brianosman@google.com Fix inversion logic when d of src or inv > 1

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

The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Ie1b1320ac3a04cdc3466ea5d47bc681af10cf7ea
TBR=egdaniel@google.com,mtklein@google.com
TBR=egdaniel@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236092
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-21 15:48:43 +00:00
Brian Salomon
bf6b9795f6 GrSurfaceContext not ref counted.
Also don't specify redundant width/height to SkGpuDevice.

Change-Id: I389df5c4b073c2c05632ba6b7c95b02a22dfaf98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235824
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-21 15:31:23 +00:00
Mike Reed
147b6642ac improve verts bench
- exercise different options
- reduce triangle sizes to emphasize overhead (small triangles is also common)

Change-Id: I24ff889cdeeba136349b3a855c6b5881109e2a88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235461
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-08-21 15:04:37 +00:00
Brian Osman
4be31e2605 Conservatively consider any path with tiny edges to be concave
These are numerically unstable. We've had various complex solutions in
the past (fall back to doubles, additional checks like this one), but
this solution is safer and simpler.

Change-Id: Ibe57a155a2aa604e20960f415b9dc3546ae859a9
Bug: chromium:993330
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235861
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-21 14:47:37 +00:00
skia-autoroll
bf388234ac Roll skia/third_party/skcms 6655095842ec..12b0343d8960 (1 commits)
https://skia.googlesource.com/skcms.git/+log/6655095842ec..12b0343d8960

git log 6655095842ec..12b0343d8960 --date=short --no-merges --format='%ad %ae %s'
2019-08-21 mtklein@google.com reject negative inv.a

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

The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Ib146c518a1d4aba1db881366f0e92fbd45a48bdd
TBR=egdaniel@google.com,mtklein@google.com
TBR=egdaniel@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236083
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-21 14:43:57 +00:00
Kevin Lubick
ea6c98081e Fix aggregators to use new gold objects
Change-Id: Iace9caec455a58cbe8649ea37d865f53e5643b17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235457
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-08-21 13:18:57 +00:00
Robert Phillips
80bff5b3a2 Remove GrProxyPendingIO
Change-Id: I9cf40f0518673206c6304e3f386dd75c9a44f269
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235865
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-21 12:09:54 +00:00
Herb Derby
362a1e0fab Move SK_API from the class to the methods
Change-Id: Ifd49e6cc8c9900b98125e59cf2e69aa4e28c25e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235864
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-21 10:20:09 +00:00
skia-autoroll
f99b7960f4 Roll third_party/externals/angle2 6aca71d7d705..6d653c02dd24 (4 commits)
6aca71d7d7..6d653c02dd

git log 6aca71d7d705..6d653c02dd24 --date=short --no-merges --format='%ad %ae %s'
2019-08-21 hckim.kim@samsung.com Vulkan: Set empty buffer to xfb descriptor set as an initial buffer
2019-08-20 jonahr@google.com Autogenerated kFunction* variables detected as mutable constants
2019-08-20 clemendeng@google.com Get rid of gl_ViewID_OVR for ESSL1
2019-08-20 lujc@google.com Separate dirty bit for attrib's binding VBO change

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

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: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=egdaniel@google.com
Change-Id: I330307a5d25a8bf6c5f99a668e9a7d774fc5232d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236017
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-21 05:18:21 +00:00
skia-autoroll
51095cab8f Roll ../src 8cd21345a0e8..85a9084804fd (458 commits)
8cd21345a0..85a9084804


Created with:
  gclient setdep -r ../src@85a9084804

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
Bug: None
TBR=egdaniel@google.com
Change-Id: I45929731e5f059b3a445d2422d0ce5c3902087b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-21 04:50:01 +00:00
skia-autoroll
d44c9d246c Roll third_party/externals/swiftshader fd72dd0a439f..92eb0415d0b1 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fd72dd0a439f..92eb0415d0b1

git log fd72dd0a439f..92eb0415d0b1 --date=short --no-merges --format='%ad %ae %s'
2019-08-20 capn@google.com Refactor GLES routine cache keys to use Memset<T>

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

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
Bug: None
TBR=egdaniel@google.com
Change-Id: I8e02e97036e56045906990ac1e155ad81b4a5d6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236016
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-21 04:31:21 +00:00
Ben Wagner
0b9801eadc Use void(void*) instead of decltype with sk_free.
Unfortunately, boringssl also declares a function named sk_free making
decltype give an error since the function is overloaded if both Skia and
BoringSSL headers are included in the same TU (as happens in ChromeOS
builds). In theory one can use decltype and specify which overload to
use, but this is far more verbose than just specifying the type.

Change-Id: I7dfefbce0a75c7ff6791b58287f26f2cc47c8eca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235828
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-08-20 22:28:42 +00:00
recipe-roller
46f5692b08 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/53297790de09e48c91678367b48528afbc9f71c1 pylint: rework wrapper to use vpython for multiple versions (vapier@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibe2a5955d471611601109bd0001d793427415a8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235956
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-08-20 22:20:22 +00:00
Stephen White
7a2930a108 Dawn: moar textures.
Implement onWrapRenderableBackendTexture(). This required render target
support in GrDawnTexture::Wrap().
Implement onWrapBackendRenderTarget().
Implement [create|delete]TestingOnlyBackendRenderTarget().
Implement deleteTestingOnlyBackendTexture(), isTestingOnlyBackendTexture().
Implement render target support in createTestingOnlyBackendRenderTarget().
Fix GrDawnGpu::onReadPixels() for the render target case.

Change-Id: I0f987d6dc08acc791cacc592d3ccf2568ca0f976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235098
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-20 21:40:27 +00:00
Herb Derby
aa3820a912 Remove using Settings for SkTextBlobCacheDiffCanvas
This is change 2/2. Remove the unused Settings structure.

Chrome change:
https://chromium-review.googlesource.com/c/chromium/src/+/1758438

Part 1:
https://skia-review.googlesource.com/c/skia/+/235102

Change-Id: Ib5d2ed1a18ae904c7d1eeffc18b5c69ab04c5f92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235858
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-20 21:03:26 +00:00
Christopher Cameron
450ba0a2b2 Increase GrMtlPipelineState caches size by 8x
Users with the Finch trial enabled are seeing slow tab switches due
to MTLRenderPipelineStates being rebuilt.

Bug: chromium:974219 chromium: 988964
Change-Id: I83adf06b7174e9f11a38da421f66a3921d17dbcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235878
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Christopher Cameron <ccameron@chromium.org>
2019-08-20 20:58:35 +00:00
skia-autoroll
fe16a33005 Roll skia/third_party/skcms d931999c3afd..6655095842ec (1 commits)
Also whitelist third_party/skcms from #include rewrites.

https://skia.googlesource.com/skcms.git/+log/d931999c3afd..6655095842ec

git log d931999c3afd..6655095842ec --date=short --no-merges --format='%ad %ae %s'
2019-08-20 mtklein@google.com Add missing b-tweak to skcms_TF_Invert()

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

The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=luci.chromium.try:linux-blink-rel

Bug: chromium:976551
Change-Id: I6566968525070f0af808d04211b16e71f9850cea
TBR=egdaniel@google.com,mtklein@google.com
TBR=egdaniel@google.com,mtklein@google.com

Change-Id: I2c9b6a270693e9e93303b9cfef1262488bba1aae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235936
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-08-20 20:57:15 +00:00
Ben Wagner
723a877d0c Make SkFunctionWrapper a better wrapper.
SkFunctionWrapper was made to be a simple abstraction over existing
resource release functions which generally follow a specific pattern of
returning void and taking a pointer to the underlying type. However,
this has been observed to be an unnecessary limit. This makes it more
generic while also making the call sites a little less brittle.

This change also uncovered an issue in msvc v19.20 to v19.22, see
https://developercommunity.visualstudio.com/content/problem/698192/in-templateusing-decltype-is-void.html
To work around this, several otherwise redundant '&' are used.

There was an attempt to take references to functions instead of pointers
to functions which greatly simplifies the intermediate wrappers.
However, that uncovered another issue in msvc, see
https://developercommunity.visualstudio.com/content/problem/699878/function-to-pointer.html

Change-Id: I54ab945ed9d9cfd0204d4d6650c2fde47cc9e175
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235105
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-08-20 20:31:36 +00:00
Florin Malita
6f1ff9fca1 Faster SkPathEdgeIter
nanobench -m pathiter_edge -q --samples 1000

Before:

    micros   	bench
      7.32 !	pathiter_edge	nonrendering
After:

    micros   	bench
      2.94 !	pathiter_edge	nonrendering


Change-Id: Ic548ad270589ecced855ba101ad241109c0f16ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235800
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-20 20:23:25 +00:00
Hal Canary
3b0e7f627b RELEASE_NOTES: formatting cleanup, add some urls
No-Try: true
Change-Id: Ic8f8416fa10d37205ab27a8e8da173869d158ab1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235862
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-20 19:07:04 +00:00
Herb Derby
7ea9bd0a8e Increase the on stack array to reduce memory allocation
Chrome perf is showing a regression in memory. This will
make fewer memory allocations.

BUG=chromium:995743

Change-Id: I8dcc0c4bbee26464df008ec723bf1977e699e790
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235859
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-20 19:01:35 +00:00
Julia Lavrova
916a904fb7 Placeholders implementation + unit tests
Change-Id: I4e87a6927cbd6ef087b72aaa4b2155c1859589b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235677
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-08-20 18:24:40 +00:00
Mike Reed
8f3bd77699 make pathiter bench a little more realistic
Touch the memory that the iterator returns, so we're (slightly) more
sure the compiler isn't eliding code we want to be timing.

Change-Id: I62eb36759413d83fb18f4a6e0bf23d4d98f11999
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235860
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-08-20 18:19:55 +00:00
Hal Canary
2af5db7273 RELEASE_NOTES: note change to SkMallocPixelRef
No-Try: true
Change-Id: I04b5193bab1524debb5a9ad2baf655ddd4209288
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235857
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-20 18:19:35 +00:00
recipe-roller
1b9040fc6b 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/a44d67c6e809dcb6a30081bc906c3bfa7ab41ec4 depot_tools: Add python3 to win bootstrap. (ehmaldonado@chromium.org)
  https://crrev.com/ca1eb7d16750f4a53d3cbee206a7871b81f4584a setup_color: Use native ANSI support on Windows 10 (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id1f0f93dfe1855b6e2aa63de7cd4a68ed4497a7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235876
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-08-20 17:29:35 +00:00
Greg Daniel
bbfec9db84 Move transferFrom commands from GrOp and into GrRenderTask.
These Ops don't need to go through the GrGpuCommandBuffer.

Change-Id: Ifa9c7d801c97c225989d2542709c89f36ddfdc5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235799
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-20 15:23:03 +00:00
Hal Canary
82e3afa99d SkQP: split make_apk script into create_apk and make_apk
gn_to_bp:  wrap defines in ifndef

create_apk.py assumes you are either run from the aosp tree, or you are
being run from make_universal_apk.py, which now defers to create_apk.py
for all functionality, even argument parsing.

tools/skqp/generate_gn_args moved some functionity into skqp_gn_args.py,
which is now used by create_apk.py

create_apk now accepts android sdk license for you.

create_apk and make_universal_apk.py now are better about cleaning up
after exceptions happen.

Old script make_apk.sh now just points at make_universal_apk.py

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: I2dba20ef7017987cabb2bd49f070e2b1594785d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235678
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-20 15:08:03 +00:00
Brian Osman
e53f7ff95f Reland "Remove old version of MakeCrossContextFromPixmap"
This reverts commit a0c9d43c20.

Reason for revert: G3 references should all be updated.

Original change's description:
> Revert "Remove old version of MakeCrossContextFromPixmap"
> 
> This reverts commit 237a95fe7b.
> 
> Reason for revert: Flutter in Google 3.
> 
> Original change's description:
> > Remove old version of MakeCrossContextFromPixmap
> > 
> > Client code has been updated
> > 
> > Change-Id: Ic6102effc63c0f4f00a47b8876107aa0b2306e32
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235296
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> 
> TBR=brianosman@google.com,reed@google.com
> 
> Change-Id: I0a290030e55987c690b51470a381aca2b6faab2f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235397
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,reed@google.com

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

Change-Id: I778bccf7b1c085413a3d119169686e68777bc344
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235856
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-20 14:49:59 +00:00
Hal Canary
f8586bdba7 SkBitmap: simplify setPixels()
Change-Id: Ie0b1f3efd4739acce9da96a20352e5aec73697de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235020
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-08-20 14:43:19 +00:00
Brian Salomon
5331e2a3f8 GrRectBlurEffect: approximate piecewise cubic with quintic.
Mali 400 and Quadro P1000 both have ~48% reduction.



Change-Id: Ib61a51355fa3202029dd87d483acb1027f17a7df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235679
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-20 13:24:38 +00:00
skia-recreate-skps
b081bc4a31 Update Go deps
Change-Id: Ief585ccdfc3b58c57cd8ff7d4278b087d89f29f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235781
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-20 05:23:38 +00:00
skia-autoroll
7aba6a7489 Roll third_party/externals/angle2 13cc0fce4340..6aca71d7d705 (5 commits)
13cc0fce43..6aca71d7d7

git log 13cc0fce4340..6aca71d7d705 --date=short --no-merges --format='%ad %ae %s'
2019-08-20 timvp@google.com Vulkan: Full support for program interface queries
2019-08-19 clemendeng@google.com Get Desktop GL games running on desktop frontend
2019-08-19 jmadill@chromium.org Suppress nonportable include path warning.
2019-08-19 clemendeng@google.com Auto-generated variables detected as mutable constants
2019-08-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 7b4e5bd5ec82..bc62722b80a6 (3 commits)

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

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: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=egdaniel@google.com
Change-Id: If4d2b29b4fd2ab2a2899b7d7d64563ef1ed1bdb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235757
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-20 05:15:38 +00:00
skia-autoroll
740c1edbb2 Roll ../src 3b734c2675b5..8cd21345a0e8 (407 commits)
3b734c2675..8cd21345a0


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

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
Bug: None
TBR=egdaniel@google.com
Change-Id: Ia94287281e6de04d85641c8cbb973277726b127b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235758
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-20 04:44:08 +00:00
skia-autoroll
fa2a0bda6e Roll third_party/externals/swiftshader dadeb009a297..fd72dd0a439f (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dadeb009a297..fd72dd0a439f

git log dadeb009a297..fd72dd0a439f --date=short --no-merges --format='%ad %ae %s'
2019-08-19 chrisforbes@google.com Order timestamp writes correctly wrt renderer work
2019-08-19 chrisforbes@google.com Add newlines to SPIRV optimizer messages
2019-08-19 chrisforbes@google.com Add feature support check for VkPhysicalDeviceShaderDrawParametersFeatures
2019-08-19 chrisforbes@google.com Add feature support check for VkPhysicalDeviceMultiviewFeatures
2019-08-19 srisser@google.com Make ClipDstRect/ClipSrcRect cease on non-finite

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

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
Bug: None
TBR=egdaniel@google.com
Change-Id: I2a031ca93988a28266cf8307feb0fb3b205e6029
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235756
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-20 04:30:28 +00:00
Yuqian Li
52a6a40535 Add savelayer_with_backdrop GM to benchmark
The performance regression only happened on iOS devices. Benchmarking
on Desktops or Android devices doesn't seem to show any significant
regressions.

Tested this on iPhone XS with nanobench and saw a 10ms->30ms regression:

regression:
  61/63  MB 1   10.5ms  10.7ms  10.8ms  12.2ms  5%  █▂▁▁▂▁▂▂▂▁  8888    GM_savelayer_with_backdrop
 101/101 MB 1   36ms    36.5ms  36.4ms  36.8ms  1%  ▁▅▃▆▆▄▆▃▃█  gles    GM_savelayer_with_backdrop

before regression:
  61/63  MB 1   10.3ms  10.4ms  10.6ms  12.4ms  6%  █▂▁▂▁▁▁▁▁▁  8888    GM_savelayer_with_backdrop
  96/96  MB 1   10.6ms  10.7ms  10.7ms  10.8ms  1%  ▄▁▄▂▆█▅▃▂▅  gles    GM_savelayer_with_backdrop

It's interesting to see that 8888 is always fast. Is the regressing CL changing blur from software to GPU?

Bug: https://github.com/flutter/flutter/issues/36064
Change-Id: Iea2305e41a31bd5b4267f45bfd835231d49d639a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234413
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-08-19 23:19:37 +00:00
Mike Reed
5f152f0745 add path-edger; lightweight Iter for edges
4.07  	pathiter_edge	nonrendering
      6.74  	pathiter_raw	nonrendering
      9.16  	pathiter_iter	nonrendering

Change-Id: Id711b342fbac6b4efd62ce918cf440b04973545c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235476
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-08-19 21:58:37 +00:00
Herb Derby
154340ba14 Use bulk API for bitmap glyph drawing
Using prepareForDrawing was overkill for this bitmap drawing, and it
can use the simpler bulk api. Additionally, simplify  prepareForDrawing
by removing the handle of the bitmap special case.

Change-Id: I09b2d71de28a1a50590265594aaf94593f001336
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235597
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-19 21:20:06 +00:00
Chris Dalton
0d6f77537a Add GrvkGpuRTCommandBuffer::appendSampledTexture
This separates the non-msaa-non-mipmap stuff out of
prepareSampledImage. It will be followed immediately by a CL that
finishes moving msaa resolve into a GrRenderTask and then deletes
prepareSampledImage.

Also, we no long call sk_ref_sp when adding the dstTexture. It appears
than many things have changed at this point, and this extra ref no
longer has any effect.

Bug: skia:
Change-Id: I0e390c57ab31f3aeaaa2aa99396b42fd7b1b000d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235652
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-08-19 20:19:07 +00:00
Brian Osman
e67133b8e5 Temporary Lua hook to measure impact of conservative convexity
Change-Id: I3be1a4d402a3a7adc6a28d716302d3c9f9316b14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-08-19 19:45:37 +00:00
recipe-roller
f624b0ff73 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/2822336a446f5f6fc68e50e1e5c5419548979030 [led] Create LedTestApi (olivernewman@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I36f71e29b754d3471b9d8f714c56d0d2ad34b14c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235656
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-08-19 19:18:36 +00:00
Robert Phillips
eb3eb98eb6 Add textureReleaseProc and releaseContext to SkImage factory functions
Specifically:
 MakeFromYUVATexturesCopyWithExternalBackend
 MakeFromNV12TexturesCopyWithExternalBackend

Change-Id: I41c16eb87e1a8fe9ec1fb4b7e6995e07374bb62c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235600
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-19 19:08:07 +00:00
Florin Malita
b9fb29f21e [skottie] Shaper downscale-to-fit vertical alignment mode
Introduce a new hybrid valign extension, kVisualDownscaleToFit (sk_vj: 4):

  - when the text shaped at the requested size fits within the box,
    center vertically (same as kVisualCenter)
  - otherwise, scale down until it fits (same as kVisualResizeToFit)

Change-Id: I8e096a49e2b87582e1bd42161657ec4ef561ebdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235601
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-08-19 18:59:06 +00:00
Julia Lavrova
aae845f219 Fixed temp dir for snapshots
Change-Id: Ie329a717bb1f8f3b1b69bfbaf0ef852a4193f805
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235396
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-08-19 18:36:26 +00:00
recipe-roller
8566dda51b 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/560ef89d75ade5e9f6cdb8bc75991239a4c1b0dd [swarming] Support unicode arguments in all functions (garymm@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibd9e3009a435d5b6ead9b00fb0086cf38509bf80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235644
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-08-19 16:30:24 +00:00