Commit Graph

50360 Commits

Author SHA1 Message Date
John Stiles
3215385aeb Disable ClangTidy namespace comments for short blocks.
Namespace comments don't assist readability for blocks that can easily
fit on a single screen.

Change-Id: I93cbebe8e51400dead794c9eb41cb1eaa86bf756
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312639
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-08-24 14:01:22 +00:00
Mike Klein
bf23d5621f style guide tweaks
Most of this is just not mentioning things that need not be mentioned
anymore, but there's one slight style tweak which I think is better,
from

    case Foo: {
        ...
        break;
    }

to

    case Foo: {
        ...
    } break;

which is a little clearer that all paths through case Foo break
when the contents of the {} block become complicated.

Change-Id: Id7fe5ab09437006d125313b07862613316dd403c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312576
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-24 13:37:28 +00:00
Tomasz Moniuszko
487d285be9 Remove duplicated header file from sources
It is on skia_sksl_gpu_sources list already.

Bug: skia:10650
Change-Id: I1e4bb0b2346ad8a74ddbdb3d3ff44ea7de6c0cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312736
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-24 13:30:32 +00:00
Mike Klein
216b984d39 delete nullptr,0 section of style guide
The nullptr/0 distinction should go without saying,
and I think worrying about any of the rest just burns brainpower.

Change-Id: I7d0aea300f114e512437c3820f4e80a1408575c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312472
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-24 13:17:09 +00:00
skia-autoroll
3cdc259008 Roll SwiftShader from 44e1791f100c to 622558b02e1a (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44e1791f100c..622558b02e1a

2020-08-21 srisser@google.com Revert "Add getPhysicalDeviceFeatures2"
2020-08-21 msisov@igalia.com X11 and Ozone: Try to check for display type when creating framebuf
2020-08-21 capn@google.com Perform independent blend state optimization

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I8d3c3c2bcbdb473fd8793c7a33e8101e8f1f1f7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312701
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:46:07 +00:00
skia-autoroll
8ce1a8c39c Roll ANGLE from d3e800e9ad66 to 4f7edbe1f6f0 (15 revisions)
d3e800e9ad..4f7edbe1f6

2020-08-23 jmadill@chromium.org State: Add dirty object for active textures.
2020-08-23 dpranke@google.com Set use_xvfb where needed in test wrappers.
2020-08-23 lehoangq@gmail.com Metal: Implement GL_OES_texture_3D
2020-08-23 lehoangq@gmail.com D3D11: Disable OES_texture_3D.
2020-08-23 lehoangq@gmail.com Metal: Implement EXT_draw_buffers & ANGLE_framebuffer_blit
2020-08-22 cclao@google.com Vulkan: Use context staging buffer for copyImageDataToBuffer
2020-08-22 cnorthrop@google.com Capture/Replay: Fixes for PUBG:Mobile
2020-08-21 jmadill@chromium.org Feedback Loop Redesign 3/3: Remove feedback loop tracking.
2020-08-21 ianelliott@google.com Vulkan: Fix compilation error
2020-08-21 ianelliott@google.com Vulkan: do not end render pass when invalidating
2020-08-21 jmadill@chromium.org Remove feedback loop support from back-end.
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 2979391e5b0c to e1c7eaa74142 (1 revision)
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from a711c594b8cc to b79773a35d52 (1 revision)
2020-08-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cbfd396756c6 to 44e1791f100c (1 revision)
2020-08-21 cclao@google.com Vulkan: Rename mStagingBufferStorage to mStagingBuffer

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: chromium:816629
Tbr: mtklein@google.com
Test: Test: Capture first 2000 frames of PUBG:MobileTest: Test: PUBG MOBILE on AndroidTest: Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkanTest: Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.InvalidatingAndUsingDepthDoesNotBreakRenderPass/*
Change-Id: Ic115bb23eed6904e9292db4b52f670c2296fe38d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312702
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:41:42 +00:00
skia-autoroll
0143dcc634 Roll Chromium from d3d82066e322 to 65295ec3eca4 (458 revisions)
d3d82066e3..65295ec3ec

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

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: mtklein@google.com
Change-Id: I975fe9f48a3acfbde64f961e89616de6e38597c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312699
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:41:02 +00:00
skia-autoroll
60cf6748ad Roll dawn from e8dc820fbc1e to ef7447334713 (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/e8dc820fbc1e..ef7447334713

2020-08-23 jiawei.shao@intel.com Fix issues in end2end tests for enabling buffer lazy clear by default
2020-08-22 cwallez@chromium.org Tiny cleanup of GetMappedRange.

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Idc69e0e3b95e3267904b791965b1487a0b4327bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312700
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-24 04:29:02 +00:00
Mike Reed
370cbc70e0 remove legacy signatures
Change-Id: I2b12d938d29b71408eb4d35988c8e66b5421c3af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312638
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-23 01:07:52 +00:00
Mike Reed
d16d654762 use pathbuilder
Change-Id: I996e4ad9a603db42d9ae750488db44ee3e84d742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312637
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-22 19:33:32 +00:00
Greg Daniel
bf7acb2707 Set input usage flag on all internally created vk RTs.
Where not using the input attachments yet, but I want to land this first
to make sure there are no regressions from setting this flag.

Bug: skia:10409
Change-Id: I0d43a9a8feea7f1ce67eb661ada7963fd7602489
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312490
Auto-Submit: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-08-21 22:22:50 +00:00
Mike Reed
457c6ddff0 remove unused enums for picture-recorder
Change-Id: I43e74a56d0aa68260ac9a9020a06a308ad75f694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312248
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-08-21 21:20:40 +00:00
Florin Malita
13c4dbe2ef [skottie] Add support for baseline shift
AE allows specifying a baseline shift [1] for text content.

This is essentially a vertical offset.

[1] https://helpx.adobe.com/after-effects/using/formatting-characters-character-panel.html#text_scale_and_baseline_shift

Change-Id: I6abfc47912735376f044769d6be6c25115dc62b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312483
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-08-21 20:05:10 +00:00
Ben Wagner
8bd6c9830d Fixup fontmgr_bounds gm for variable fonts
Variable fonts don't vary the conservitive bounds so they get reported
as empty. Handle this by doing layout based on the join of the tight and
conservative bounds and draw both.

Change-Id: I6e980a2d20514d40a4b97ca55a647055c847c171
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312479
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-21 18:56:50 +00:00
Chris Dalton
c4ec291ec6 Reland "Add utilities to SkGeometry for quad and cubic rotation angles"
This is a reland of 26766ad427

Original change's description:
> Add utilities to SkGeometry for quad and cubic rotation angles
> 
> Adds methods to measure the rotation angles of quadratics and cubics,
> and to chop curves at locations that divide the rotation angle in half.
> 
> Bug: skia:10419
> Change-Id: I840e12034fc66e1a459de875fefda07a27a78335
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308880
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: skia:10419
Change-Id: I62ea6847a91c054174f829962a901f21910c013b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312438
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-08-21 17:57:40 +00:00
John Stiles
29a803542d Add missing headers to .gn files.
Change-Id: Id2f3ed80c76c4c409afdd2fa86c9b8e7fd1266ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312485
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-21 17:27:30 +00:00
Brian Salomon
7a492f786d Fix -Wstring-concatenation warnings in clang 12
Change-Id: Ic09346b6079e6f316c28e03ddb02f12b4af8a38d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312482
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-08-21 17:17:50 +00:00
Brian Salomon
5cca20c580 Test performance of ANGLE ES3 on nanobench bots.
We want to ensure perf of ES3 is always >= ES2

Bug: skia:10644
Change-Id: Idf92157f6b0f1bcd705f8365c256f1ae4266616b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312400
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-08-21 16:57:00 +00:00
Greg Daniel
7b62dcae5a Add image usage flags to GrVkImageInfo
Bug: skia:9898
Change-Id: I46a66d4415af0bb013201ce756e8dbceb9e234cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311437
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-21 16:34:20 +00:00
Brian Osman
d66c2488d4 Fix two null dereference bugs in SkSL visitor
Fuzzer found one of these, and I spotted the other during visual
inspection and manual testing.

Bug: oss-fuzz:25109
Change-Id: I8273231d9f76fe55459d4b742225627dcc524e6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312476
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-21 16:09:03 +00:00
Ravi Mistry
be1455850c Temporary workaround for Canary-Chromium finishing too early
Bug: skia:10563
Change-Id: I64f12f57de4482cb6676ad8dc9b96d150cc4b3de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312337
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-08-21 15:49:00 +00:00
Greg Daniel
6a4e145832 Make some public vulkan structs use default initialization.
We will still need to go through clients to remove uses of the main ctors
so that it can be deleted.

Change-Id: I7bdfa00ac56b2404cc7b2f183104ee97b4da1de7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311452
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-21 14:33:20 +00:00
Florin Malita
d7389b003a [canvaskit] Fix for OffscreenCanvas-unaware browsers
Uncaught (in promise) ReferenceError: OffscreenCanvas is not defined
    at Object.a.MakeWebGLCanvasSurface

Change-Id: I896007cd5534cd009a8bc7254078bcf5686c5ff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312401
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-08-21 14:15:30 +00:00
Jorge Betancourt
141ec1a151 add SurfaceView support for skottie on android
Change-Id: I62fe20cdaf735d09552349efb9a21b1ea72bd973
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310136
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2020-08-21 13:24:30 +00:00
skia-autoroll
0c9a6e702d Roll ANGLE from 5dff6075d29f to d3e800e9ad66 (7 revisions)
5dff6075d2..d3e800e9ad

2020-08-21 jmadill@chromium.org Vulkan: Restart RenderPasses in DS read-only mode.
2020-08-21 cclao@google.com Vulkan: Use context staging buffer for immutable texture update
2020-08-20 jmadill@chromium.org Vulkan: Don't end RenderPass on DS feedback loops.
2020-08-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from c97acd1d3e07 to 0d6b4440549b (6 revisions)
2020-08-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 3434cb0b006d to a711c594b8cc (2 revisions)
2020-08-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 30b3f3857835 to 2979391e5b0c (1 revision)
2020-08-20 timvp@google.com Vulkan: Optimize MSAA using subpass resolve attachments

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: stani@google.com
Test: Test: FramebufferTest_ES31.*Blit*Test: Test: VulkanPerformanceCounterTest_ES31.MultisampleResolveWithBlit
Change-Id: Ide7c16122819e2184552fff2b1296e8bf1561e0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312420
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 04:47:59 +00:00
skia-autoroll
f7bbc7a6f7 Roll SwiftShader from cbfd396756c6 to 44e1791f100c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cbfd396756c6..44e1791f100c

2020-08-20 srisser@google.com Add getPhysicalDeviceFeatures2

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: stani@google.com
Change-Id: I5e5347b7447f7945d2c58a5a0b6ce00cf44b4285
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312419
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 04:39:59 +00:00
skia-autoroll
fe40fea5ac Roll Chromium from e45f0c4dce5a to d3d82066e322 (463 revisions)
e45f0c4dce..d3d82066e3

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

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: stani@google.com
Change-Id: Ic3074edd4200cb62004c2b3a3a4a990eb21fe116
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 04:33:29 +00:00
skia-autoroll
6f0d302d33 Roll dawn from eff9ef0f2212 to e8dc820fbc1e (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/eff9ef0f2212..e8dc820fbc1e

2020-08-21 enga@chromium.org Skip TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation
2020-08-20 bryan.bernhart@intel.com D3D12: check if resource manager exists before releasing
2020-08-20 jiawei.shao@intel.com Workaround Intel Mesa driver issue about T2B copy with stencil aspects
2020-08-20 cwallez@chromium.org Remove MapRead/WriteAsync and CreateBufferMapped
2020-08-20 tommek@google.com Refactoring Queue::WriteTexture implementation
2020-08-20 tommek@google.com Fixing offset alignments when using DynamicUploader

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Id34411804e883c22a2b59b0b9b8c035eff02760a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312421
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-21 04:30:39 +00:00
John Stiles
b9af723001 Fix thread-unsafe writes to function declarations in the symbol table.
This changes the semantics *slightly* as `fIsBuiltinCode` is used
to identify functions which are assumed to not have side effects.
Previously the heuristic for side-effects was the presence of a function
body. In practical terms this does not seem to affect any results. (I
also tried other approaches which all subtly altered the results of
codegen/inlining.)

Change-Id: I9fea820968a60360fb622dfa70aa8876a1782e6a
Bug: skia:10589
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312336
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-20 20:47:12 +00:00
Ethan Nicholas
7018bcfbc9 Reland "SkSL now supports uniform array types"
This is a reland of 284f2c4bea

Original change's description:
> SkSL now supports uniform array types
> 
> Change-Id: I809e9c424ee92b05f0a87d75d1384c92849e1474
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308498
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Change-Id: I176f7fbdcbf3700e51e2303b06a4e906d22b2300
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312244
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-20 20:39:12 +00:00
Heather Miller
481ff13d15 add M86 branch release notes
Bug: skia:
Change-Id: I62331cab6cfadbaf9ab2f74e316cb7a2515249d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312305
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2020-08-20 20:38:02 +00:00
Florin Malita
3f45e4b322 [skottie] Custom prop manager updates
Currently we use a hard-coded name prefix ('$') and the properties are
"namespaced" (the tree hierarchy is part of the key name).

This doesn't work well for most clients looking to test property
manipulation, as they would rather handle similarly named props in
bulk.

E.g. instead of

  precomp1.layer1.Group1.COLOR_01
  precomp1.layer1.Group1.COLOR_02
  precomp1.layer2.Group1.COLOR_01
  precomp1.layer2.Group2.COLOR_02

the UI should simply present

  COLOR_01
  COLOR_02

To support this, introduce a new operation mode for
CustomPropertyManager (kCollapseProperties), and keep the old behavior
around as kNamespacedProperties.

Also drop filtering for markers as anyone interested in markers would
want to see all of them.

Plumb these options all the way into CK (to be added to the player
later).

Change-Id: I57ec78c669f3870939d48fbfc492b97f63ea600d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312301
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-08-20 19:59:22 +00:00
Julia Lavrova
d279cee2f2 Fixing incorrect boundaries calculations + 3 ways of drawing a paragraph
Bug: skia:10620
Change-Id: I70086013130b23435d4e7c5ba375731760deb174
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311447
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-20 18:47:42 +00:00
Ethan Nicholas
6e0fa409e6 replaced SkSL nodeCount with visitor
Change-Id: I2c58505be6e9005804a11fbeabe35df52b64714d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312241
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-20 18:43:02 +00:00
Nathaniel Nifong
642a10b1f2 Add origin visualization, add support for Concat44
bug:skia:10211

Change-Id: Ia1a6da784096c1e655ec6198206de879ffbb556b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311605
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-08-20 17:49:32 +00:00
Ethan Nicholas
2a479a53b5 Reland "SkSL CPP and H backends no longer emitted in non-dev builds"
This is a reland of bc6fb279fe

Original change's description:
> SkSL CPP and H backends no longer emitted in non-dev builds
> 
> As these backends are never used at runtime, it's pointless to include
> them in the Skia binaries. We still include them in GR_TEST_UTILS mode
> to support unit tests.
> 
> Change-Id: I9ec9cc9300b74c501985656323ec894008255a70
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311454
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I214d6d952befbe77f301cf252fe4795f8c411a76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312242
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-08-20 17:48:32 +00:00
John Stiles
403a363c2e Migrate additional casts to as<T>.
These changes shook out a few const-correctness issues and make me
wonder about constness within the symbol table. Please check the
review notes!

Change-Id: Ic204a7b639caab08b9de92fe8d1d029b0ffb6582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312082
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-20 17:42:32 +00:00
Kevin Lubick
2eabdf5b07 Remove webgl from public.bzl
A bit speculative. Not sure if this will break the
WASM build in Google3, but the goal is to fix the G3
roller.

Change-Id: I0936e12291861943c58c147c98a43d11f60c6d72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312239
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
2020-08-20 17:40:54 +00:00
Chris Dalton
71e2126a83 Add new tests to trickycubicstrokes
Adds cusps and flat beziers with 180 degree turns that confuse the
new tessellator.

Bug: skia:10419
Change-Id: I2529780da596fe365c1d2825e29145beedf5cb01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312118
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-08-20 16:36:02 +00:00
John Stiles
29f2a1eaca Remove sk_TextureSamplers from SkSL.
These were not used anywhere.

Change-Id: I42e2cc96a1a1fae7db5fd41c8a1e60d41b284988
Bug: skia:10629
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312236
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-20 16:19:42 +00:00
Ben Wagner
9742f7c111 Notify when SkFontMetrics bounds are bogus.
OpenType and many other font formats have the concept of pre-computed
metrics for the union of all glyph bounding boxes. This allows for fast
though course quick rejecting of bounds, since the glyphs themselves may
potentially be quite a bit larger than the EM. With the introduction of
variable fonts OpenType does not vary these bounds, so the bounds are
only valid for the default non-varied font.

As a result the fTop, fBottom, fXMax, and fXMin reported in
SkFontMetrics may be bogus. Since simply always setting them to empty
zeros may be disruptive, provide a way forward for new users to check if
the bounds are valid.

This is a continuation which implements this in the DirectWrite and
CoreText ports.

Change-Id: I50812e78f31ee06fedf8ab1f005837d673a8f2ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311976
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-20 15:22:32 +00:00
Kevin Lubick
2f9a098439 [canvaskit] Remove getproc when creating WebGL interface
This saves about 15kb of wasm code size (4kb gzipped), 11kb
of JS code size (2kb gzipped) and about 10ms
when creating a new surface (~35ms -> 25ms in a local test).

This also gates the webgl code more strongly (off unless you
really request it), since the headers won't be available
except in an emscripten environment.

Change-Id: I303f6c342c72e7cfe29be241f55ae8f5631a3f75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311916
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-20 14:55:50 +00:00
Kevin Lubick
204c3be1cd [canvaskit] Remove fringe EGL dependency.
This removes about 5 kb of wasm code size (2 kb gzipped),
20 kb of js code size (4kb gzipped).
I think I can remove getproc (which is a somewhat large
function made up of a lot of string data) with some clever
adjustments of macros in a follow-on CL.

Change-Id: If3a4b30681e13abddea8e84d62297e90316ed7cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311817
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-08-20 14:55:50 +00:00
Kevin Lubick
157577b866 [canvaskit,pathkit] Update to emsdk 2.0
There was a break that was solved by adding -lGL to our link
steps. I discovered a few extra flags to aid in debugging builds
and I've left those in (they aren't too noisy IMO).

This changes the base dockerfile to use the official emscripten one.

Code size delta for full build is +5 kb

For future reference, emsdk decides which "library JS" files to
pull in using a83ba99d60/tools/building.py (L1553)
Those JS files live in src (e.g. a83ba99d60/src/library_html5_webgl.js (L222))
and define functions that the C++ code can call.

I'd like to follow-up on what -lEGL is doing.

Also, since the new image no longer has depot_tools, we need
to make docker/skia-wasm-release/Dockerfile install it.

Change-Id: I5a38e61e5080e9c4cb1e0a7e031509bcb107ff86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311726
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-08-20 14:55:50 +00:00
Nikolay Igotti
7e9b563179 Search ICU data on Windows relative to the current module.
Bug: n/a
Change-Id: If2fc09f6fc0a24915b4938c62451c693a9712586
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311136
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Jim Sproch <jsproch@google.com>
2020-08-20 14:51:42 +00:00
John Stiles
3dc0da6c6d Add as<ProgramElementSubclass> to downcast ProgramElements more safely.
The as<T>() function asserts that the ProgramElement is of the correct
kind before performing the downcast, and is also generally easier to
read as function calls flow naturally from left-to-right, and C-style
casts don't.

This CL updates several downcasts throughout SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the element's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().

Change-Id: I89a487aeaf56e56c720479fee0c2633377a202f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312020
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-20 13:48:52 +00:00
Ethan Nicholas
f3c8f5df31 Reland "Added support for the 'inline' hint on SkSL functions"
This reverts commit 1394f71ff0.

Reason for revert: doesn't seem to have been the culprit

Original change's description:
> Revert "Added support for the 'inline' hint on SkSL functions"
> 
> This reverts commit 338e57d4b1.
> 
> Reason for revert: maybe breaking Chrome roll
> 
> Original change's description:
> > Added support for the 'inline' hint on SkSL functions
> > 
> > Change-Id: Ib78e0ad9fd1cc15e7afeb2a9ddd6b1249828fbe7
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311603
> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: John Stiles <johnstiles@google.com>
> 
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
> 
> Change-Id: Ifd199db94a78e4cb389576b9ff282f54a582c421
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312078
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: I241f6bf16602bb5e011a2a5879a2df515fa0953b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312097
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-08-20 13:42:02 +00:00
Heather Miller
2f2658506c Update Skia milestone to 87
Change-Id: Ic755236e56a0b8064c5539c0a483fffbd4d9f334
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312156
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2020-08-20 12:50:02 +00:00
Mike Reed
4aac2f95c6 Can we remove this flag to picture-recording?
Change-Id: I08b75bee4d86b8539ee4374c699a3a1003b67784
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311725
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-20 12:29:42 +00:00
skia-autoroll
e1e2408042 Roll Chromium from ff3c275665f9 to e45f0c4dce5a (503 revisions)
ff3c275665..e45f0c4dce

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

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: stani@google.com
Change-Id: Ia1d214df545521311ca0b34a0305bc61bc199d1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312132
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-20 06:01:08 +00:00