summaryrefslogtreecommitdiff
path: root/user/pixman/stacksize-reduction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/pixman/stacksize-reduction.patch')
-rw-r--r--user/pixman/stacksize-reduction.patch17
1 files changed, 13 insertions, 4 deletions
diff --git a/user/pixman/stacksize-reduction.patch b/user/pixman/stacksize-reduction.patch
index 38da9b3ff..ef90847ac 100644
--- a/user/pixman/stacksize-reduction.patch
+++ b/user/pixman/stacksize-reduction.patch
@@ -2,8 +2,8 @@ Reduce the stack footprint of pixman's function
general_composite_rect() which allocates a large buffer
`stack_scanline_buffer`. Make it `static __thread` instead.
---- a/pixman/pixman-general.c 2015-12-27 21:37:37.000000000 +0100
-+++ b/pixman/pixman-general.c 2016-05-05 12:24:47.346661080 +0200
+--- pixman-0.42.2/pixman/pixman-general.c.old 2022-02-01 14:51:25.000000000 -0600
++++ pixman-0.42.2/pixman/pixman-general.c 2022-11-20 22:12:40.313477382 -0600
@@ -128,8 +128,8 @@
pixman_composite_info_t *info)
{
@@ -15,7 +15,7 @@ general_composite_rect() which allocates a large buffer
uint8_t *src_buffer, *mask_buffer, *dest_buffer;
pixman_iter_t src_iter, mask_iter, dest_iter;
pixman_combine_32_func_t compose;
-@@ -158,7 +158,7 @@
+@@ -159,7 +159,7 @@
if (width <= 0 || _pixman_multiply_overflows_int (width, Bpp * 3))
return;
@@ -24,7 +24,16 @@ general_composite_rect() which allocates a large buffer
{
scanline_buffer = pixman_malloc_ab_plus_c (width, Bpp * 3, 15 * 3);
-@@ -232,7 +232,7 @@
+@@ -170,7 +170,7 @@
+ }
+ else
+ {
+- memset (stack_scanline_buffer, 0, sizeof (stack_scanline_buffer));
++ memset (static_scanline_buffer, 0, sizeof (static_scanline_buffer));
+ }
+
+ src_buffer = ALIGN (scanline_buffer);
+@@ -239,7 +239,7 @@
if (dest_iter.fini)
dest_iter.fini (&dest_iter);