Commit Graph

43655 Commits

Author SHA1 Message Date
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
skia-autoroll
3275cf5f8f Roll skia/third_party/skcms 958fec279ed5..d931999c3afd (1 commits)
https://skia.googlesource.com/skcms.git/+log/958fec279ed5..d931999c3afd

git log 958fec279ed5..d931999c3afd --date=short --no-merges --format='%ad %ae %s'
2019-08-19 brianosman@google.com Add new profile with tables that diverge during approximation

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

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: Id20608662c3a82ce5ecfae65af6930338befce15
TBR=egdaniel@google.com,mtklein@google.com
TBR=egdaniel@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235643
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-19 16:19:54 +00:00
Greg Daniel
212dada392 Remove some unused GrPixelConfig functions.
Bug: skia:6718
Change-Id: I729eb1cff28c42fae548f0217f97b3b9fda02656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235598
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-08-19 15:47:34 +00:00
Chris Dalton
3f7932e733 Add kRequiresManualMSAAResolve to GrInternalSurfaceFlags
We will use this flag to check whether a proxy needs manual msaa
resolve, and if so, install a render task to do just that when it is
dirty and about to be read from.

For the time being, we are leaving GrRenderTarget::getResovleType in
place. This will allow us to assert that requiresManualMSAAResolve
works as expected. Long term, we plan to delete the former in favor of
the latter.

Bug: skia:
Change-Id: I155fa2a6d876edd339232c7c8208015d5da2c8ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234436
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-19 15:04:30 +00:00
Greg Daniel
f8221786d0 Remove incorrect metal assert.
Change-Id: I89d5ba22c4f07c88efe7c79c9a51352f3393fb57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235596
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-19 13:50:59 +00:00
skia-autoroll
9648b419f5 Roll third_party/externals/angle2 cdecd97ceefa..13cc0fce4340 (11 commits)
cdecd97cee..13cc0fce43

git log cdecd97ceefa..13cc0fce4340 --date=short --no-merges --format='%ad %ae %s'
2019-08-17 gwatson@mozilla.com Fix occasional corruption of vertex textures in HD4600 GPUs.
2019-08-17 jdarpinian@chromium.org Miscellaneous build fixes for WebKit
2019-08-16 dongja@google.com Add test for array of arrays of samplers
2019-08-16 jmadill@chromium.org Clean up trace output.
2019-08-16 clemendeng@google.com Add desktop GL built-in functions to symbol table
2019-08-16 j.vigil@samsung.com EGL: Set errors per spec for eglCreateContext
2019-08-16 m.maiya@samsung.com Vulkan: Enable an fbo attachment query test in dEQP
2019-08-16 jmadill@chromium.org Capture/Replay: Use Renderbuffer ID map.
2019-08-16 ianelliott@google.com Vulkan: Update copy_tex_image test failure bug ids
2019-08-16 jmadill@chromium.org Remove context from linking state.
2019-08-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src ff872dc6bf9f..7b4e5bd5ec82 (2 commits)

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

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: Icd56aac7e8d99da7ff6fe458777d7f872f8ccd80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235557
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-19 05:19:54 +00:00
skia-autoroll
1ba56b2040 Roll third_party/externals/swiftshader 2bcadf49d820..dadeb009a297 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2bcadf49d820..dadeb009a297

git log 2bcadf49d820..dadeb009a297 --date=short --no-merges --format='%ad %ae %s'
2019-08-16 bclayton@google.com Yarn: Add GN build files.
2019-08-16 bclayton@google.com CMake: Remove custom CMAKE_ASM_FLAGS
2019-08-16 bclayton@google.com Yarn: Remove BUILD_ASM define from build settings

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

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: I1d2b76ddfbfcd870eeb7f37db61bdfe8cee52d8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235556
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-19 04:33:34 +00:00
skia-autoroll
08f5b07831 Roll ../src f21be5041b55..3b734c2675b5 (436 commits)
f21be5041b..3b734c2675


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

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: I66e63d6795ff4fcd84d8d9310afc81717fa268cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235558
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-19 04:30:24 +00:00
skia-recreate-skps
daa26335bb Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Icc53e055b1832f6dc92f6c6be06f994dcf198c2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235516
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-18 08:16:57 +00:00
skia-recreate-skps
174ea86fa6 Update Go deps
Change-Id: Iac380c9306ebee919ccc59683bb0803959201bda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235496
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-18 05:26:27 +00:00
skia-recreate-skps
4b567cd679 Update Go deps
Change-Id: I04a3a2b14efecb32fc627774d11d3020e38130b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235374
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-17 05:23:59 +00:00
Mike Reed
9318a6cfbc build custom blitter for drawAtlas
- add uniform_color_dst stage
- add stageupdate option for shaders

More cases we could try to handle in the future:
- perspective (not hard)
- mipmaps (plumbing is there, need to re-call bitmapstate helper)

Before

  10025.60  	drawAtlas_3	8888
   6636.06  	drawAtlas_2	8888

After

   3566.18  	drawAtlas_3	8888
   2585.83 ?	drawAtlas_2	8888

Change-Id: I656231324c0390029f6d08941c4f9d11ccdb8e87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233061
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-17 01:48:28 +00:00
Brian Osman
a0c9d43c20 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>
2019-08-16 20:52:09 +00:00
Brian Salomon
5a5f3e8f31 Workaround for Android Emulator default precision issue
Bug: https://github.com/flutter/flutter/issues/38700
Change-Id: I29f824284375369588196284904acb10f3ff6dc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235279
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-16 20:47:35 +00:00
Mike Reed
ba7e9a6365 never check for degenerates in path::iter
This does not appear to be used externally, and only internally in 3
sites in GPU, which we can handle explicitly.

For now you can still pass bools to Iter::next() but they are ignored.
After this lands, I will update the callers to remove those.

FWIW: none of our other tests or gms seem to notice this change...

Bug: skia:9339
Change-Id: If40077b1ebb3d47cfce0ec43996ff272318e4a62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235104
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-08-16 20:39:05 +00:00
Greg Daniel
457da50801 Remove uses of GrPixelConfig in GrMtlCaps.
Bug: skia:6718
Change-Id: I493b97b8d9c7d4c19992b0f981f897b88aea90d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235316
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-08-16 20:26:25 +00:00
Stephen White
170d9905cc Dawn: implement textures & samplers.
Add samplers to Dawn binding group layout.
Convert filter modes from Gr to Dawn.
Rename fUniformBindGroup to fBindGroup (since it does more than uniforms now).
Split combined samplers into separate textures and samplers bindings;
recombine in the shader with makeSampler().
Create complete bind group layout before creating UBOs.
Implement scissor rect.
Set blend color in command buffer.
Pass shader caps to SkSL.
Enable flat interpolation, integer support, derivative support in Dawn Caps.
Reduce the Dawn caps to 6 fragment/sampler combos.
Add support for Int (1) vertex format.

Change-Id: Id5e9060855f0dfc8c071f84ea6c456aba2a72b35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233977
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-16 19:32:35 +00:00