From 3a4bd34478826c0457a36a8755791faf36a44e5e Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Wed, 7 Mar 2018 15:09:17 +0000 Subject: Revert "make SkJumper stages normal Skia code" This reverts commit 22e536e3a1a09405d1c0e6f071717a726d86e8d4. Reason for revert: wrong include path :/ Original change's description: > make SkJumper stages normal Skia code > > Enough clients are using Clang now that we can say, use Clang to build > if you want these software pipeline stages to go fast. > > This lets us drop the offline build aspect of SkJumper stages, instead > building as part of Skia using the SkOpts framework. > > I think everything should work, except I've (temporarily) removed > AVX-512 support. I will put this back in a follow up. > > I have had to drop Windows down to __vectorcall and our narrower > stage calling convention that keeps the d-registers on the stack. > I tried forcing sysv_abi, but that crashed Clang. :/ > > Added a TODO to up the same narrower stage calling convention > for lowp stages... we just *don't* today, for no good reason. > > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 > Reviewed-on: https://skia-review.googlesource.com/110641 > Commit-Queue: Mike Klein > Reviewed-by: Herb Derby > Reviewed-by: Florin Malita TBR=mtklein@chromium.org,herb@google.com,fmalita@chromium.org Change-Id: I2bdc709c80cdfa6b13ff24e024b3721bef887f46 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/112741 Reviewed-by: Mike Klein Commit-Queue: Mike Klein --- BUILD.gn | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) (limited to 'BUILD.gn') diff --git a/BUILD.gn b/BUILD.gn index 2a534a5d6c..f2a69e8e7b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -48,6 +48,10 @@ declare_args() { skia_compile_processors = false skia_lex = false + skia_jumper_clang = "" + skia_jumper_objdump = "" + skia_jumper_ccache = "" + skia_skqp_enable_driver_correctness_workarounds = false skia_skqp_global_error_tolerance = 0 } @@ -310,20 +314,6 @@ opts("avx") { } } -opts("hsw") { - enabled = is_x86 - sources = skia_opts.hsw_sources - if (!is_clang && is_win) { - cflags = [ "/arch:AVX2" ] - } else { - cflags = [ - "-mavx2", - "-mf16c", - "-mfma", - ] - } -} - # Any feature of Skia that requires third-party code should be optional and use this template. template("optional") { if (invoker.enabled) { @@ -785,7 +775,6 @@ component("skia") { ":fontmgr_fuchsia", ":gpu", ":heif", - ":hsw", ":jpeg", ":none", ":pdf", @@ -2112,3 +2101,28 @@ if (skia_enable_tools) { } } } + +if (skia_jumper_clang != "") { + action("regen_jumper") { + script = "src/jumper/build_stages.py" + + inputs = [ + "src/jumper/SkJumper_stages.cpp", + "src/jumper/SkJumper_stages_lowp.cpp", + ] + + # GN insists its outputs should go somewhere underneath target_out_dir, so we trick it. + outputs = [ + "$target_out_dir/" + + rebase_path("src/jumper/SkJumper_generated.S", target_out_dir), + "$target_out_dir/" + + rebase_path("src/jumper/SkJumper_generated_win.S", target_out_dir), + ] + + args = [ + skia_jumper_clang, + skia_jumper_objdump, + skia_jumper_ccache, + ] + rebase_path(inputs) + rebase_path(outputs) + } +} -- cgit v1.2.3