Commit Graph

43565 Commits

Author SHA1 Message Date
Brian Salomon
81536f2184 Pass GrBackendFormat to GrGpu::onCreateTexture and use it to determine
texture format in backend API.

Bug: skia:6718
Change-Id: Ib224efdf0c4833618d574bc13f48ec04595df282
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233299
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-09 17:25:44 +00:00
Stephen White
fe55c73947 Dawn backend: update to Skia GrCaps changes.
Change-Id: I1fff1c525e16ca336926568e0b53700f72d6c5a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233560
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-09 16:55:41 +00:00
Julia Lavrova
b7b0b3ad53 Paragraph cache: caching the shaped results only.
That makes layout phase 10 times faster (since the shaping takes 90% of it).

LRU cache is attached to the FontCollection object and has the same life time.
Currently it has hardcoded limit on the entry numbers (128).
One the number reached, the least recently used element is removed from the cache
to free the space for a new one.

Change-Id: I597e334422614e33715d7a9ed13acf7b1f9cd0e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230755
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2019-08-09 16:51:41 +00:00
Mike Klein
c4abade253 Reland "add a stub for running fiddles as GMs"
This is a reland of adfc22df86

PS2+3 restrict this to just local builds: no G3, no Android, etc.

Original change's description:
> add a stub for running fiddles as GMs
>
> This is about the 15th time I've hacked this up.
>
> Change-Id: I0c75c0d04133d867e942c39eba693fd7227ba0f5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233240
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I7b8e7418edc4949c2f3e07ddf01f0643344397d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233242
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-09 16:22:51 +00:00
recipe-roller
24feb5d28f 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/1556fbc35307dbae2a678f4c48b60c5cfef4d398 depot_tools: Simplify subprocess2. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8a452a9a03790b2a4c7a62007e80b467c0648e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233616
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-09 16:03:11 +00:00
Mike Klein
639fce9060 Revert "add a stub for running fiddles as GMs"
This reverts commit adfc22df86.

Reason for revert: breaks building DM in Android, probably Google3 too.  Shame.

Original change's description:
> add a stub for running fiddles as GMs
> 
> This is about the 15th time I've hacked this up.
> 
> Change-Id: I0c75c0d04133d867e942c39eba693fd7227ba0f5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233240
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I56207630eeba4fb411111fd40e6bc532cef39407
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233241
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-09 15:40:52 +00:00
Robert Phillips
702b37b965 Add unit test to prevent future memory regressions
Bug: b/138674523
Change-Id: Ie4e37763ca68c7fcfa2f78cfa3c85a21bb863f77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233558
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-09 15:39:01 +00:00
Stephen White
d67c71fc7b Dawn backend: first triangle.
Nothing is cached in this initial version; all the magic happens in
GrDawnGpuRTCommandBuffer::beginDraw(). It builds the program,
sets the uniform data, converts the vertex attributes, initializes
rasterization state and blend state, creates a pipeline and bind group
and sets them.
send[Indexed]InstancedMeshToGpu() encodes the Dawn draw commands.
GrDawnGpuProgramBuilder::beginRenderPass() then finishes
the command encoder and submits the resulting command buffer.

Change-Id: Ie9c160cd18a2c4ef1bde66f86a52227e3bf1b570
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230457
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-09 15:30:51 +00:00
Robert Phillips
e89768469d Fix exactify for explicit resource allocation (take 2)
TBR=bsalomon@google.com
Bug: b/138674523
Change-Id: I7a88ca2b47c88356a53310a4a01078a02a6e1356
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233556
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-09 14:39:00 +00:00
Mike Klein
adfc22df86 add a stub for running fiddles as GMs
This is about the 15th time I've hacked this up.

Change-Id: I0c75c0d04133d867e942c39eba693fd7227ba0f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233240
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-09 14:38:10 +00:00
Hal Canary
ded867f126 experimental/editor: shape.h to unify all shaping code
also simplify handling of implicit position at end of line.

also simplfy move() operation.

Change-Id: Ic242b5413c65295b1ac1bf7aa3a4948c3ed1c742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233303
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-09 14:20:10 +00:00
Ben Wagner
bd59ba2506 Correctly write out variable position.
Due to not updating the index, only coordinate[0] was written.

Bug: chromium:982901
Change-Id: I307d0e976ee649bf5841e59a764fb18dae1772fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233421
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
2019-08-09 14:15:10 +00:00
Brian Salomon
ec22b1a2bf Expose GrContext::dump() when SK_ENABLE_DUMP_GPU is defined.
Change-Id: I499228454bc387de2c988b8f607320b7e5ea57b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233557
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-09 14:13:01 +00:00
Greg Daniel
26cedb4c60 Fix emplace on GrTRecorder.
Change-Id: I9250f62ce09f36f124cac6d867a09a4a262f5416
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233302
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-08-09 13:15:01 +00:00
skia-autoroll
b215131006 Roll third_party/externals/angle2 7424fe8b79c3..eb0479e245f0 (16 commits)
7424fe8b79..eb0479e245

git log 7424fe8b79c3..eb0479e245f0 --date=short --no-merges --format='%ad %ae %s'
2019-08-08 cnorthrop@google.com Vulkan: Texture 3D and 2DArray layers as framebuffer attachments
2019-08-08 jmadill@chromium.org Vulkan: Correct generated shader paths.
2019-08-08 syoussefi@chromium.org Vulkan: Support atomic counter array of arrays
2019-08-08 ynovikov@chromium.org Suppress functional.fbo.*.repeated_clear.* dEQP tests on Win NVIDIA Vulkan
2019-08-08 courtneygo@google.com Fix build issue with tracing enabled
2019-08-08 ianelliott@google.com Vulkan: Fix crash with glBeginTransformFeedback
2019-08-08 clemendeng@google.com BasicMangledName class
2019-08-08 iannucci@chromium.org Roll ./build/ 54ea0e7fd..680f9ea3d (665 commits)
2019-08-08 tobine@google.com Vulkan: Enable sampler objects
2019-08-08 iannucci@chromium.org [infra/config] Actually set properties_j in the right place.
2019-08-08 tobine@google.com Sampler::syncState now returns angle::Result
2019-08-08 m.maiya@samsung.com Vulkan: Support the vertex_type_2_10_10_10_rev format
2019-08-08 jdarpinian@chromium.org Reenable extra_warnings config for angle_utils
2019-08-08 syoussefi@chromium.org Vulkan: Fewer subgroup ops in seamful cubemap emulation
2019-08-08 kkinnunen@nvidia.com Fix ShaderStorageBufferTest31.LoadAndStoreBooleanVarAndArray to be more correct
2019-08-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 698b56a8f024..b029d3697ea3 (2 commits)

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

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=reed@google.com
Change-Id: I58c2cc3996305f0795381295e03c385dae7e0d5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233497
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-09 05:26:10 +00:00
skia-recreate-skps
93113dfc58 Update Go deps
Change-Id: Id8b622d27d09a33cf8d3cca7cb84d1e36336f158
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233505
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-09 05:24:40 +00:00
skia-autoroll
6e9cfa468c Roll ../src 2cf71a3eaec3..d9af708ac0cc (369 commits)
2cf71a3eae..d9af708ac0


Created with:
  gclient setdep -r ../src@d9af708ac0

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=reed@google.com
Change-Id: I6bcb5ebe45d6e8822a4343203d3b151dca12f14f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233498
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-09 04:40:40 +00:00
skia-autoroll
059bf776c1 Roll third_party/externals/swiftshader 75efa7bb97a4..f046402b1480 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/75efa7bb97a4..f046402b1480

git log 75efa7bb97a4..f046402b1480 --date=short --no-merges --format='%ad %ae %s'
2019-08-08 bclayton@google.com VkDevice: Fix sample cache hash collisions that caused spurious test failures.

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

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=reed@google.com
Change-Id: Iab1af285c6b5b759ecac46fcb979a06a6ce543eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233496
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-09 04:36:00 +00:00
Robert Phillips
4d557e3df4 Revert "Fix exactify for explicit resource allocation"
This reverts commit 32ff145b0f.

Reason for revert: 2 cc unittests

Original change's description:
> Fix exactify for explicit resource allocation
> 
> Bug: b/138674523
> Change-Id: I5ed959d48b31609b0106a19442f9673c52ff3ef1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233298
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Id3e326d81179f8276d0b32ebd7706d6ad11305cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/138674523
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233420
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-08 23:20:09 +00:00
Robert Phillips
32ff145b0f Fix exactify for explicit resource allocation
Bug: b/138674523
Change-Id: I5ed959d48b31609b0106a19442f9673c52ff3ef1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233298
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-08-08 20:47:08 +00:00
Brian Salomon
f04fb448fd fix skip-rectangle-texture-support in GrGLGpu::onWrapBackendTextureAsRenderTarget
Change-Id: I96b2b421f70ec71552d091d2151b4174f90bf8d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233301
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-08 20:35:40 +00:00
recipe-roller
627dff2992 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/a110bf60c043d93a23c105215f000b88a2825c49 CROS_OWNERS: update (vapier@chromium.org)
  https://crrev.com/1b4c7e9f38442e4b43fd4092d719e9627028125c Make gclient_utils work with Python 3 (cbiesinger@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic9c206337caea0282c90677a6670b10df203b3af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233396
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-08 20:10:57 +00:00
Mike Klein
0458079574 expand thread_local blacklist to all ARMv7 iOS
Change-Id: Ia9c0389aab1aa06ac652c87c6cfa4e8e6a6a23d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233238
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-08 19:47:57 +00:00
Nathaniel Nifong
807cb2448f Make mskp job name parse correctly
Change-Id: I380a889323e6b32d8750c943a5645f19e0de08f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232137
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2019-08-08 18:48:45 +00:00
Herb Derby
10e48d4061 Allow SkMakeSpan to correctly handle the distinction between
const and non-const for container classes such as std::vector
and std::array.

Change-Id: I6ad49de7f2f2c379ba6c964115806d058c72cd7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233296
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-08-08 18:44:24 +00:00
Brian Salomon
d4764a15f3 Rework how backend-specific formats are retrieved from GrBackendFormat.
Change-Id: If1047c477ff3f2cc4aaf19d2e2e838f2dbcb0126
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233160
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-08-08 17:20:34 +00:00
Hal Canary
4acbab33bd experimental/editor: scroll on delete if necessary
Change-Id: Ib1c6ef3d257956c0876d5184423072226d70d973
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233257
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-08 16:08:15 +00:00
Mike Klein
0b84eab299 Reland "thread-local caches?"
This is a reland of 0c9995dc51

PS2 skips program caching on G3/iOS/ARMv7 builds.

It doesn't seem important to cache programs on this build configuration
yet, maybe ever: we're not yet JITting on ARMv7, ARMv7 iOS is a dying
platform, and non-G3 builds, both local and bot, work fine for me so
maybe it's just an old toolchain?  For now I'm just disabling caching by
returning nullptr.  If the list of platforms grows much bigger or more
important, I may put back a spinlock-based best-effort caching.

Original change's description:
> thread-local caches?
>
> Here's another idea... these SkVMBlitter program caches are probably
> best thread-local.  If there are a bunch of threads doing the same work
> with the same program, we don't need them fighting over that one slot in
> the cache, and if there are a bunch of threads doing _different_ work,
> they'll get the best cache behavior if they don't fight over slots in
> the LRU with different programs.  Either way, seems like a win?
>
> (I've kept the try-acquire/release pattern just to make the focus of
> this change more clear.  We can fold it through more if we like it.)
>
> Change-Id: Ib1ee270069c48446845ce27225652896661c5dfe
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233060
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

Cq-Include-Trybots: skia.primary:Build-Mac-Clang-arm-Debug-iOS
Change-Id: I8d8ef5ab56b914c9c305bb1729b72c8bca373337
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233237
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-08 14:27:33 +00:00
Hal Canary
54602eaaa6 SkQP: Docker compile helper script respects SKQP_OUTPUT_DIR
No-Try: True
Change-Id: Iefbcbc031a0b012de7751413581e78c0ee30007f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233159
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-08-08 14:11:58 +00:00
Mike Klein
4e6f8c192e Revert "thread-local caches?"
This reverts commit 0c9995dc51.

Reason for revert:

Breaks G3 --config=ios_armv7.  Others seem ok?

third_party/skia/HEAD/src/core/SkVMBlitter.cpp:47:9: error: thread-local storage is not supported for the current target
        thread_local static auto* cache = new SkLRUCache<Key, skvm::Program>{8};


Original change's description:
> thread-local caches?
> 
> Here's another idea... these SkVMBlitter program caches are probably
> best thread-local.  If there are a bunch of threads doing the same work
> with the same program, we don't need them fighting over that one slot in
> the cache, and if there are a bunch of threads doing _different_ work,
> they'll get the best cache behavior if they don't fight over slots in
> the LRU with different programs.  Either way, seems like a win?
> 
> (I've kept the try-acquire/release pattern just to make the focus of
> this change more clear.  We can fold it through more if we like it.)
> 
> Change-Id: Ib1ee270069c48446845ce27225652896661c5dfe
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233060
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

TBR=mtklein@google.com,herb@google.com,reed@google.com

Change-Id: Ie93593490d793645492b6e964632c1e71b3e3ea6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233236
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-08 13:35:20 +00:00
Mike Klein
0c9995dc51 thread-local caches?
Here's another idea... these SkVMBlitter program caches are probably
best thread-local.  If there are a bunch of threads doing the same work
with the same program, we don't need them fighting over that one slot in
the cache, and if there are a bunch of threads doing _different_ work,
they'll get the best cache behavior if they don't fight over slots in
the LRU with different programs.  Either way, seems like a win?

(I've kept the try-acquire/release pattern just to make the focus of
this change more clear.  We can fold it through more if we like it.)

Change-Id: Ib1ee270069c48446845ce27225652896661c5dfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233060
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-08-08 13:27:38 +00:00
Greg Daniel
6fa62e2ab3 Remove use of GrColorType on GrCaps::getRenderTargetSampleCount.
Additionally this changes removes the version of the call that that takes
a GrPixelConfig.

As part of this change many call sites that were calling getRTSampleCount
to just check renderability have been changed to call
isFormat[AsColorType]Renderable instead. This change has also started to
move us to just checking format renderability (without GrCT) in classes
that are specifically dealing with GrSurface (GrResourceProvider, GrGpu, etc.).

Bug: skia:6718
Change-Id: Icf4a1a21a81a44e6863a7cd2059d21b9833d581f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233039
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-08-08 13:15:28 +00:00
Leon Scroggins III
19e3cd4c9c SkCodec: don't assume frameRect is valid
Bug: skia:9321

frameRect is the raw data stored in the image file, and it may not
intersect with the image's canvas. Remove that assumption.

Change-Id: I12802c9c20c0cb3506e64e14b129650ef0767f95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233157
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-08-08 12:26:08 +00:00
skia-autoroll
241e0ee4a7 Roll third_party/externals/angle2 415bb0cdb057..7424fe8b79c3 (7 commits)
415bb0cdb0..7424fe8b79

git log 415bb0cdb057..7424fe8b79c3 --date=short --no-merges --format='%ad %ae %s'
2019-08-07 ynovikov@chromium.org Skip BufferDataOverflowTest.VertexBufferIntegerOverflow
2019-08-07 iannucci@chromium.org [infra/config] Bump OS X SDK on mac builders to version 10.1
2019-08-07 jdarpinian@chromium.org Remove all global constructors and exit time destructors.
2019-08-07 jmadill@chromium.org Use RenderbufferID in place of GLuint handles.
2019-08-07 syoussefi@chromium.org Vulkan: Seamful cube map emulation
2019-08-07 clemendeng@google.com Have run_code_generation only call vpython when needed
2019-08-07 kkinnunen@nvidia.com Remove ShaderStorageBufferTest test skips for bug 2990, bug is marked fixed

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

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=reed@google.com
Change-Id: Ibf3754dc872f160f1cadedc71c6530c9966911b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233200
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-08 05:29:08 +00:00
skia-recreate-skps
8dd1c4ac3a Update Go deps
Change-Id: I994c71c53aa308217fb0db4aaf2578fef021438c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233206
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-08-08 05:23:58 +00:00
skia-autoroll
e341e6b7dd Roll third_party/externals/swiftshader 3aec8a3be749..75efa7bb97a4 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3aec8a3be749..75efa7bb97a4

git log 3aec8a3be749..75efa7bb97a4 --date=short --no-merges --format='%ad %ae %s'
2019-08-07 chrisforbes@google.com Remove unused parts of Stream interface
2019-08-07 chrisforbes@google.com Simplify query tracking machinery

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

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=reed@google.com
Change-Id: I6a79547a8926c7a3a1e73d8ef359832b21b99586
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233201
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-08 04:36:39 +00:00
skia-autoroll
fcae89a806 Roll ../src 2d05439f2779..2cf71a3eaec3 (449 commits)
2d05439f27..2cf71a3eae


Created with:
  gclient setdep -r ../src@2cf71a3eae

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=reed@google.com
Change-Id: I8351859f2cb7efe3bb16f7cd82a2586b2fe77e9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-08-08 04:36:38 +00:00
Hal Canary
bcfed55a8c experimental/editor: mouse drag select, modifierkeys cleanup.
Change-Id: I8c8de54ad6309424bdf18987ccf3eac6bdd41c19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233080
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-08 02:33:44 +00:00
Greg Daniel
228518f0f8 Remove AMD workaround for new command buffer on pipeline changes.
Change-Id: Iab4e53513b0d42eed60b2910455eb15ef7e3d359
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233158
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-08-08 02:09:34 +00:00
Ben Wagner
1dac7bc29f Add Symbol encoding when renaming a font.
GDI will not use a Symbol encoded cmap table if there is no Symbol
encoded name. Always output both Unicode and Symbol names (same data,
different name entries). This fixes test_symbolfont on GDI.

Change-Id: I05dea903b9c3914a852cf31472a19a6a06b274e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233079
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-08-07 20:35:28 +00:00
Hal Canary
cd30375f36 SkQP: make_apk_list.py include pie-cts-dev branch
No-Try: true
Change-Id: I3482f0e55eebe325eef1c140a16b867d89aa6580
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233081
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-07 19:42:38 +00:00
Brian Salomon
ea4ad307eb Modify GrGLTexture/RenderTarget and related functions to not take
GrSurfaceDesc.

Change-Id: If853cff7624ec80e0152a28766dda188778913d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232577
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-08-07 18:43:09 +00:00
Michael Ludwig
94322dcf73 Simplify luminance shader
Fixes TecnoSpark Pro compiler bug failure.

Bug: skia:9313
Change-Id: I54c077a2db71f75d50ba483b6932ffd2e18d2814
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232583
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-08-07 18:23:57 +00:00
Jim Van Verth
6c8c9b3cea Remove invalid entry in RELEASE_NOTES
Bug: skia:8243
Change-Id: I85f2777e872a257f56031301654b9da8532a9555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233077
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-08-07 17:51:58 +00:00
Mike Klein
b2c5a94b1c switch program cache to try-acquire
No need to contend if someone else is using the cache.

I switched the attributes back to the front of the declaration;
the line for try_acquire_program_cache() was getting long and
I couldn't find any satisfyingly clear place to break it.

Change-Id: I28c24c342b10c043091c0c46bd27153e44308967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233058
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-07 17:15:43 +00:00
Mike Klein
4d95befa5c add an SkVMBlitter bot
Switch the guard define to SK_USE_SKVM_BLITTER to match the expectations
of setting up these easy-mode-defines bots (anything starting with SK_).

Change-Id: I7dafdb31a5b2147cac8428e49d4599e50d125ab6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233059
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-08-07 17:15:13 +00:00
Mike Klein
e6d800ac0e disable false-postive Wthread-safety-analysis
Some of these compilers seem to misdiagnose correct use of

    if (tryAcquire()) {

       release()
    }

as releasing a lock that hadn't been acquired, but newer compilers
seem just fine.  Let's just turn it off until they can be upgraded.

No bug for the Chromecast builders I can see, but here's the Macs.

Bug: skia:9194
Change-Id: I009a142d4a248dc9d9d085e033b5c7303d732c5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233057
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-08-07 17:10:23 +00:00
Jim Van Verth
220988189b Add adjustable max size for Metal dynamic allocation ring buffer.
Maximum ring buffer size is based on the maxBufferLength of
the system. Also includes a sample for testing upload pressure.

Bug: skia:8243
Change-Id: I36863b725ba9cbcb02d575b2ab9695d186fcd529
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232759
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-08-07 15:59:42 +00:00
Mike Klein
e7f3850a0a make coverage a Color
Just a little no-op refactor.  Makes more sense to group clusters of
red,green,blue,alpha channel values into Colors.

Change-Id: I83ab628d008d68ca6d22d97f3ddd155d3e36f949
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/232821
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-08-07 15:30:32 +00:00
Mike Reed
41974000e2 note that drawAtlas does nothing if atlas is null
Change-Id: I8d2171b1f51a2beccff8a18f9e6324c08e4b864c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233076
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-08-07 15:27:02 +00:00