Lines Matching refs:fx

18 static void decal_nofilter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count);
19 static void decal_filter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count);
21 // TILEX_PROCF(fx, max) SkClampMax((fx) >> 16, max)
35 // TILEX_PROCF(fx, max) SkClampMax((fx) >> 16, max)
50 static inline int32x4_t sbpsm_clamp_tile4_low_bits(int32x4_t fx) {
53 ret = vshrq_n_s32(fx, 12);
63 // TILEX_PROCF(fx, max) (((fx)&0xFFFF)*((max)+1)>> 16)
81 // TILEX_PROCF(fx, max) (((fx)&0xFFFF)*((max)+1)>> 16)
98 // TILEX_LOW_BITS(fx, max) ((((fx) & 0xFFFF) * ((max) + 1) >> 12) & 0xF)
99 static inline int32x4_t sbpsm_repeat_tile4_low_bits(int32x4_t fx, unsigned max) {
105 res = vmovn_u32(vreinterpretq_u32_s32(fx));
122 #define TILEX_PROCF(fx, max) SkClampMax((fx) >> 16, max)
126 #define TILEX_PROCF_NEON4(fx, max) sbpsm_clamp_tile4(fx, max)
128 #define TILEX_LOW_BITS(fx, max) (((fx) >> 12) & 0xF)
130 #define TILEX_LOW_BITS_NEON4(fx, max) sbpsm_clamp_tile4_low_bits(fx)
136 #define TILEX_PROCF(fx, max) SK_USHIFT16(((fx) & 0xFFFF) * ((max) + 1))
140 #define TILEX_PROCF_NEON4(fx, max) sbpsm_repeat_tile4(fx, max)
142 #define TILEX_LOW_BITS(fx, max) ((((fx) & 0xFFFF) * ((max) + 1) >> 12) & 0xF)
144 #define TILEX_LOW_BITS_NEON4(fx, max) sbpsm_repeat_tile4_low_bits(fx, max)
150 void decal_nofilter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count) {
158 lbase = vdupq_n_s32(fx);
159 lbase = vsetq_lane_s32(fx + dx, lbase, 1);
160 lbase = vsetq_lane_s32(fx + dx + dx, lbase, 2);
161 lbase = vsetq_lane_s32(fx + dx + dx + dx, lbase, 3);
175 fx += dx8;
181 *xx++ = SkToU16(fx >> 16); fx += dx;
185 void decal_filter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count) {
191 wide_fx = vdupq_n_s32(fx);
192 wide_fx = vsetq_lane_s32(fx + dx, wide_fx, 1);
193 wide_fx = vsetq_lane_s32(fx + dx + dx, wide_fx, 2);
194 wide_fx = vsetq_lane_s32(fx + dx + dx + dx, wide_fx, 3);
212 fx += dx8;
221 SkASSERT((fx >> (16 + 14)) == 0);
222 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
223 fx += dx;
227 SkASSERT((fx >> (16 + 14)) == 0);
228 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
229 fx += dx;
231 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
232 fx += dx;