Lines Matching refs:iter
158 ssse3_fetch_bilinear_cover (pixman_iter_t *iter, const uint32_t *mask)
161 bilinear_info_t *info = iter->data;
169 ux = iter->image->common.transform->matrix[0][0];
180 &iter->image->bits, line0, y0, fx, ux, iter->width);
186 &iter->image->bits, line1, y1, fx, ux, iter->width);
195 for (i = 0; i + 3 < iter->width; i += 4)
226 _mm_storeu_si128 ((__m128i *)(iter->buffer + i), p);
229 while (i < iter->width)
248 if (iter->width - i == 1)
250 *(uint32_t *)(iter->buffer + i) = _mm_cvtsi128_si32 (p);
255 _mm_storel_epi64 ((__m128i *)(iter->buffer + i), p);
260 info->y += iter->image->common.transform->matrix[1][1];
262 return iter->buffer;
266 ssse3_bilinear_cover_iter_fini (pixman_iter_t *iter)
268 free (iter->data);
272 ssse3_bilinear_cover_iter_init (pixman_iter_t *iter, const pixman_iter_info_t *iter_info)
274 int width = iter->width;
279 v.vector[0] = pixman_int_to_fixed (iter->x) + pixman_fixed_1 / 2;
280 v.vector[1] = pixman_int_to_fixed (iter->y) + pixman_fixed_1 / 2;
283 if (!pixman_transform_point_3d (iter->image->common.transform, &v))
305 iter->get_scanline = ssse3_fetch_bilinear_cover;
306 iter->fini = ssse3_bilinear_cover_iter_fini;
308 iter->data = info;
318 iter->get_scanline = _pixman_iter_get_scanline_noop;
319 iter->fini = NULL;