aboutsummaryrefslogtreecommitdiff
path: root/pixman
diff options
context:
space:
mode:
Diffstat (limited to 'pixman')
-rw-r--r--pixman/pixman/config.h229
-rw-r--r--pixman/pixman/makefile46
-rw-r--r--pixman/pixman/pixman-compiler.h3
-rw-r--r--pixman/pixman/pixman-glyph.c2
-rw-r--r--pixman/pixman/pixman-implementation.c2
-rw-r--r--pixman/pixman/pixman-mmx.c17
-rw-r--r--pixman/pixman/pixman-sse2.c52
-rw-r--r--pixman/pixman/pixman-trap.c2
-rw-r--r--pixman/pixman/pixman-version.h50
9 files changed, 366 insertions, 37 deletions
diff --git a/pixman/pixman/config.h b/pixman/pixman/config.h
new file mode 100644
index 000000000..ee9aef828
--- /dev/null
+++ b/pixman/pixman/config.h
@@ -0,0 +1,229 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Include compose table cache support */
+#define COMPOSECACHE 1
+
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <endian.h> header file. */
+#define HAVE_ENDIAN_H 1
+
+/* Use dlopen to load shared libraries */
+#define HAVE_DLOPEN 1
+
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* launchd support available */
+/* #undef HAVE_LAUNCHD */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `poll' function. */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Use shl_load to load shared libraries */
+/* #undef HAVE_SHL_LOAD */
+
+/* Define to 1 if the system has the type `socklen_t'. */
+#define HAVE_SOCKLEN_T 0
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Support IPv6 for TCP connections */
+/* #undef IPv6 */
+
+/* Support dynamically loaded font modules */
+#define LOADABLEFONTS 1
+
+/* Support os-specific local connections */
+/* #undef LOCALCONN */
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
+/* Disable XLOCALEDIR environment variable */
+#define NO_XLOCALEDIR 1
+
+/* Name of package */
+#define PACKAGE "pixman"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""sandmann@daimi.au.dk""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "pixman"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "pixman 0.19.1"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "pixman"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.19.1"
+
+/* Major version of this package */
+#define PACKAGE_VERSION_MAJOR 0
+
+/* Minor version of this package */
+#define PACKAGE_VERSION_MINOR 19
+
+/* Patch version of this package */
+#define PACKAGE_VERSION_PATCHLEVEL 1
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Support TCP socket connections */
+#define TCPCONN 1
+
+/* launchd support available */
+/* #undef TRANS_REOPEN */
+
+/* use MMX compiler intrinsics */
+/*#define USE_X86_MMX 1*/
+
+/* Support UNIX socket connections */
+#define UNIXCONN 1
+
+/* Split some i18n functions into loadable modules */
+/* #undef USE_DYNAMIC_LC */
+
+/* Use the X cursor library to load cursors */
+#define USE_DYNAMIC_XCURSOR 1
+
+/* use SSE2 compiler intrinsics */
+/*#define USE_SSE2 1*/
+
+/* use VMX compiler intrinsics */
+#undef USE_VMX
+
+/* poll() function is available */
+#define USE_POLL 1
+
+/* Use XCB for low-level protocol implementation */
+#define USE_XCB 1
+
+/* Version number of package */
+#define VERSION "0.15.18"
+
+/* Support bdf format bitmap font files */
+#define XFONT_BDFFORMAT 1
+
+/* Location of libX11 data */
+#define X11_DATADIR "/usr/share/X11"
+
+/* Location of libX11 library data */
+#define X11_LIBDIR "/usr/lib/X11"
+
+/* Include support for XCMS */
+#define XCMS 1
+
+/* Location of error message database */
+#define XERRORDB "XErrorDB"
+
+/* Enable XF86BIGFONT extension */
+/* #undef XF86BIGFONT */
+
+/* Use XKB */
+#define XKB 1
+
+/* Location of keysym database */
+#define XKEYSYMDB "XKeysymDB"
+
+/* support for X Locales */
+#define XLOCALE 1
+
+/* Location of libX11 locale data */
+#define XLOCALEDATADIR "locale"
+
+/* Location of libX11 locale data */
+#define XLOCALEDIR "locale"
+
+/* Location of libX11 locale libraries */
+#define XLOCALELIBDIR "locale"
+
+/* Whether libX11 is compiled with thread support */
+#define XTHREADS /**/
+
+/* Whether libX11 needs to use MT safe API's */
+#define XUSE_MTSAFE_API /**/
+
+/* Enable GNU and other extensions to the C environment for glibc */
+/* #undef _GNU_SOURCE */
+
+/* Support bitmap font files */
+#define XFONT_BITMAP 1
+
+/* Support built-in fonts */
+#define XFONT_BUILTINS 1
+
+/* Support the X Font Services Protocol */
+#define XFONT_FC 1
+
+/* Support fonts in files */
+#define XFONT_FONTFILE 1
+
+/* Support FreeType rasterizer for nearly all font file formats */
+#define XFONT_FREETYPE 1
+
+/* Support pcf format bitmap font files */
+#define XFONT_PCFFORMAT 1
+
+/* Support snf format bitmap font files */
+#define XFONT_SNFFORMAT 1
+
+/* Support Speedo font files */
+#define XFONT_SPEEDO 1
+
+/* Support IBM Type 1 rasterizer for Type1 font files */
+#define XFONT_TYPE1 1
+
+/* Support bzip2 for bitmap fonts */
+/* #undef X_BZIP2_FONT_COMPRESSION */
+
+/* Support gzip for bitmap fonts */
+#define X_GZIP_FONT_COMPRESSION 1
+
+#define __inline__ __inline
diff --git a/pixman/pixman/makefile b/pixman/pixman/makefile
new file mode 100644
index 000000000..f971e5167
--- /dev/null
+++ b/pixman/pixman/makefile
@@ -0,0 +1,46 @@
+LIBRARY = libpixman-1
+
+INCLUDES += $(OBJDIR)
+
+CSRCS = \
+ pixman.c \
+ pixman-access.c \
+ pixman-access-accessors.c \
+ pixman-bits-image.c \
+ pixman-combine32.c \
+ pixman-combine-float.c \
+ pixman-conical-gradient.c \
+ pixman-x86.c \
+ pixman-mips.c \
+ pixman-arm.c \
+ pixman-ppc.c \
+ pixman-edge.c \
+ pixman-edge-accessors.c \
+ pixman-fast-path.c \
+ pixman-glyph.c \
+ pixman-general.c \
+ pixman-gradient-walker.c \
+ pixman-image.c \
+ pixman-implementation.c \
+ pixman-linear-gradient.c \
+ pixman-matrix.c \
+ pixman-noop.c \
+ pixman-radial-gradient.c \
+ pixman-region16.c \
+ pixman-region32.c \
+ pixman-solid-fill.c \
+ pixman-timer.c \
+ pixman-trap.c \
+ pixman-utils.c \
+ $(NULL)
+
+## mmx code
+ifndef IS64
+CSRCS += pixman-mmx.c
+DEFINES+=USE_X86_MMX
+endif
+
+# sse2 code
+CSRCS += pixman-sse2.c
+DEFINES+=USE_SSE2
+
diff --git a/pixman/pixman/pixman-compiler.h b/pixman/pixman/pixman-compiler.h
index 2489adc38..938ebc21a 100644
--- a/pixman/pixman/pixman-compiler.h
+++ b/pixman/pixman/pixman-compiler.h
@@ -122,6 +122,9 @@
# define _NO_W32_PSEUDO_MODIFIERS
# include <windows.h>
+#ifdef IN
+#undef IN
+#endif
# define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \
static volatile int tls_ ## name ## _initialized = 0; \
diff --git a/pixman/pixman/pixman-glyph.c b/pixman/pixman/pixman-glyph.c
index 96a349ab4..60eb10914 100644
--- a/pixman/pixman/pixman-glyph.c
+++ b/pixman/pixman/pixman-glyph.c
@@ -88,7 +88,7 @@ hash (const void *font_key, const void *glyph_key)
key = key + (key << 3) + (key << 11);
key = key ^ (key >> 16);
- return key;
+ return key&0xffffffff;
}
static glyph_t *
diff --git a/pixman/pixman/pixman-implementation.c b/pixman/pixman/pixman-implementation.c
index 588405451..f82c915dc 100644
--- a/pixman/pixman/pixman-implementation.c
+++ b/pixman/pixman/pixman-implementation.c
@@ -33,7 +33,7 @@ _pixman_implementation_create (pixman_implementation_t *fallback,
{
pixman_implementation_t *imp;
- assert (fast_paths);
+ assert (fast_paths!=NULL);
if ((imp = malloc (sizeof (pixman_implementation_t))))
{
diff --git a/pixman/pixman/pixman-mmx.c b/pixman/pixman/pixman-mmx.c
index 05c48a4fe..b663ff7a5 100644
--- a/pixman/pixman/pixman-mmx.c
+++ b/pixman/pixman/pixman-mmx.c
@@ -1911,7 +1911,7 @@ mmx_composite_over_8888_0565 (pixman_implementation_t *imp,
vdest = pack_565 (
over (vsrc, expand_alpha (vsrc), vdest), vdest, 0);
- *dst = to_uint64 (vdest);
+ *dst = to_uint64 (vdest)&0xffff;
w--;
dst++;
@@ -1955,7 +1955,7 @@ mmx_composite_over_8888_0565 (pixman_implementation_t *imp,
vdest = pack_565 (over (vsrc, expand_alpha (vsrc), vdest), vdest, 0);
- *dst = to_uint64 (vdest);
+ *dst = to_uint64 (vdest) & 0xffff;
w--;
dst++;
@@ -2157,7 +2157,7 @@ mmx_fill (pixman_implementation_t *imp,
if (w >= 2 && ((uintptr_t)d & 3))
{
- *(uint16_t *)d = filler;
+ *(uint16_t *)d = (filler & 0xffff);
w -= 2;
d += 2;
}
@@ -2210,7 +2210,7 @@ mmx_fill (pixman_implementation_t *imp,
}
if (w >= 2)
{
- *(uint16_t *)d = filler;
+ *(uint16_t *)d = (filler & 0xffff);
w -= 2;
d += 2;
}
@@ -2494,7 +2494,7 @@ mmx_composite_over_n_8_0565 (pixman_implementation_t *imp,
vm3 = to_m64 (m3);
v3 = in_over (vsrc, vsrca, expand_alpha_rev (vm3), v3);
- *(__m64 *)dst = pack_4x565 (v0, v1, v2, v3);;
+ *(__m64 *)dst = pack_4x565 (v0, v1, v2, v3);
}
w -= 4;
@@ -3678,13 +3678,14 @@ do { \
__m64 b_lo = _mm_mullo_pi16 (_mm_unpacklo_pi8 (b, mm_zero), mm_wb); \
__m64 hi = _mm_add_pi16 (t_hi, b_hi); \
__m64 lo = _mm_add_pi16 (t_lo, b_lo); \
+ __m64 mm_wh,p,q;\
/* calculate horizontal weights */ \
- __m64 mm_wh = _mm_add_pi16 (mm_addc7, _mm_xor_si64 (mm_xorc7, \
+ mm_wh = _mm_add_pi16 (mm_addc7, _mm_xor_si64 (mm_xorc7, \
_mm_srli_pi16 (mm_x, \
16 - BILINEAR_INTERPOLATION_BITS))); \
/* horizontal interpolation */ \
- __m64 p = _mm_unpacklo_pi16 (lo, hi); \
- __m64 q = _mm_unpackhi_pi16 (lo, hi); \
+ p = _mm_unpacklo_pi16 (lo, hi); \
+ q = _mm_unpackhi_pi16 (lo, hi); \
vx += unit_x; \
lo = _mm_madd_pi16 (p, mm_wh); \
hi = _mm_madd_pi16 (q, mm_wh); \
diff --git a/pixman/pixman/pixman-sse2.c b/pixman/pixman/pixman-sse2.c
index 895510372..f3128c398 100644
--- a/pixman/pixman/pixman-sse2.c
+++ b/pixman/pixman/pixman-sse2.c
@@ -3377,14 +3377,14 @@ sse2_fill (pixman_implementation_t *imp,
if (w >= 1 && ((uintptr_t)d & 1))
{
- *(uint8_t *)d = filler;
+ *(uint8_t *)d = filler&0xff;
w -= 1;
d += 1;
}
while (w >= 2 && ((uintptr_t)d & 3))
{
- *(uint16_t *)d = filler;
+ *(uint16_t *)d = filler&0xffff;
w -= 2;
d += 2;
}
@@ -3450,14 +3450,14 @@ sse2_fill (pixman_implementation_t *imp,
if (w >= 2)
{
- *(uint16_t *)d = filler;
+ *(uint16_t *)d = filler&0xffff;
w -= 2;
d += 2;
}
if (w >= 1)
{
- *(uint8_t *)d = filler;
+ *(uint8_t *)d = filler&0xff;
w -= 1;
d += 1;
}
@@ -5562,20 +5562,20 @@ FAST_NEAREST_MAINLOOP_COMMON (sse2_8888_n_8888_normal_OVER,
/***********************************************************************************/
# define BILINEAR_DECLARE_VARIABLES \
- const __m128i xmm_wt = _mm_set_epi16 (wt, wt, wt, wt, wt, wt, wt, wt); \
- const __m128i xmm_wb = _mm_set_epi16 (wb, wb, wb, wb, wb, wb, wb, wb); \
+ const __m128i xmm_wt = _mm_set_epi16(wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff); \
+ const __m128i xmm_wb = _mm_set_epi16(wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff); \
const __m128i xmm_addc = _mm_set_epi16 (0, 1, 0, 1, 0, 1, 0, 1); \
- const __m128i xmm_ux1 = _mm_set_epi16 (unit_x, -unit_x, unit_x, -unit_x, \
- unit_x, -unit_x, unit_x, -unit_x); \
- const __m128i xmm_ux4 = _mm_set_epi16 (unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4); \
+ const __m128i xmm_ux1 = _mm_set_epi16 ((unit_x)&0xffff, (-unit_x)&0xffff, (unit_x)&0xffff, (-unit_x)&0xffff, \
+ (unit_x)&0xffff, (-unit_x)&0xffff, (unit_x)&0xffff, (-unit_x)&0xffff); \
+ const __m128i xmm_ux4 = _mm_set_epi16 ((unit_x * 4)&0xffff, (-unit_x * 4)&0xffff, \
+ (unit_x * 4)&0xffff, (-unit_x * 4)&0xffff, \
+ (unit_x * 4)&0xffff, (-unit_x * 4)&0xffff, \
+ (unit_x * 4)&0xffff, (-unit_x * 4)&0xffff); \
const __m128i xmm_zero = _mm_setzero_si128 (); \
- __m128i xmm_x = _mm_set_epi16 (vx + unit_x * 3, -(vx + 1) - unit_x * 3, \
- vx + unit_x * 2, -(vx + 1) - unit_x * 2, \
- vx + unit_x * 1, -(vx + 1) - unit_x * 1, \
- vx + unit_x * 0, -(vx + 1) - unit_x * 0); \
+ __m128i xmm_x = _mm_set_epi16((vx + unit_x * 3) & 0xffff, (-(vx + 1) - unit_x * 3) & 0xffff, \
+ (vx + unit_x * 2) & 0xffff, (-(vx + 1) - unit_x * 2) & 0xffff, \
+ (vx + unit_x * 1) & 0xffff, (-(vx + 1) - unit_x * 1) & 0xffff, \
+ (vx + unit_x * 0) & 0xffff, (-(vx + 1) - unit_x * 0) & 0xffff); \
__m128i xmm_wh_state;
#define BILINEAR_INTERPOLATE_ONE_PIXEL_HELPER(pix, phase_) \
@@ -5610,18 +5610,18 @@ do { \
#else /************************************************************************/
# define BILINEAR_DECLARE_VARIABLES \
- const __m128i xmm_wt = _mm_set_epi16 (wt, wt, wt, wt, wt, wt, wt, wt); \
- const __m128i xmm_wb = _mm_set_epi16 (wb, wb, wb, wb, wb, wb, wb, wb); \
+ const __m128i xmm_wt = _mm_set_epi16(wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff, wt & 0xffff); \
+ const __m128i xmm_wb = _mm_set_epi16(wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff, wb & 0xffff); \
const __m128i xmm_addc = _mm_set_epi16 (0, 1, 0, 1, 0, 1, 0, 1); \
- const __m128i xmm_ux1 = _mm_set_epi16 (unit_x, -unit_x, unit_x, -unit_x, \
- unit_x, -unit_x, unit_x, -unit_x); \
- const __m128i xmm_ux4 = _mm_set_epi16 (unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4, \
- unit_x * 4, -unit_x * 4); \
+ const __m128i xmm_ux1 = _mm_set_epi16((unit_x) & 0xffff, (-unit_x) & 0xffff, (unit_x) & 0xffff, (-unit_x) & 0xffff, \
+ (unit_x) & 0xffff, (-unit_x) & 0xffff, (unit_x) & 0xffff, (-unit_x) & 0xffff); \
+ const __m128i xmm_ux4 = _mm_set_epi16((unit_x * 4) & 0xffff, (-unit_x * 4) & 0xffff, \
+ (unit_x * 4) & 0xffff, (-unit_x * 4) & 0xffff, \
+ (unit_x * 4) & 0xffff, (-unit_x * 4) & 0xffff, \
+ (unit_x * 4) & 0xffff, (-unit_x * 4) & 0xffff); \
const __m128i xmm_zero = _mm_setzero_si128 (); \
- __m128i xmm_x = _mm_set_epi16 (vx, -(vx + 1), vx, -(vx + 1), \
- vx, -(vx + 1), vx, -(vx + 1))
+ __m128i xmm_x = _mm_set_epi16 (vx&0xffff, (-(vx + 1))&0xffff, vx&0xffff, (-(vx + 1))&0xffff, \
+ vx&0xffff, (-(vx + 1))&0xffff, vx&0xffff, (-(vx + 1))&0xffff)
#define BILINEAR_INTERPOLATE_ONE_PIXEL_HELPER(pix, phase) \
do { \
diff --git a/pixman/pixman/pixman-trap.c b/pixman/pixman/pixman-trap.c
index 91766fdbf..7ccf91be3 100644
--- a/pixman/pixman/pixman-trap.c
+++ b/pixman/pixman/pixman-trap.c
@@ -138,7 +138,7 @@ _pixman_edge_multi_init (pixman_edge_t * e,
if (ne > 0)
{
- int nx = ne / e->dy;
+ pixman_fixed_48_16_t nx = ne / e->dy;
ne -= nx * (pixman_fixed_48_16_t)e->dy;
stepx += nx * e->signdx;
}
diff --git a/pixman/pixman/pixman-version.h b/pixman/pixman/pixman-version.h
new file mode 100644
index 000000000..70642e961
--- /dev/null
+++ b/pixman/pixman/pixman-version.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright © 2008 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Author: Carl D. Worth <cworth@cworth.org>
+ */
+
+#ifndef PIXMAN_VERSION_H__
+#define PIXMAN_VERSION_H__
+
+#ifndef PIXMAN_H__
+# error pixman-version.h should only be included by pixman.h
+#endif
+
+#define PIXMAN_VERSION_MAJOR 0
+#define PIXMAN_VERSION_MINOR 19
+#define PIXMAN_VERSION_MICRO 1
+
+#define PIXMAN_VERSION_STRING "0.19.1"
+
+#define PIXMAN_VERSION_ENCODE(major, minor, micro) ( \
+ ((major) * 10000) \
+ + ((minor) * 100) \
+ + ((micro) * 1))
+
+#define PIXMAN_VERSION PIXMAN_VERSION_ENCODE( \
+ PIXMAN_VERSION_MAJOR, \
+ PIXMAN_VERSION_MINOR, \
+ PIXMAN_VERSION_MICRO)
+
+#endif /* PIXMAN_VERSION_H__ */