From 2294df8e9a028ace5478c8c4eb3dcc89566cd894 Mon Sep 17 00:00:00 2001 From: Blair Sadewitz Date: Thu, 24 May 2007 00:43:34 +0000 Subject: [PATCH] updating patches ... --- modular-xorg-server-mesa653/patches/patch-bb | 20 + modular-xorg-server-mesa653/patches/patch-bd | 15 + modular-xorg-server-mesa653/patches/patch-be | 1358 ++++++++++++++++++ modular-xorg-server-mesa653/patches/patch-bf | 99 ++ modular-xorg-server-mesa653/patches/patch-bg | 32 + modular-xorg-server-mesa653/patches/patch-bh | 14 + modular-xorg-server-mesa653/patches/patch-bi | 13 + modular-xorg-server-mesa653/patches/patch-bj | 13 + modular-xorg-server-mesa653/patches/patch-bk | 175 +++ modular-xorg-server-mesa653/patches/patch-bl | 12 + modular-xorg-server-mesa653/patches/patch-bm | 31 + modular-xorg-server-mesa653/patches/patch-bn | 51 + modular-xorg-server-mesa653/patches/patch-bo | 13 + modular-xorg-server-mesa653/patches/patch-bp | 18 + modular-xorg-server-mesa653/patches/patch-bq | 22 + modular-xorg-server-mesa653/patches/patch-br | 16 + modular-xorg-server-mesa653/patches/patch-bs | 22 + modular-xorg-server-mesa653/patches/patch-bt | 13 + modular-xorg-server-mesa653/patches/patch-bu | 13 + modular-xorg-server-mesa653/patches/patch-bv | 22 + modular-xorg-server-mesa653/patches/patch-bw | 43 + modular-xorg-server-mesa653/patches/patch-bx | 13 + modular-xorg-server-mesa653/patches/patch-by | 40 + modular-xorg-server-mesa653/patches/patch-bz | 42 + modular-xorg-server-mesa653/patches/patch-ca | 13 + modular-xorg-server-mesa653/patches/patch-cb | 26 + modular-xorg-server-mesa653/patches/patch-cc | 25 + modular-xorg-server-mesa653/patches/patch-cd | 31 + modular-xorg-server-mesa653/patches/patch-ce | 13 + modular-xorg-server-mesa653/patches/patch-cf | 22 + modular-xorg-server-mesa653/patches/patch-cg | 13 + modular-xorg-server-mesa653/patches/patch-ch | 35 + modular-xorg-server-mesa653/patches/patch-ci | 13 + modular-xorg-server-mesa653/patches/patch-cj | 12 + modular-xorg-server-mesa653/patches/patch-ck | 40 + 35 files changed, 2353 insertions(+) create mode 100644 modular-xorg-server-mesa653/patches/patch-bb create mode 100644 modular-xorg-server-mesa653/patches/patch-bd create mode 100644 modular-xorg-server-mesa653/patches/patch-be create mode 100644 modular-xorg-server-mesa653/patches/patch-bf create mode 100644 modular-xorg-server-mesa653/patches/patch-bg create mode 100644 modular-xorg-server-mesa653/patches/patch-bh create mode 100644 modular-xorg-server-mesa653/patches/patch-bi create mode 100644 modular-xorg-server-mesa653/patches/patch-bj create mode 100644 modular-xorg-server-mesa653/patches/patch-bk create mode 100644 modular-xorg-server-mesa653/patches/patch-bl create mode 100644 modular-xorg-server-mesa653/patches/patch-bm create mode 100644 modular-xorg-server-mesa653/patches/patch-bn create mode 100644 modular-xorg-server-mesa653/patches/patch-bo create mode 100644 modular-xorg-server-mesa653/patches/patch-bp create mode 100644 modular-xorg-server-mesa653/patches/patch-bq create mode 100644 modular-xorg-server-mesa653/patches/patch-br create mode 100644 modular-xorg-server-mesa653/patches/patch-bs create mode 100644 modular-xorg-server-mesa653/patches/patch-bt create mode 100644 modular-xorg-server-mesa653/patches/patch-bu create mode 100644 modular-xorg-server-mesa653/patches/patch-bv create mode 100644 modular-xorg-server-mesa653/patches/patch-bw create mode 100644 modular-xorg-server-mesa653/patches/patch-bx create mode 100644 modular-xorg-server-mesa653/patches/patch-by create mode 100644 modular-xorg-server-mesa653/patches/patch-bz create mode 100644 modular-xorg-server-mesa653/patches/patch-ca create mode 100644 modular-xorg-server-mesa653/patches/patch-cb create mode 100644 modular-xorg-server-mesa653/patches/patch-cc create mode 100644 modular-xorg-server-mesa653/patches/patch-cd create mode 100644 modular-xorg-server-mesa653/patches/patch-ce create mode 100644 modular-xorg-server-mesa653/patches/patch-cf create mode 100644 modular-xorg-server-mesa653/patches/patch-cg create mode 100644 modular-xorg-server-mesa653/patches/patch-ch create mode 100644 modular-xorg-server-mesa653/patches/patch-ci create mode 100644 modular-xorg-server-mesa653/patches/patch-cj create mode 100644 modular-xorg-server-mesa653/patches/patch-ck diff --git a/modular-xorg-server-mesa653/patches/patch-bb b/modular-xorg-server-mesa653/patches/patch-bb new file mode 100644 index 0000000000..b7d19a7aa6 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bb @@ -0,0 +1,20 @@ +$NetBSD: patch-bb,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- configure.ac.orig 2007-04-19 21:23:40.000000000 -0400 ++++ configure.ac +@@ -275,6 +275,7 @@ case $host_os in + *netbsd*) + AC_DEFINE(CSRG_BASED, 1, [System is BSD-like]) + AC_DEFINE(PCCONS_SUPPORT, 1, [System has PC console]) ++ AC_DEFINE(PCVT_SUPPORT, 1, [System has PCVT console]) + AC_DEFINE(WSCONS_SUPPORT, 1, [System has wscons console]) + DRI=yes + ;; +@@ -1697,6 +1698,7 @@ GL/mesa/shader/slang/Makefile + GL/mesa/swrast/Makefile + GL/mesa/swrast_setup/Makefile + GL/mesa/tnl/Makefile ++GL/mesa/vbo/Makefile + GL/mesa/X/Makefile + include/Makefile + afb/Makefile diff --git a/modular-xorg-server-mesa653/patches/patch-bd b/modular-xorg-server-mesa653/patches/patch-bd new file mode 100644 index 0000000000..ca476d5377 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bd @@ -0,0 +1,15 @@ +$NetBSD: patch-bd,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- dix/window.c.orig 2007-03-17 20:29:16.000000000 -0400 ++++ dix/window.c +@@ -140,8 +140,8 @@ Equipment Corporation. + * + ******/ + +-static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11}; +-static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88}; ++static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00}; ++static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00}; + + _X_EXPORT int screenIsSaved = SCREEN_SAVER_OFF; + diff --git a/modular-xorg-server-mesa653/patches/patch-be b/modular-xorg-server-mesa653/patches/patch-be new file mode 100644 index 0000000000..870840bd47 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-be @@ -0,0 +1,1358 @@ +$NetBSD: patch-be,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- fb/fbmmx.c.orig 2006-07-01 14:12:39.000000000 -0400 ++++ fb/fbmmx.c +@@ -85,30 +85,40 @@ + + typedef unsigned long long ullong; + ++#ifdef __GNUC__ ++typedef ullong mmxdatafield; ++#endif ++#ifdef _MSC_VER ++typedef unsigned __int64 ullong; ++typedef __m64 mmxdatafield; ++#endif ++ + typedef struct + { +- ullong mmx_4x00ff; +- ullong mmx_4x0080; +- ullong mmx_565_rgb; +- ullong mmx_565_unpack_multiplier; +- ullong mmx_565_r; +- ullong mmx_565_g; +- ullong mmx_565_b; +- ullong mmx_mask_0; +- ullong mmx_mask_1; +- ullong mmx_mask_2; +- ullong mmx_mask_3; +- ullong mmx_full_alpha; +- ullong mmx_ffff0000ffff0000; +- ullong mmx_0000ffff00000000; +- ullong mmx_000000000000ffff; ++ mmxdatafield mmx_4x00ff; ++ mmxdatafield mmx_4x0080; ++ mmxdatafield mmx_565_rgb; ++ mmxdatafield mmx_565_unpack_multiplier; ++ mmxdatafield mmx_565_r; ++ mmxdatafield mmx_565_g; ++ mmxdatafield mmx_565_b; ++ mmxdatafield mmx_mask_0; ++ mmxdatafield mmx_mask_1; ++ mmxdatafield mmx_mask_2; ++ mmxdatafield mmx_mask_3; ++ mmxdatafield mmx_full_alpha; ++ mmxdatafield mmx_ffff0000ffff0000; ++ mmxdatafield mmx_0000ffff00000000; ++ mmxdatafield mmx_000000000000ffff; + } MMXData; + + static const MMXData c = + { ++#ifdef __GNUC__ + .mmx_4x00ff = 0x00ff00ff00ff00ffULL, + .mmx_4x0080 = 0x0080008000800080ULL, + .mmx_565_rgb = 0x000001f0003f001fULL, ++ .mmx_565_unpack_multiplier = 0x0000008404100840ULL, + .mmx_565_r = 0x000000f800000000ULL, + .mmx_565_g = 0x0000000000fc0000ULL, + .mmx_565_b = 0x00000000000000f8ULL, +@@ -117,15 +127,42 @@ static const MMXData c = + .mmx_mask_2 = 0xffff0000ffffffffULL, + .mmx_mask_3 = 0x0000ffffffffffffULL, + .mmx_full_alpha = 0x00ff000000000000ULL, +- .mmx_565_unpack_multiplier = 0x0000008404100840ULL, + .mmx_ffff0000ffff0000 = 0xffff0000ffff0000ULL, + .mmx_0000ffff00000000 = 0x0000ffff00000000ULL, + .mmx_000000000000ffff = 0x000000000000ffffULL, ++#endif ++#ifdef _MSC_VER ++ { 0x00ff00ff00ff00ffUI64 }, ++ { 0x0080008000800080UI64 }, ++ { 0x000001f0003f001fUI64 }, ++ { 0x0000008404100840UI64 }, ++ { 0x000000f800000000UI64 }, ++ { 0x0000000000fc0000UI64 }, ++ { 0x00000000000000f8UI64 }, ++ { 0xffffffffffff0000UI64 }, ++ { 0xffffffff0000ffffUI64 }, ++ { 0xffff0000ffffffffUI64 }, ++ { 0x0000ffffffffffffUI64 }, ++ { 0x00ff000000000000UI64 }, ++ { 0xffff0000ffff0000UI64 }, ++ { 0x0000ffff00000000UI64 }, ++ { 0x000000000000ffffUI64 }, ++#endif + }; + ++#ifdef _MSC_VER ++#undef inline ++#define inline __forceinline ++#endif ++ ++#ifdef __GNUC__ + #define MC(x) ((__m64) c.mmx_##x) ++#endif ++#ifdef _MSC_VER ++#define MC(x) c.mmx_##x ++#endif + +-static __inline__ __m64 ++static inline __m64 + shift (__m64 v, int s) + { + if (s > 0) +@@ -136,13 +173,13 @@ shift (__m64 v, int s) + return v; + } + +-static __inline__ __m64 ++static inline __m64 + negate (__m64 mask) + { + return _mm_xor_si64 (mask, MC(4x00ff)); + } + +-static __inline__ __m64 ++static inline __m64 + pix_multiply (__m64 a, __m64 b) + { + __m64 res; +@@ -155,7 +192,7 @@ pix_multiply (__m64 a, __m64 b) + return res; + } + +-static __inline__ __m64 ++static inline __m64 + pix_add (__m64 a, __m64 b) + { + return _mm_adds_pu8 (a, b); +@@ -163,19 +200,19 @@ pix_add (__m64 a, __m64 b) + + #ifdef USE_SSE + +-static __inline__ __m64 ++static inline __m64 + expand_alpha (__m64 pixel) + { + return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE(3, 3, 3, 3)); + } + +-static __inline__ __m64 ++static inline __m64 + expand_alpha_rev (__m64 pixel) + { + return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE(0, 0, 0, 0)); + } + +-static __inline__ __m64 ++static inline __m64 + invert_colors (__m64 pixel) + { + return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE(3, 0, 1, 2)); +@@ -183,7 +220,7 @@ invert_colors (__m64 pixel) + + #else + +-static __inline__ __m64 ++static inline __m64 + expand_alpha (__m64 pixel) + { + __m64 t1, t2; +@@ -197,7 +234,7 @@ expand_alpha (__m64 pixel) + return t1; + } + +-static __inline__ __m64 ++static inline __m64 + expand_alpha_rev (__m64 pixel) + { + __m64 t1, t2; +@@ -214,7 +251,7 @@ expand_alpha_rev (__m64 pixel) + return t1; + } + +-static __inline__ __m64 ++static inline __m64 + invert_colors (__m64 pixel) + { + __m64 x, y, z; +@@ -236,13 +273,13 @@ invert_colors (__m64 pixel) + + #endif + +-static __inline__ __m64 ++static inline __m64 + over (__m64 src, __m64 srca, __m64 dest) + { + return _mm_adds_pu8 (src, pix_multiply(dest, negate(srca))); + } + +-static __inline__ __m64 ++static inline __m64 + over_rev_non_pre (__m64 src, __m64 dest) + { + __m64 srca = expand_alpha (src); +@@ -251,14 +288,15 @@ over_rev_non_pre (__m64 src, __m64 dest) + return over(pix_multiply(invert_colors(src), srcfaaa), srca, dest); + } + +-static __inline__ __m64 ++static inline __m64 + in (__m64 src, + __m64 mask) + { + return pix_multiply (src, mask); + } + +-static __inline__ __m64 ++#ifndef _MSC_VER ++static inline __m64 + in_over (__m64 src, + __m64 srca, + __m64 mask, +@@ -266,20 +304,23 @@ in_over (__m64 src, + { + return over(in(src, mask), pix_multiply(srca, mask), dest); + } ++#else ++#define in_over(src, srca, mask, dest) over(in(src, mask), pix_multiply(srca, mask), dest) ++#endif + +-static __inline__ __m64 ++static inline __m64 + load8888 (CARD32 v) + { + return _mm_unpacklo_pi8 (_mm_cvtsi32_si64 (v), _mm_setzero_si64()); + } + +-static __inline__ __m64 ++static inline __m64 + pack8888 (__m64 lo, __m64 hi) + { + return _mm_packs_pu16 (lo, hi); + } + +-static __inline__ CARD32 ++static inline CARD32 + store8888 (__m64 v) + { + return _mm_cvtsi64_si32(pack8888(v, _mm_setzero_si64())); +@@ -299,7 +340,7 @@ store8888 (__m64 v) + * Note the trick here - the top word is shifted by another nibble to + * avoid it bumping into the middle word + */ +-static __inline__ __m64 ++static inline __m64 + expand565 (__m64 pixel, int pos) + { + __m64 p = pixel; +@@ -319,7 +360,7 @@ expand565 (__m64 pixel, int pos) + return _mm_srli_pi16 (pixel, 8); + } + +-static __inline__ __m64 ++static inline __m64 + expand8888 (__m64 in, int pos) + { + if (pos == 0) +@@ -328,7 +369,7 @@ expand8888 (__m64 in, int pos) + return _mm_unpackhi_pi8 (in, _mm_setzero_si64()); + } + +-static __inline__ __m64 ++static inline __m64 + pack565 (__m64 pixel, __m64 target, int pos) + { + __m64 p = pixel; +@@ -358,20 +399,28 @@ pack565 (__m64 pixel, __m64 target, int + return _mm_or_si64 (b, p); + } + +-static __inline__ __m64 ++#ifndef _MSC_VER ++static inline __m64 + pix_add_mul (__m64 x, __m64 a, __m64 y, __m64 b) + { +- x = _mm_mullo_pi16 (x, a); +- y = _mm_mullo_pi16 (y, b); +- x = _mm_srli_pi16(x, 1); +- y = _mm_srli_pi16(y, 1); +- x = _mm_adds_pu16 (x, y); +- x = _mm_adds_pu16 (x, _mm_srli_pi16 (x, 8)); ++ x = _mm_mullo_pi16 (x, a); ++ y = _mm_mullo_pi16 (y, b); + x = _mm_adds_pu16 (x, MC(4x0080)); +- x = _mm_srli_pi16 (x, 7); ++ x = _mm_adds_pu16 (x, y); ++ x = _mm_adds_pu16 (x, _mm_srli_pi16 (x, 8)); ++ x = _mm_srli_pi16 (x, 8); + + return x; + } ++#else ++#define pix_add_mul(x, a, y, b) \ ++( x = _mm_mullo_pi16 (x, a), \ ++ y = _mm_mullo_pi16 (y, b), \ ++ x = _mm_adds_pu16 (x, MC(4x0080)), \ ++ x = _mm_adds_pu16 (x, y), \ ++ x = _mm_adds_pu16 (x, _mm_srli_pi16 (x, 8)), \ ++ _mm_srli_pi16 (x, 8) ) ++#endif + + /* --------------- MMX code patch for fbcompose.c --------------------- */ + +@@ -590,8 +639,8 @@ mmxCombineSaturateU (CARD32 *dest, const + CARD32 da = ~d >> 24; + + if (sa > da) { +- __m64 msa = load8888(FbIntDiv(da, sa)); +- msa = expand_alpha_rev(msa); ++ __m64 msa = load8888(FbIntDiv(da, sa) << 24); ++ msa = expand_alpha(msa); + ms = pix_multiply(ms, msa); + } + md = pix_add(md, ms); +@@ -1140,23 +1189,22 @@ fbCompositeSrc_8888x8x8888mmx (CARD8 op, + { + CARD32 *dstLine, *dst; + CARD32 *srcLine, *src; +- CARD8 *maskLine; + CARD32 mask; + __m64 vmask; +- FbStride dstStride, srcStride, maskStride; ++ FbStride dstStride, srcStride; + CARD16 w; + __m64 srca; +- ++ + CHECKPOINT(); +- ++ + fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); + fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); +- fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); + +- mask = *maskLine << 24 | *maskLine << 16 | *maskLine << 8 | *maskLine; ++ fbComposeGetSolid (pMask, mask, pDst->format); ++ mask = mask | mask >> 8 | mask >> 16 | mask >> 24; + vmask = load8888 (mask); + srca = MC(4x00ff); +- ++ + while (height--) + { + dst = dstLine; +@@ -1169,9 +1217,93 @@ fbCompositeSrc_8888x8x8888mmx (CARD8 op, + { + __m64 s = load8888 (*src); + __m64 d = load8888 (*dst); +- ++ ++ *dst = store8888 (in_over (s, expand_alpha (s), vmask, d)); ++ ++ w--; ++ dst++; ++ src++; ++ } ++ ++ while (w >= 2) ++ { ++ __m64 vs = *(__m64 *)src; ++ __m64 vd = *(__m64 *)dst; ++ __m64 vsrc0 = expand8888 (vs, 0); ++ __m64 vsrc1 = expand8888 (vs, 1); ++ ++ *(__m64 *)dst = pack8888 ( ++ in_over (vsrc0, expand_alpha (vsrc0), vmask, expand8888 (vd, 0)), ++ in_over (vsrc1, expand_alpha (vsrc1), vmask, expand8888 (vd, 1))); ++ ++ w -= 2; ++ dst += 2; ++ src += 2; ++ } ++ ++ while (w) ++ { ++ __m64 s = load8888 (*src); ++ __m64 d = load8888 (*dst); ++ ++ *dst = store8888 (in_over (s, expand_alpha (s), vmask, d)); ++ ++ w--; ++ dst++; ++ src++; ++ } ++ } ++ ++ _mm_empty(); ++} ++ ++void ++fbCompositeSrc_x888x8x8888mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD32 *dstLine, *dst; ++ CARD32 *srcLine, *src; ++ CARD32 mask; ++ __m64 vmask; ++ FbStride dstStride, srcStride; ++ CARD16 w; ++ __m64 srca; ++ ++ CHECKPOINT(); ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); ++ fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); ++ fbComposeGetSolid (pMask, mask, pDst->format); ++ ++ mask = mask | mask >> 8 | mask >> 16 | mask >> 24; ++ vmask = load8888 (mask); ++ srca = MC(4x00ff); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ src = srcLine; ++ srcLine += srcStride; ++ w = width; ++ ++ while (w && (unsigned long)dst & 7) ++ { ++ __m64 s = load8888 (*src); ++ __m64 d = load8888 (*dst); ++ + *dst = store8888 (in_over (s, srca, vmask, d)); +- ++ + w--; + dst++; + src++; +@@ -1197,39 +1329,39 @@ fbCompositeSrc_8888x8x8888mmx (CARD8 op, + __m64 vs6 = *(__m64 *)(src + 12); + __m64 vs7 = *(__m64 *)(src + 14); + +- vd0 = (__m64)pack8888 ( ++ vd0 = pack8888 ( + in_over (expand8888 (vs0, 0), srca, vmask, expand8888 (vd0, 0)), + in_over (expand8888 (vs0, 1), srca, vmask, expand8888 (vd0, 1))); +- +- vd1 = (__m64)pack8888 ( ++ ++ vd1 = pack8888 ( + in_over (expand8888 (vs1, 0), srca, vmask, expand8888 (vd1, 0)), + in_over (expand8888 (vs1, 1), srca, vmask, expand8888 (vd1, 1))); +- +- vd2 = (__m64)pack8888 ( ++ ++ vd2 = pack8888 ( + in_over (expand8888 (vs2, 0), srca, vmask, expand8888 (vd2, 0)), + in_over (expand8888 (vs2, 1), srca, vmask, expand8888 (vd2, 1))); +- +- vd3 = (__m64)pack8888 ( ++ ++ vd3 = pack8888 ( + in_over (expand8888 (vs3, 0), srca, vmask, expand8888 (vd3, 0)), + in_over (expand8888 (vs3, 1), srca, vmask, expand8888 (vd3, 1))); +- +- vd4 = (__m64)pack8888 ( ++ ++ vd4 = pack8888 ( + in_over (expand8888 (vs4, 0), srca, vmask, expand8888 (vd4, 0)), + in_over (expand8888 (vs4, 1), srca, vmask, expand8888 (vd4, 1))); +- +- vd5 = (__m64)pack8888 ( ++ ++ vd5 = pack8888 ( + in_over (expand8888 (vs5, 0), srca, vmask, expand8888 (vd5, 0)), + in_over (expand8888 (vs5, 1), srca, vmask, expand8888 (vd5, 1))); +- +- vd6 = (__m64)pack8888 ( ++ ++ vd6 = pack8888 ( + in_over (expand8888 (vs6, 0), srca, vmask, expand8888 (vd6, 0)), + in_over (expand8888 (vs6, 1), srca, vmask, expand8888 (vd6, 1))); +- +- vd7 = (__m64)pack8888 ( ++ ++ vd7 = pack8888 ( + in_over (expand8888 (vs7, 0), srca, vmask, expand8888 (vd7, 0)), + in_over (expand8888 (vs7, 1), srca, vmask, expand8888 (vd7, 1))); + +- *(__m64 *)(dst + 0) = vd0; ++ *(__m64 *)(dst + 0) = vd0; + *(__m64 *)(dst + 2) = vd1; + *(__m64 *)(dst + 4) = vd2; + *(__m64 *)(dst + 6) = vd3; +@@ -1237,26 +1369,26 @@ fbCompositeSrc_8888x8x8888mmx (CARD8 op, + *(__m64 *)(dst + 10) = vd5; + *(__m64 *)(dst + 12) = vd6; + *(__m64 *)(dst + 14) = vd7; +- ++ + w -= 16; + dst += 16; + src += 16; + } +- ++ + while (w) + { + __m64 s = load8888 (*src); + __m64 d = load8888 (*dst); +- ++ + *dst = store8888 (in_over (s, srca, vmask, d)); +- ++ + w--; + dst++; + src++; + } + } + +- _mm_empty(); ++ _mm_empty(); + } + + void +@@ -1339,6 +1471,104 @@ fbCompositeSrc_8888x8888mmx (CARD8 op, + } + + void ++fbCompositeSrc_8888x0565mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD16 *dstLine, *dst; ++ CARD32 *srcLine, *src; ++ FbStride dstStride, srcStride; ++ CARD16 w; ++ ++ CHECKPOINT(); ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); ++ fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); ++ ++ assert (pSrc->pDrawable == pMask->pDrawable); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ src = srcLine; ++ srcLine += srcStride; ++ w = width; ++ ++ CHECKPOINT(); ++ ++ while (w && (unsigned long)dst & 7) ++ { ++ __m64 vsrc = load8888 (*src); ++ ullong d = *dst; ++ __m64 vdest = expand565 ((__m64)d, 0); ++ ++ vdest = pack565(over(vsrc, expand_alpha(vsrc), vdest), vdest, 0); ++ ++ *dst = (ullong)vdest; ++ ++ w--; ++ dst++; ++ src++; ++ } ++ ++ CHECKPOINT(); ++ ++ while (w >= 4) ++ { ++ __m64 vsrc0, vsrc1, vsrc2, vsrc3; ++ __m64 vdest; ++ ++ vsrc0 = load8888(*(src + 0)); ++ vsrc1 = load8888(*(src + 1)); ++ vsrc2 = load8888(*(src + 2)); ++ vsrc3 = load8888(*(src + 3)); ++ ++ vdest = *(__m64 *)dst; ++ ++ vdest = pack565(over(vsrc0, expand_alpha(vsrc0), expand565(vdest, 0)), vdest, 0); ++ vdest = pack565(over(vsrc1, expand_alpha(vsrc1), expand565(vdest, 1)), vdest, 1); ++ vdest = pack565(over(vsrc2, expand_alpha(vsrc2), expand565(vdest, 2)), vdest, 2); ++ vdest = pack565(over(vsrc3, expand_alpha(vsrc3), expand565(vdest, 3)), vdest, 3); ++ ++ *(__m64 *)dst = vdest; ++ ++ w -= 4; ++ dst += 4; ++ src += 4; ++ } ++ ++ CHECKPOINT(); ++ ++ while (w) ++ { ++ __m64 vsrc = load8888 (*src); ++ ullong d = *dst; ++ __m64 vdest = expand565 ((__m64)d, 0); ++ ++ vdest = pack565(over(vsrc, expand_alpha(vsrc), vdest), vdest, 0); ++ ++ *dst = (ullong)vdest; ++ ++ w--; ++ dst++; ++ src++; ++ } ++ } ++ ++ _mm_empty(); ++} ++ ++void + fbCompositeSolidMask_nx8x8888mmx (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, +@@ -1454,38 +1684,302 @@ fbCompositeSolidMask_nx8x8888mmx (CARD8 + } + + +-void +-fbCompositeSolidMask_nx8x0565mmx (CARD8 op, +- PicturePtr pSrc, +- PicturePtr pMask, +- PicturePtr pDst, +- INT16 xSrc, +- INT16 ySrc, +- INT16 xMask, +- INT16 yMask, +- INT16 xDst, +- INT16 yDst, +- CARD16 width, +- CARD16 height) +-{ +- CARD32 src, srca; +- CARD16 *dstLine, *dst; +- CARD8 *maskLine, *mask; +- FbStride dstStride, maskStride; +- CARD16 w; +- __m64 vsrc, vsrca; +- unsigned long long srcsrcsrcsrc, src16; ++Bool ++fbSolidFillmmx (DrawablePtr pDraw, ++ int x, ++ int y, ++ int width, ++ int height, ++ FbBits xor) ++{ ++ FbStride stride; ++ int bpp; ++ ullong fill; ++ __m64 vfill; ++ CARD32 byte_width; ++ CARD8 *byte_line; ++ FbBits *bits; ++ int xoff, yoff; ++#ifdef __GNUC__ ++ __m64 v1, v2, v3, v4, v5, v6, v7; ++#endif + + CHECKPOINT(); + +- fbComposeGetSolid(pSrc, src, pDst->format); ++ fbGetDrawable(pDraw, bits, stride, bpp, xoff, yoff); + +- srca = src >> 24; +- if (srca == 0) +- return; ++ if (bpp == 16 && (xor >> 16 != (xor & 0xffff))) ++ return FALSE; + +- fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); +- fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); ++ if (bpp != 16 && bpp != 32) ++ return FALSE; ++ ++ if (bpp == 16) ++ { ++ stride = stride * sizeof (FbBits) / 2; ++ byte_line = (CARD8 *)(((CARD16 *)bits) + stride * (y + yoff) + (x + xoff)); ++ byte_width = 2 * width; ++ stride *= 2; ++ } ++ else ++ { ++ stride = stride * sizeof (FbBits) / 4; ++ byte_line = (CARD8 *)(((CARD32 *)bits) + stride * (y + yoff) + (x + xoff)); ++ byte_width = 4 * width; ++ stride *= 4; ++ } ++ ++ fill = ((ullong)xor << 32) | xor; ++ vfill = (__m64)fill; ++ ++#ifdef __GNUC__ ++ __asm__ ( ++ "movq %7, %0\n" ++ "movq %7, %1\n" ++ "movq %7, %2\n" ++ "movq %7, %3\n" ++ "movq %7, %4\n" ++ "movq %7, %5\n" ++ "movq %7, %6\n" ++ : "=y" (v1), "=y" (v2), "=y" (v3), ++ "=y" (v4), "=y" (v5), "=y" (v6), "=y" (v7) ++ : "y" (vfill)); ++#endif ++ ++ while (height--) ++ { ++ int w; ++ CARD8 *d = byte_line; ++ byte_line += stride; ++ w = byte_width; ++ ++ while (w >= 2 && ((unsigned long)d & 3)) ++ { ++ *(CARD16 *)d = xor; ++ w -= 2; ++ d += 2; ++ } ++ ++ while (w >= 4 && ((unsigned long)d & 7)) ++ { ++ *(CARD32 *)d = xor; ++ ++ w -= 4; ++ d += 4; ++ } ++ ++ while (w >= 64) ++ { ++#ifdef __GNUC__ ++ __asm__ ( ++ "movq %1, (%0)\n" ++ "movq %2, 8(%0)\n" ++ "movq %3, 16(%0)\n" ++ "movq %4, 24(%0)\n" ++ "movq %5, 32(%0)\n" ++ "movq %6, 40(%0)\n" ++ "movq %7, 48(%0)\n" ++ "movq %8, 56(%0)\n" ++ : ++ : "r" (d), ++ "y" (vfill), "y" (v1), "y" (v2), "y" (v3), ++ "y" (v4), "y" (v5), "y" (v6), "y" (v7) ++ : "memory"); ++#else ++ *(__m64*) (d + 0) = vfill; ++ *(__m64*) (d + 8) = vfill; ++ *(__m64*) (d + 16) = vfill; ++ *(__m64*) (d + 24) = vfill; ++ *(__m64*) (d + 32) = vfill; ++ *(__m64*) (d + 40) = vfill; ++ *(__m64*) (d + 48) = vfill; ++ *(__m64*) (d + 56) = vfill; ++#endif ++ w -= 64; ++ d += 64; ++ } ++ ++ while (w >= 4) ++ { ++ *(CARD32 *)d = xor; ++ ++ w -= 4; ++ d += 4; ++ } ++ if (w >= 2) ++ { ++ *(CARD16 *)d = xor; ++ w -= 2; ++ d += 2; ++ } ++ } ++ ++ _mm_empty(); ++ return TRUE; ++} ++ ++void ++fbCompositeSolidMaskSrc_nx8x8888mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD32 src, srca; ++ CARD32 *dstLine, *dst; ++ CARD8 *maskLine, *mask; ++ FbStride dstStride, maskStride; ++ CARD16 w; ++ __m64 vsrc, vsrca; ++ ullong srcsrc; ++ ++ CHECKPOINT(); ++ ++ fbComposeGetSolid(pSrc, src, pDst->format); ++ ++ srca = src >> 24; ++ if (srca == 0) ++ { ++ fbSolidFillmmx (pDst->pDrawable, xDst, yDst, width, height, 0); ++ return; ++ } ++ ++ srcsrc = (ullong)src << 32 | src; ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); ++ fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); ++ ++ vsrc = load8888 (src); ++ vsrca = expand_alpha (vsrc); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ mask = maskLine; ++ maskLine += maskStride; ++ w = width; ++ ++ CHECKPOINT(); ++ ++ while (w && (unsigned long)dst & 7) ++ { ++ ullong m = *mask; ++ ++ if (m) ++ { ++ __m64 vdest = in(vsrc, expand_alpha_rev ((__m64)m)); ++ *dst = store8888(vdest); ++ } ++ else ++ { ++ *dst = 0; ++ } ++ ++ w--; ++ mask++; ++ dst++; ++ } ++ ++ CHECKPOINT(); ++ ++ while (w >= 2) ++ { ++ ullong m0, m1; ++ m0 = *mask; ++ m1 = *(mask + 1); ++ ++ if (srca == 0xff && (m0 & m1) == 0xff) ++ { ++ *(ullong *)dst = srcsrc; ++ } ++ else if (m0 | m1) ++ { ++ __m64 vdest; ++ __m64 dest0, dest1; ++ ++ vdest = *(__m64 *)dst; ++ ++ dest0 = in(vsrc, expand_alpha_rev ((__m64)m0)); ++ dest1 = in(vsrc, expand_alpha_rev ((__m64)m1)); ++ ++ *(__m64 *)dst = pack8888(dest0, dest1); ++ } ++ else ++ { ++ *(ullong *)dst = 0; ++ } ++ ++ mask += 2; ++ dst += 2; ++ w -= 2; ++ } ++ ++ CHECKPOINT(); ++ ++ while (w) ++ { ++ ullong m = *mask; ++ ++ if (m) ++ { ++ __m64 vdest = load8888(*dst); ++ vdest = in(vsrc, expand_alpha_rev ((__m64)m)); ++ *dst = store8888(vdest); ++ } ++ else ++ { ++ *dst = 0; ++ } ++ ++ w--; ++ mask++; ++ dst++; ++ } ++ } ++ ++ _mm_empty(); ++} ++ ++void ++fbCompositeSolidMask_nx8x0565mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD32 src, srca; ++ CARD16 *dstLine, *dst; ++ CARD8 *maskLine, *mask; ++ FbStride dstStride, maskStride; ++ CARD16 w; ++ __m64 vsrc, vsrca; ++ unsigned long long srcsrcsrcsrc, src16; ++ ++ CHECKPOINT(); ++ ++ fbComposeGetSolid(pSrc, src, pDst->format); ++ ++ srca = src >> 24; ++ if (srca == 0) ++ return; ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); ++ fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); + + vsrc = load8888 (src); + vsrca = expand_alpha (vsrc); +@@ -1905,6 +2399,232 @@ fbCompositeSolidMask_nx8888x0565Cmmx (CA + } + + void ++fbCompositeIn_nx8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD8 *dstLine, *dst; ++ CARD8 *maskLine, *mask; ++ FbStride dstStride, maskStride; ++ CARD16 w; ++ CARD32 src; ++ CARD8 sa; ++ __m64 vsrc, vsrca; ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 1); ++ fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); ++ ++ fbComposeGetSolid(pSrc, src, pDst->format); ++ ++ sa = src >> 24; ++ if (sa == 0) ++ return; ++ ++ vsrc = load8888(src); ++ vsrca = expand_alpha(vsrc); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ mask = maskLine; ++ maskLine += maskStride; ++ w = width; ++ ++ if ((((unsigned long)pDst & 3) == 0) && ++ (((unsigned long)pSrc & 3) == 0)) ++ { ++ while (w >= 4) ++ { ++ CARD32 m; ++ __m64 vmask; ++ __m64 vdest; ++ ++ m = 0; ++ ++ vmask = load8888 (*(CARD32 *)mask); ++ vdest = load8888 (*(CARD32 *)dst); ++ ++ *(CARD32 *)dst = store8888 (in (in (vsrca, vmask), vdest)); ++ ++ dst += 4; ++ mask += 4; ++ w -= 4; ++ } ++ } ++ ++ while (w--) ++ { ++ CARD16 tmp; ++ CARD8 a; ++ CARD32 m, d; ++ CARD32 r; ++ ++ a = *mask++; ++ d = *dst; ++ ++ m = FbInU (sa, 0, a, tmp); ++ r = FbInU (m, 0, d, tmp); ++ ++ *dst++ = r; ++ } ++ } ++ ++ _mm_empty(); ++} ++ ++void ++fbCompositeIn_8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD8 *dstLine, *dst; ++ CARD8 *srcLine, *src; ++ FbStride srcStride, dstStride; ++ CARD16 w; ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 1); ++ fbComposeGetStart (pSrc, xSrc, ySrc, CARD8, srcStride, srcLine, 1); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ src = srcLine; ++ srcLine += srcStride; ++ w = width; ++ ++ if ((((unsigned long)pDst & 3) == 0) && ++ (((unsigned long)pSrc & 3) == 0)) ++ { ++ while (w >= 4) ++ { ++ CARD32 *s = (CARD32 *)src; ++ CARD32 *d = (CARD32 *)dst; ++ ++ *d = store8888 (in (load8888 (*s), load8888 (*d))); ++ ++ w -= 4; ++ dst += 4; ++ src += 4; ++ } ++ } ++ ++ while (w--) ++ { ++ CARD8 s, d; ++ CARD16 tmp; ++ ++ s = *src; ++ d = *dst; ++ ++ *dst = FbInU (s, 0, d, tmp); ++ ++ src++; ++ dst++; ++ } ++ } ++ ++ _mm_empty (); ++} ++ ++void ++fbCompositeSrcAdd_8888x8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height) ++{ ++ CARD8 *dstLine, *dst; ++ CARD8 *maskLine, *mask; ++ FbStride dstStride, maskStride; ++ CARD16 w; ++ CARD32 src; ++ CARD8 sa; ++ __m64 vsrc, vsrca; ++ ++ fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 1); ++ fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); ++ ++ fbComposeGetSolid(pSrc, src, pDst->format); ++ ++ sa = src >> 24; ++ if (sa == 0) ++ return; ++ ++ vsrc = load8888(src); ++ vsrca = expand_alpha(vsrc); ++ ++ while (height--) ++ { ++ dst = dstLine; ++ dstLine += dstStride; ++ mask = maskLine; ++ maskLine += maskStride; ++ w = width; ++ ++ if ((((unsigned long)pMask & 3) == 0) && ++ (((unsigned long)pDst & 3) == 0)) ++ { ++ while (w >= 4) ++ { ++ __m64 vmask = load8888 (*(CARD32 *)mask); ++ __m64 vdest = load8888 (*(CARD32 *)dst); ++ ++ *(CARD32 *)dst = store8888 (_mm_adds_pu8 (in (vsrca, vmask), vdest)); ++ ++ w -= 4; ++ dst += 4; ++ mask += 4; ++ } ++ } ++ ++ while (w--) ++ { ++ CARD16 tmp; ++ CARD16 a; ++ CARD32 m, d; ++ CARD32 r; ++ ++ a = *mask++; ++ d = *dst; ++ ++ m = FbInU (sa, 0, a, tmp); ++ r = FbAdd (m, d, 0, tmp); ++ ++ *dst++ = r; ++ } ++ } ++ ++ _mm_empty(); ++} ++ ++void + fbCompositeSrcAdd_8000x8000mmx (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, +@@ -2037,126 +2757,6 @@ fbCompositeSrcAdd_8888x8888mmx (CARD8 o + } + + Bool +-fbSolidFillmmx (DrawablePtr pDraw, +- int x, +- int y, +- int width, +- int height, +- FbBits xor) +-{ +- FbStride stride; +- int bpp; +- ullong fill; +- __m64 vfill; +- CARD32 byte_width; +- CARD8 *byte_line; +- FbBits *bits; +- int xoff, yoff; +- __m64 v1, v2, v3, v4, v5, v6, v7; +- +- CHECKPOINT(); +- +- fbGetDrawable(pDraw, bits, stride, bpp, xoff, yoff); +- +- if (bpp == 16 && (xor >> 16 != (xor & 0xffff))) +- return FALSE; +- +- if (bpp != 16 && bpp != 32) +- return FALSE; +- +- if (bpp == 16) +- { +- stride = stride * sizeof (FbBits) / 2; +- byte_line = (CARD8 *)(((CARD16 *)bits) + stride * (y + yoff) + (x + xoff)); +- byte_width = 2 * width; +- stride *= 2; +- } +- else +- { +- stride = stride * sizeof (FbBits) / 4; +- byte_line = (CARD8 *)(((CARD32 *)bits) + stride * (y + yoff) + (x + xoff)); +- byte_width = 4 * width; +- stride *= 4; +- } +- +- fill = ((ullong)xor << 32) | xor; +- vfill = (__m64)fill; +- +- __asm__ ( +- "movq %7, %0\n" +- "movq %7, %1\n" +- "movq %7, %2\n" +- "movq %7, %3\n" +- "movq %7, %4\n" +- "movq %7, %5\n" +- "movq %7, %6\n" +- : "=y" (v1), "=y" (v2), "=y" (v3), +- "=y" (v4), "=y" (v5), "=y" (v6), "=y" (v7) +- : "y" (vfill)); +- +- while (height--) +- { +- int w; +- CARD8 *d = byte_line; +- byte_line += stride; +- w = byte_width; +- +- while (w >= 2 && ((unsigned long)d & 3)) +- { +- *(CARD16 *)d = xor; +- w -= 2; +- d += 2; +- } +- +- while (w >= 4 && ((unsigned long)d & 7)) +- { +- *(CARD32 *)d = xor; +- +- w -= 4; +- d += 4; +- } +- +- while (w >= 64) +- { +- __asm__ ( +- "movq %1, (%0)\n" +- "movq %2, 8(%0)\n" +- "movq %3, 16(%0)\n" +- "movq %4, 24(%0)\n" +- "movq %5, 32(%0)\n" +- "movq %6, 40(%0)\n" +- "movq %7, 48(%0)\n" +- "movq %8, 56(%0)\n" +- : +- : "r" (d), +- "y" (vfill), "y" (v1), "y" (v2), "y" (v3), +- "y" (v4), "y" (v5), "y" (v6), "y" (v7) +- : "memory"); +- +- w -= 64; +- d += 64; +- } +- +- while (w >= 4) +- { +- *(CARD32 *)d = xor; +- +- w -= 4; +- d += 4; +- } +- if (w >= 2) +- { +- *(CARD16 *)d = xor; +- w -= 2; +- d += 2; +- } +- } +- +- _mm_empty(); +- return TRUE; +-} +- +-Bool + fbCopyAreammx (DrawablePtr pSrc, + DrawablePtr pDst, + int src_x, +@@ -2237,6 +2837,7 @@ fbCopyAreammx (DrawablePtr pSrc, + + while (w >= 64) + { ++#ifdef __GNUC__ + __asm__ ( + "movq (%1), %%mm0\n" + "movq 8(%1), %%mm1\n" +@@ -2260,6 +2861,24 @@ fbCopyAreammx (DrawablePtr pSrc, + : "memory", + "%mm0", "%mm1", "%mm2", "%mm3", + "%mm4", "%mm5", "%mm6", "%mm7"); ++#else ++ __m64 v0 = *(__m64 *)(s + 0); ++ __m64 v1 = *(__m64 *)(s + 8); ++ __m64 v2 = *(__m64 *)(s + 16); ++ __m64 v3 = *(__m64 *)(s + 24); ++ __m64 v4 = *(__m64 *)(s + 32); ++ __m64 v5 = *(__m64 *)(s + 40); ++ __m64 v6 = *(__m64 *)(s + 48); ++ __m64 v7 = *(__m64 *)(s + 56); ++ *(__m64 *)(d + 0) = v0; ++ *(__m64 *)(d + 8) = v1; ++ *(__m64 *)(d + 16) = v2; ++ *(__m64 *)(d + 24) = v3; ++ *(__m64 *)(d + 32) = v4; ++ *(__m64 *)(d + 40) = v5; ++ *(__m64 *)(d + 48) = v6; ++ *(__m64 *)(d + 56) = v7; ++#endif + + w -= 64; + s += 64; diff --git a/modular-xorg-server-mesa653/patches/patch-bf b/modular-xorg-server-mesa653/patches/patch-bf new file mode 100644 index 0000000000..ab46f1b6bb --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bf @@ -0,0 +1,99 @@ +$NetBSD: patch-bf,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- fb/fbmmx.h.orig 2006-06-06 13:13:52.000000000 -0400 ++++ fb/fbmmx.h +@@ -82,6 +82,32 @@ void fbCompositeSrc_8888x8888mmx (CARD8 + INT16 yDst, + CARD16 width, + CARD16 height); ++void ++fbCompositeSolidMaskSrc_nx8x8888mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); ++void ++fbCompositeSrc_x888x8x8888mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); + void fbCompositeSolidMask_nx8888x8888Cmmx (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, +@@ -106,6 +132,42 @@ void fbCompositeSolidMask_nx8x8888mmx (C + INT16 yDst, + CARD16 width, + CARD16 height); ++void fbCompositeIn_nx8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); ++void fbCompositeIn_8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); ++void fbCompositeSrcAdd_8888x8x8mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); + void fbCompositeSrcAdd_8000x8000mmx (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, +@@ -130,6 +192,18 @@ void fbCompositeSrc_8888RevNPx8888mmx (C + INT16 yDst, + CARD16 width, + CARD16 height); ++void fbCompositeSrc_8888x0565mmx (CARD8 op, ++ PicturePtr pSrc, ++ PicturePtr pMask, ++ PicturePtr pDst, ++ INT16 xSrc, ++ INT16 ySrc, ++ INT16 xMask, ++ INT16 yMask, ++ INT16 xDst, ++ INT16 yDst, ++ CARD16 width, ++ CARD16 height); + void fbCompositeSrc_8888RevNPx0565mmx (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, diff --git a/modular-xorg-server-mesa653/patches/patch-bg b/modular-xorg-server-mesa653/patches/patch-bg new file mode 100644 index 0000000000..895c01db3f --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bg @@ -0,0 +1,32 @@ +$NetBSD: patch-bg,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- fb/fbpict.c.orig 2007-01-30 01:03:18.000000000 -0500 ++++ fb/fbpict.c +@@ -1136,7 +1136,12 @@ fbComposite (CARD8 op, + func = fbCompositeSrc_8888x0888; + break; + case PICT_r5g6b5: +- func = fbCompositeSrc_8888x0565; ++#ifdef USE_MMX ++ if (fbHaveMMX()) ++ func = fbCompositeSrc_8888x0565mmx; ++ else ++#endif ++ func = fbCompositeSrc_8888x0565; + break; + default: + break; +@@ -1182,7 +1187,12 @@ fbComposite (CARD8 op, + func = fbCompositeSrc_8888x0888; + break; + case PICT_b5g6r5: +- func = fbCompositeSrc_8888x0565; ++#ifdef USE_MMX ++ if (fbHaveMMX()) ++ func = fbCompositeSrc_8888x0565mmx; ++ else ++#endif ++ func = fbCompositeSrc_8888x0565; + break; + default: + break; diff --git a/modular-xorg-server-mesa653/patches/patch-bh b/modular-xorg-server-mesa653/patches/patch-bh new file mode 100644 index 0000000000..efc8b71e84 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bh @@ -0,0 +1,14 @@ +$NetBSD: patch-bh,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- fb/fbtrap.c.orig 2006-11-16 13:01:23.000000000 -0500 ++++ fb/fbtrap.c +@@ -115,6 +115,9 @@ fbRasterizeTrapezoid (PicturePtr pPic + RenderEdge l, r; + xFixed t, b; + ++ if (!xTrapezoidValid (trap)) ++ return; ++ + fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff); + + width = pPicture->pDrawable->width; diff --git a/modular-xorg-server-mesa653/patches/patch-bi b/modular-xorg-server-mesa653/patches/patch-bi new file mode 100644 index 0000000000..fdf1292f98 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bi @@ -0,0 +1,13 @@ +$NetBSD: patch-bi,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/dmx/glxProxy/glxext.h.orig 2006-09-18 02:04:17.000000000 -0400 ++++ hw/dmx/glxProxy/glxext.h +@@ -67,7 +67,7 @@ extern void __glXFreeGLXPixmap( __GLXpix + + extern void __glXNoSuchRenderOpcode(GLbyte*); + extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*); +-extern void __glXErrorCallBack(__GLinterface *gc, GLenum code); ++extern void __glXErrorCallBack(GLenum code); + extern void __glXClearErrorOccured(void); + extern GLboolean __glXErrorOccured(void); + extern void __glXResetLargeCommandStatus(__GLXclientState*); diff --git a/modular-xorg-server-mesa653/patches/patch-bj b/modular-xorg-server-mesa653/patches/patch-bj new file mode 100644 index 0000000000..a0936ef4b0 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bj @@ -0,0 +1,13 @@ +$NetBSD: patch-bj,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/Makefile.am.orig 2007-05-23 11:36:53.000000000 -0400 ++++ hw/xfree86/Makefile.am +@@ -45,7 +45,7 @@ XORG_LIBS = \ + loader/libloader.a \ + libosandcommon.la \ + rac/librac.a \ +- parser/libxf86config.a \ ++ parser/libxf86config.la \ + dixmods/libdixmods.la \ + modes/libxf86modes.a \ + ramdac/libramdac.a \ diff --git a/modular-xorg-server-mesa653/patches/patch-bk b/modular-xorg-server-mesa653/patches/patch-bk new file mode 100644 index 0000000000..118679fc05 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bk @@ -0,0 +1,175 @@ +$NetBSD: patch-bk,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/extramodes.orig 2006-06-06 13:13:53.000000000 -0400 ++++ hw/xfree86/common/extramodes +@@ -3,21 +3,162 @@ + // + // $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $ + // ++// NOTE: Please keep all video modes sorted in order of X res, then Y res for ++// ease of maintenance and readability. + + # 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz + ModeLine "832x624" 57.284 832 864 928 1152 624 625 628 667 -Hsync -Vsync + ++# Disable the 848x480 modes for now. They're quite rare, and they screw up ++# the autosizing logic. They're panel modes anyway, and EDID injection ++# should cover that now. - ajax, 2006-07-28 ++ ++# 848x480 @ 60.00 Hz (GTF) hsync: 29.82 kHz; pclk: 31.49 MHz ++# Modeline "848x480" 31.49 848 864 952 1056 480 481 484 497 -HSync +Vsync ++ ++# 848x480 @ 70.00 Hz (GTF) hsync: 35.00 kHz; pclk: 37.52 MHz ++# Modeline "848x480" 37.52 848 872 960 1072 480 481 484 500 -HSync +Vsync ++ ++# 848x480 @ 75.00 Hz (GTF) hsync: 37.65 kHz; pclk: 40.96 MHz ++# Modeline "848x480" 40.96 848 880 968 1088 480 481 484 502 -HSync +Vsync ++ ++# 848x480 @ 85.00 Hz (GTF) hsync: 42.92 kHz; pclk: 47.39 MHz ++# Modeline "848x480" 47.39 848 888 976 1104 480 481 484 505 -HSync +Vsync ++ + # 1152x768 @ 54.8Hz (Titanium PowerBook) hsync: 44.2kHz + ModeLine "1152x768" 64.995 1152 1178 1314 1472 768 771 777 806 +hsync +vsync + ++# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz ++Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync ++ ++# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz ++Modeline "1152x864" 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync ++ ++# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz ++Modeline "1152x864" 104.99 1152 1224 1352 1552 864 865 868 902 -HSync +Vsync ++ ++# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz ++Modeline "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync ++ ++# 1152x864 @ 85Hz (Red Hat custom modeline) ++ModeLine "1152x864" 121.5 1152 1216 1344 1568 864 865 868 911 +hsync -vsync ++ ++# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz ++Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync ++ ++# 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz ++Modeline "1280x720" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync ++ ++# 1280x720 @ 70.00 Hz (GTF) hsync: 52.50 kHz; pclk: 89.04 MHz ++Modeline "1280x720" 89.04 1280 1352 1488 1696 720 721 724 750 -HSync +Vsync ++ ++# 1280x720 @ 75.00 Hz (GTF) hsync: 56.40 kHz; pclk: 95.65 MHz ++Modeline "1280x720" 95.65 1280 1352 1488 1696 720 721 724 752 -HSync +Vsync ++ ++# 1280x720 @ 85.00 Hz (GTF) hsync: 64.26 kHz; pclk: 110.01 MHz ++Modeline "1280x720" 110.01 1280 1360 1496 1712 720 721 724 756 -HSync +Vsync ++ ++# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz ++Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync ++ ++# 1280x800 @ 70.00 Hz (GTF) hsync: 58.31 kHz; pclk: 98.89 MHz ++Modeline "1280x800" 98.89 1280 1352 1488 1696 800 801 804 833 -HSync +Vsync ++ ++# 1280x800 @ 75.00 Hz (GTF) hsync: 62.62 kHz; pclk: 107.21 MHz ++Modeline "1280x800" 107.21 1280 1360 1496 1712 800 801 804 835 -HSync +Vsync ++ ++# 1280x800 @ 85.00 Hz (GTF) hsync: 71.40 kHz; pclk: 123.38 MHz ++Modeline "1280x800" 123.38 1280 1368 1504 1728 800 801 804 840 -HSync +Vsync ++ ++# 1280x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 80.14 MHz ++Modeline "1280x768" 80.14 1280 1344 1480 1680 768 769 772 795 -HSync +Vsync ++ ++# 1280x768 @ 70.00 Hz (GTF) hsync: 56.00 kHz; pclk: 94.98 MHz ++Modeline "1280x768" 94.98 1280 1352 1488 1696 768 769 772 800 -HSync +Vsync ++ ++# 1280x768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 102.98 MHz ++Modeline "1280x768" 102.98 1280 1360 1496 1712 768 769 772 802 -HSync +Vsync ++ ++# 1280x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 118.53 MHz ++Modeline "1280x768" 118.53 1280 1368 1504 1728 768 769 772 807 -HSync +Vsync ++ ++# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz ++Modeline "1360x768" 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync ++ ++# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz ++Modeline "1360x768" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync ++ + # 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz + ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync + ++# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz ++Modeline "1400x1050" 145.06 1400 1496 1648 1896 1050 1051 1054 1093 -HSync +Vsync ++ ++# 1400x1050 @ 70Hz (Red Hat custom modeline) hsync: 76.8kHz ++ModeLine "1400x1050" 151.0 1400 1464 1656 1960 1050 1051 1054 1100 +hsync +vsync ++ + # 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz + ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +hsync +vsync + +-# 1600x1024 @ 60Hz (SGI 1600SW) hsync: 64.0kHz +-Modeline "1600x1024" 106.910 1600 1620 1640 1670 1024 1027 1030 1067 -hsync -vsync ++# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz ++Modeline "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync ++ ++# 1400x1050 @ 85Hz (Red Hat custom modeline) hsync: 93.2 kHz ++ModeLine "1400x1050" 184.0 1400 1464 1656 1960 1050 1051 1054 1100 +hsync +vsync ++ ++# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz ++Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -HSync +Vsync ++ ++# 1600x1024 for SGI 1600 SW ++ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync ++ ++# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz ++Modeline "1680x1050" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync ++ ++# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz ++Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync ++ ++# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz ++Modeline "1680x1050" 174.00 1680 1800 1976 2272 1050 1053 1059 1096 -hsync +vsync ++ ++# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz ++Modeline "1680x1050" 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync ++ ++# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz ++Modeline "1680x1050" 214.75 1680 1808 1984 2288 1050 1053 1059 1105 -hsync +vsync ++ ++# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz ++Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync ++ ++# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz ++Modeline "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync ++ ++# 1920x1080 69.92 Hz (CVT) hsync: 78.80 kHz; pclk: 204.25 MHz ++Modeline "1920x1080" 204.25 1920 2056 2256 2592 1080 1083 1088 1127 -hsync +vsync ++ ++# 1920x1080 74.91 Hz (CVT 2.07M9) hsync: 84.64 kHz; pclk: 220.75 MHz ++Modeline "1920x1080" 220.75 1920 2064 2264 2608 1080 1083 1088 1130 -hsync +vsync ++ ++# 1920x1080 84.88 Hz (CVT 2.07M9) hsync: 96.51 kHz; pclk: 253.25 MHz ++Modeline "1920x1080" 253.25 1920 2064 2272 2624 1080 1083 1088 1137 -hsync +vsync ++ ++# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz ++Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync ++ ++# 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz ++Modeline "1920x1200" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync ++ ++# 1920x1200 @ 70.00 Hz (GTF) hsync: 87.43 kHz; pclk: 228.02 MHz ++Modeline "1920x1200" 228.02 1920 2056 2264 2608 1200 1201 1204 1249 -HSync +Vsync ++ ++# 1920x1200 @ 70Hz (Red Hat custom modeline - bugzilla #53364) hsync: 87.50 KHz ++Modeline "1920x1200" 230.0 1920 1936 2096 2528 1200 1201 1204 1250 -HSync -VSync ++ ++# 1920x1200 @ 75.00 Hz (GTF) hsync: 93.97 kHz; pclk: 246.59 MHz ++Modeline "1920x1200" 246.59 1920 2064 2272 2624 1200 1201 1204 1253 -HSync +Vsync ++ ++# 1920x1200 @ 85.00 Hz (GTF) hsync: 107.10 kHz; pclk: 282.74 MHz ++Modeline "1920x1200" 282.74 1920 2072 2280 2640 1200 1201 1204 1260 -HSync +Vsync + + # 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz + Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync +@@ -31,3 +172,5 @@ Modeline "2048x1536" 340.48 2048 2216 2 + # 2048x1536 @ 85Hz (VESA GTF) hsync: 137.0kHz + Modeline "2048x1536" 388.04 2048 2216 2440 2832 1536 1537 1540 1612 -hsync +vsync + ++# 2560x1600 @ 60.00 Hz (GTF) hsync: 99.36 kHz; pclk: 348.16 MHz ++Modeline "2560x1600" 348.16 2560 2752 3032 3504 1600 1601 1604 1656 -HSync +Vsync diff --git a/modular-xorg-server-mesa653/patches/patch-bl b/modular-xorg-server-mesa653/patches/patch-bl new file mode 100644 index 0000000000..e7777cb21b --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bl @@ -0,0 +1,12 @@ +$NetBSD: patch-bl,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86AutoConfig.c.orig 2006-11-16 13:01:24.000000000 -0500 ++++ hw/xfree86/common/xf86AutoConfig.c +@@ -99,7 +99,6 @@ + static const char **builtinConfig = NULL; + static int builtinLines = 0; + static const char *deviceList[] = { +- "fbdev", + "vesa", + "vga", + NULL diff --git a/modular-xorg-server-mesa653/patches/patch-bm b/modular-xorg-server-mesa653/patches/patch-bm new file mode 100644 index 0000000000..42428c527f --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bm @@ -0,0 +1,31 @@ +$NetBSD: patch-bm,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Config.c.orig 2007-05-23 11:36:46.000000000 -0400 ++++ hw/xfree86/common/xf86Config.c +@@ -1596,7 +1596,7 @@ checkCoreInputDevices(serverLayoutPtr se + (count + 1) * sizeof(IDevRec)); + indp[count - 1] = Pointer; + indp[count - 1].extraOptions = +- xf86addNewOption(NULL, "CorePointer", NULL); ++ xf86addNewOption(NULL, xnfstrdup("CorePointer"), NULL); + indp[count].identifier = NULL; + servlayoutp->inputs = indp; + } +@@ -1631,7 +1631,7 @@ checkCoreInputDevices(serverLayoutPtr se + (count + 1) * sizeof(IDevRec)); + indp[count - 1] = Pointer; + indp[count - 1].extraOptions = +- xf86addNewOption(NULL, "AlwaysCore", NULL); ++ xf86addNewOption(NULL, xnfstrdup("AlwaysCore"), NULL); + indp[count].identifier = NULL; + servlayoutp->inputs = indp; + } +@@ -1726,7 +1726,7 @@ checkCoreInputDevices(serverLayoutPtr se + (count + 1) * sizeof(IDevRec)); + indp[count - 1] = Keyboard; + indp[count - 1].extraOptions = +- xf86addNewOption(NULL, "CoreKeyboard", NULL); ++ xf86addNewOption(NULL, xnfstrdup("CoreKeyboard"), NULL); + indp[count].identifier = NULL; + servlayoutp->inputs = indp; + } diff --git a/modular-xorg-server-mesa653/patches/patch-bn b/modular-xorg-server-mesa653/patches/patch-bn new file mode 100644 index 0000000000..ac6ed3b182 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bn @@ -0,0 +1,51 @@ +$NetBSD: patch-bn,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Configure.c.orig 2007-02-17 20:37:56.000000000 -0500 ++++ hw/xfree86/common/xf86Configure.c +@@ -313,13 +313,16 @@ configureInputSection (void) + mouse->inp_identifier = "Mouse0"; + mouse->inp_driver = "mouse"; + mouse->inp_option_lst = +- xf86addNewOption(mouse->inp_option_lst, "Protocol", DFLT_MOUSE_PROTO); ++ xf86addNewOption(mouse->inp_option_lst, xstrdup("Protocol"), ++ xstrdup(DFLT_MOUSE_PROTO)); + #ifndef __SCO__ + mouse->inp_option_lst = +- xf86addNewOption(mouse->inp_option_lst, "Device", DFLT_MOUSE_DEV); ++ xf86addNewOption(mouse->inp_option_lst, xstrdup("Device"), ++ xstrdup(DFLT_MOUSE_DEV)); + #endif + mouse->inp_option_lst = +- xf86addNewOption(mouse->inp_option_lst, "ZAxisMapping", "4 5 6 7"); ++ xf86addNewOption(mouse->inp_option_lst, xstrdup("ZAxisMapping"), ++ xstrdup("4 5 6 7")); + ptr = (XF86ConfInputPtr)xf86addListItem((glp)ptr, (glp)mouse); + return ptr; + } +@@ -523,7 +526,7 @@ configureLayoutSection (void) + iptr->iref_option_lst = NULL; + iptr->iref_inputdev_str = "Mouse0"; + iptr->iref_option_lst = +- xf86addNewOption (iptr->iref_option_lst, "CorePointer", NULL); ++ xf86addNewOption (iptr->iref_option_lst, xstrdup("CorePointer"), NULL); + ptr->lay_input_lst = (XF86ConfInputrefPtr) + xf86addListItem ((glp) ptr->lay_input_lst, (glp) iptr); + } +@@ -536,7 +539,7 @@ configureLayoutSection (void) + iptr->iref_option_lst = NULL; + iptr->iref_inputdev_str = "Keyboard0"; + iptr->iref_option_lst = +- xf86addNewOption (iptr->iref_option_lst, "CoreKeyboard", NULL); ++ xf86addNewOption (iptr->iref_option_lst, xstrdup("CoreKeyboard"), NULL); + ptr->lay_input_lst = (XF86ConfInputrefPtr) + xf86addListItem ((glp) ptr->lay_input_lst, (glp) iptr); + } +@@ -755,7 +758,7 @@ configureDDCMonitorSection (int screennu + } + + if (ConfiguredMonitor->features.dpms) { +- ptr->mon_option_lst = xf86addNewOption(ptr->mon_option_lst, "DPMS", NULL); ++ ptr->mon_option_lst = xf86addNewOption(ptr->mon_option_lst, xstrdup("DPMS"), NULL); + } + + return ptr; diff --git a/modular-xorg-server-mesa653/patches/patch-bo b/modular-xorg-server-mesa653/patches/patch-bo new file mode 100644 index 0000000000..a48bdbe1de --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bo @@ -0,0 +1,13 @@ +$NetBSD: patch-bo,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Globals.c.orig 2006-11-16 13:01:24.000000000 -0500 ++++ hw/xfree86/common/xf86Globals.c +@@ -166,7 +166,7 @@ xf86InfoRec xf86Info = { + #if defined(i386) || defined(__i386__) + FALSE, /* pc98 */ + #endif +- TRUE, /* pmFlag */ ++ FALSE, /* pmFlag */ + LogNone, /* syncLog */ + 0, /* estimateSizesAggressively */ + FALSE, /* kbdCustomKeycodes */ diff --git a/modular-xorg-server-mesa653/patches/patch-bp b/modular-xorg-server-mesa653/patches/patch-bp new file mode 100644 index 0000000000..7a1fe414e1 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bp @@ -0,0 +1,18 @@ +$NetBSD: patch-bp,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Helper.c.orig 2006-11-16 13:01:24.000000000 -0500 ++++ hw/xfree86/common/xf86Helper.c +@@ -2394,6 +2394,13 @@ xf86LoadSubModule(ScrnInfoPtr pScrn, con + &errmaj, &errmin); + if (!ret) + LoaderErrorMsg(pScrn->name, name, errmaj, errmin); ++ ++ /* "drm" module has been merged into "dri" module, but some drivers ++ are still trying to load it explictely and fail if it doesn't exist :-( */ ++ if (!ret && !strcmp(name,"drm")) { ++ ret = (pointer) -1; ++ } ++ + return ret; + } + diff --git a/modular-xorg-server-mesa653/patches/patch-bq b/modular-xorg-server-mesa653/patches/patch-bq new file mode 100644 index 0000000000..8d32a94ca9 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bq @@ -0,0 +1,22 @@ +$NetBSD: patch-bq,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Init.c.orig 2006-11-30 20:40:10.000000000 -0500 ++++ hw/xfree86/common/xf86Init.c +@@ -1770,7 +1770,7 @@ ddxUseMsg() + static void + xf86PrintBanner() + { +-#if PRE_RELEASE ++#if 0 + ErrorF("\n" + "This is a pre-release version of the X server from " XVENDORNAME ".\n" + "It is not supported in any way.\n" +@@ -1780,7 +1780,7 @@ xf86PrintBanner() + "latest version in the X.Org Foundation git repository.\n" + "See http://wiki.x.org/wiki/GitPage for git access instructions.\n"); + #endif +- ErrorF("\nX Window System Version %d.%d.%d", ++ ErrorF("X Window System Version %d.%d.%d", + XORG_VERSION_MAJOR, + XORG_VERSION_MINOR, + XORG_VERSION_PATCH); diff --git a/modular-xorg-server-mesa653/patches/patch-br b/modular-xorg-server-mesa653/patches/patch-br new file mode 100644 index 0000000000..d5fde6e9ab --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-br @@ -0,0 +1,16 @@ +$NetBSD: patch-br,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Mode.c.orig 2006-11-16 13:01:24.000000000 -0500 ++++ hw/xfree86/common/xf86Mode.c +@@ -713,6 +713,11 @@ xf86SetModeCrtc(DisplayModePtr p, int ad + p->CrtcVSyncEnd *= p->VScan; + p->CrtcVTotal *= p->VScan; + } ++ p->CrtcVBlankStart = min(p->CrtcVSyncStart, p->CrtcVDisplay); ++ p->CrtcVBlankEnd = max(p->CrtcVSyncEnd, p->CrtcVTotal); ++ p->CrtcHBlankStart = min(p->CrtcHSyncStart, p->CrtcHDisplay); ++ p->CrtcHBlankEnd = max(p->CrtcHSyncEnd, p->CrtcHTotal); ++ + p->CrtcHAdjusted = FALSE; + p->CrtcVAdjusted = FALSE; + diff --git a/modular-xorg-server-mesa653/patches/patch-bs b/modular-xorg-server-mesa653/patches/patch-bs new file mode 100644 index 0000000000..38a190441d --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bs @@ -0,0 +1,22 @@ +$NetBSD: patch-bs,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/common/xf86Option.c.orig 2006-11-16 13:01:24.000000000 -0500 ++++ hw/xfree86/common/xf86Option.c +@@ -289,7 +289,7 @@ xf86CheckBoolOption(pointer optlist, con + _X_EXPORT pointer + xf86ReplaceIntOption(pointer optlist, const char *name, const int val) + { +- char *tmp = xnfalloc(16); ++ char tmp[16]; + sprintf(tmp,"%i",val); + return xf86AddNewOption(optlist,name,tmp); + } +@@ -297,7 +297,7 @@ xf86ReplaceIntOption(pointer optlist, co + _X_EXPORT pointer + xf86ReplaceRealOption(pointer optlist, const char *name, const double val) + { +- char *tmp = xnfalloc(32); ++ char tmp[32]; + snprintf(tmp,32,"%f",val); + return xf86AddNewOption(optlist,name,tmp); + } diff --git a/modular-xorg-server-mesa653/patches/patch-bt b/modular-xorg-server-mesa653/patches/patch-bt new file mode 100644 index 0000000000..0d430d543c --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bt @@ -0,0 +1,13 @@ +$NetBSD: patch-bt,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/doc/man/xorg.conf.man.pre.orig 2007-05-23 11:36:46.000000000 -0400 ++++ hw/xfree86/doc/man/xorg.conf.man.pre +@@ -602,7 +602,7 @@ action and, if found, use XKEYBOARD for + the builtin handler will be used. + .TP 7 + .BI "Option \*qAIGLX\*q \*q" boolean \*q +-enable or disable AIGLX. AIGLX is enabled by default. ++enable or disable AIGLX. AIGLX is disabled by default. + .TP 7 + .BI "Option \*qIgnoreABI\*q \*q" boolean \*q + Allow modules built for a different, potentially incompatible version of diff --git a/modular-xorg-server-mesa653/patches/patch-bu b/modular-xorg-server-mesa653/patches/patch-bu new file mode 100644 index 0000000000..ee22740939 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bu @@ -0,0 +1,13 @@ +$NetBSD: patch-bu,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/loader/loadmod.c.orig 2007-04-16 12:37:51.000000000 -0400 ++++ hw/xfree86/loader/loadmod.c +@@ -864,7 +864,7 @@ doLoadModule(const char *module, const c + char *m = NULL; + const char **cim; + +- xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"", module); ++ xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"\n", module); + + for (cim = compiled_in_modules; *cim; cim++) + if (!strcmp (module, *cim)) diff --git a/modular-xorg-server-mesa653/patches/patch-bv b/modular-xorg-server-mesa653/patches/patch-bv new file mode 100644 index 0000000000..0b93f32a1b --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bv @@ -0,0 +1,22 @@ +$NetBSD: patch-bv,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/modes/xf86Modes.c.orig 2007-02-16 11:03:12.000000000 -0500 ++++ hw/xfree86/modes/xf86Modes.c +@@ -46,7 +46,7 @@ extern XF86ConfigPtr xf86configptr; + * there but we still want to use. We need to come up with better API here. + */ + +-#if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,2,99,2,0) ++/* if XORG_VERSION_CURRENT <= XORG_VERSION_NUMERIC(7,2,99,2,0) */ + /** + * Calculates the horizontal sync rate of a mode. + * +@@ -318,7 +318,7 @@ xf86PrintModeline(int scrnIndex,DisplayM + mode->VTotal, flags, xf86ModeHSync(mode)); + xfree(flags); + } +-#endif /* XORG_VERSION_CURRENT <= 7.2.99.2 */ ++/* XORG_VERSION_CURRENT <= 7.2.99.2 */ + + /** + * Marks as bad any modes with unsupported flags. diff --git a/modular-xorg-server-mesa653/patches/patch-bw b/modular-xorg-server-mesa653/patches/patch-bw new file mode 100644 index 0000000000..3452dbc4d1 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bw @@ -0,0 +1,43 @@ +$NetBSD: patch-bw,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/os-support/bus/linuxPci.c.orig 2006-11-16 13:01:25.000000000 -0500 ++++ hw/xfree86/os-support/bus/linuxPci.c +@@ -683,28 +683,28 @@ xf86MapDomainMemory(int ScreenNum, int F + ADDRESS Base, unsigned long Size) + { + int domain = xf86GetPciDomain(Tag); +- int fd; ++ int fd = -1; + pointer addr; + + /* + * We use /proc/bus/pci on non-legacy addresses or if the Linux sysfs + * legacy_mem interface is unavailable. + */ +- if (Base > 1024*1024) +- return linuxMapPci(ScreenNum, Flags, Tag, Base, Size, ++ if (Base >= 1024*1024) ++ addr = linuxMapPci(ScreenNum, Flags, Tag, Base, Size, + PCIIOC_MMAP_IS_MEM); +- +- if ((fd = linuxOpenLegacy(Tag, "legacy_mem")) < 0) +- return linuxMapPci(ScreenNum, Flags, Tag, Base, Size, ++ else if ((fd = linuxOpenLegacy(Tag, "legacy_mem")) < 0) ++ addr = linuxMapPci(ScreenNum, Flags, Tag, Base, Size, + PCIIOC_MMAP_IS_MEM); ++ else ++ addr = mmap(NULL, Size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, Base); + +- addr = mmap(NULL, Size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, Base); +- if (addr == MAP_FAILED) { +- close (fd); ++ if (fd >= 0) ++ close(fd); ++ if (addr == NULL || addr == MAP_FAILED) { + perror("mmap failure"); + FatalError("xf86MapDomainMem(): mmap() failure\n"); + } +- close(fd); + return addr; + } + diff --git a/modular-xorg-server-mesa653/patches/patch-bx b/modular-xorg-server-mesa653/patches/patch-bx new file mode 100644 index 0000000000..da559ec0f8 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bx @@ -0,0 +1,13 @@ +$NetBSD: patch-bx,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/os-support/xf86_libc.h.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/os-support/xf86_libc.h +@@ -428,7 +428,7 @@ typedef int xf86jmp_buf[1024]; + #define toupper(i) xf86toupper(i) + #undef ungetc + #define ungetc(i,FP) xf86ungetc(i,FP) +-#undef vfprinf ++#undef vfprintf + #define vfprintf(p,f,a) xf86vfprintf(p,f,a) + #undef vsnprintf + #define vsnprintf(s,n,f,a) xf86vsnprintf(s,n,f,a) diff --git a/modular-xorg-server-mesa653/patches/patch-by b/modular-xorg-server-mesa653/patches/patch-by new file mode 100644 index 0000000000..556f4c4626 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-by @@ -0,0 +1,40 @@ +$NetBSD: patch-by,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/parser/Flags.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/parser/Flags.c +@@ -198,21 +198,21 @@ addNewOption2 (XF86OptionPtr head, char + { + XF86OptionPtr new, old = NULL; + +- /* Don't allow duplicates */ +- if (head != NULL && (old = xf86findOption(head, name)) != NULL) +- new = old; +- else { ++ /* Don't allow duplicates, free old strings */ ++ if (head != NULL && (old = xf86findOption(head, name)) != NULL) { ++ new = old; ++ xf86conffree(new->opt_name); ++ xf86conffree(new->opt_val); ++ } ++ else + new = xf86confcalloc (1, sizeof (XF86OptionRec)); +- new->list.next = NULL; +- } +- new->opt_name = name; +- new->opt_val = val; +- new->opt_used = used; +- +- if (old == NULL) +- return ((XF86OptionPtr) xf86addListItem ((glp) head, (glp) new)); +- else +- return head; ++ new->opt_name = name; ++ new->opt_val = val; ++ new->opt_used = used; ++ ++ if (old) ++ return head; ++ return ((XF86OptionPtr) xf86addListItem ((glp) head, (glp) new)); + } + + XF86OptionPtr diff --git a/modular-xorg-server-mesa653/patches/patch-bz b/modular-xorg-server-mesa653/patches/patch-bz new file mode 100644 index 0000000000..7f8246d510 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-bz @@ -0,0 +1,42 @@ +$NetBSD: patch-bz,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/parser/Makefile.am.orig 2007-02-16 11:03:12.000000000 -0500 ++++ hw/xfree86/parser/Makefile.am +@@ -1,13 +1,11 @@ +-if INSTALL_LIBXF86CONFIG +-lib_LIBRARIES = libxf86config.a ++lib_LTLIBRARIES = libxf86config.la + LIBHEADERS = \ + xf86Optrec.h \ + xf86Parser.h +-else +-noinst_LIBRARIES = libxf86config.a +-endif + +-libxf86config_a_SOURCES = \ ++libxf86config_la_LDFLAGS = -version-number 6:9:99 ++libxf86config_la_LIBADD = $(XF86CONFIG_LIBS) -lm ++libxf86config_la_SOURCES = \ + Device.c \ + Files.c \ + Flags.c \ +@@ -24,7 +22,8 @@ libxf86config_a_SOURCES = \ + scan.c \ + write.c \ + DRI.c \ +- Extensions.c ++ Extensions.c \ ++ error.c + + AM_CFLAGS = $(XORG_CFLAGS) + +@@ -36,7 +35,5 @@ EXTRA_DIST = \ + xf86tokens.h \ + cpconfig.c + +-sdk_HEADERS = \ +- $(LIBHEADERS) \ +- xf86Parser.h \ +- xf86Optrec.h ++xf86configincludedir=$(includedir) ++xf86configinclude_HEADERS = $(LIBHEADERS) diff --git a/modular-xorg-server-mesa653/patches/patch-ca b/modular-xorg-server-mesa653/patches/patch-ca new file mode 100644 index 0000000000..138aa57786 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-ca @@ -0,0 +1,13 @@ +$NetBSD: patch-ca,v 1.1 2007/05/24 00:43:34 bsadewitz Exp $ + +--- hw/xfree86/parser/Monitor.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/parser/Monitor.c +@@ -674,8 +674,6 @@ xf86printMonitorSection (FILE * cf, XF86 + fprintf (cf, "\tDisplaySize %d\t%d\n", + ptr->mon_width, + ptr->mon_height); +- if ( ptr->mon_n_hsync || ptr->mon_n_vrefresh ) +- fprintf(cf," ### Comment all HorizSync and VertRefresh values to use DDC:\n"); + for (i = 0; i < ptr->mon_n_hsync; i++) + { + fprintf (cf, "\tHorizSync %2.1f - %2.1f\n", diff --git a/modular-xorg-server-mesa653/patches/patch-cb b/modular-xorg-server-mesa653/patches/patch-cb new file mode 100644 index 0000000000..98144cb3f5 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cb @@ -0,0 +1,26 @@ +$NetBSD: patch-cb,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/parser/cpconfig.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/parser/cpconfig.c +@@ -102,21 +102,3 @@ main (int argc, char *argv[]) + } + exit(0); + } +- +-/* Functions that the parser requires */ +- +-_X_EXPORT void +-VErrorF(const char *f, va_list args) +-{ +- vfprintf(stderr, f, args); +-} +- +-_X_EXPORT void +-ErrorF(const char *f, ...) +-{ +- va_list args; +- +- va_start(args, f); +- vfprintf(stderr, f, args); +- va_end(args); +-} diff --git a/modular-xorg-server-mesa653/patches/patch-cc b/modular-xorg-server-mesa653/patches/patch-cc new file mode 100644 index 0000000000..8ce8a87fbc --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cc @@ -0,0 +1,25 @@ +$NetBSD: patch-cc,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/parser/error.c.orig 2007-05-23 11:36:56.000000000 -0400 ++++ hw/xfree86/parser/error.c +@@ -0,0 +1,20 @@ ++#include ++#include ++#include "xf86Parser.h" ++ ++/* Functions that the parser requires */ ++ ++void ++VErrorF(const char *f, va_list args) ++{ ++ vfprintf(stderr, f, args); ++} ++ ++void ++ErrorF(const char *f, ...) ++{ ++ va_list args; ++ va_start(args, f); ++ vfprintf(stderr, f, args); ++ va_end(args); ++} diff --git a/modular-xorg-server-mesa653/patches/patch-cd b/modular-xorg-server-mesa653/patches/patch-cd new file mode 100644 index 0000000000..273cc6b379 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cd @@ -0,0 +1,31 @@ +$NetBSD: patch-cd,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/parser/write.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/parser/write.c +@@ -107,13 +107,19 @@ doWriteConfigFile (const char *filename, + + xf86printLayoutSection (cf, cptr->conf_layout_lst); + +- fprintf (cf, "Section \"Files\"\n"); +- xf86printFileSection (cf, cptr->conf_files); +- fprintf (cf, "EndSection\n\n"); +- +- fprintf (cf, "Section \"Module\"\n"); +- xf86printModuleSection (cf, cptr->conf_modules); +- fprintf (cf, "EndSection\n\n"); ++ if (cptr->conf_files != NULL) ++ { ++ fprintf (cf, "Section \"Files\"\n"); ++ xf86printFileSection (cf, cptr->conf_files); ++ fprintf (cf, "EndSection\n\n"); ++ } ++ ++ if (cptr->conf_modules != NULL) ++ { ++ fprintf (cf, "Section \"Module\"\n"); ++ xf86printModuleSection (cf, cptr->conf_modules); ++ fprintf (cf, "EndSection\n\n"); ++ } + + xf86printVendorSection (cf, cptr->conf_vendor_lst); + diff --git a/modular-xorg-server-mesa653/patches/patch-ce b/modular-xorg-server-mesa653/patches/patch-ce new file mode 100644 index 0000000000..a205bf16b0 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-ce @@ -0,0 +1,13 @@ +$NetBSD: patch-ce,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/utils/xorgcfg/Makefile.am.orig 2007-05-23 11:36:53.000000000 -0400 ++++ hw/xfree86/utils/xorgcfg/Makefile.am +@@ -36,7 +36,7 @@ OPTIONSPATH=$(sysconfdir)/X11 + xorgcfg_CFLAGS = $(XORG_CFLAGS) $(CURSESDEFINES) \ + $(XORGCFG_DEP_CFLAGS) -DXKB_RULES_DIR=\"$(XKB_BASE_DIRECTORY)/rules\" \ + -DPROJECT_ROOT=\"$(PROJECTROOT)\" -DOPTIONSPATH=\"$(OPTIONSPATH)\" +-xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.a $(LOADERLIB) \ ++xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.la $(LOADERLIB) \ + ../../os-support/libxorgos.la ../../dummylib/libdummy-nonserver.a \ + ${SYS_LIBS} + diff --git a/modular-xorg-server-mesa653/patches/patch-cf b/modular-xorg-server-mesa653/patches/patch-cf new file mode 100644 index 0000000000..cc4ded9d7f --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cf @@ -0,0 +1,22 @@ +$NetBSD: patch-cf,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/utils/xorgcfg/text-mode.c.orig 2007-02-17 20:37:56.000000000 -0500 ++++ hw/xfree86/utils/xorgcfg/text-mode.c +@@ -2123,7 +2123,7 @@ LayoutConfig(void) + else + iref->iref_option_lst = + xf86addNewOption(iref->iref_option_lst, +- "CorePointer", NULL); ++ XtNewString("CorePointer"), NULL); + option = xf86findOption(mref->iref_option_lst, + "CorePointer"); + XtFree(option->opt_name); +@@ -2221,7 +2221,7 @@ LayoutConfig(void) + else + iref->iref_option_lst = + xf86addNewOption(iref->iref_option_lst, +- "CoreKeyboard", NULL); ++ XtNewString("CoreKeyboard"), NULL); + option = xf86findOption(kref->iref_option_lst, + "CoreKeyboard"); + XtFree(option->opt_name); diff --git a/modular-xorg-server-mesa653/patches/patch-cg b/modular-xorg-server-mesa653/patches/patch-cg new file mode 100644 index 0000000000..5a65b1308e --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cg @@ -0,0 +1,13 @@ +$NetBSD: patch-cg,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/utils/xorgconfig/Makefile.am.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/utils/xorgconfig/Makefile.am +@@ -28,7 +28,7 @@ + + bin_PROGRAMS = xorgconfig + +-X11dir = $(libdir)/X11 ++X11dir = $(datadir)/X11 + dist_X11_DATA = Cards + + xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \ diff --git a/modular-xorg-server-mesa653/patches/patch-ch b/modular-xorg-server-mesa653/patches/patch-ch new file mode 100644 index 0000000000..bd8b967bf4 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-ch @@ -0,0 +1,35 @@ +$NetBSD: patch-ch,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- hw/xfree86/xaa/xaaInit.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ hw/xfree86/xaa/xaaInit.c +@@ -97,6 +97,30 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec) + xfree(infoRec); + } + ++void ++XAAEvictPixmaps(void) ++{ ++ XAAScreenPtr pScreenPriv; ++ XAAInfoRecPtr infoRec; ++ ScreenPtr pScreen; ++ int i; ++ ++ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n"); ++ ++ for (i = 0; i < screenInfo.numScreens; i++) { ++ pScreen = screenInfo.screens[i]; ++ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); ++ ++ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr; ++ infoRec = pScreenPriv->AccelInfoRec; ++ ++ infoRec->offscreenDepths = 0; ++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS; ++ ++ XAAMoveOutOffscreenPixmaps(pScreen); ++ XAAInvalidatePixmapCache(pScreen); ++ } ++} + + Bool + XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec) diff --git a/modular-xorg-server-mesa653/patches/patch-ci b/modular-xorg-server-mesa653/patches/patch-ci new file mode 100644 index 0000000000..5cba451159 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-ci @@ -0,0 +1,13 @@ +$NetBSD: patch-ci,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- render/glyph.c.orig 2006-09-18 02:04:18.000000000 -0400 ++++ render/glyph.c +@@ -443,7 +443,7 @@ FindGlyphRef (GlyphHashPtr hash, CARD32 + } + else if (s == signature && + (!match || +- memcmp (&compare->info, &glyph->info, compare->size) == 0)) ++ memcmp (&compare->info, &glyph->info, glyph->size < compare->size ? glyph->size : compare->size) == 0)) + { + break; + } diff --git a/modular-xorg-server-mesa653/patches/patch-cj b/modular-xorg-server-mesa653/patches/patch-cj new file mode 100644 index 0000000000..8f3e706160 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-cj @@ -0,0 +1,12 @@ +$NetBSD: patch-cj,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- render/renderedge.c.orig 2006-06-06 13:13:55.000000000 -0400 ++++ render/renderedge.c +@@ -143,6 +143,7 @@ RenderEdgeInit (RenderEdge *e, + dx = x_bot - x_top; + dy = y_bot - y_top; + e->dy = dy; ++ e->dx = 0; + if (dy) + { + if (dx >= 0) diff --git a/modular-xorg-server-mesa653/patches/patch-ck b/modular-xorg-server-mesa653/patches/patch-ck new file mode 100644 index 0000000000..1a24581680 --- /dev/null +++ b/modular-xorg-server-mesa653/patches/patch-ck @@ -0,0 +1,40 @@ +$NetBSD: patch-ck,v 1.1 2007/05/24 00:43:35 bsadewitz Exp $ + +--- GL/mesa/vbo/Makefile.am.orig 2007-05-23 11:38:26.000000000 -0400 ++++ GL/mesa/vbo/Makefile.am +@@ -0,0 +1,35 @@ ++noinst_LTLIBRARIES = libvbo.la ++ ++AM_CFLAGS = \ ++ $(DIX_CFLAGS) \ ++ -DXFree86Server \ ++ @GLX_DEFINES@ ++ ++INCLUDES = -I@MESA_SOURCE@/include \ ++ -I../X \ ++ -I../glapi \ ++ -I../main \ ++ -I../math \ ++ -I../shader \ ++ -I../shader/slang \ ++ -I../shader/slang \ ++ -I../swrast \ ++ -I../swrast_setup \ ++ -I../tnl \ ++ -I.. \ ++ -I$(top_srcdir)/hw/xfree86/os-support ++ ++nodist_libvbo_la_SOURCES = vbo_context.c \ ++ vbo_exec_api.c \ ++ vbo_exec_array.c \ ++ vbo_exec.c \ ++ vbo_exec_draw.c \ ++ vbo_exec_eval.c \ ++ vbo_rebase.c \ ++ vbo_save_api.c \ ++ vbo_save.c \ ++ vbo_save_draw.c \ ++ vbo_save_loopback.c \ ++ vbo_split.c \ ++ vbo_split_copy.c \ ++ vbo_split_inplace.c