Commit Graph

42956 Commits

Author SHA1 Message Date
Florin Malita
5b181bfb2d [skottie] Use kF16ColorType layers for motion blur
This fixes the result quantization issue.

TBR=
Change-Id: I7b1f6e40792a4032f93aabc96beddaacf6d837c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227259
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-15 21:41:28 +00:00
recipe-roller
1dd97e268c 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/2c92208d3d080dbdcb4d8ff4ca119559d40ec481 depot_tools: Remove unused third_party libraries. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic8c350b3f6ff0511e3ce05c8984d951f01bf1d48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227464
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-07-15 21:09:48 +00:00
Robert Phillips
5572737d95 Pass GrColorType to the GrGpu::wrapRenderableBackendTexture chain of calls
This is a step towards reducing our reliance-on/use-of the GrPixelConfig stored in the GrBackendTexture.

Bug: skia:6718
Change-Id: I2170032bfbbb57423c4bb0d901ad014c61d38131
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223701
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-07-15 20:40:09 +00:00
Hal Canary
9d844d8ce5 SkMetaData: move from src/ to tools/
Change-Id: If581c8ceeaa76985535cb7b6772742f0011cfe8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227436
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-15 18:45:09 +00:00
Brian Osman
aa2ca3f868 Interpreter: Compute max stack depth needed
Change-Id: I171a680aac554a0015d1854c46b35e9c9785fdf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227061
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-15 18:16:43 +00:00
Chris Dalton
6a5317a0e5 ccpr: Don't do coverage count transformations on literal coverage atlases
Previously we would just run coverage count transformations on
everything, including cached literal coverage atlases. This was
wasteful since it isn't necessary if the atlas already has literal
coverage. MSAA mode will introduce even more atlases that don't need
coverage count transformations, so it's definitely time to clean this
up.

Bug: skia:
Change-Id: Ifc72eaa7cbd4ab5e4ef4acb5610117ae9f54e4c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227144
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-07-15 18:00:33 +00:00
Hal Canary
fcf6359ce8 Sample not RefCnted; ClickHandling moved out of viewer
Change-Id: I23456144b267192928a1253692daf846329f2ab5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227067
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-15 17:59:15 +00:00
Jim Van Verth
31a9e8deec Enable Metal MSAA configs and ignore flaky test
Bug: skia:8243, skia:9255
Change-Id: I006d1bace2bec5ea24b0e2be560a8ff26127f503
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227402
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-07-15 17:35:12 +00:00
Brian Salomon
85aeccfb9d Make pixel comparison utility in ReadPixelsTest shareable
Also make it support GrColorType

Change-Id: I2aecb82dd1b8e3bc942549f2023ff5cae9deb4f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227403
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-07-15 17:21:32 +00:00
Ben Wagner
acf98df7a1 Remove WallTimer class.
Only used in three somewhat dubious places.

Change-Id: I7ccd1aef41f826d0eb62606751f4d3f0ceda267d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227065
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-07-15 16:06:11 +00:00
Greg Daniel
f355a1ead8 Revert "Move base and various sized formats off of GrGLCaps ConfigInfo."
This reverts commit 85c375b4e6.

Reason for revert: breaking command buffer bot

Original change's description:
> Move base and various sized formats off of GrGLCaps ConfigInfo.
> 
> Change-Id: Id3355d963ba61c19f5dbd85853536fafc2fd5c7f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227064
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ib3d8613cafafcd83ce6a2619817b835fbd0cd1c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227399
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-07-15 15:34:23 +00:00
Greg Daniel
85c375b4e6 Move base and various sized formats off of GrGLCaps ConfigInfo.
Change-Id: Id3355d963ba61c19f5dbd85853536fafc2fd5c7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227064
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-15 15:19:05 +00:00
Brian Salomon
a495d6d985 Simplify code in GrResourceProvider now that GrSurfaceContext writePixels takes GrColorType
Change-Id: I3e4cd49d59d38b8c278b7667ad3968b116b58ad6
Bug: skia:6718
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227260
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-15 14:52:31 +00:00
skia-autoroll
563d044c0e Roll third_party/externals/angle2 9668237739a2..c3085ead7055 (20 commits)
9668237739..c3085ead70


git log 9668237739a2..c3085ead7055 --date=short --no-merges --format='%ad %ae %s'
2019-07-12 cnorthrop@google.com Vulkan: Set texel offset limits
2019-07-12 jonahr@google.com Fix hang on Linux Intel when allocating large textures.
2019-07-12 geofflang@chromium.org glTexStorage3D: Disallow compressed formats on GL_TEXTURE_3D targets.
2019-07-12 courtneygo@google.com Vulkan: Upload packed depth-stencil
2019-07-12 jmadill@chromium.org Signal different dirty bit for vertex buffer change.
2019-07-12 geofflang@chromium.org GL: Work around Intel driver bug when clearing to zeros or ones.
2019-07-12 jmadill@chromium.org Revert "PRESUBMIT.py: Don't require "Bug:" for autoroller CLs."
2019-07-12 jonahr@google.com Fix copyTexImage2D corner case with same source/target image.
2019-07-12 ianelliott@google.com Vulkan: Split some SKIP expecations and put with correct bugs
2019-07-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src c538b5d796fb..71892a5eda90 (1 commits)
2019-07-12 timvp@google.com dEQP: Override tes31Context.cpp to prevent 3.2 context creation
2019-07-11 geofflang@chromium.org GL: Reset the texture base level before uploads on Mac.
2019-07-11 dongja@google.com Vulkan: change packed attrib to ANGLE format ID
2019-07-11 jmadill@chromium.org Use separate json files for each code generator.
2019-07-11 cwallez@chromium.org Rename StaticType's kInstance to instance.
2019-07-11 clemendeng@google.com WGL implemetation for OpenGL tutorial
2019-07-11 syoussefi@chromium.org Vulkan: Prepare for variable-stage pipelines
2019-07-11 lujc@google.com Vulkan: Recycle vkFence
2019-07-11 timvp@google.com Vulkan: Clean up deqp_gles3_test_expectations.txt
2019-07-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 8aa9a7bb8f74..c538b5d796fb (2 commits)


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

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=nifong@google.com
Change-Id: Ie7eac5ab11cae0ccd7052ff7ae813d1bba925ce9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227343
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-15 05:33:31 +00:00
skia-recreate-skps
5b9267f99f Update Go deps
Change-Id: I6d6da06249927fc6fc579e44e4a3f3a82806d1b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227376
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-15 05:28:21 +00:00
skia-autoroll
9affaf86f3 Roll ../src 5920a999c5b4..2413980cd984 (507 commits)
5920a999c5..2413980cd9


Created with:
  gclient setdep -r ../src@2413980cd9

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
TBR=nifong@google.com

Change-Id: I59ecc66084654e1d3fd5ef16330ded40c2eadd4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227344
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-15 04:38:31 +00:00
Mike Klein
35b97c3130 handle x86 tail in JIT code too
Basically the same deal as aarch64:

    - a bunch of instructions to rewrite control
      flow to be two loops, body and tail

    - a bunch of instructions to support scalar
      loads and stores in the tail

We can now remove the JIT::mask field.

I've removed the SkUNREACHABLE I'd put in for the ARM code...  as
written the interpreter is still reachable by the loser if two threads
race to JIT the program.  Medium term I plan to move JIT compilation to
a more proactive time, eliminating the need for the lock and letting the
interpreter become truly unreachable.

I had a little bit of a false start with what instructions to use for
scalar load8 and store8, first starting with instructions that loaded
via GP registers, then remembering vpinsrb and vpextrb can take a memory
argument, loading into xmm directly.  I've left the first instructions I
used in the file, still implemented but only used from the unit tests.
They're pretty common and will probably be useful some day.

Change-Id: I471b13026af4b1c6e861a53159f9df5f0285447c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227178
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-15 03:13:56 +00:00
Mike Klein
5b5dabcc56 make some SkVM benches uneven
N=15 and N=63 make for nice even looking profiles
on ARM and x86 respectively, with N=15 running 3
body loops and 3 tail loops on ARM, N=63 running
7 body loops and 7 tail loops on x86.

Change-Id: Ie7616bd99c949328bbb7d7048fc6f468ff1e3ad2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227220
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-15 02:38:26 +00:00
Mike Klein
86a645c5d9 fix bug for add/sub with r8-r15
I had been setting the REX R bit to select high registers,
but you actually set the B bit.  Don't know how I got that
wrong before... the leading byte should be 49 not 4c.

    $ cat test.s
    foo:
        addq $7, %r8

    $ clang -c test.s && objdump -d test.o

    0000000000000000 <foo>:
       0:	49 83 c0 07          	add    $0x7,%r8

Change-Id: I039e1c4f4ea20523a1e2cc9bcf5f6d9321a6223b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227177
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-15 02:04:36 +00:00
Florin Malita
ea79574fa4 Revert "Use saveLayer-determined CT in SkGpuDevice::onCreateDevice"
This reverts commit 8c5c54ceaf.

Reason for revert: bad ANGLE diffs, Chrome roll failing

Original change's description:
> Use saveLayer-determined CT in SkGpuDevice::onCreateDevice
> 
> Currently Ganesh always uses the prev render target CT, but saveLayer
> may force a different CT, depending on flags.
> 
> This fixes handling of saveLayer/kF16ColorType (added in
> https://skia-review.googlesource.com/c/skia/+/227066).
> 
> Change-Id: I8e73fdfdf18eb61f97fadd0504a4bd0f4a71977d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227258
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=bsalomon@google.com,fmalita@chromium.org

Change-Id: I0c3e74be64d5286b8d95b2aabaa464ad97fcaccf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227262
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2019-07-14 14:21:37 +00:00
skia-recreate-skps
2e8393c275 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Iaedc695c5fe7c7ef391edb895c1959377f2eaa39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227321
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-14 08:20:05 +00:00
skia-recreate-skps
37459cd97b Update Go deps
Change-Id: I0f395f2902850d6bff11e8aaf48bd3c2b7318188
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227316
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-14 05:28:05 +00:00
Florin Malita
8c5c54ceaf Use saveLayer-determined CT in SkGpuDevice::onCreateDevice
Currently Ganesh always uses the prev render target CT, but saveLayer
may force a different CT, depending on flags.

This fixes handling of saveLayer/kF16ColorType (added in
https://skia-review.googlesource.com/c/skia/+/227066).

Change-Id: I8e73fdfdf18eb61f97fadd0504a4bd0f4a71977d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227258
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-07-13 15:27:34 +00:00
skia-recreate-skps
1a701ef451 Update Go deps
Change-Id: Iec98ff69c23af0f0c3c73dea9b9ce4bb5cc137ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227278
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-07-13 05:29:24 +00:00
Brian Salomon
4ce6989332 Fix building Metal backend with CMake
Change-Id: Ica940030367327cb2e35f90b1cc6b4202d4f3422
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227062
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-13 03:05:11 +00:00
recipe-roller
2db58c47f3 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/d3af69947ef036f4db7f78a7e7cb8e5295daf6bd Add failure status on timeouts (debrian@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1092d28a32e1d3e11d8ec0a99af2676bac3f8d16
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227227
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-07-13 00:26:31 +00:00
recipe-roller
0c8e7650e2 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/10e07dd38b9eb13711f12930ab0fc0ba35f6cea2 [depot_tools] Add new tryjob failure types TEST_TIMEOUT and TEST_EXPIRED. (estaab@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I67e8212ac0e33d0d10f865934a252a588acb9776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227257
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-07-12 23:12:36 +00:00
recipe-roller
243b6d4340 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/587f1feeee31d4ea94fb4d185892884b81b1679f Fix Presubmit Infra Failure tests (debrian@google.com)
recipe_engine:
  https://crrev.com/43435a041607b9d60235b66301ee4c112ba86d15 Fix Infra Failure error handling in engine.py (debrian@google.com)
  https://crrev.com/9f38694b68d88bf0bbc102aa614f42f21f13b71c Add named cache support to the swarming recipe module. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia43cc11d18a5831124f819eaea1185d6caa26865
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227256
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-07-12 22:44:41 +00:00
Ravi Mistry
690e899cff [perf_skottiewasm_lottieweb] Use the new "--use_gpu" flag for GPU bots
* Also use DISPLAY=:0 for non-headless chrome via puppeeteer.
* Output gpu-gl-renderer, gpu-driver, gpu-gl-vendor from the trace file. Will be useful for debugging.

NoTry: true
Bug: skia:9237
Change-Id: Ieb70dbe540aeca89e88dbaeace3cdba1b50eb7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227156
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-12 18:31:47 +00:00
Ravi Mistry
4c5edc29fa [perf_skottiewasm_lottieweb] Add flag for use_gpu
If flag is true then run with headless=false and:
* --ignore-gpu-blacklist
* --enable-gpu-rasterization

NoTry: true
Bug: skia:9237
Change-Id: I8c3c40ee34fe3d3e92b41185c30afb91459a3f5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227060
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-12 18:21:57 +00:00
Mike Reed
1f3548cb05 add savelayer flag to promote the later to half-float
Bug: skia:9256
Change-Id: Ifd7846349f83854e860306bd475cfba0adeddcb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227066
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-07-12 17:31:33 +00:00
Mike Klein
57b0b09dfd handle any N in aarch64 JIT code
Add a tail loop to handle elements one at a time.

Just like in the interpreter, the only instructions
that need to be changed are the loads and stores,
16 byte -> 4 byte and 4 byte -> 1 byte.

With this we can mark the interpreter as SkUNREACHABLE,
and it even completely compiles away, saving a few KB.

Example profile for the SkVMTool float-squaring program
running N=15 over and over:

    Samples│
           │      skvm-jit-3663518994():
        42 │40:   cmp    x0, #0x4
           │44: ↓ b.lt   60
        51 │48:   ldr    q0, [x1]
       197 │4c:   mul    v0.4s, v0.4s, v0.4s
       135 │50:   str    q0, [x1]
           │54:   add    x1, x1, #0x10
        43 │58:   sub    x0, x0, #0x4
           │5c:   b.al   40
       150 │60: ↓ cbz    x0, 7c
        67 │64:   ldr    s0, [x1]
       130 │68:   mul    v0.4s, v0.4s, v0.4s
       135 │6c:   str    s0, [x1]
        18 │70:   add    x1, x1, #0x4
        17 │74:   sub    x0, x0, #0x1
        20 │78:   b.al   60
       124 │7c: ← ret

Change-Id: I153d7bc247942366a686e30a9cad60c935f754ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227138
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-12 16:18:26 +00:00
Florin Malita
aa04068be4 [perf_skottiewasm_lottieweb] Explicit window sizing
We're currently running with Puppeteer defaults (800x600), which
doesn't match our animation size.

  - set the Puppeteer viewport to 1000x1000
  - set the browser window size to the same

The latter is mostly useful for manual/non-headless runs.

Change-Id: Icce975ae89fc9375fdf7d8c458abf7223e844c82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227057
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-07-12 16:13:36 +00:00
Brian Osman
4a47da7357 Interpreter: Disallow return statements inside loops or conditionals
These didn't work correctly, and they're extremely tricky to get right
in the vectorized execution model (vs. structured control flow). As a
side effect, determine the maximum stack depth used for the execution
masking - the same idea will be used for the primary stack in a later
CL. Add a unit test to verify the new restriction, and fix two places
that were relying on this feature before.

In addition, boolean external values need to be masks. I may implement
this in the code-gen at some point, but this is already a fringe
feature, so just fix the one unit test for now.

Change-Id: I9607ffaf67c7795dbf42e4009180aea8f3e65c44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226849
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-12 16:07:16 +00:00
Mike Klein
65c10b5018 make all instructions take two-way labels
This turned out to be quite an easy transformation
with yesterday's work already done.  No codegen changes.

Change-Id: Ife19ab7731514c54cfed963a6d2e9b1ec2246997
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227137
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-12 15:56:06 +00:00
Mike Klein
55f6fd50ea initialize val in SkTHash Slot
Found with a GCC compiler warning.
Seems like a sane idea to keep Slots fully initialized.

Change-Id: I7a7bd4ccc4a6800d6e262aa7c616d3cab36d74dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227121
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-12 15:44:06 +00:00
Mike Reed
bae6169435 Revert "Revert "reimpl parts of arctTo using doubles to handle shallow angles""
This reverts commit bc525d65a1.

Change-Id: I92550317784be4084412d855cf475b77cd36d6da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227059
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-07-12 15:29:55 +00:00
Hal Canary
8918d532ab Sample/AAGeometry: stop leaking linked list
Change-Id: I8bba87244becf1352e713c08aee355ebbd83e45f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227058
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-07-12 15:06:00 +00:00
Hal Canary
41248071ac tools: separate TimeUtils from AnimTimer
gm, slides, and samples no longer need to know about the implementation
details of AnimTimer.

This
    virtual bool onAnimate(const AnimTimer&);
becomes this:
    virtual bool onAnimate(double /*nanoseconds*/);
which is much easier to reason about.

AnimTimer itself is now part of viewer.

Change-Id: Ib70bf7a0798b1991f25204ae84f70463cdbeb358
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226838
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-07-12 15:05:01 +00:00
Brian Salomon
5043f1f2cd More GrGLFormat.
Also rename from GrGLSizedInternalFormat since the compressed formats
aren't really sized internal formats.

Change-Id: I8744f1f4b8156300ab69d89066b44913bce120a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226956
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-12 14:40:26 +00:00
skia-autoroll
75bec2a463 Roll third_party/externals/swiftshader 28ae0a4b2810..4cd9767e6565 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/28ae0a4b2810..4cd9767e6565


git log 28ae0a4b2810..4cd9767e6565 --date=short --no-merges --format='%ad %ae %s'
2019-07-11 capn@google.com Fix reporting VK_ERROR_OUT_OF_HOST_MEMORY
2019-07-11 sugoi@google.com Fix for rendering being too dark


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

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
TBR=fmalita@google.com

Change-Id: I9d75bb97d269c76f5f9ae7008a4f187cfc38d93b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227019
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-12 14:38:56 +00:00
Mike Klein
b99fd5d50c initialize fPhase
Found by a GCC warning that

   fPhase = that.fPhase;   // line 193

was sometimes copying over uninitialized data.

Seems pretty harmless to initialize.

Change-Id: I9011ccf965bea4a702e0cca61f89e0aa644c55a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227122
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-12 14:30:36 +00:00
Hal Canary
f72728e3f1 documentation/build, BUILDCONFIG: Visual Studio Build Tools 2019
deprecate 2015

Docs-Preview: https://skia.org/?cl=226502
Change-Id: I32cd75937ebdc774138499c4cd79c1eda29bd0f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226502
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-07-12 14:17:16 +00:00
recipe-roller
9e0eb7dfd8 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/b9ad522afc7ff805c27a781d405b33e35f542dab [swarming] Fix task stdout/stderr link (joshuaseaton@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I911a0151c5f40c76bc0d337650869e040c186144
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227032
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-07-12 13:50:24 +00:00
Greg Kaiser
98ac0f9dbd GrGLGpu: Fix typo in 'if' check
We were checking 'externalType' twice, and never checking
'internalFormat'.  We now check each of them once.

Change-Id: Iae0578a4828fd2a9224e4924245bea0708d8c931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227028
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-07-12 13:42:14 +00:00
skia-recreate-skps
69f1338cc9 Update Go deps
Change-Id: Iead471aa50a692ce5ab6837d0469883dfe45fefe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227021
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-12 13:38:29 +00:00
skia-autoroll
59da44b579 Roll ../src 17462d53f92d..5920a999c5b4 (452 commits)
17462d53f9..5920a999c5


Created with:
  gclient setdep -r ../src@5920a999c5

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
TBR=fmalita@google.com

Change-Id: Ieeea87090d04b1559c0bc56f7d72f48777a37482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227020
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-07-12 13:33:39 +00:00
Leon Scroggins
980d03b2d0 Reland "Update Wuffs version"
This reverts commit aed8009a6d.

Reason for revert: Flutter's version of Wuffs has been updated. See https://github.com/flutter/engine/pull/9466#issuecomment-510639898

Original change's description:
> Revert "Update Wuffs version"
> 
> This reverts commit 42ece2b7c9.
> 
> Reason for revert: Requiring the latest version of wuffs broke the flutter roll.
> 
> Original change's description:
> > Update Wuffs version
> > 
> > The primary purpose of this commit is to track upstream Wuffs more
> > closely.
> > 
> > A side effect is to pull in the Wuffs commit
> > 5bea867f72
> > "Allow an LZW literal width of 1", which eliminates a difference between
> > the old third_party/gif decoder and the new third_party/wuffs decoder.
> > 
> > As the CodecTest.cpp comment says, the GIF spec explicitly says that the
> > LZW literal width should be at least 2, but in practice, GIF encoders
> > violate the spec. After that upstream commit, Wuffs has followed other
> > GIF decoders in being more liberal in what it accepts.
> > 
> > Codec_InvalidAnimated therefore no longer has a separate "#ifdef
> > SK_HAS_WUFFS_LIBRARY" section. The first frame of the test's GIF image
> > data, being the required frame of the third frame, no longer has an
> > invalid LZW literal width according to Wuffs.
> > 
> > Bug: skia:8235
> > Change-Id: Ie94537f5232128ffc1d1547f4c0b84992e54ab02
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226476
> > Commit-Queue: Leon Scroggins <scroggo@google.com>
> > Reviewed-by: Leon Scroggins <scroggo@google.com>
> 
> TBR=scroggo@google.com,nigeltao@google.com
> 
> Change-Id: I9e636e81f57eefd836a53738872ddb9f5c9b13c3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:8235
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226697
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>

TBR=scroggo@google.com,nigeltao@google.com

Change-Id: Ibeeea1cf9c2e210b5e49dec65037ec8a494209de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8235
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226851
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-07-12 13:33:28 +00:00
Mike Klein
ce7b88ce7d bidirectional Labels
Support forward references in Label.

In addition to tracking the current Label offset (used for
backward references essentially just the same as before this CL)
we also store a list of instructions that refer to each Label.
When a Label moves, each instruction gets a new displacement.

To make this a little easier, remove the 8-bit jump form on x86...
this way all x86 displacements are 32-bit and and all ARM 19-bit.

For now only cbz() supports this, just to start somewhere.
More to do but it's worth an early design review.

Change-Id: I23d2bcd7742965ab694ae4828f53409cb9fc807f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226937
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-07-12 12:53:24 +00:00
Eric Boren
c24705506f [infra] Update Windows bot version
Bug: skia:9253
Change-Id: I5055bb492fe10c35a4d593e4256874e872fc831d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227036
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-07-12 12:24:24 +00:00