1 /* 2 * Copyright 2018 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 "src/core/SkOpts.h" 9 10 #if !defined(SK_ENABLE_OPTIMIZE_SIZE) 11 12 #define SK_OPTS_NS hsw 13 #include "src/core/SkCubicSolver.h" 14 #include "src/opts/SkBitmapProcState_opts.h" 15 #include "src/opts/SkBlitRow_opts.h" 16 #include "src/opts/SkRasterPipeline_opts.h" 17 #include "src/opts/SkSwizzler_opts.h" 18 #include "src/opts/SkUtils_opts.h" 19 #include "src/opts/SkVM_opts.h" 20 21 namespace SkOpts { Init_hsw()22 void Init_hsw() { 23 blit_row_color32 = hsw::blit_row_color32; 24 blit_row_s32a_opaque = hsw::blit_row_s32a_opaque; 25 26 S32_alpha_D32_filter_DX = hsw::S32_alpha_D32_filter_DX; 27 28 cubic_solver = SK_OPTS_NS::cubic_solver; 29 30 RGBA_to_BGRA = SK_OPTS_NS::RGBA_to_BGRA; 31 RGBA_to_rgbA = SK_OPTS_NS::RGBA_to_rgbA; 32 RGBA_to_bgrA = SK_OPTS_NS::RGBA_to_bgrA; 33 gray_to_RGB1 = SK_OPTS_NS::gray_to_RGB1; 34 grayA_to_RGBA = SK_OPTS_NS::grayA_to_RGBA; 35 grayA_to_rgbA = SK_OPTS_NS::grayA_to_rgbA; 36 inverted_CMYK_to_RGB1 = SK_OPTS_NS::inverted_CMYK_to_RGB1; 37 inverted_CMYK_to_BGR1 = SK_OPTS_NS::inverted_CMYK_to_BGR1; 38 39 raster_pipeline_lowp_stride = SK_OPTS_NS::raster_pipeline_lowp_stride(); 40 raster_pipeline_highp_stride = SK_OPTS_NS::raster_pipeline_highp_stride(); 41 42 #define M(st) ops_highp[(int)SkRasterPipelineOp::st] = (StageFn)SK_OPTS_NS::st; 43 SK_RASTER_PIPELINE_OPS_ALL(M) 44 just_return_highp = (StageFn)SK_OPTS_NS::just_return; 45 start_pipeline_highp = SK_OPTS_NS::start_pipeline; 46 #undef M 47 48 #define M(st) ops_lowp[(int)SkRasterPipelineOp::st] = (StageFn)SK_OPTS_NS::lowp::st; 49 SK_RASTER_PIPELINE_OPS_LOWP(M) 50 just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return; 51 start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline; 52 #undef M 53 54 interpret_skvm = SK_OPTS_NS::interpret_skvm; 55 } 56 } // namespace SkOpts 57 58 #endif // SK_ENABLE_OPTIMIZE_SIZE 59