OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkHalf.h" | 8 #include "SkHalf.h" |
9 #include "SkOnce.h" | 9 #include "SkOnce.h" |
10 #include "SkOpts.h" | 10 #include "SkOpts.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 } | 56 } |
57 #endif | 57 #endif |
58 #elif !defined(SK_ARM_HAS_NEON) && \ | 58 #elif !defined(SK_ARM_HAS_NEON) && \ |
59 defined(SK_CPU_ARM32) && \ | 59 defined(SK_CPU_ARM32) && \ |
60 defined(SK_BUILD_FOR_ANDROID) && \ | 60 defined(SK_BUILD_FOR_ANDROID) && \ |
61 !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) | 61 !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) |
62 #include <cpu-features.h> | 62 #include <cpu-features.h> |
63 #endif | 63 #endif |
64 | 64 |
65 namespace SkOpts { | 65 namespace SkOpts { |
| 66 |
66 // Define default function pointer values here... | 67 // Define default function pointer values here... |
67 // If our global compile options are set high enough, these defaults might e
ven be | 68 // If our global compile options are set high enough, these defaults might e
ven be |
68 // CPU-specialized, e.g. a typical x86-64 machine might start with SSE2 defa
ults. | 69 // CPU-specialized, e.g. a typical x86-64 machine might start with SSE2 defa
ults. |
69 // They'll still get a chance to be replaced with even better ones, e.g. usi
ng SSE4.1. | 70 // They'll still get a chance to be replaced with even better ones, e.g. usi
ng SSE4.1. |
70 decltype(create_xfermode) create_xfermode = sk_default::create_xfermode; | 71 decltype(create_xfermode) create_xfermode = sk_default::create_xfermode; |
71 decltype(color_cube_filter_span) color_cube_filter_span = sk_default::color_
cube_filter_span; | 72 decltype(color_cube_filter_span) color_cube_filter_span = sk_default::color_
cube_filter_span; |
72 | 73 |
73 decltype(box_blur_xx) box_blur_xx = sk_default::box_blur_xx; | 74 decltype(box_blur_xx) box_blur_xx = sk_default::box_blur_xx; |
74 decltype(box_blur_xy) box_blur_xy = sk_default::box_blur_xy; | 75 decltype(box_blur_xy) box_blur_xy = sk_default::box_blur_xy; |
75 decltype(box_blur_yx) box_blur_yx = sk_default::box_blur_yx; | 76 decltype(box_blur_yx) box_blur_yx = sk_default::box_blur_yx; |
76 | 77 |
77 decltype(dilate_x) dilate_x = sk_default::dilate_x; | 78 decltype(dilate_x) dilate_x = sk_default::dilate_x; |
78 decltype(dilate_y) dilate_y = sk_default::dilate_y; | 79 decltype(dilate_y) dilate_y = sk_default::dilate_y; |
79 decltype( erode_x) erode_x = sk_default::erode_x; | 80 decltype( erode_x) erode_x = sk_default::erode_x; |
80 decltype( erode_y) erode_y = sk_default::erode_y; | 81 decltype( erode_y) erode_y = sk_default::erode_y; |
81 | 82 |
82 decltype(texture_compressor) texture_compressor = sk_default::texture_
compressor; | 83 decltype(texture_compressor) texture_compressor = sk_default::texture_
compressor; |
83 decltype(fill_block_dimensions) fill_block_dimensions = sk_default::fill_blo
ck_dimensions; | 84 decltype(fill_block_dimensions) fill_block_dimensions = sk_default::fill_blo
ck_dimensions; |
84 | 85 |
85 decltype(blit_mask_d32_a8) blit_mask_d32_a8 = sk_default::blit_mask_d32_a8; | 86 decltype(blit_mask_d32_a8) blit_mask_d32_a8 = sk_default::blit_mask_d32_a8; |
86 | 87 |
87 decltype(blit_row_color32) blit_row_color32 = sk_default::blit_row_color32; | 88 decltype(blit_row_color32) blit_row_color32 = sk_default::blit_row_c
olor32; |
| 89 decltype(blit_row_s32a_opaque) blit_row_s32a_opaque = sk_default::blit_row_s
32a_opaque; |
88 | 90 |
89 decltype(matrix_translate) matrix_translate = sk_default::matrix
_translate; | 91 decltype(matrix_translate) matrix_translate = sk_default::matrix
_translate; |
90 decltype(matrix_scale_translate) matrix_scale_translate = sk_default::matrix
_scale_translate; | 92 decltype(matrix_scale_translate) matrix_scale_translate = sk_default::matrix
_scale_translate; |
91 decltype(matrix_affine) matrix_affine = sk_default::matrix
_affine; | 93 decltype(matrix_affine) matrix_affine = sk_default::matrix
_affine; |
92 | 94 |
93 decltype(RGBA_to_BGRA) RGBA_to_BGRA = sk_default::RGBA_to_
BGRA; | 95 decltype(RGBA_to_BGRA) RGBA_to_BGRA = sk_default::RGBA_to_
BGRA; |
94 decltype(RGBA_to_rgbA) RGBA_to_rgbA = sk_default::RGBA_to_
rgbA; | 96 decltype(RGBA_to_rgbA) RGBA_to_rgbA = sk_default::RGBA_to_
rgbA; |
95 decltype(RGBA_to_bgrA) RGBA_to_bgrA = sk_default::RGBA_to_
bgrA; | 97 decltype(RGBA_to_bgrA) RGBA_to_bgrA = sk_default::RGBA_to_
bgrA; |
96 decltype(RGB_to_RGB1) RGB_to_RGB1 = sk_default::RGB_to_R
GB1; | 98 decltype(RGB_to_RGB1) RGB_to_RGB1 = sk_default::RGB_to_R
GB1; |
97 decltype(RGB_to_BGR1) RGB_to_BGR1 = sk_default::RGB_to_B
GR1; | 99 decltype(RGB_to_BGR1) RGB_to_BGR1 = sk_default::RGB_to_B
GR1; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 144 |
143 SK_DECLARE_STATIC_ONCE(gInitOnce); | 145 SK_DECLARE_STATIC_ONCE(gInitOnce); |
144 void Init() { SkOnce(&gInitOnce, init); } | 146 void Init() { SkOnce(&gInitOnce, init); } |
145 | 147 |
146 #if SK_ALLOW_STATIC_GLOBAL_INITIALIZERS | 148 #if SK_ALLOW_STATIC_GLOBAL_INITIALIZERS |
147 static struct AutoInit { | 149 static struct AutoInit { |
148 AutoInit() { Init(); } | 150 AutoInit() { Init(); } |
149 } gAutoInit; | 151 } gAutoInit; |
150 #endif | 152 #endif |
151 } | 153 } |
OLD | NEW |