blob: 42aa48e75728fd750de21cea407a7448c0372aba [file] [log] [blame]
mtklein8317a182015-07-30 07:30:16 -07001/*
2 * Copyright 2015 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
8#include "SkOpts.h"
Mike Klein8caa5af2015-08-04 16:48:43 -04009
mtklein0358a6a2016-07-13 08:02:20 -070010#define SK_OPTS_NS sse41
Mike Klein1b9b7d52018-02-27 10:37:40 -050011#include "SkRasterPipeline_opts.h"
mtkleinb4a7dc92016-03-23 06:29:12 -070012#include "SkBlitRow_opts.h"
mtklein8317a182015-07-30 07:30:16 -070013
14namespace SkOpts {
15 void Init_sse41() {
mtklein0358a6a2016-07-13 08:02:20 -070016 blit_row_s32a_opaque = sse41::blit_row_s32a_opaque;
Mike Klein1b9b7d52018-02-27 10:37:40 -050017
18 #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
19 SK_RASTER_PIPELINE_STAGES(M)
20 just_return_highp = (StageFn)SK_OPTS_NS::just_return;
21 start_pipeline_highp = SK_OPTS_NS::start_pipeline;
22 #undef M
23
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
mtklein8317a182015-07-30 07:30:16 -070029 }
30}