if (data->op == PIXMAN_OP_CLEAR)
fetchSrc = NULL;
+ else if (wide)
+ fetchSrc = _pixman_image_get_scanline_64;
else
- fetchSrc = _pixman_image_get_fetcher (data->src, wide);
+ fetchSrc = _pixman_image_get_scanline_32;
if (!data->mask || data->op == PIXMAN_OP_CLEAR)
fetchMask = NULL;
+ else if (wide)
+ fetchMask = _pixman_image_get_scanline_64;
else
- fetchMask = _pixman_image_get_fetcher (data->mask, wide);
+ fetchMask = _pixman_image_get_scanline_32;
if (data->op == PIXMAN_OP_CLEAR || data->op == PIXMAN_OP_SRC)
fetchDest = NULL;
+ else if (wide)
+ fetchDest = _pixman_image_get_scanline_64;
else
- fetchDest = _pixman_image_get_fetcher (data->dest, wide);
+ fetchDest = _pixman_image_get_scanline_32;
store = _pixman_image_get_storer (data->dest, wide);
return SOURCE_IMAGE_CLASS_UNKNOWN;
}
+void
+_pixman_image_get_scanline_32 (pixman_image_t *image, int x, int y, int width,
+ uint32_t *buffer, uint32_t *mask, uint32_t mask_bits)
+{
+ image->common.get_scanline_32 (image, x, y, width, buffer, mask, mask_bits);
+}
+
+void
+_pixman_image_get_scanline_64 (pixman_image_t *image, int x, int y, int width,
+ uint32_t *buffer, uint32_t *unused, uint32_t unused2)
+{
+ image->common.get_scanline_64 (image, x, y, width, buffer, unused, unused2);
+}
+
+/* Even thought the type of buffer is uint32_t *, the function actually expects
+ * a uint64_t *buffer.
+ */
+
scanFetchProc
_pixman_image_get_fetcher (pixman_image_t *image,
int wide)
return image->common.get_scanline_32;
}
-
-
#define WRITE_ACCESS(f) ((image->common.write_func)? f##_accessors : f)
static void
int width,
int height);
-scanFetchProc
-_pixman_image_get_fetcher (pixman_image_t *image,
- int wide);
+void
+_pixman_image_get_scanline_32 (pixman_image_t *image, int x, int y, int width,
+ uint32_t *buffer, uint32_t *mask, uint32_t mask_bits);
+
+/* Even thought the type of buffer is uint32_t *, the function actually expects
+ * a uint64_t *buffer.
+ */
+void
+_pixman_image_get_scanline_64 (pixman_image_t *image, int x, int y, int width,
+ uint32_t *buffer, uint32_t *unused, uint32_t unused2);
scanStoreProc
_pixman_image_get_storer (pixman_image_t *image,