|  | /* | 
|  | * Copyright 2023 Google LLC | 
|  | * | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  |  | 
|  | #include "include/private/base/SkFeatures.h" | 
|  | #include "src/core/SkBlitRow.h" | 
|  | #include "src/core/SkOptsTargets.h" | 
|  |  | 
|  | #if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE) | 
|  |  | 
|  | // The order of these includes is important: | 
|  | // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget | 
|  | // 2) Include the code to compile, typically in a _opts.h file. | 
|  | // 3) Include SkOpts_RestoreTarget to switch back to the default CPU architecture | 
|  |  | 
|  | #define SK_OPTS_TARGET SK_OPTS_TARGET_HSW | 
|  | #include "src/opts/SkOpts_SetTarget.h" | 
|  |  | 
|  | #include "src/opts/SkBlitRow_opts.h" | 
|  |  | 
|  | #include "src/opts/SkOpts_RestoreTarget.h" | 
|  |  | 
|  | namespace SkOpts { | 
|  | void Init_BlitRow_hsw() { | 
|  | blit_row_color32     = hsw::blit_row_color32; | 
|  | blit_row_s32a_opaque = hsw::blit_row_s32a_opaque; | 
|  | } | 
|  | }  // namespace SkOpts | 
|  |  | 
|  | #endif // SK_CPU_X86 && !SK_ENABLE_OPTIMIZE_SIZE |