Commit Graph

47915 Commits

Author SHA1 Message Date
skia-recreate-skps
db68b5cb90 Update Go Deps
Change-Id: If0b9512a05bb2fa45a3f238d09110273f1877e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285062
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-23 14:18:48 +00:00
Jim Van Verth
33630fc012 Implement GrMtlOpsRenderPass::onClear.
In certain corner cases the RenderTargetContext can end up injecting a
clear op into the op stream, so we need to handle that.

Bug: skia:10163
Change-Id: I57722d335bbc59bb9f0a767f774a4620dfde3f39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284878
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-23 14:15:58 +00:00
Florin Malita
bf03ac53f1 [skottie] Initial outer/inner glow
Supported controls:

  - color
  - opacity
  - size
  - inner source (edge/center)

Change-Id: I1ada43fe46fa5557e11279abca6128042acef965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285005
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-23 13:46:48 +00:00
Mike Klein
cefc2d9a45 convert Val* fingers to int regs
This is mostly a no-op bookkeeping change, converting our cleanup
fingers from pointing into regs[] to register IDs themselves, following
the usual convention of NA meaning none.

But this does allow us a future flexibility, letting us think of regs[]
as the inter-instruction register state, tracking intra-instruction
dst,x,y,z registers a little more carefully.

Under the old system, if you alias id and x into register 7, which Val
do we write in regs[7]?  Neither is exactly correct, and writing either
one breaks calls to r(the other).  But long term, the right answer will
be id... that's the Val that's in the register as the next instruction
begins.

So rx can answer "which register holds Val x?" during the instruction
even when we alias x and the destination, when regs[rx] == id, not x.

Spinning this off a precursor CL, but probably no point landing it
unless the CL that builds on this works out.

Change-Id: I528c46ec2d00a965125749562ef10b76f973a3cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284955
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-23 13:38:49 +00:00
skia-autoroll
edccc66c32 Roll third_party/externals/dawn 64fcf3909ac9..21d753a05346 (6 commits)
https://dawn.googlesource.com/dawn.git/+log/64fcf3909ac9..21d753a05346

git log 64fcf3909ac9..21d753a05346 --date=short --first-parent --format='%ad %ae %s'
2020-04-23 yunchao.he@intel.com Read and write usage in compute pass is valid
2020-04-22 bryan.bernhart@intel.com D3D12: Enable sub-allocation for RTV/DSV heaps.
2020-04-22 enga@chromium.org Slab-allocate VkDescriptorSets
2020-04-22 brandon1.jones@intel.com Non-Local Residency 1: Get Non-Local Memory Info
2020-04-22 rafael.cintron@microsoft.com Allow Ref<Derived> -> Ref<Base> assignment, and move operations
2020-04-22 enga@chromium.org Add depth texture sampling and tests for only depth32float

Also rolling transitive DEPS:
  https://chromium.googlesource.com/chromium/src/third_party/jinja2 b41863e42637..b41863e42637
  https://chromium.googlesource.com/chromium/src/third_party/markupsafe 8f45f5cfa000..8f45f5cfa000
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang 3f4e5c456306..3f4e5c456306
  https://chromium.googlesource.com/external/github.com/google/shaderc ced9c72d005e..ced9c72d005e

Created with:
  gclient setdep -r third_party/externals/dawn@21d753a05346

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/+/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: If985b5ddd25a31fb925a397d15b97d99d87a8f5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284991
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-23 05:36:58 +00:00
skia-autoroll
18590c8437 Roll third_party/externals/angle2 b7d6949b9112..913f4f421381 (10 commits)
b7d6949b91..913f4f4213

git log b7d6949b9112..913f4f421381 --date=short --first-parent --format='%ad %ae %s'
2020-04-23 timvp@google.com Vulkan: Support VS, FS, and CS in the same PPO
2020-04-22 j.vigil@samsung.com Refactor SyncHelper with vk::Resource
2020-04-22 jmadill@chromium.org Re-land: "Vulkan: Forward RenderBuffer/Surface dirty messages."
2020-04-22 timvp@google.com Vulkan: PPO: Allocate uniform descriptor set if list is empty
2020-04-22 lehoangq@gmail.com Implement GL_APPLE_clip_distance
2020-04-22 cclao@google.com Vulkan: add vulkan error code in the error message
2020-04-22 courtneygo@google.com Add capture support for FenceSync
2020-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 09f4b08483bb..36d7cca6fdc9 (1 commits)
2020-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader ff772a7bcc98..ceb6258ae101 (1 commits)
2020-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 3f4e5c456306..c9b28b9f3388 (1 commits)

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

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 jcgregorio@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/+/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: jcgregorio@google.com
Change-Id: I11f435bfa8efaba8fdff7f4e53240fe92339a39d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284989
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-23 04:44:58 +00:00
skia-autoroll
5c5c868b52 Roll ../src edefbec8351f..a49aa6883e5f (498 commits)
edefbec835..a49aa6883e


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

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 jcgregorio@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/+/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
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I6c16a5aa97e5b37f6fbf815d358ec20a122d24ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284990
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-23 04:33:08 +00:00
Herb Derby
654f911f89 only spill once
dm --config 8888 --skvm
calls to store_to_stack 191730 -> 147944

nanobench --skvm --config 8888 -m bitmap_RGBA_8888_A_scale_bicubic
 174µs -> 169µs

nanobench -m SkVM_Overhead_VM
 26.7µs ->  27.1µs

Change-Id: I368cf954a5edaa317632ebf92e6725543186d96a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284929
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-22 21:00:56 +00:00
Greg Daniel
1204c4bc38 In GrAAConvexPathRenderer use a slightly smaller very large negative float.
This fixes in issue on some mobile gpu's where the larger negative value
caused precision issues when trying to interpolate.

Change-Id: Id76e6f96be2a7e46720794f54c24dafe567c5836
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284956
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-22 19:43:47 +00:00
Mike Klein
5e1a57f421 eliminate used_in_loop bit
We only need this used_in_loop bit now to decide whether to clean up
values in registers when they die.  Instead we can just extend the
lifetime of these values (anything that is can_hoist and used_in_loop
today) to the end of the program.

Change-Id: Ia0d29eccf81b97927add26f2f0f8226141485b8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284833
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-22 17:58:07 +00:00
Mike Klein
a4b3aefae0 fix GCC builds?
Looks like this is a libstdc++ bug, not being able to make a const
structured binding to OptimizedInstruction?  There are non-const
OptimizedInstruction structured bindings in the file already...

Anyway, this structured binding was already a bit of a pain for
not being able to close over its elements in a lambda.  So toss
the whole thing and manually unpack a bunch of const variables.
Kind of nice to not have to unpack fields we don't use too.

All the const here is not particularly important, but I found it
reassuring during a dark time of unknown bugs.

Change-Id: I0942ff5a0ea20f29c54d9a6a49883d17e9b40e58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284943
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-22 16:39:58 +00:00
Mike Klein
f583f5b66b perf tweaks
- cheap search for available registers before
    falling back on expensive scoring (big deal)
  - free dying registers proactively (medium)
  - free TMP registers manually (peanuts)

  This drops the SkVM_Overhead_VM bench from 49µs to
  38µs on my laptop.  It was 32µs before the refactor,
  so there may still be some potatoes to dig up here.

Change-Id: I6822613e9186278e80ec045e84517ac3a32d6f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284832
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-22 15:58:58 +00:00
Mike Klein
61ef3c42fb new JIT flow
Main ideas:

  A) Register / stack bookkeeping separated again from
     the code generation.  Each instruction can ask for
     registers, and we'll take care of tracking where
     the values should live uniformly.

  B) No registers we use during an instruction overlap.
     This makes reasoning about correctness much easier,
     and eliminates the need for most temporaries and
     strange manual register allocation (e.g. vgatherdps).

  C) r(Val) always gives a value in a register,
     but also any(Val) lets us use it from the stack.

Redid all the register management this time around
to be as simple as possible, hopefully eliminating
bugs.  A single `regs` array tracks the state of each
register, either holding a value ID or one of a few
sentinels.

Hoisting was hard but so obvious now!
Glad we worked out those phi nodes.

Tests pass, no diffs.
Perf looks improved everywhere I have looked, e.g.

    nanobench --config 8888 -m bitmap_RGBA_8888_A_scale_bilerp --skvm
        100µs -> 78µs

    nanobench --config 8888 -m bitmap_RGBA_8888_A_scale_bicubic --skvm
        631µs -> 245µs

In exchange a noticeable overhead hit, I'm sure fixable:

    nanobench -m SkVM_Overhead_VM
        32µs -> 49µs

Lots of TODOs left for follow ups:
   - allow some degree of dst/arg overlap, particularly for FMAs
   - track what values are on the stack, don't spill them twice
   - better heuristics for spilling
   - clean up any unused bits in OptimizedInstruction

Change-Id: Ib18c0adb1fe637a1242df3de30fbc37ccbc3c009
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284553
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-22 15:51:08 +00:00
Mike Reed
0ce3e88e06 add std::function option to Click to simplify callsites
More sites to update, but can happen later

Change-Id: I75e8b60050c6af2a1563057f7fe9da84bc017370
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284876
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-22 15:41:28 +00:00
Julia Lavrova
b920a0b91b Small bugs in tests
Placeholders should not be taken in MinIntrinsicWidth.
Placeholders should allow Inf in some style values (as weird as it
sounds)
Bugs: skia:10138, skia:10159

Change-Id: I6ecc57b6ce778faf84b4d5752d24552b12c69fdb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284731
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-04-22 15:05:22 +00:00
skia-recreate-skps
68a2242827 Update Go Deps
Change-Id: I2d79f4517b3e86e13b35b853ac2fe674a9a01333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284862
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-22 12:42:32 +00:00
skia-autoroll
a6cd5588d2 Roll third_party/externals/angle2 8f48ba9f256f..b7d6949b9112 (16 commits)
8f48ba9f25..b7d6949b91

git log 8f48ba9f256f..b7d6949b9112 --date=short --first-parent --format='%ad %ae %s'
2020-04-21 m.maiya@samsung.com Vulkan: Enable persistently mapped buffer objects
2020-04-21 tobine@google.com Vulkan: Allow commands to completely fill allocation
2020-04-21 geofflang@chromium.org GL: Make sure primitive restart emulation is disabled below GL 3.1
2020-04-21 cclao@google.com Vulkan: Skip load if depth/stencil value are undefined
2020-04-21 tobine@google.com Vulkan: Refactor SecondaryCommandBuffers class
2020-04-21 geofflang@google.com Don't redefine VMA_IMPLEMENTATION in build files and source
2020-04-21 jmadill@chromium.org Revert "Vulkan: Forward RenderBuffer/Surface dirty messages."
2020-04-21 tobine@google.com Vulkan: Manual validation roll
2020-04-21 geofflang@chromium.org Fix quotes around emails in WATCHLISTS
2020-04-21 cwallez@chromium.org CGL/EAGL: Fix default FBO size on Retina displays
2020-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 50eaecd721a2..4fb0e0374a39 (1 commits)
2020-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 61b7de3c39f0..67f4838659f4 (1 commits)
2020-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 068611f07d28..ff772a7bcc98 (1 commits)
2020-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 8824107d57d3..84463fe2902f (1 commits)
2020-04-21 cnorthrop@google.com Capture/Replay: More mid-execution capture support
2020-04-21 cnorthrop@google.com Capture/Replay: Handle default uniforms during MEC

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

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 jcgregorio@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/+/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: jcgregorio@google.com
Change-Id: I9b625ff8ff7581c04a7c27bf61ee0200936d1e69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284835
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-22 04:44:55 +00:00
skia-autoroll
8cb1227f1e Roll third_party/externals/swiftshader ff772a7bcc98..ceb6258ae101 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ff772a7bcc98..ceb6258ae101

git log ff772a7bcc98..ceb6258ae101 --date=short --first-parent --format='%ad %ae %s'
2020-04-21 amaiorano@google.com CMake: fix astc code not being enabled correctly

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

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 jcgregorio@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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I22e918e028d7fa25c79c754fa361f8de168d3023
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284837
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-22 04:38:05 +00:00
skia-autoroll
f68de1301f Roll ../src 91a975d4e6e0..edefbec8351f (480 commits)
91a975d4e6..edefbec835


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

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 jcgregorio@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/+/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
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I712f17f057ffa9fe3c9adf1c89aecd5368e6fd3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284834
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-22 04:37:55 +00:00
skia-autoroll
84355424a8 Roll third_party/externals/dawn be08000cb52e..64fcf3909ac9 (6 commits)
https://dawn.googlesource.com/dawn.git/+log/be08000cb52e..64fcf3909ac9

git log be08000cb52e..64fcf3909ac9 --date=short --first-parent --format='%ad %ae %s'
2020-04-22 jiawei.shao@intel.com Allow one texture as write-only storage and sampled in one compute pass
2020-04-21 bryan.bernhart@intel.com D3D12: Remove increment during bindgroup population.
2020-04-21 rafael.cintron@microsoft.com Add Ref<T> specialization for Result
2020-04-21 cwallez@chromium.org Deprecate ShaderModuleDescriptor.code in favor of chained descriptor
2020-04-21 cwallez@chromium.org Make all backend::ShaderModule get SPIRV from the frontend
2020-04-21 cwallez@chromium.org Deprecate BG[L]Desc::binding[s|Count] in favor of entr[ies|yCount]

Also rolling transitive DEPS:
  https://chromium.googlesource.com/chromium/src/third_party/jinja2 b41863e42637..b41863e42637
  https://chromium.googlesource.com/chromium/src/third_party/markupsafe 8f45f5cfa000..8f45f5cfa000
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang 3f4e5c456306..3f4e5c456306
  https://chromium.googlesource.com/external/github.com/google/shaderc ced9c72d005e..ced9c72d005e

Created with:
  gclient setdep -r third_party/externals/dawn@64fcf3909ac9

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/+/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I3c2665581c77a7facc1efc427faf2651f58a5cad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284836
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-22 04:25:25 +00:00
Tyler Freeman
e9663db508 SVG: Added font-size and font-weight attributes to Text node
Change-Id: Ic929cb0119aefae490110648df6e9ea57700c6db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281838
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-22 01:24:03 +00:00
Brian Salomon
2432d061ed Rename domain types and vars to subset.
Makes nomenclature more conistent across different classes.

Change-Id: I9f052bbd38082d95714702b2ae960c4e15fdc181
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284718
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-21 21:43:45 +00:00
Brian Osman
d8f611dff1 Remove SkCanvasMatrix
Make it more explicit when we're converting between SkMatrix and
SkM44 (in either direction).

The IsScaleTranslate helper could have been static in SkCanvas,
but we're probably going to need it when we start pushing SkM44
down to SkDevice.

Change-Id: Ia013c7f59cdbac78b5a04fdcaafb62a0a626cb53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284735
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-21 21:29:54 +00:00
Jim Van Verth
fdd3685dfc Minor fixup to D3D readPixels and writePixels.
The trimbytes were being set to values based on the texture rather than
the given inputs.

Bug: skia:9935
Change-Id: Ic3227236e4c3920ca4586c35791b15f5a596c069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284798
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-21 20:57:54 +00:00
John Stiles
57a996b4c5 Disallow empty interface blocks in SkSL.
The GLSL grammar appears to require at least one member-declaration in the member-list:
https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.html#interface-blocks

Change-Id: Ic67469272b3d59e7b8764333899f204e95584778
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284418
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-21 20:36:54 +00:00
Julia Lavrova
4f8297db64 Small bugs in tests
Bug: skia:10160
Change-Id: I3ad3b17f82fa93b0d3952e35ab658b7207179574
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284234
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-04-21 20:26:25 +00:00
Brian Salomon
3b8486afd3 Reland "Notify RTC when OpsTask is closed so it can drop ownership"
This reverts commit 777f239a65.

Assigns observer in GrRenderTargetContext constructor.

Change-Id: Ie1d4a425eb959f7b822b5fc4988b2bb6ca2ed6a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284733
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-21 19:59:45 +00:00
Brian Salomon
650612ae6f Improve selection of target_cpu in android_gdbserver
Change-Id: I44ed5306155af089fab6d97b0e2108e637c46d63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284732
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-21 19:31:54 +00:00
Brian Salomon
2eb7b57d14 Remove unused GrTextureDomain
Bug: skia:10139

Change-Id: I20cd95fcf5f11832366c32e48ed4d442c82b0719
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284082
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-21 18:51:24 +00:00
Lepton Wu
710bd4f969 SkQP: Fix broken run_skqp_exe
This fixes several issues:

* sysopen.py was moved to bin/sysopen in previous CL. Change to
use os.system to run it

* "adb push" doesn't follow symlinks.

* SkQP added a new commandline flag for rendertests file.

* The report path was wrong in old code.

Bug: skia:10156
Change-Id: I821a49c49bffe588f34d1216d9406c97ae5a903b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284524
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Auto-Submit: Lepton Wu <lepton@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-21 18:39:45 +00:00
Ethan Nicholas
5a9e7fba1e Prefixed the names of SkSL token constants.
This is to avoid conflicts with macros defined by Windows include files.
We were previously #undefing these macros, but that ended up causing its
own problems.

Change-Id: Ib16dd93bd5dbdb4ffd87d560c21c5b344bf67a9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284277
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-04-21 17:39:34 +00:00
Kevin Lubick
67c905ce6b Fixing a bug in SkOpEdgeBuilder::walk that causes pathOps to fail when cubic segment is reducable
Inside SkOpEdgeBuilder::walk(), when current segment is cubic curve, its shape may be reduced, therefore, the curve points should be determined by the reduction result ‘split->fVerb’ instead of ‘verb’.

Actually, inside this switch case, ‘verb’ is always ‘SkPath::kCubic_Verb’, which makes the ‘fCanAdd’ always true. The outcome of this bug makes the subsequent logic which depends on ‘fCanAdd’ (L301-332) incorrect, and in some cases, fails the whole boolean operation at L329.

The Fiddle below demonstrates how this bug fails a union operation of two paths, by returning an empty path.
https://fiddle.skia.org/c/e528567b62bc338cd99f4a89f0c5342e

Screen shot of the fiddle:
https://www.dropbox.com/s/4bnzlponq6gen27/pathOpsBug.png?dl=0

2nd Fiddle drawing the results (larger)
https://fiddle.skia.org/c/1f2a513c2ee0395b9d05fb1eb987b01f

Change-Id: If07f54cef1b9409f9b6db27d6294a3e3461b0181
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284426
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-04-21 16:56:54 +00:00
Brian Salomon
777f239a65 Revert "Notify RTC when OpsTask is closed so it can drop ownership"
This reverts commit 198393b2de.

Reason for revert: android crash

Original change's description:
> Notify RTC when OpsTask is closed so it can drop ownership
> 
> Change-Id: I95d32ed89447995541f33bf80730876ce9c0747a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284519
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I5133fa1b8f90182864ffbee3b60bfd5781dc16bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284728
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-21 16:38:21 +00:00
Brian Osman
efb2133b0d Update CK particle examples
Change-Id: I5e2ee549654e105b00f8a8770c211c464c97e6c8
Docs-Preview: https://skia.org/?cl=284726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284726
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-21 15:48:04 +00:00
Brian Salomon
198393b2de Notify RTC when OpsTask is closed so it can drop ownership
Change-Id: I95d32ed89447995541f33bf80730876ce9c0747a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284519
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-21 15:38:54 +00:00
Greg Daniel
690a450cdc Create a shared spirv uniform and varying handling class.
This moves the dawn spirv implementation of these classes into a shared
class that will be used by d3d backend. We can look into further extending
the class to see if it can be shared with vulkan as well.

Change-Id: I138d403dd55053f534d0c97a55c0fa5d2c5171f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284525
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-21 15:25:14 +00:00
Robert Phillips
d81379d5aa Add path renderer selection spew
Change-Id: If39963605dfa24cc14548e2abdd965ad55a1a561
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284736
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-21 15:19:14 +00:00
Jim Van Verth
ba7f22954d Implement GrD3DGpu::onReadPixels and GrD3DGpu::onWritePixels.
* Add resource copy routines to command list
* Be sure to release resources from command list

Change-Id: I174c5a026d5e2289e6db56215b0d140c19ccf39e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284156
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-04-21 15:05:34 +00:00
Lepton Wu
1ba00c7121 Allow empty rendertests commandline flags.
When it's empty, just use default rendertests file.

Bug: skia:10156
Change-Id: I406d381570bbd6b348e6364d649d39af5817a56e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284523
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Auto-Submit: Lepton Wu <lepton@chromium.org>
2020-04-21 14:52:54 +00:00
Lepton Wu
e59f718fc2 SkQP: Fix document about running as native executable
Bug: skia:10156
Change-Id: Ic0d89ef4bf01ccadb23a5d123c578dc772bc945a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284522
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Auto-Submit: Lepton Wu <lepton@chromium.org>
2020-04-21 14:48:54 +00:00
Florin Malita
24ea293cd2 [skottie] Suppress ubsan div-by-zero VenetialBlindsAdapter crash
It's fine to allow -/+ inf because we immediately clamp to 0/1.

Fixed: oss-fuzz:15927
Change-Id: Ic9c866e78c9b79ea2055d2dbf403c26b29031622
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284481
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2020-04-21 11:15:15 +00:00
skia-recreate-skps
607a489345 Update Go Deps
Change-Id: I5db9c1b9fca817565817e842769b733823bd69e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284636
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-21 05:32:13 +00:00
skia-autoroll
0a618bf20b Roll third_party/externals/dawn 99655bcf85ca..be08000cb52e (9 commits)
https://dawn.googlesource.com/dawn.git/+log/99655bcf85ca..be08000cb52e

git log 99655bcf85ca..be08000cb52e --date=short --first-parent --format='%ad %ae %s'
2020-04-21 rharrison@chromium.org Roll third_party/shaderc/ a10a0b334..ced9c72d0 (2 commits)
2020-04-21 jiawei.shao@intel.com Validate texture usage scope with storage textures in one render pass
2020-04-21 jiawei.shao@intel.com Allow using write-only storage textures in fragment shader stage
2020-04-20 enga@chromium.org Reland "Add ComparisonSampler binding type and validation tests"
2020-04-20 rafael.cintron@microsoft.com Move and improve RefCounted
2020-04-20 cwallez@chromium.org Revert "Add ComparisonSampler binding type and validation tests"
2020-04-20 rharrison@chromium.org Rolling 3 dependencies
2020-04-20 cwallez@chromium.org Revert "Special-case GetDefaultQueue in the wire"
2020-04-20 cwallez@chromium.org Deprecate BGLEntry::textureDimension in favor of viewDimension

Also rolling transitive DEPS:
  https://chromium.googlesource.com/chromium/src/third_party/jinja2 b41863e42637..b41863e42637
  https://chromium.googlesource.com/chromium/src/third_party/markupsafe 8f45f5cfa000..8f45f5cfa000
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang 4d2298bfd78a..3f4e5c456306
  https://chromium.googlesource.com/external/github.com/google/shaderc 1926de0638b6..ced9c72d005e

Created with:
  gclient setdep -r third_party/externals/dawn@be08000cb52e

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/+/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I924eb169cf029290879ea4dff3f259977a017e58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284556
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-21 04:47:35 +00:00
skia-autoroll
1ce5497756 Roll third_party/externals/angle2 33b58ebb7ea8..8f48ba9f256f (14 commits)
33b58ebb7e..8f48ba9f25

git log 33b58ebb7ea8..8f48ba9f256f --date=short --first-parent --format='%ad %ae %s'
2020-04-21 cnorthrop@google.com Capture/Replay: Use TexStorage for immutable images
2020-04-20 tobine@google.com Vulkan: Suppress VUID-vkCmdClearColorImage-image-01993
2020-04-20 cclao@google.com Vulkan: Use DontCare for the presentable surface's last renderpass depth/stencil storeOp
2020-04-20 tobine@google.com doc: Update ANGLE Try Waterfall links
2020-04-20 cclao@google.com Vulkan: Use renderpass' finalLayout to transit to ImageLayout::Present
2020-04-20 timvp@google.com Vulkan: Suppress VUID-vkCmdCopyImageToBuffer-srcImage-01998
2020-04-20 timvp@google.com Add cclao@ and timvp@ to watch for vulkan CLs
2020-04-20 geofflang@google.com GL: Re-enable emulatePrimitiveRestartFixedIndex
2020-04-20 ianelliott@google.com Vulkan: glDrawElements used old offset into index buffer
2020-04-20 lexa.knyazev@gmail.com Add PackedEnums for blend state parameters
2020-04-20 jmadill@chromium.org Vulkan: Store ImageType in ImageHelper.
2020-04-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 454ab259c1b8..8824107d57d3 (1 commits)
2020-04-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader d25ce8725224..068611f07d28 (8 commits)
2020-04-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 4d2298bfd78a..3f4e5c456306 (2 commits)

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

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 jcgregorio@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/+/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: jcgregorio@google.com
Change-Id: Ibfc826c06f2737f82b186e198e75be52369ce092
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284558
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-21 04:46:16 +00:00
skia-autoroll
9d4b3185a2 Roll third_party/externals/swiftshader 068611f07d28..ff772a7bcc98 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/068611f07d28..ff772a7bcc98

git log 068611f07d28..ff772a7bcc98 --date=short --first-parent --format='%ad %ae %s'
2020-04-20 capn@google.com Don't use deprecated llvm::Type::getVectorNumElements()

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

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 jcgregorio@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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I1590c2c41288c490d5d0a83f46588d0cd8780e4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284557
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-21 04:40:46 +00:00
skia-autoroll
f1c5c8788e Roll ../src 290e9f6d58db..91a975d4e6e0 (433 commits)
290e9f6d58..91a975d4e6


Created with:
  gclient setdep -r ../src@91a975d4e6

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 jcgregorio@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/+/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
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I641e8b984629ac09ca3b682de772f4076fd6e22d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284555
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-21 04:35:07 +00:00
Michael Ludwig
76312fbf97 Add conservative round rect intersect function
Change-Id: I1012a4b6c6eb67e01923f767baeb78ebc18a0fd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284477
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-20 22:53:16 +00:00
Mike Klein
57ed6b8f12 remove LabelAndReg
The .reg part of this struct is unused (since removing
some of those old complex instructions).

Change-Id: I35a8344286e22d4acac4707d31eaf3794ae2fae4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284547
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-20 21:54:16 +00:00
Mike Reed
7d45a7ac9c rm unneeded SK_SUPPORT_LEGACY_DIDCONCAT44
Change-Id: I65cec59749f0e7f5fb13675293720afecffa6a80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284321
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-20 20:44:35 +00:00
Mike Klein
21e85eb549 Reland "Reland "gather8/16 JIT support""
This is a reland of 1283d55f35

... this time, also checking for HSW feature set.

Original change's description:
> Reland "gather8/16 JIT support"
>
> This is a reland of 54659e51bc
>
> ... now expecting not to JIT when under ASAN/MSAN.
>
> Original change's description:
> > gather8/16 JIT support
> >
> > The basic strategy is one at a time, inserting 8- or 16-bit values
> > into an Xmm register, then expanding to 32-bit in a Ymm at the end
> > using vpmovzx{b,w}d instructions.
> >
> > Somewhat annoyingly we can only pull indices from an Xmm register,
> > so we grab the first four then shift down the top before the rest.
> >
> > Added a unit test to get coverage where the indices are reused and
> > not consumed directly by the gather instruction.  It's an important
> > case, needing to find another register for accum that can't just be
> > dst(), but there's no natural coverage of that anywhere.
> >
> > Change-Id: I8189ead2364060f10537a2f9364d63338a7e596f
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284311
> > Reviewed-by: Herb Derby <herb@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
>
> Change-Id: I67f441615b312b47e7a3182e85e0f787286d7717
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284472
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: Id0e53ab67f7a70fe42dccca1d9912b07ec11b54d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284504
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-20 20:25:06 +00:00