1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2018 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#include "src/core/SkOpts.h" 9cb93a386Sopenharmony_ci 10cb93a386Sopenharmony_ci#define SK_OPTS_NS hsw 11cb93a386Sopenharmony_ci#include "src/core/SkCubicSolver.h" 12cb93a386Sopenharmony_ci#include "src/opts/SkBitmapProcState_opts.h" 13cb93a386Sopenharmony_ci#include "src/opts/SkBlitRow_opts.h" 14cb93a386Sopenharmony_ci#include "src/opts/SkRasterPipeline_opts.h" 15cb93a386Sopenharmony_ci#include "src/opts/SkSwizzler_opts.h" 16cb93a386Sopenharmony_ci#include "src/opts/SkUtils_opts.h" 17cb93a386Sopenharmony_ci#include "src/opts/SkVM_opts.h" 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_cinamespace SkOpts { 20cb93a386Sopenharmony_ci void Init_hsw() { 21cb93a386Sopenharmony_ci blit_row_color32 = hsw::blit_row_color32; 22cb93a386Sopenharmony_ci blit_row_s32a_opaque = hsw::blit_row_s32a_opaque; 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci S32_alpha_D32_filter_DX = hsw::S32_alpha_D32_filter_DX; 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ci cubic_solver = SK_OPTS_NS::cubic_solver; 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci RGBA_to_BGRA = SK_OPTS_NS::RGBA_to_BGRA; 29cb93a386Sopenharmony_ci RGBA_to_rgbA = SK_OPTS_NS::RGBA_to_rgbA; 30cb93a386Sopenharmony_ci RGBA_to_bgrA = SK_OPTS_NS::RGBA_to_bgrA; 31cb93a386Sopenharmony_ci gray_to_RGB1 = SK_OPTS_NS::gray_to_RGB1; 32cb93a386Sopenharmony_ci grayA_to_RGBA = SK_OPTS_NS::grayA_to_RGBA; 33cb93a386Sopenharmony_ci grayA_to_rgbA = SK_OPTS_NS::grayA_to_rgbA; 34cb93a386Sopenharmony_ci inverted_CMYK_to_RGB1 = SK_OPTS_NS::inverted_CMYK_to_RGB1; 35cb93a386Sopenharmony_ci inverted_CMYK_to_BGR1 = SK_OPTS_NS::inverted_CMYK_to_BGR1; 36cb93a386Sopenharmony_ci 37cb93a386Sopenharmony_ci #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st; 38cb93a386Sopenharmony_ci SK_RASTER_PIPELINE_STAGES(M) 39cb93a386Sopenharmony_ci just_return_highp = (StageFn)SK_OPTS_NS::just_return; 40cb93a386Sopenharmony_ci start_pipeline_highp = SK_OPTS_NS::start_pipeline; 41cb93a386Sopenharmony_ci #undef M 42cb93a386Sopenharmony_ci 43cb93a386Sopenharmony_ci #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st; 44cb93a386Sopenharmony_ci SK_RASTER_PIPELINE_STAGES(M) 45cb93a386Sopenharmony_ci just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return; 46cb93a386Sopenharmony_ci start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline; 47cb93a386Sopenharmony_ci #undef M 48cb93a386Sopenharmony_ci 49cb93a386Sopenharmony_ci interpret_skvm = SK_OPTS_NS::interpret_skvm; 50cb93a386Sopenharmony_ci } 51cb93a386Sopenharmony_ci} // namespace SkOpts 52