1 /* 2 * Copyright 2023 Google LLC 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 "include/private/base/SkFeatures.h" // IWYU pragma: keep 9 #include "src/core/SkBlitRow.h" // IWYU pragma: keep 10 #include "src/core/SkOptsTargets.h" // IWYU pragma: keep 11 12 #if defined(SK_CPU_LOONGARCH) && !defined(SK_ENABLE_OPTIMIZE_SIZE) 13 14 // The order of these includes is important: 15 // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget 16 // 2) Include the code to compile, typically in a _opts.h file. 17 // 3) Include SkOpts_RestoreTarget to switch back to the default CPU architecture 18 19 #define SK_OPTS_TARGET SK_OPTS_TARGET_LASX 20 #include "src/opts/SkOpts_SetTarget.h" 21 22 #include "src/opts/SkBlitRow_opts.h" 23 24 #include "src/opts/SkOpts_RestoreTarget.h" 25 26 namespace SkOpts { Init_BlitRow_lasx()27 void Init_BlitRow_lasx() { 28 blit_row_color32 = lasx::blit_row_color32; 29 blit_row_s32a_opaque = lasx::blit_row_s32a_opaque; 30 } 31 } // namespace SkOpts 32 33 #endif // SK_CPU_LOONGARCH && !SK_ENABLE_OPTIMIZE_SIZE 34