aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkOpts_avx.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2018-03-07 15:09:17 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-07 15:09:21 +0000
commit3a4bd34478826c0457a36a8755791faf36a44e5e (patch)
tree48abeba3dff608e8c73d462e031c124dac905306 /src/opts/SkOpts_avx.cpp
parent22e536e3a1a09405d1c0e6f071717a726d86e8d4 (diff)
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 <mtklein@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> 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 <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/opts/SkOpts_avx.cpp')
-rw-r--r--src/opts/SkOpts_avx.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/opts/SkOpts_avx.cpp b/src/opts/SkOpts_avx.cpp
index 6abe3996f2..7e34330e1c 100644
--- a/src/opts/SkOpts_avx.cpp
+++ b/src/opts/SkOpts_avx.cpp
@@ -5,10 +5,14 @@
* found in the LICENSE file.
*/
+#include "SkSafe_math.h" // Keep this first.
#include "SkOpts.h"
+#if defined(_INC_MATH) && !defined(INC_MATH_IS_SAFE_NOW)
+ #error We have included ucrt\math.h without protecting it against ODR violation.
+#endif
+
#define SK_OPTS_NS avx
-#include "SkRasterPipeline_opts.h"
#include "SkUtils_opts.h"
namespace SkOpts {
@@ -16,17 +20,5 @@ namespace SkOpts {
memset16 = SK_OPTS_NS::memset16;
memset32 = SK_OPTS_NS::memset32;
memset64 = SK_OPTS_NS::memset64;
-
- #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
- SK_RASTER_PIPELINE_STAGES(M)
- just_return_highp = (StageFn)SK_OPTS_NS::just_return;
- start_pipeline_highp = SK_OPTS_NS::start_pipeline;
- #undef M
-
- #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st;
- SK_RASTER_PIPELINE_STAGES(M)
- just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
- start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline;
- #undef M
}
}