Lines Matching refs:fx
16 static void decal_nofilter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count);
17 static void decal_filter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count);
20 #define TILEX_PROCF(fx, max) SkClampMax((fx) >> 16, max)
22 #define TILEX_LOW_BITS(fx, max) (((fx) >> 12) & 0xF)
28 #define TILEX_PROCF(fx, max) SK_USHIFT16(((fx) & 0xFFFF) * ((max) + 1))
30 #define TILEX_LOW_BITS(fx, max) ((((fx) & 0xFFFF) * ((max) + 1) >> 12) & 0xF)
36 void decal_nofilter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count) {
44 lbase = vdupq_n_s32(fx);
45 lbase = vsetq_lane_s32(fx + dx, lbase, 1);
46 lbase = vsetq_lane_s32(fx + dx + dx, lbase, 2);
47 lbase = vsetq_lane_s32(fx + dx + dx + dx, lbase, 3);
61 fx += dx8;
67 *xx++ = SkToU16(fx >> 16); fx += dx;
71 void decal_filter_scale_neon(uint32_t dst[], SkFixed fx, SkFixed dx, int count) {
77 wide_fx = vdupq_n_s32(fx);
78 wide_fx = vsetq_lane_s32(fx + dx, wide_fx, 1);
79 wide_fx = vsetq_lane_s32(fx + dx + dx, wide_fx, 2);
80 wide_fx = vsetq_lane_s32(fx + dx + dx + dx, wide_fx, 3);
98 fx += dx8;
107 SkASSERT((fx >> (16 + 14)) == 0);
108 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
109 fx += dx;
113 SkASSERT((fx >> (16 + 14)) == 0);
114 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
115 fx += dx;
117 *dst++ = (fx >> 12 << 14) | ((fx >> 16) + 1);
118 fx += dx;