SkOpts_avx.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright 2016 Google Inc.
  3. *
  4. * Use of this source code is governed by a BSD-style license that can be
  5. * found in the LICENSE file.
  6. */
  7. #include "src/core/SkOpts.h"
  8. #define SK_OPTS_NS avx
  9. #include "src/opts/SkRasterPipeline_opts.h"
  10. #include "src/opts/SkUtils_opts.h"
  11. namespace SkOpts {
  12. void Init_avx() {
  13. memset16 = SK_OPTS_NS::memset16;
  14. memset32 = SK_OPTS_NS::memset32;
  15. memset64 = SK_OPTS_NS::memset64;
  16. rect_memset16 = SK_OPTS_NS::rect_memset16;
  17. rect_memset32 = SK_OPTS_NS::rect_memset32;
  18. rect_memset64 = SK_OPTS_NS::rect_memset64;
  19. #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
  20. SK_RASTER_PIPELINE_STAGES(M)
  21. just_return_highp = (StageFn)SK_OPTS_NS::just_return;
  22. start_pipeline_highp = SK_OPTS_NS::start_pipeline;
  23. #undef M
  24. #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st;
  25. SK_RASTER_PIPELINE_STAGES(M)
  26. just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
  27. start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline;
  28. #undef M
  29. }
  30. }