diff options
Diffstat (limited to 'meta-oe/recipes-graphics/xorg-lib/pixman-0.21.4/0017-add-_pixman_bits_override_accessors.patch')
-rw-r--r-- | meta-oe/recipes-graphics/xorg-lib/pixman-0.21.4/0017-add-_pixman_bits_override_accessors.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.21.4/0017-add-_pixman_bits_override_accessors.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.21.4/0017-add-_pixman_bits_override_accessors.patch new file mode 100644 index 0000000000..b7983b2081 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.21.4/0017-add-_pixman_bits_override_accessors.patch @@ -0,0 +1,75 @@ +From 6593d86679fde724e49efa96b16ca22d9521b288 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamashka@nokia.com> +Date: Thu, 10 Dec 2009 00:51:50 +0200 +Subject: [PATCH 17/24] add _pixman_bits_override_accessors + +* from patch ARM: HACK: added NEON optimizations for fetch/store r5g6b5 scanline +* used in + 0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch + 0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch + 0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch +--- + pixman/pixman-access.c | 23 ++++++++++++++++++++++- + pixman/pixman-private.h | 5 +++++ + 2 files changed, 27 insertions(+), 1 deletions(-) + +diff --git a/pixman/pixman-access.c b/pixman/pixman-access.c +index f1ce0ba..b33da29 100644 +--- a/pixman/pixman-access.c ++++ b/pixman/pixman-access.c +@@ -2836,7 +2836,7 @@ typedef struct + store_scanline_ ## format, store_scanline_generic_64 \ + } + +-static const format_info_t accessors[] = ++static format_info_t accessors[] = + { + /* 32 bpp formats */ + FORMAT_INFO (a8r8g8b8), +@@ -2978,6 +2978,27 @@ _pixman_bits_image_setup_accessors (bits_image_t *image) + setup_accessors (image); + } + ++void ++_pixman_bits_override_accessors (pixman_format_code_t format, ++ fetch_scanline_t fetch_func, ++ store_scanline_t store_func) ++{ ++ format_info_t *info = accessors; ++ ++ while (info->format != PIXMAN_null) ++ { ++ if (info->format == format) ++ { ++ if (fetch_func) ++ info->fetch_scanline_32 = fetch_func; ++ if (store_func) ++ info->store_scanline_32 = store_func; ++ return; ++ } ++ info++; ++ } ++} ++ + #else + + void +diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h +index 1662d2c..c0f9af4 100644 +--- a/pixman/pixman-private.h ++++ b/pixman/pixman-private.h +@@ -256,6 +256,11 @@ _pixman_conical_gradient_iter_init (pixman_image_t *image, + int x, int y, int width, int height, + uint8_t *buffer, iter_flags_t flags); + ++void ++_pixman_bits_override_accessors (pixman_format_code_t format, ++ fetch_scanline_t fetch_func, ++ store_scanline_t store_func); ++ + pixman_image_t * + _pixman_image_allocate (void); + +-- +1.7.4.rc2 + |