Module Name: xsrc
Committed By: mrg
Date: Sat Dec 17 09:06:35 UTC 2022
Modified Files:
xsrc/external/mit/pixman/dist/pixman: pixman-arm.c pixman-bits-image.c
pixman-fast-path.c pixman-inlines.h pixman-mmx.c pixman-ppc.c
pixman-private.h pixman-x86.c pixman.h
xsrc/external/mit/pixman/include: config.h
Removed Files:
xsrc/external/mit/pixman/dist: a64-neon-test.S
xsrc/external/mit/pixman/dist/demos: dither.c dither.ui
xsrc/external/mit/pixman/dist/pixman: pixman-arma64-neon-asm-bilinear.S
pixman-arma64-neon-asm.S pixman-arma64-neon-asm.h
xsrc/external/mit/pixman/dist/pixman/dither: blue-noise-64x64.h
make-blue-noise.c
Log Message:
un-merge pixman 0.42.2 and re-merge 0.38.4.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/pixman/dist/a64-neon-test.S
cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/pixman/dist/demos/dither.c \
xsrc/external/mit/pixman/dist/demos/dither.ui
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/pixman/dist/pixman/pixman-arm.c \
xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c \
xsrc/external/mit/pixman/dist/pixman/pixman-x86.c
cvs rdiff -u -r1.1.1.1 -r0 \
xsrc/external/mit/pixman/dist/pixman/pixman-arma64-neon-asm-bilinear.S \
xsrc/external/mit/pixman/dist/pixman/pixman-arma64-neon-asm.S \
xsrc/external/mit/pixman/dist/pixman/pixman-arma64-neon-asm.h
cvs rdiff -u -r1.11 -r1.12 \
xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c
cvs rdiff -u -r1.6 -r1.7 \
xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/pixman/dist/pixman/pixman-private.h
cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/pixman/dist/pixman/pixman.h
cvs rdiff -u -r1.1.1.1 -r0 \
xsrc/external/mit/pixman/dist/pixman/dither/blue-noise-64x64.h \
xsrc/external/mit/pixman/dist/pixman/dither/make-blue-noise.c
cvs rdiff -u -r1.24 -r1.25 xsrc/external/mit/pixman/include/config.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/pixman/dist/pixman/pixman-arm.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-arm.c:1.3 xsrc/external/mit/pixman/dist/pixman/pixman-arm.c:1.4
--- xsrc/external/mit/pixman/dist/pixman/pixman-arm.c:1.3 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-arm.c Sat Dec 17 09:06:34 2022
@@ -176,31 +176,6 @@ detect_cpu_features (void)
return features;
}
-#elif defined (_3DS) /* 3DS homebrew (devkitARM) */
-
-static arm_cpu_features_t
-detect_cpu_features (void)
-{
- arm_cpu_features_t features = 0;
-
- features |= ARM_V6;
-
- return features;
-}
-
-#elif defined (PSP2) || defined (__SWITCH__)
-/* Vita (VitaSDK) or Switch (devkitA64) homebrew */
-
-static arm_cpu_features_t
-detect_cpu_features (void)
-{
- arm_cpu_features_t features = 0;
-
- features |= ARM_NEON;
-
- return features;
-}
-
#elif defined (__NetBSD__) /* NetBSD */
#include <sys/sysctl.h>
@@ -279,11 +254,5 @@ _pixman_arm_get_implementations (pixman_
imp = _pixman_implementation_create_arm_neon (imp);
#endif
-#ifdef USE_ARM_A64_NEON
- /* neon is a part of aarch64 */
- if (!_pixman_disabled ("arm-neon"))
- imp = _pixman_implementation_create_arm_neon (imp);
-#endif
-
return imp;
}
Index: xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c:1.3 xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c:1.4
--- xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c:1.3 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-ppc.c Sat Dec 17 09:06:34 2022
@@ -68,24 +68,6 @@ pixman_have_vmx (void)
return have_vmx;
}
-#elif defined (__FreeBSD__)
-#include <machine/cpu.h>
-#include <sys/auxv.h>
-
-static pixman_bool_t
-pixman_have_vmx (void)
-{
-
- unsigned long cpufeatures;
- int have_vmx;
-
- if (elf_aux_info(AT_HWCAP, &cpufeatures, sizeof(cpufeatures)))
- return FALSE;
-
- have_vmx = cpufeatures & PPC_FEATURE_HAS_ALTIVEC;
- return have_vmx;
-}
-
#elif defined (__linux__)
#include <sys/types.h>
Index: xsrc/external/mit/pixman/dist/pixman/pixman-x86.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-x86.c:1.3 xsrc/external/mit/pixman/dist/pixman/pixman-x86.c:1.4
--- xsrc/external/mit/pixman/dist/pixman/pixman-x86.c:1.3 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-x86.c Sat Dec 17 09:06:34 2022
@@ -190,7 +190,6 @@ detect_cpu_features (void)
memcpy (vendor + 8, &c, 4);
if (strcmp (vendor, "AuthenticAMD") == 0 ||
- strcmp (vendor, "HygonGenuine") == 0 ||
strcmp (vendor, "Geode by NSC") == 0)
{
pixman_cpuid (0x80000000, &a, &b, &c, &d);
Index: xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c:1.11 xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c:1.12
--- xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c:1.11 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-bits-image.c Sat Dec 17 09:06:34 2022
@@ -35,7 +35,6 @@
#include "pixman-private.h"
#include "pixman-combine32.h"
#include "pixman-inlines.h"
-#include "dither/blue-noise-64x64.h"
/* Fetch functions */
@@ -191,8 +190,8 @@ bits_image_fetch_pixel_bilinear_float (b
*ret = bilinear_interpolation_float (tl, tr, bl, br, distx, disty);
}
-static force_inline void accum_32(unsigned int *satot, unsigned int *srtot,
- unsigned int *sgtot, unsigned int *sbtot,
+static force_inline void accum_32(int *satot, int *srtot,
+ int *sgtot, int *sbtot,
const void *p, pixman_fixed_t f)
{
uint32_t pixel = *(uint32_t *)p;
@@ -203,9 +202,8 @@ static force_inline void accum_32(unsign
*satot += (int)ALPHA_8 (pixel) * f;
}
-static force_inline void reduce_32(unsigned int satot, unsigned int srtot,
- unsigned int sgtot, unsigned int sbtot,
- void *p)
+static force_inline void reduce_32(int satot, int srtot,
+ int sgtot, int sbtot, void *p)
{
uint32_t *ret = p;
@@ -222,8 +220,8 @@ static force_inline void reduce_32(unsig
*ret = ((satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot));
}
-static force_inline void accum_float(unsigned int *satot, unsigned int *srtot,
- unsigned int *sgtot, unsigned int *sbtot,
+static force_inline void accum_float(int *satot, int *srtot,
+ int *sgtot, int *sbtot,
const void *p, pixman_fixed_t f)
{
const argb_t *pixel = p;
@@ -234,8 +232,8 @@ static force_inline void accum_float(uns
*sbtot += pixel->b * f;
}
-static force_inline void reduce_float(unsigned int satot, unsigned int srtot,
- unsigned int sgtot, unsigned int sbtot,
+static force_inline void reduce_float(int satot, int srtot,
+ int sgtot, int sbtot,
void *p)
{
argb_t *ret = p;
@@ -246,13 +244,12 @@ static force_inline void reduce_float(un
ret->b = CLIP (sbtot / 65536.f, 0.f, 1.f);
}
-typedef void (* accumulate_pixel_t) (unsigned int *satot, unsigned int *srtot,
- unsigned int *sgtot, unsigned int *sbtot,
+typedef void (* accumulate_pixel_t) (int *satot, int *srtot,
+ int *sgtot, int *sbtot,
const void *pixel, pixman_fixed_t f);
-typedef void (* reduce_pixel_t) (unsigned int satot, unsigned int srtot,
- unsigned int sgtot, unsigned int sbtot,
- void *out);
+typedef void (* reduce_pixel_t) (int satot, int srtot,
+ int sgtot, int sbtot, void *out);
static force_inline void
bits_image_fetch_pixel_convolution (bits_image_t *image,
@@ -272,7 +269,7 @@ bits_image_fetch_pixel_convolution (bits
pixman_repeat_t repeat_mode = image->common.repeat;
int width = image->width;
int height = image->height;
- unsigned int srtot, sgtot, sbtot, satot;
+ int srtot, sgtot, sbtot, satot;
params += 2;
@@ -341,7 +338,7 @@ bits_image_fetch_pixel_separable_convolu
int x_off = ((cwidth << 16) - pixman_fixed_1) >> 1;
int y_off = ((cheight << 16) - pixman_fixed_1) >> 1;
pixman_fixed_t *y_params;
- unsigned int srtot, sgtot, sbtot, satot;
+ int srtot, sgtot, sbtot, satot;
int32_t x1, x2, y1, y2;
int32_t px, py;
int i, j;
@@ -435,38 +432,29 @@ bits_image_fetch_pixel_filtered (bits_im
case PIXMAN_FILTER_CONVOLUTION:
if (wide)
- {
bits_image_fetch_pixel_convolution (image, x, y,
get_pixel, out,
accum_float,
reduce_float);
- }
else
- {
bits_image_fetch_pixel_convolution (image, x, y,
get_pixel, out,
accum_32, reduce_32);
- }
break;
case PIXMAN_FILTER_SEPARABLE_CONVOLUTION:
if (wide)
- {
bits_image_fetch_pixel_separable_convolution (image, x, y,
get_pixel, out,
accum_float,
reduce_float);
- }
else
- {
bits_image_fetch_pixel_separable_convolution (image, x, y,
get_pixel, out,
accum_32, reduce_32);
- }
break;
default:
- assert (0);
break;
}
}
@@ -482,7 +470,6 @@ __bits_image_fetch_affine_no_alpha (pixm
int width = iter->width;
uint32_t * buffer = iter->buffer;
- const uint32_t wide_zero[4] = {0};
pixman_fixed_t x, y;
pixman_fixed_t ux, uy;
pixman_vector_t v;
@@ -514,8 +501,7 @@ __bits_image_fetch_affine_no_alpha (pixm
for (i = 0; i < width; ++i)
{
- if (!mask || (!wide && mask[i]) ||
- (wide && memcmp(&mask[4 * i], wide_zero, 16) != 0))
+ if (!mask || mask[i])
{
bits_image_fetch_pixel_filtered (
&image->bits, wide, x, y, get_pixel, buffer);
@@ -638,7 +624,6 @@ __bits_image_fetch_general (pixman_iter_
get_pixel_t get_pixel =
wide ? fetch_pixel_general_float : fetch_pixel_general_32;
- const uint32_t wide_zero[4] = {0};
pixman_fixed_t x, y, w;
pixman_fixed_t ux, uy, uw;
pixman_vector_t v;
@@ -673,13 +658,12 @@ __bits_image_fetch_general (pixman_iter_
{
pixman_fixed_t x0, y0;
- if (!mask || (!wide && mask[i]) ||
- (wide && memcmp(&mask[4 * i], wide_zero, 16) != 0))
+ if (!mask || mask[i])
{
if (w != 0)
{
- x0 = ((uint64_t)x << 16) / w;
- y0 = ((uint64_t)y << 16) / w;
+ x0 = ((pixman_fixed_48_16_t)x << 16) / w;
+ y0 = ((pixman_fixed_48_16_t)y << 16) / w;
}
else
{
@@ -1055,119 +1039,6 @@ dest_write_back_narrow (pixman_iter_t *i
iter->y++;
}
-static float
-dither_factor_blue_noise_64 (int x, int y)
-{
- float m = dither_blue_noise_64x64[((y & 0x3f) << 6) | (x & 0x3f)];
- return m * (1. / 4096.f) + (1. / 8192.f);
-}
-
-static float
-dither_factor_bayer_8 (int x, int y)
-{
- uint32_t m;
-
- y ^= x;
-
- /* Compute reverse(interleave(xor(x mod n, y mod n), x mod n))
- * Here n = 8 and `mod n` is the bottom 3 bits.
- */
- m = ((y & 0x1) << 5) | ((x & 0x1) << 4) |
- ((y & 0x2) << 2) | ((x & 0x2) << 1) |
- ((y & 0x4) >> 1) | ((x & 0x4) >> 2);
-
- /* m is in range [0, 63]. We scale it to [0, 63.0f/64.0f], then
- * shift it to to [1.0f/128.0f, 127.0f/128.0f] so that 0 < d < 1.
- * This ensures exact values are not changed by dithering.
- */
- return (float)(m) * (1 / 64.0f) + (1.0f / 128.0f);
-}
-
-typedef float (* dither_factor_t)(int x, int y);
-
-static force_inline float
-dither_apply_channel (float f, float d, float s)
-{
- /* float_to_unorm splits the [0, 1] segment in (1 << n_bits)
- * subsections of equal length; however unorm_to_float does not
- * map to the center of those sections. In fact, pixel value u is
- * mapped to:
- *
- * u u u 1
- * -------------- = ---------- + -------------- * ----------
- * 2^n_bits - 1 2^n_bits 2^n_bits - 1 2^n_bits
- *
- * Hence if f = u / (2^n_bits - 1) is exactly representable on a
- * n_bits palette, all the numbers between
- *
- * u
- * ---------- = f - f * 2^n_bits = f + (0 - f) * 2^n_bits
- * 2^n_bits
- *
- * and
- *
- * u + 1
- * ---------- = f - (f - 1) * 2^n_bits = f + (1 - f) * 2^n_bits
- * 2^n_bits
- *
- * are also mapped back to u.
- *
- * Hence the following calculation ensures that we add as much
- * noise as possible without perturbing values which are exactly
- * representable in the target colorspace. Note that this corresponds to
- * mixing the original color with noise with a ratio of `1 / 2^n_bits`.
- */
- return f + (d - f) * s;
-}
-
-static force_inline float
-dither_compute_scale (int n_bits)
-{
- // No dithering for wide formats
- if (n_bits == 0 || n_bits >= 32)
- return 0.f;
-
- return 1.f / (float)(1 << n_bits);
-}
-
-static const uint32_t *
-dither_apply_ordered (pixman_iter_t *iter, dither_factor_t factor)
-{
- bits_image_t *image = &iter->image->bits;
- int x = iter->x + image->dither_offset_x;
- int y = iter->y + image->dither_offset_y;
- int width = iter->width;
- argb_t *buffer = (argb_t *)iter->buffer;
-
- pixman_format_code_t format = image->format;
- int a_size = PIXMAN_FORMAT_A (format);
- int r_size = PIXMAN_FORMAT_R (format);
- int g_size = PIXMAN_FORMAT_G (format);
- int b_size = PIXMAN_FORMAT_B (format);
-
- float a_scale = dither_compute_scale (a_size);
- float r_scale = dither_compute_scale (r_size);
- float g_scale = dither_compute_scale (g_size);
- float b_scale = dither_compute_scale (b_size);
-
- int i;
- float d;
-
- for (i = 0; i < width; ++i)
- {
- d = factor (x + i, y);
-
- buffer->a = dither_apply_channel (buffer->a, d, a_scale);
- buffer->r = dither_apply_channel (buffer->r, d, r_scale);
- buffer->g = dither_apply_channel (buffer->g, d, g_scale);
- buffer->b = dither_apply_channel (buffer->b, d, b_scale);
-
- buffer++;
- }
-
- return iter->buffer;
-}
-
static void
dest_write_back_wide (pixman_iter_t *iter)
{
@@ -1177,23 +1048,6 @@ dest_write_back_wide (pixman_iter_t *ite
int width = iter->width;
const uint32_t *buffer = iter->buffer;
- switch (image->dither)
- {
- case PIXMAN_DITHER_NONE:
- break;
-
- case PIXMAN_DITHER_GOOD:
- case PIXMAN_DITHER_BEST:
- case PIXMAN_DITHER_ORDERED_BLUE_NOISE_64:
- buffer = dither_apply_ordered (iter, dither_factor_blue_noise_64);
- break;
-
- case PIXMAN_DITHER_FAST:
- case PIXMAN_DITHER_ORDERED_BAYER_8:
- buffer = dither_apply_ordered (iter, dither_factor_bayer_8);
- break;
- }
-
image->store_scanline_float (image, x, y, width, buffer);
if (image->common.alpha_map)
@@ -1309,9 +1163,6 @@ _pixman_bits_image_init (pixman_image_t
image->bits.height = height;
image->bits.bits = bits;
image->bits.free_me = free_me;
- image->bits.dither = PIXMAN_DITHER_NONE;
- image->bits.dither_offset_x = 0;
- image->bits.dither_offset_y = 0;
image->bits.read_func = NULL;
image->bits.write_func = NULL;
image->bits.rowstride = rowstride;
Index: xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c:1.2 xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c:1.3
--- xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c:1.2 Tue Dec 6 13:50:55 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-fast-path.c Sat Dec 17 09:06:34 2022
@@ -908,7 +908,7 @@ fast_composite_add_n_8_8 (pixman_impleme
#define CREATE_BITMASK(n) (0x80000000 >> (n))
#define UPDATE_BITMASK(n) ((n) >> 1)
#else
-#define CREATE_BITMASK(n) (1U << (n))
+#define CREATE_BITMASK(n) (1 << (n))
#define UPDATE_BITMASK(n) ((n) << 1)
#endif
@@ -2800,7 +2800,7 @@ bits_image_fetch_separable_convolution_a
repeat (repeat_mode, &rx, bits->width);
repeat (repeat_mode, &ry, bits->height);
- row = (uint8_t *)(bits->bits + bits->rowstride * ry);
+ row = (uint8_t *)bits->bits + bits->rowstride * 4 * ry;
pixel = convert_pixel (row, rx) | mask;
}
else
@@ -2811,7 +2811,7 @@ bits_image_fetch_separable_convolution_a
}
else
{
- row = (uint8_t *)(bits->bits + bits->rowstride * ry);
+ row = (uint8_t *)bits->bits + bits->rowstride * 4 * ry;
pixel = convert_pixel (row, rx) | mask;
}
}
@@ -2913,8 +2913,8 @@ bits_image_fetch_bilinear_affine (pixman
repeat (repeat_mode, &x2, width);
repeat (repeat_mode, &y2, height);
- row1 = (uint8_t *)(bits->bits + bits->rowstride * y1);
- row2 = (uint8_t *)(bits->bits + bits->rowstride * y2);
+ row1 = (uint8_t *)bits->bits + bits->rowstride * 4 * y1;
+ row2 = (uint8_t *)bits->bits + bits->rowstride * 4 * y2;
tl = convert_pixel (row1, x1) | mask;
tr = convert_pixel (row1, x2) | mask;
@@ -2949,7 +2949,7 @@ bits_image_fetch_bilinear_affine (pixman
}
else
{
- row1 = (uint8_t *)(bits->bits + bits->rowstride * y1);
+ row1 = (uint8_t *)bits->bits + bits->rowstride * 4 * y1;
row1 += bpp / 8 * x1;
mask1 = PIXMAN_FORMAT_A (format)? 0 : 0xff000000;
@@ -2962,7 +2962,7 @@ bits_image_fetch_bilinear_affine (pixman
}
else
{
- row2 = (uint8_t *)(bits->bits + bits->rowstride * y2);
+ row2 = (uint8_t *)bits->bits + bits->rowstride * 4 * y2;
row2 += bpp / 8 * x1;
mask2 = PIXMAN_FORMAT_A (format)? 0 : 0xff000000;
@@ -3060,7 +3060,7 @@ bits_image_fetch_nearest_affine (pixman_
repeat (repeat_mode, &y0, height);
}
- row = (uint8_t *)(bits->bits + bits->rowstride * y0);
+ row = (uint8_t *)bits->bits + bits->rowstride * 4 * y0;
buffer[i] = convert_pixel (row, x0) | mask;
}
@@ -3086,7 +3086,7 @@ convert_x8r8g8b8 (const uint8_t *row, in
static force_inline uint32_t
convert_a8 (const uint8_t *row, int x)
{
- return (uint32_t) *(row + x) << 24;
+ return *(row + x) << 24;
}
static force_inline uint32_t
Index: xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h:1.6 xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h:1.7
--- xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h:1.6 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-inlines.h Sat Dec 17 09:06:34 2022
@@ -231,7 +231,7 @@ bilinear_interpolation_float (argb_t tl,
argb_t r;
distxy = distx * disty;
- distxiy = distx * (1.f - disty);
+ distxiy = distx - (1.f - distxy);
distixy = (1.f - distx) * disty;
distixiy = (1.f - distx) * (1.f - disty);
Index: xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c:1.4 xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c:1.5
--- xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c:1.4 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-mmx.c Sat Dec 17 09:06:34 2022
@@ -387,10 +387,8 @@ in_over (__m64 src, __m64 srca, __m64 ma
static force_inline __m64 ldq_u(__m64 *p)
{
#ifdef USE_X86_MMX
- /* x86's alignment restrictions are very relaxed, but that's no excuse */
- __m64 r;
- memcpy(&r, p, sizeof(__m64));
- return r;
+ /* x86's alignment restrictions are very relaxed. */
+ return *(__m64 *)p;
#elif defined USE_ARM_IWMMXT
int align = (uintptr_t)p & 7;
__m64 *aligned_p;
@@ -409,9 +407,7 @@ static force_inline uint32_t ldl_u(const
{
#ifdef USE_X86_MMX
/* x86's alignment restrictions are very relaxed. */
- uint32_t r;
- memcpy(&r, p, sizeof(uint32_t));
- return r;
+ return *p;
#else
struct __una_u32 { uint32_t x __attribute__((packed)); };
const struct __una_u32 *ptr = (const struct __una_u32 *) p;
@@ -3954,7 +3950,7 @@ mmx_fetch_a8 (pixman_iter_t *iter, const
while (w && (((uintptr_t)dst) & 15))
{
- *dst++ = (uint32_t)*(src++) << 24;
+ *dst++ = *(src++) << 24;
w--;
}
@@ -3981,7 +3977,7 @@ mmx_fetch_a8 (pixman_iter_t *iter, const
while (w)
{
- *dst++ = (uint32_t)*(src++) << 24;
+ *dst++ = *(src++) << 24;
w--;
}
Index: xsrc/external/mit/pixman/dist/pixman/pixman-private.h
diff -u xsrc/external/mit/pixman/dist/pixman/pixman-private.h:1.9 xsrc/external/mit/pixman/dist/pixman/pixman-private.h:1.10
--- xsrc/external/mit/pixman/dist/pixman/pixman-private.h:1.9 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman-private.h Sat Dec 17 09:06:34 2022
@@ -180,10 +180,6 @@ struct bits_image
uint32_t * free_me;
int rowstride; /* in number of uint32_t's */
- pixman_dither_t dither;
- uint32_t dither_offset_y;
- uint32_t dither_offset_x;
-
fetch_scanline_t fetch_scanline_32;
fetch_pixel_32_t fetch_pixel_32;
store_scanline_t store_scanline_32;
@@ -640,11 +636,6 @@ pixman_implementation_t *
_pixman_implementation_create_arm_neon (pixman_implementation_t *fallback);
#endif
-#ifdef USE_ARM_A64_NEON
-pixman_implementation_t *
-_pixman_implementation_create_arm_neon (pixman_implementation_t *fallback);
-#endif
-
#ifdef USE_MIPS_DSPR2
pixman_implementation_t *
_pixman_implementation_create_mips_dspr2 (pixman_implementation_t *fallback);
@@ -1109,19 +1100,16 @@ _pixman_log_error (const char *function,
typedef struct { pixman_fixed_48_16_t v[3]; } pixman_vector_48_16_t;
-PIXMAN_EXPORT
pixman_bool_t
pixman_transform_point_31_16 (const pixman_transform_t *t,
const pixman_vector_48_16_t *v,
pixman_vector_48_16_t *result);
-PIXMAN_EXPORT
void
pixman_transform_point_31_16_3d (const pixman_transform_t *t,
const pixman_vector_48_16_t *v,
pixman_vector_48_16_t *result);
-PIXMAN_EXPORT
void
pixman_transform_point_31_16_affine (const pixman_transform_t *t,
const pixman_vector_48_16_t *v,
Index: xsrc/external/mit/pixman/dist/pixman/pixman.h
diff -u xsrc/external/mit/pixman/dist/pixman/pixman.h:1.8 xsrc/external/mit/pixman/dist/pixman/pixman.h:1.9
--- xsrc/external/mit/pixman/dist/pixman/pixman.h:1.8 Sat Nov 12 03:35:25 2022
+++ xsrc/external/mit/pixman/dist/pixman/pixman.h Sat Dec 17 09:06:34 2022
@@ -127,7 +127,7 @@ typedef pixman_fixed_16_16_t pixman_fixe
#define pixman_fixed_1_minus_e (pixman_fixed_1 - pixman_fixed_e)
#define pixman_fixed_minus_1 (pixman_int_to_fixed(-1))
#define pixman_fixed_to_int(f) ((int) ((f) >> 16))
-#define pixman_int_to_fixed(i) ((pixman_fixed_t) ((uint32_t) (i) << 16))
+#define pixman_int_to_fixed(i) ((pixman_fixed_t) ((i) << 16))
#define pixman_fixed_to_double(f) (double) ((f) / (double) pixman_fixed_1)
#define pixman_double_to_fixed(d) ((pixman_fixed_t) ((d) * 65536.0))
#define pixman_fixed_frac(f) ((f) & pixman_fixed_1_minus_e)
@@ -184,73 +184,42 @@ struct pixman_transform
struct pixman_box16;
typedef union pixman_image pixman_image_t;
-PIXMAN_API
void pixman_transform_init_identity (struct pixman_transform *matrix);
-
-PIXMAN_API
pixman_bool_t pixman_transform_point_3d (const struct pixman_transform *transform,
struct pixman_vector *vector);
-
-PIXMAN_API
pixman_bool_t pixman_transform_point (const struct pixman_transform *transform,
struct pixman_vector *vector);
-
-PIXMAN_API
pixman_bool_t pixman_transform_multiply (struct pixman_transform *dst,
const struct pixman_transform *l,
const struct pixman_transform *r);
-
-PIXMAN_API
void pixman_transform_init_scale (struct pixman_transform *t,
pixman_fixed_t sx,
pixman_fixed_t sy);
-
-PIXMAN_API
pixman_bool_t pixman_transform_scale (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t sx,
pixman_fixed_t sy);
-
-PIXMAN_API
void pixman_transform_init_rotate (struct pixman_transform *t,
pixman_fixed_t cos,
pixman_fixed_t sin);
-
-PIXMAN_API
pixman_bool_t pixman_transform_rotate (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t c,
pixman_fixed_t s);
-
-PIXMAN_API
void pixman_transform_init_translate (struct pixman_transform *t,
pixman_fixed_t tx,
pixman_fixed_t ty);
-
-PIXMAN_API
pixman_bool_t pixman_transform_translate (struct pixman_transform *forward,
struct pixman_transform *reverse,
pixman_fixed_t tx,
pixman_fixed_t ty);
-
-PIXMAN_API
pixman_bool_t pixman_transform_bounds (const struct pixman_transform *matrix,
struct pixman_box16 *b);
-
-PIXMAN_API
pixman_bool_t pixman_transform_invert (struct pixman_transform *dst,
const struct pixman_transform *src);
-
-PIXMAN_API
pixman_bool_t pixman_transform_is_identity (const struct pixman_transform *t);
-
-PIXMAN_API
pixman_bool_t pixman_transform_is_scale (const struct pixman_transform *t);
-
-PIXMAN_API
pixman_bool_t pixman_transform_is_int_translate (const struct pixman_transform *t);
-
-PIXMAN_API
pixman_bool_t pixman_transform_is_inverse (const struct pixman_transform *a,
const struct pixman_transform *b);
@@ -270,70 +239,42 @@ struct pixman_f_transform
double m[3][3];
};
-
-PIXMAN_API
pixman_bool_t pixman_transform_from_pixman_f_transform (struct pixman_transform *t,
const struct pixman_f_transform *ft);
-
-PIXMAN_API
void pixman_f_transform_from_pixman_transform (struct pixman_f_transform *ft,
const struct pixman_transform *t);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_invert (struct pixman_f_transform *dst,
const struct pixman_f_transform *src);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_point (const struct pixman_f_transform *t,
struct pixman_f_vector *v);
-
-PIXMAN_API
void pixman_f_transform_point_3d (const struct pixman_f_transform *t,
struct pixman_f_vector *v);
-
-PIXMAN_API
void pixman_f_transform_multiply (struct pixman_f_transform *dst,
const struct pixman_f_transform *l,
const struct pixman_f_transform *r);
-
-PIXMAN_API
void pixman_f_transform_init_scale (struct pixman_f_transform *t,
double sx,
double sy);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_scale (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double sx,
double sy);
-
-PIXMAN_API
void pixman_f_transform_init_rotate (struct pixman_f_transform *t,
double cos,
double sin);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_rotate (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double c,
double s);
-
-PIXMAN_API
void pixman_f_transform_init_translate (struct pixman_f_transform *t,
double tx,
double ty);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_translate (struct pixman_f_transform *forward,
struct pixman_f_transform *reverse,
double tx,
double ty);
-
-PIXMAN_API
pixman_bool_t pixman_f_transform_bounds (const struct pixman_f_transform *t,
struct pixman_box16 *b);
-
-PIXMAN_API
void pixman_f_transform_init_identity (struct pixman_f_transform *t);
typedef enum
@@ -346,16 +287,6 @@ typedef enum
typedef enum
{
- PIXMAN_DITHER_NONE,
- PIXMAN_DITHER_FAST,
- PIXMAN_DITHER_GOOD,
- PIXMAN_DITHER_BEST,
- PIXMAN_DITHER_ORDERED_BAYER_8,
- PIXMAN_DITHER_ORDERED_BLUE_NOISE_64,
-} pixman_dither_t;
-
-typedef enum
-{
PIXMAN_FILTER_FAST,
PIXMAN_FILTER_GOOD,
PIXMAN_FILTER_BEST,
@@ -493,120 +424,73 @@ typedef enum
/* This function exists only to make it possible to preserve
* the X ABI - it should go away at first opportunity.
*/
-PIXMAN_API
void pixman_region_set_static_pointers (pixman_box16_t *empty_box,
pixman_region16_data_t *empty_data,
pixman_region16_data_t *broken_data);
/* creation/destruction */
-PIXMAN_API
void pixman_region_init (pixman_region16_t *region);
-
-PIXMAN_API
void pixman_region_init_rect (pixman_region16_t *region,
int x,
int y,
unsigned int width,
unsigned int height);
-
-PIXMAN_API
pixman_bool_t pixman_region_init_rects (pixman_region16_t *region,
const pixman_box16_t *boxes,
int count);
-
-PIXMAN_API
-void pixman_region_init_with_extents (pixman_region16_t *region,
- const pixman_box16_t *extents);
-
-PIXMAN_API
+void pixman_region_init_with_extents (pixman_region16_t *region,
+ pixman_box16_t *extents);
void pixman_region_init_from_image (pixman_region16_t *region,
pixman_image_t *image);
-
-PIXMAN_API
void pixman_region_fini (pixman_region16_t *region);
/* manipulation */
-PIXMAN_API
void pixman_region_translate (pixman_region16_t *region,
int x,
int y);
-
-PIXMAN_API
-pixman_bool_t pixman_region_copy (pixman_region16_t *dest,
- const pixman_region16_t *source);
-
-PIXMAN_API
-pixman_bool_t pixman_region_intersect (pixman_region16_t *new_reg,
- const pixman_region16_t *reg1,
- const pixman_region16_t *reg2);
-
-PIXMAN_API
-pixman_bool_t pixman_region_union (pixman_region16_t *new_reg,
- const pixman_region16_t *reg1,
- const pixman_region16_t *reg2);
-
-PIXMAN_API
-pixman_bool_t pixman_region_union_rect (pixman_region16_t *dest,
- const pixman_region16_t *source,
- int x,
- int y,
- unsigned int width,
- unsigned int height);
-
-PIXMAN_API
-pixman_bool_t pixman_region_intersect_rect (pixman_region16_t *dest,
- const pixman_region16_t *source,
- int x,
- int y,
- unsigned int width,
- unsigned int height);
-
-PIXMAN_API
-pixman_bool_t pixman_region_subtract (pixman_region16_t *reg_d,
- const pixman_region16_t *reg_m,
- const pixman_region16_t *reg_s);
-
-PIXMAN_API
-pixman_bool_t pixman_region_inverse (pixman_region16_t *new_reg,
- const pixman_region16_t *reg1,
- const pixman_box16_t *inv_rect);
-
-PIXMAN_API
-pixman_bool_t pixman_region_contains_point (const pixman_region16_t *region,
- int x,
- int y,
- pixman_box16_t *box);
-
-PIXMAN_API
-pixman_region_overlap_t pixman_region_contains_rectangle (const pixman_region16_t *region,
- const pixman_box16_t *prect);
-
-PIXMAN_API
-pixman_bool_t pixman_region_not_empty (const pixman_region16_t *region);
-
-PIXMAN_API
-pixman_box16_t * pixman_region_extents (const pixman_region16_t *region);
-
-PIXMAN_API
-int pixman_region_n_rects (const pixman_region16_t *region);
-
-PIXMAN_API
-pixman_box16_t * pixman_region_rectangles (const pixman_region16_t *region,
- int *n_rects);
-
-PIXMAN_API
-pixman_bool_t pixman_region_equal (const pixman_region16_t *region1,
- const pixman_region16_t *region2);
-
-PIXMAN_API
+pixman_bool_t pixman_region_copy (pixman_region16_t *dest,
+ pixman_region16_t *source);
+pixman_bool_t pixman_region_intersect (pixman_region16_t *new_reg,
+ pixman_region16_t *reg1,
+ pixman_region16_t *reg2);
+pixman_bool_t pixman_region_union (pixman_region16_t *new_reg,
+ pixman_region16_t *reg1,
+ pixman_region16_t *reg2);
+pixman_bool_t pixman_region_union_rect (pixman_region16_t *dest,
+ pixman_region16_t *source,
+ int x,
+ int y,
+ unsigned int width,
+ unsigned int height);
+pixman_bool_t pixman_region_intersect_rect (pixman_region16_t *dest,
+ pixman_region16_t *source,
+ int x,
+ int y,
+ unsigned int width,
+ unsigned int height);
+pixman_bool_t pixman_region_subtract (pixman_region16_t *reg_d,
+ pixman_region16_t *reg_m,
+ pixman_region16_t *reg_s);
+pixman_bool_t pixman_region_inverse (pixman_region16_t *new_reg,
+ pixman_region16_t *reg1,
+ pixman_box16_t *inv_rect);
+pixman_bool_t pixman_region_contains_point (pixman_region16_t *region,
+ int x,
+ int y,
+ pixman_box16_t *box);
+pixman_region_overlap_t pixman_region_contains_rectangle (pixman_region16_t *region,
+ pixman_box16_t *prect);
+pixman_bool_t pixman_region_not_empty (pixman_region16_t *region);
+pixman_box16_t * pixman_region_extents (pixman_region16_t *region);
+int pixman_region_n_rects (pixman_region16_t *region);
+pixman_box16_t * pixman_region_rectangles (pixman_region16_t *region,
+ int *n_rects);
+pixman_bool_t pixman_region_equal (pixman_region16_t *region1,
+ pixman_region16_t *region2);
pixman_bool_t pixman_region_selfcheck (pixman_region16_t *region);
-
-PIXMAN_API
-void pixman_region_reset (pixman_region16_t *region,
- const pixman_box16_t *box);
-
-PIXMAN_API
+void pixman_region_reset (pixman_region16_t *region,
+ pixman_box16_t *box);
void pixman_region_clear (pixman_region16_t *region);
/*
* 32 bit regions
@@ -640,119 +524,72 @@ struct pixman_region32
};
/* creation/destruction */
-PIXMAN_API
void pixman_region32_init (pixman_region32_t *region);
-
-PIXMAN_API
void pixman_region32_init_rect (pixman_region32_t *region,
int x,
int y,
unsigned int width,
unsigned int height);
-
-PIXMAN_API
pixman_bool_t pixman_region32_init_rects (pixman_region32_t *region,
const pixman_box32_t *boxes,
int count);
-
-PIXMAN_API
-void pixman_region32_init_with_extents (pixman_region32_t *region,
- const pixman_box32_t *extents);
-
-PIXMAN_API
+void pixman_region32_init_with_extents (pixman_region32_t *region,
+ pixman_box32_t *extents);
void pixman_region32_init_from_image (pixman_region32_t *region,
pixman_image_t *image);
-
-PIXMAN_API
void pixman_region32_fini (pixman_region32_t *region);
/* manipulation */
-PIXMAN_API
void pixman_region32_translate (pixman_region32_t *region,
int x,
int y);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_copy (pixman_region32_t *dest,
- const pixman_region32_t *source);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_intersect (pixman_region32_t *new_reg,
- const pixman_region32_t *reg1,
- const pixman_region32_t *reg2);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_union (pixman_region32_t *new_reg,
- const pixman_region32_t *reg1,
- const pixman_region32_t *reg2);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_intersect_rect (pixman_region32_t *dest,
- const pixman_region32_t *source,
- int x,
- int y,
- unsigned int width,
- unsigned int height);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_union_rect (pixman_region32_t *dest,
- const pixman_region32_t *source,
- int x,
- int y,
- unsigned int width,
- unsigned int height);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_subtract (pixman_region32_t *reg_d,
- const pixman_region32_t *reg_m,
- const pixman_region32_t *reg_s);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_inverse (pixman_region32_t *new_reg,
- const pixman_region32_t *reg1,
- const pixman_box32_t *inv_rect);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_contains_point (const pixman_region32_t *region,
- int x,
- int y,
- pixman_box32_t *box);
-
-PIXMAN_API
-pixman_region_overlap_t pixman_region32_contains_rectangle (const pixman_region32_t *region,
- const pixman_box32_t *prect);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_not_empty (const pixman_region32_t *region);
-
-PIXMAN_API
-pixman_box32_t * pixman_region32_extents (const pixman_region32_t *region);
-
-PIXMAN_API
-int pixman_region32_n_rects (const pixman_region32_t *region);
-
-PIXMAN_API
-pixman_box32_t * pixman_region32_rectangles (const pixman_region32_t *region,
- int *n_rects);
-
-PIXMAN_API
-pixman_bool_t pixman_region32_equal (const pixman_region32_t *region1,
- const pixman_region32_t *region2);
-
-PIXMAN_API
+pixman_bool_t pixman_region32_copy (pixman_region32_t *dest,
+ pixman_region32_t *source);
+pixman_bool_t pixman_region32_intersect (pixman_region32_t *new_reg,
+ pixman_region32_t *reg1,
+ pixman_region32_t *reg2);
+pixman_bool_t pixman_region32_union (pixman_region32_t *new_reg,
+ pixman_region32_t *reg1,
+ pixman_region32_t *reg2);
+pixman_bool_t pixman_region32_intersect_rect (pixman_region32_t *dest,
+ pixman_region32_t *source,
+ int x,
+ int y,
+ unsigned int width,
+ unsigned int height);
+pixman_bool_t pixman_region32_union_rect (pixman_region32_t *dest,
+ pixman_region32_t *source,
+ int x,
+ int y,
+ unsigned int width,
+ unsigned int height);
+pixman_bool_t pixman_region32_subtract (pixman_region32_t *reg_d,
+ pixman_region32_t *reg_m,
+ pixman_region32_t *reg_s);
+pixman_bool_t pixman_region32_inverse (pixman_region32_t *new_reg,
+ pixman_region32_t *reg1,
+ pixman_box32_t *inv_rect);
+pixman_bool_t pixman_region32_contains_point (pixman_region32_t *region,
+ int x,
+ int y,
+ pixman_box32_t *box);
+pixman_region_overlap_t pixman_region32_contains_rectangle (pixman_region32_t *region,
+ pixman_box32_t *prect);
+pixman_bool_t pixman_region32_not_empty (pixman_region32_t *region);
+pixman_box32_t * pixman_region32_extents (pixman_region32_t *region);
+int pixman_region32_n_rects (pixman_region32_t *region);
+pixman_box32_t * pixman_region32_rectangles (pixman_region32_t *region,
+ int *n_rects);
+pixman_bool_t pixman_region32_equal (pixman_region32_t *region1,
+ pixman_region32_t *region2);
pixman_bool_t pixman_region32_selfcheck (pixman_region32_t *region);
-
-PIXMAN_API
-void pixman_region32_reset (pixman_region32_t *region,
- const pixman_box32_t *box);
-
-PIXMAN_API
+void pixman_region32_reset (pixman_region32_t *region,
+ pixman_box32_t *box);
void pixman_region32_clear (pixman_region32_t *region);
/* Copy / Fill / Misc */
-PIXMAN_API
pixman_bool_t pixman_blt (uint32_t *src_bits,
uint32_t *dst_bits,
int src_stride,
@@ -765,8 +602,6 @@ pixman_bool_t pixman_blt
int dest_y,
int width,
int height);
-
-PIXMAN_API
pixman_bool_t pixman_fill (uint32_t *bits,
int stride,
int bpp,
@@ -776,11 +611,7 @@ pixman_bool_t pixman_fill
int height,
uint32_t _xor);
-
-PIXMAN_API
int pixman_version (void);
-
-PIXMAN_API
const char* pixman_version_string (void);
/*
@@ -946,44 +777,30 @@ typedef enum {
} pixman_format_code_t;
/* Querying supported format values. */
-PIXMAN_API
pixman_bool_t pixman_format_supported_destination (pixman_format_code_t format);
-
-PIXMAN_API
pixman_bool_t pixman_format_supported_source (pixman_format_code_t format);
/* Constructors */
-PIXMAN_API
pixman_image_t *pixman_image_create_solid_fill (const pixman_color_t *color);
-
-PIXMAN_API
pixman_image_t *pixman_image_create_linear_gradient (const pixman_point_fixed_t *p1,
const pixman_point_fixed_t *p2,
const pixman_gradient_stop_t *stops,
int n_stops);
-
-PIXMAN_API
pixman_image_t *pixman_image_create_radial_gradient (const pixman_point_fixed_t *inner,
const pixman_point_fixed_t *outer,
pixman_fixed_t inner_radius,
pixman_fixed_t outer_radius,
const pixman_gradient_stop_t *stops,
int n_stops);
-
-PIXMAN_API
pixman_image_t *pixman_image_create_conical_gradient (const pixman_point_fixed_t *center,
pixman_fixed_t angle,
const pixman_gradient_stop_t *stops,
int n_stops);
-
-PIXMAN_API
pixman_image_t *pixman_image_create_bits (pixman_format_code_t format,
int width,
int height,
uint32_t *bits,
int rowstride_bytes);
-
-PIXMAN_API
pixman_image_t *pixman_image_create_bits_no_clear (pixman_format_code_t format,
int width,
int height,
@@ -991,99 +808,48 @@ pixman_image_t *pixman_image_create_bits
int rowstride_bytes);
/* Destructor */
-PIXMAN_API
pixman_image_t *pixman_image_ref (pixman_image_t *image);
-
-PIXMAN_API
pixman_bool_t pixman_image_unref (pixman_image_t *image);
-
-PIXMAN_API
void pixman_image_set_destroy_function (pixman_image_t *image,
pixman_image_destroy_func_t function,
void *data);
-
-PIXMAN_API
void * pixman_image_get_destroy_data (pixman_image_t *image);
/* Set properties */
-PIXMAN_API
pixman_bool_t pixman_image_set_clip_region (pixman_image_t *image,
pixman_region16_t *region);
-
-PIXMAN_API
pixman_bool_t pixman_image_set_clip_region32 (pixman_image_t *image,
pixman_region32_t *region);
-
-PIXMAN_API
void pixman_image_set_has_client_clip (pixman_image_t *image,
pixman_bool_t clien_clip);
-
-PIXMAN_API
pixman_bool_t pixman_image_set_transform (pixman_image_t *image,
const pixman_transform_t *transform);
-
-PIXMAN_API
void pixman_image_set_repeat (pixman_image_t *image,
pixman_repeat_t repeat);
-
-PIXMAN_API
-void pixman_image_set_dither (pixman_image_t *image,
- pixman_dither_t dither);
-
-PIXMAN_API
-void pixman_image_set_dither_offset (pixman_image_t *image,
- int offset_x,
- int offset_y);
-
-PIXMAN_API
pixman_bool_t pixman_image_set_filter (pixman_image_t *image,
pixman_filter_t filter,
const pixman_fixed_t *filter_params,
int n_filter_params);
-
-PIXMAN_API
void pixman_image_set_source_clipping (pixman_image_t *image,
pixman_bool_t source_clipping);
-
-PIXMAN_API
void pixman_image_set_alpha_map (pixman_image_t *image,
pixman_image_t *alpha_map,
int16_t x,
int16_t y);
-
-PIXMAN_API
void pixman_image_set_component_alpha (pixman_image_t *image,
pixman_bool_t component_alpha);
-
-PIXMAN_API
pixman_bool_t pixman_image_get_component_alpha (pixman_image_t *image);
-
-PIXMAN_API
void pixman_image_set_accessors (pixman_image_t *image,
pixman_read_memory_func_t read_func,
pixman_write_memory_func_t write_func);
-
-PIXMAN_API
void pixman_image_set_indexed (pixman_image_t *image,
const pixman_indexed_t *indexed);
-
-PIXMAN_API
uint32_t *pixman_image_get_data (pixman_image_t *image);
-
-PIXMAN_API
int pixman_image_get_width (pixman_image_t *image);
-
-PIXMAN_API
int pixman_image_get_height (pixman_image_t *image);
-
-PIXMAN_API
int pixman_image_get_stride (pixman_image_t *image); /* in bytes */
-
-PIXMAN_API
int pixman_image_get_depth (pixman_image_t *image);
-
-PIXMAN_API
pixman_format_code_t pixman_image_get_format (pixman_image_t *image);
typedef enum
@@ -1101,7 +867,6 @@ typedef enum
/* Create the parameter list for a SEPARABLE_CONVOLUTION filter
* with the given kernels and scale parameters.
*/
-PIXMAN_API
pixman_fixed_t *
pixman_filter_create_separable_convolution (int *n_values,
pixman_fixed_t scale_x,
@@ -1113,15 +878,11 @@ pixman_filter_create_separable_convoluti
int subsample_bits_x,
int subsample_bits_y);
-
-PIXMAN_API
pixman_bool_t pixman_image_fill_rectangles (pixman_op_t op,
pixman_image_t *image,
const pixman_color_t *color,
int n_rects,
const pixman_rectangle16_t *rects);
-
-PIXMAN_API
pixman_bool_t pixman_image_fill_boxes (pixman_op_t op,
pixman_image_t *dest,
const pixman_color_t *color,
@@ -1129,7 +890,6 @@ pixman_bool_t pixman_image_fill_boxes
const pixman_box32_t *boxes);
/* Composite */
-PIXMAN_API
pixman_bool_t pixman_compute_composite_region (pixman_region16_t *region,
pixman_image_t *src_image,
pixman_image_t *mask_image,
@@ -1142,8 +902,6 @@ pixman_bool_t pixman_compute_composite_r
int16_t dest_y,
uint16_t width,
uint16_t height);
-
-PIXMAN_API
void pixman_image_composite (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *mask,
@@ -1156,8 +914,6 @@ void pixman_image_composite
int16_t dest_y,
uint16_t width,
uint16_t height);
-
-PIXMAN_API
void pixman_image_composite32 (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *mask,
@@ -1189,7 +945,6 @@ void pixman_image_composite32
* Since 0.21.2, pixman doesn't do these workarounds anymore, so now this
* function is a no-op.
*/
-PIXMAN_API
void pixman_disable_out_of_bounds_workaround (void);
/*
@@ -1202,48 +957,29 @@ typedef struct
const void *glyph;
} pixman_glyph_t;
-PIXMAN_API
pixman_glyph_cache_t *pixman_glyph_cache_create (void);
-
-PIXMAN_API
void pixman_glyph_cache_destroy (pixman_glyph_cache_t *cache);
-
-PIXMAN_API
void pixman_glyph_cache_freeze (pixman_glyph_cache_t *cache);
-
-PIXMAN_API
void pixman_glyph_cache_thaw (pixman_glyph_cache_t *cache);
-
-PIXMAN_API
const void * pixman_glyph_cache_lookup (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key);
-
-PIXMAN_API
const void * pixman_glyph_cache_insert (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key,
int origin_x,
int origin_y,
pixman_image_t *glyph_image);
-
-PIXMAN_API
void pixman_glyph_cache_remove (pixman_glyph_cache_t *cache,
void *font_key,
void *glyph_key);
-
-PIXMAN_API
void pixman_glyph_get_extents (pixman_glyph_cache_t *cache,
int n_glyphs,
pixman_glyph_t *glyphs,
pixman_box32_t *extents);
-
-PIXMAN_API
pixman_format_code_t pixman_glyph_get_mask_format (pixman_glyph_cache_t *cache,
int n_glyphs,
const pixman_glyph_t *glyphs);
-
-PIXMAN_API
void pixman_composite_glyphs (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *dest,
@@ -1259,8 +995,6 @@ void pixman_composite_g
pixman_glyph_cache_t *cache,
int n_glyphs,
const pixman_glyph_t *glyphs);
-
-PIXMAN_API
void pixman_composite_glyphs_no_mask (pixman_op_t op,
pixman_image_t *src,
pixman_image_t *dest,
@@ -1328,19 +1062,12 @@ struct pixman_trap
pixman_span_fix_t top, bot;
};
-PIXMAN_API
pixman_fixed_t pixman_sample_ceil_y (pixman_fixed_t y,
int bpp);
-
-PIXMAN_API
pixman_fixed_t pixman_sample_floor_y (pixman_fixed_t y,
int bpp);
-
-PIXMAN_API
void pixman_edge_step (pixman_edge_t *e,
int n);
-
-PIXMAN_API
void pixman_edge_init (pixman_edge_t *e,
int bpp,
pixman_fixed_t y_start,
@@ -1348,43 +1075,31 @@ void pixman_edge_init
pixman_fixed_t y_top,
pixman_fixed_t x_bot,
pixman_fixed_t y_bot);
-
-PIXMAN_API
void pixman_line_fixed_edge_init (pixman_edge_t *e,
int bpp,
pixman_fixed_t y,
const pixman_line_fixed_t *line,
int x_off,
int y_off);
-
-PIXMAN_API
void pixman_rasterize_edges (pixman_image_t *image,
pixman_edge_t *l,
pixman_edge_t *r,
pixman_fixed_t t,
pixman_fixed_t b);
-
-PIXMAN_API
void pixman_add_traps (pixman_image_t *image,
int16_t x_off,
int16_t y_off,
int ntrap,
const pixman_trap_t *traps);
-
-PIXMAN_API
void pixman_add_trapezoids (pixman_image_t *image,
int16_t x_off,
int y_off,
int ntraps,
const pixman_trapezoid_t *traps);
-
-PIXMAN_API
void pixman_rasterize_trapezoid (pixman_image_t *image,
const pixman_trapezoid_t *trap,
int x_off,
int y_off);
-
-PIXMAN_API
void pixman_composite_trapezoids (pixman_op_t op,
pixman_image_t * src,
pixman_image_t * dst,
@@ -1395,8 +1110,6 @@ void pixman_composite_trapezoid
int y_dst,
int n_traps,
const pixman_trapezoid_t * traps);
-
-PIXMAN_API
void pixman_composite_triangles (pixman_op_t op,
pixman_image_t * src,
pixman_image_t * dst,
@@ -1407,8 +1120,6 @@ void pixman_composite_triangles
int y_dst,
int n_tris,
const pixman_triangle_t * tris);
-
-PIXMAN_API
void pixman_add_triangles (pixman_image_t *image,
int32_t x_off,
int32_t y_off,
Index: xsrc/external/mit/pixman/include/config.h
diff -u xsrc/external/mit/pixman/include/config.h:1.24 xsrc/external/mit/pixman/include/config.h:1.25
--- xsrc/external/mit/pixman/include/config.h:1.24 Sat Nov 12 03:35:26 2022
+++ xsrc/external/mit/pixman/include/config.h Sat Dec 17 09:06:34 2022
@@ -92,7 +92,7 @@
#define PACKAGE_NAME "pixman"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "pixman 0.42.2"
+#define PACKAGE_STRING "pixman 0.38.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pixman"
@@ -104,7 +104,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.42.2"
+#define PACKAGE_VERSION "0.38.4"
/* enable output that can be piped to gnuplot */
/* #undef PIXMAN_GNUPLOT */
@@ -160,7 +160,7 @@
/* #undef USE_X86_MMX */
/* Version number of package */
-#define VERSION "0.42.2"
+#define VERSION "0.38.4"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */