Author: branden Date: 2004-05-07 14:37:27 -0500 (Fri, 07 May 2004) New Revision: 1370
Added: trunk/debian/patches/022_ati_r128_support_800_byte_pitch.diff trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff trunk/debian/patches/030_Xserver_and_driver_region_primitive_fixups.diff trunk/debian/patches/043_ati_r128_update_chip_identification.diff trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff trunk/debian/patches/079_ati_radeon_fix_power_resume.diff trunk/debian/patches/451_ia64_ati_r128_and_radeon_generalize_pagesize.diff trunk/debian/patches/600_amd64_Xlib_support_and_ati_fix.diff Removed: trunk/debian/patches/022_r128_driver_pitch_tweak.diff trunk/debian/patches/024_r128_and_radeon_vgahw_independence.diff trunk/debian/patches/030_Xserver_and_ati_region_primitive_fixups.diff trunk/debian/patches/043_r128_correct_chip_names.diff trunk/debian/patches/069_fix_ugly_r128_driver_warning.diff trunk/debian/patches/079_radeon_resume_fix.diff trunk/debian/patches/451_ia64_radeon_pagesize.diff trunk/debian/patches/600_amd64_Xlib_support.diff Modified: trunk/debian/CHANGESETS Log: (cosmetic) Rename patches to ATI driver to be more consistent with each other. Modified: trunk/debian/CHANGESETS =================================================================== --- trunk/debian/CHANGESETS 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/CHANGESETS 2004-05-07 19:37:27 UTC (rev 1370) @@ -49,4 +49,7 @@ 1363, 1367. 1368 +(cosmetic) Rename patches to ATI driver to be more consistent with each other. + 1370 + vim:set ai et sts=4 sw=4 tw=80: Copied: trunk/debian/patches/022_ati_r128_support_800_byte_pitch.diff (from rev 1368, trunk/debian/patches/022_r128_driver_pitch_tweak.diff) Deleted: trunk/debian/patches/022_r128_driver_pitch_tweak.diff =================================================================== --- trunk/debian/patches/022_r128_driver_pitch_tweak.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/022_r128_driver_pitch_tweak.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,50 +0,0 @@ -$Id$ - -Driver patch by Branden Robinson after consultation with Michel D�nzer. - -Xv patch by Dagfinn Ilmari Manns�ker after suggestion by Michel D�nzer. -This is needed or Xv will not work in depth 24 (see Debian #148775). - -Not submitted upstream yet. - ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c~ Sun Apr 28 19:41:21 2002 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c Sun Apr 28 19:43:04 2002 -@@ -1630,7 +1630,11 @@ - NULL, /* linePitches */ - 8 * 64, /* minPitch */ - 8 * 1024, /* maxPitch */ -- 8 * 64, /* pitchInc */ -+/* -+ * ATI docs say pitchInc must be 8 * 64, but this doesn't permit a pitch of -+ * 800 bytes, which is known to work on the Rage128 LF on clamshell iBooks -+ */ -+ 8 * 32, /* pitchInc */ - 128, /* minHeight */ - 2048, /* maxHeight */ - pScrn->display->virtualX, ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c 2003-02-19 02:19:41.000000000 +0100 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c 2004-01-22 23:51:43.000000000 +0100 -@@ -579,20 +579,20 @@ - - pScreen = screenInfo.screens[pScrn->scrnIndex]; - -- new_linear = xf86AllocateOffscreenLinear(pScreen, size, 16, -+ new_linear = xf86AllocateOffscreenLinear(pScreen, size, 8, - NULL, NULL, NULL); - - if(!new_linear) { - int max_size; - -- xf86QueryLargestOffscreenLinear(pScreen, &max_size, 16, -+ xf86QueryLargestOffscreenLinear(pScreen, &max_size, 8, - PRIORITY_EXTREME); - - if(max_size < size) - return NULL; - - xf86PurgeUnlockedOffscreenAreas(pScreen); -- new_linear = xf86AllocateOffscreenLinear(pScreen, size, 16, -+ new_linear = xf86AllocateOffscreenLinear(pScreen, size, 8, - NULL, NULL, NULL); - } - Copied: trunk/debian/patches/024_ati_r128_and_radeon_enable_build_without_vgahw.diff (from rev 1368, trunk/debian/patches/024_r128_and_radeon_vgahw_independence.diff) Deleted: trunk/debian/patches/024_r128_and_radeon_vgahw_independence.diff =================================================================== --- trunk/debian/patches/024_r128_and_radeon_vgahw_independence.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/024_r128_and_radeon_vgahw_independence.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,331 +0,0 @@ -$Id$ - -Fix compilation failures problems with undefined DPMS symbols when building -a static server on architectures that don't use vgahw (such as -SPARC/Linux.) - -Fix a compiler warning. - -Clean up some whitespace. - -This patch by Branden Robinson. - -Not submitted to XFree86. - -diff -u xc/programs/Xserver/hw/xfree86/drivers/ati~/Imakefile xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile ---- xc/programs/Xserver/hw/xfree86/drivers/ati~/Imakefile 2004-05-03 17:20:41.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile 2004-05-03 17:22:54.000000000 -0500 -@@ -145,7 +145,14 @@ - - #endif - --DEFINES = $(CPIODEFINES) $(DGADEFINES) $(NONPCIDEFINES) $(DRIDEFINES) -+/* -+ * The vgahw layer is not built on all architectures. -+ */ -+#if XF86VgaHw -+VGAHWDEFINES = -DWITH_VGAHW -+#endif -+ -+DEFINES = $(CPIODEFINES) $(DGADEFINES) $(NONPCIDEFINES) $(DRIDEFINES) $(VGAHWDEFINES) - - SRCS1 = ati.c atiadapter.c atibus.c atichip.c atiident.c atioption.c \ - atiprobe.c atividmem.c $(CPIOSRCS1) $(MODSRCS1) \ -diff -u xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c ---- xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_driver.c 2004-05-03 17:20:47.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2004-05-03 17:30:58.000000000 -0500 -@@ -86,10 +86,16 @@ - #include "vbe.h" - - /* fbdevhw & vgahw */ --#include "fbdevhw.h" -+#ifdef WITH_VGAHW - #include "vgaHW.h" -+#endif -+#include "fbdevhw.h" - #include "dixstruct.h" - -+ /* DPMS support. */ -+#define DPMS_SERVER -+#include "extensions/dpms.h" -+ - #ifndef MAX - #define MAX(a,b) ((a)>(b)?(a):(b)) - #endif -@@ -174,6 +180,7 @@ - { 4, 4, 3, 3, 2, 3, 1, 16, 12, "64-bit DDR SGRAM" }, - }; - -+#ifdef WITH_VGAHW - static const char *vgahwSymbols[] = { - "vgaHWFreeHWRec", - "vgaHWGetHWRec", -@@ -184,6 +191,7 @@ - "vgaHWUnlock", - NULL - }; -+#endif - - static const char *fbdevHWSymbols[] = { - "fbdevHWInit", -@@ -325,7 +333,10 @@ - * Tell the loader about symbols from other modules that this module might - * refer to. - */ -- xf86LoaderRefSymLists(vgahwSymbols, -+ xf86LoaderRefSymLists( -+#ifdef WITH_VGAHW -+ vgahwSymbols, -+#endif - fbSymbols, - xaaSymbols, - ramdacSymbols, -@@ -1863,12 +1874,14 @@ - return TRUE; - } - -+#ifdef WITH_VGAHW - if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE; - xf86LoaderReqSymLists(vgahwSymbols, NULL); - if (!vgaHWGetHWRec(pScrn)) { - R128FreeRec(pScrn); - return FALSE; - } -+#endif - - info->PciInfo = xf86GetPciInfoForEntity(info->pEnt->index); - info->PciTag = pciTag(info->PciInfo->bus, -@@ -1979,7 +1992,9 @@ - if (pInt10) - xf86FreeInt10(pInt10); - -+#ifdef WITH_VGAHW - vgaHWFreeHWRec(pScrn); -+#endif - R128FreeRec(pScrn); - return FALSE; - } -@@ -2792,16 +2807,20 @@ - R128InfoPtr info = R128PTR(pScrn); - unsigned char *R128MMIO = info->MMIO; - R128SavePtr save = &info->SavedReg; -+#ifdef WITH_VGAHW - vgaHWPtr hwp = VGAHWPTR(pScrn); -+#endif - - R128TRACE(("R128Save\n")); - if (info->FBDev) { - fbdevHWSave(pScrn); - return; - } -+#ifdef WITH_VGAHW - vgaHWUnlock(hwp); - vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_ALL); /* save mode, fonts, cmap */ - vgaHWLock(hwp); -+#endif - - R128SaveMode(pScrn, save); - -@@ -2818,7 +2837,9 @@ - R128InfoPtr info = R128PTR(pScrn); - unsigned char *R128MMIO = info->MMIO; - R128SavePtr restore = &info->SavedReg; -+#ifdef WITH_VGAHW - vgaHWPtr hwp = VGAHWPTR(pScrn); -+#endif - - R128TRACE(("R128Restore\n")); - if (info->FBDev) { -@@ -2834,9 +2855,12 @@ - OUTREG(R128_DP_DATATYPE, restore->dp_datatype); - - R128RestoreMode(pScrn, restore); -+ -+#ifdef WITH_VGAHW - vgaHWUnlock(hwp); - vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS ); - vgaHWLock(hwp); -+#endif - - R128WaitForVerticalSync(pScrn); - R128Unblank(pScrn); -@@ -3571,8 +3595,12 @@ - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - - R128TRACE(("R128FreeScreen\n")); -+ -+#ifdef WITH_VGAHW - if (xf86LoaderCheckSymbol("vgaHWFreeHWRec")) - vgaHWFreeHWRec(pScrn); -+#endif -+ - R128FreeRec(pScrn); - } - -diff -u xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c ---- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_driver.c 2004-05-03 17:20:42.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-05-03 17:29:38.000000000 -0500 -@@ -86,9 +86,15 @@ - #include "xf86cmap.h" - #include "vbe.h" - -- /* fbdevhw * vgaHW definitions */ --#include "fbdevhw.h" -+ /* fbdevhw & vgaHW definitions */ -+#ifdef WITH_VGAHW - #include "vgaHW.h" -+#endif -+#include "fbdevhw.h" -+ -+ /* DPMS support. */ -+#define DPMS_SERVER -+#include "extensions/dpms.h" - - #ifndef MAX - #define MAX(a,b) ((a)>(b)?(a):(b)) -@@ -178,6 +184,7 @@ - { -1, NULL, OPTV_NONE, {0}, FALSE } - }; - -+#ifdef WITH_VGAHW - static const char *vgahwSymbols[] = { - "vgaHWFreeHWRec", - "vgaHWGetHWRec", -@@ -189,6 +196,7 @@ - "vgaHWGetIOBase", - NULL - }; -+#endif - - static const char *fbdevHWSymbols[] = { - "fbdevHWInit", -@@ -343,7 +351,10 @@ - * Tell the loader about symbols from other modules that this module might - * refer to. - */ -- xf86LoaderRefSymLists(vgahwSymbols, -+ xf86LoaderRefSymLists( -+#ifdef WITH_VGAHW -+ vgahwSymbols, -+#endif - fbSymbols, - xaaSymbols, - #if 0 -@@ -3941,6 +3952,7 @@ - return TRUE; - } - -+#ifdef WITH_VGAHW - if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE; - xf86LoaderReqSymLists(vgahwSymbols, NULL); - if (!vgaHWGetHWRec(pScrn)) { -@@ -3949,6 +3961,7 @@ - } - - vgaHWGetIOBase(VGAHWPTR(pScrn)); -+#endif - - xf86DrvMsg(pScrn->scrnIndex, X_INFO, - "PCI bus %d card %d func %d\n", -@@ -4087,7 +4100,9 @@ - if (pInt10) - xf86FreeInt10(pInt10); - -+#ifdef WITH_VGAHW - vgaHWFreeHWRec(pScrn); -+#endif - - fail2: - if(info->MMIO) RADEONUnmapMMIO(pScrn); -@@ -5480,7 +5495,9 @@ - RADEONInfoPtr info = RADEONPTR(pScrn); - unsigned char *RADEONMMIO = info->MMIO; - RADEONSavePtr save = &info->SavedReg; -+#ifdef WITH_VGAHW - vgaHWPtr hwp = VGAHWPTR(pScrn); -+#endif - - RADEONTRACE(("RADEONSave\n")); - if (info->FBDev) { -@@ -5489,19 +5506,21 @@ - } - - if (!info->IsSecondary) { -+#ifdef WITH_VGAHW - vgaHWUnlock(hwp); --#if defined(__powerpc__) -+# if defined(__powerpc__) - /* temporary hack to prevent crashing on PowerMacs when trying to - * read VGA fonts and colormap, will find a better solution - * in the future - */ - vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE); /* Save mode only */ --#else -+# else - vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS); /* Save mode - * & fonts & cmap - */ --#endif -+# endif - vgaHWLock(hwp); -+#endif - save->dp_datatype = INREG(RADEON_DP_DATATYPE); - save->rbbm_soft_reset = INREG(RADEON_RBBM_SOFT_RESET); - save->clock_cntl_index = INREG(RADEON_CLOCK_CNTL_INDEX); -@@ -5517,7 +5536,9 @@ - RADEONInfoPtr info = RADEONPTR(pScrn); - unsigned char *RADEONMMIO = info->MMIO; - RADEONSavePtr restore = &info->SavedReg; -+#ifdef WITH_VGAHW - vgaHWPtr hwp = VGAHWPTR(pScrn); -+#endif - - RADEONTRACE(("RADEONRestore\n")); - -@@ -5560,26 +5581,32 @@ - #endif - - if (!info->IsSecondary) { -+#ifdef WITH_VGAHW - vgaHWUnlock(hwp); --#if defined(__powerpc__) -+# if defined(__powerpc__) - /* Temporary hack to prevent crashing on PowerMacs when trying to - * write VGA fonts, will find a better solution in the future - */ - vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE ); --#else -+# else - vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS ); --#endif -+# endif - vgaHWLock(hwp); -+#endif - } else { - RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); - ScrnInfoPtr pScrn0; -+#ifdef WITH_VGAHW - vgaHWPtr hwp0; -+#endif - - pScrn0 = pRADEONEnt->pPrimaryScrn; -+#ifdef WITH_VGAHW - hwp0 = VGAHWPTR(pScrn0); - vgaHWUnlock(hwp0); - vgaHWRestore(pScrn0, &hwp0->SavedReg, VGA_SR_MODE | VGA_SR_FONTS ); - vgaHWLock(hwp0); -+#endif - } - RADEONUnblank(pScrn); - -@@ -7022,8 +7049,10 @@ - - RADEONTRACE(("RADEONFreeScreen\n")); - -+#ifdef WITH_VGAHW - if (xf86LoaderCheckSymbol("vgaHWFreeHWRec")) - vgaHWFreeHWRec(pScrn); -+#endif - RADEONFreeRec(pScrn); - } - Deleted: trunk/debian/patches/030_Xserver_and_ati_region_primitive_fixups.diff =================================================================== --- trunk/debian/patches/030_Xserver_and_ati_region_primitive_fixups.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/030_Xserver_and_ati_region_primitive_fixups.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,183 +0,0 @@ -$Id$ - -Backport REGION_NULL macro definitions from XFree86 CVS 2003-11-10. - -Hack backported ATI driver from XFree86 CVS 2004-02-11 to not use -REGION_EQUAL primitive added to XFree86 CVS on 2003-04-23. The change that -implement it, and the rest of the changes from 2003-11-10, were very -disruptive, affecting the mi layer and many drivers. - ---- xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64xv.c~ 2004-05-05 17:08:17.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/atimach64xv.c 2004-05-07 12:43:34.000000000 -0500 -@@ -34,6 +34,38 @@ - #define MAKE_ATOM(string) MakeAtom(string, strlen(string), TRUE) - #define MaxScale (CARD32)(CARD16)(-1) - -+/* -+ * This kludge was inserted by Debian to get 4.4.0RC2+CVS ATI driver to work with -+ * 4.3.0's xc/programs/Xserver/include/regionstr.h. -+ */ -+static Bool ATIMach64RegionsEqual(RegionPtr A, RegionPtr B) -+{ -+ int *dataA, *dataB; -+ int num; -+ -+ num = REGION_NUM_RECTS(A); -+ if(num != REGION_NUM_RECTS(B)) -+ return FALSE; -+ -+ if((A->extents.x1 != B->extents.x1) || -+ (A->extents.x2 != B->extents.x2) || -+ (A->extents.y1 != B->extents.y1) || -+ (A->extents.y2 != B->extents.y2)) -+ return FALSE; -+ -+ dataA = (int*)REGION_RECTS(A); -+ dataB = (int*)REGION_RECTS(B); -+ -+ while(num--) { -+ if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1])) -+ return FALSE; -+ dataA += 2; -+ dataB += 2; -+ } -+ -+ return TRUE; -+} -+ - static unsigned long ATIMach64XVAtomGeneration = (unsigned long)(-1); - - static XF86VideoEncodingRec ATIMach64VideoEncoding_A[] = -@@ -1074,7 +1106,7 @@ - break; - } - -- if (!REGION_EQUAL(pScreen, &pATI->VideoClip, pClip)) -+ if (!ATIMach64RegionsEqual(&pATI->VideoClip, pClip)) - { - REGION_COPY(pScreen, &pATI->VideoClip, pClip); - if (pATI->AutoPaint) ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c~ 2004-05-05 17:08:22.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c 2004-05-07 12:43:51.000000000 -0500 -@@ -23,6 +23,38 @@ - - #define TIMER_MASK (OFF_TIMER | FREE_TIMER) - -+/* -+ * This kludge was inserted by Debian to get 4.4.0RC2+CVS ATI driver to work with -+ * 4.3.0's xc/programs/Xserver/include/regionstr.h. -+ */ -+static Bool R128RegionsEqual(RegionPtr A, RegionPtr B) -+{ -+ int *dataA, *dataB; -+ int num; -+ -+ num = REGION_NUM_RECTS(A); -+ if(num != REGION_NUM_RECTS(B)) -+ return FALSE; -+ -+ if((A->extents.x1 != B->extents.x1) || -+ (A->extents.x2 != B->extents.x2) || -+ (A->extents.y1 != B->extents.y1) || -+ (A->extents.y2 != B->extents.y2)) -+ return FALSE; -+ -+ dataA = (int*)REGION_RECTS(A); -+ dataB = (int*)REGION_RECTS(B); -+ -+ while(num--) { -+ if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1])) -+ return FALSE; -+ dataA += 2; -+ dataB += 2; -+ } -+ -+ return TRUE; -+} -+ - static XF86VideoAdaptorPtr R128SetupImageVideo(ScreenPtr); - static int R128SetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer); - static int R128GetPortAttribute(ScrnInfoPtr, Atom ,INT32 *, pointer); -@@ -919,7 +951,7 @@ - #endif - - /* update cliplist */ -- if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) { -+ if(!R128RegionsEqual(&pPriv->clip, clipBoxes)) { - REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes); - /* draw these */ - xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes); ---- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c~ 2004-05-05 17:08:26.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c 2004-05-07 12:44:55.000000000 -0500 -@@ -20,6 +20,38 @@ - - #define TIMER_MASK (OFF_TIMER | FREE_TIMER) - -+/* -+ * This kludge was inserted by Debian to get 4.4.0RC2+CVS ATI driver to work with -+ * 4.3.0's xc/programs/Xserver/include/regionstr.h. -+ */ -+static Bool RADEONRegionsEqual(RegionPtr A, RegionPtr B) -+{ -+ int *dataA, *dataB; -+ int num; -+ -+ num = REGION_NUM_RECTS(A); -+ if(num != REGION_NUM_RECTS(B)) -+ return FALSE; -+ -+ if((A->extents.x1 != B->extents.x1) || -+ (A->extents.x2 != B->extents.x2) || -+ (A->extents.y1 != B->extents.y1) || -+ (A->extents.y2 != B->extents.y2)) -+ return FALSE; -+ -+ dataA = (int*)REGION_RECTS(A); -+ dataB = (int*)REGION_RECTS(B); -+ -+ while(num--) { -+ if((dataA[0] != dataB[0]) || (dataA[1] != dataB[1])) -+ return FALSE; -+ dataA += 2; -+ dataB += 2; -+ } -+ -+ return TRUE; -+} -+ - extern int gRADEONEntityIndex; - - static void RADEONInitOffscreenImages(ScreenPtr); -@@ -1156,7 +1188,7 @@ - #endif - - /* update cliplist */ -- if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) -+ if(!RADEONRegionsEqual(&pPriv->clip, clipBoxes)) - { - REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes); - /* draw these */ ---- xc/programs/Xserver/include/regionstr.h~ 2004-05-05 17:21:32.000000000 -0500 -+++ xc/programs/Xserver/include/regionstr.h 2004-05-05 17:22:02.000000000 -0500 -@@ -285,10 +285,21 @@ - #define REGION_EXTENTS(_pScreen, _pReg) \ - &(_pReg)->extents - -+#define REGION_NULL(_pScreen, _pReg) \ -+{ \ -+ (_pReg)->extents = miEmptyBox; \ -+ (_pReg)->data = &miEmptyData; \ -+} -+ - #endif /* DONT_INLINE_REGION_OPS */ - - #endif /* NEED_SCREEN_REGIONS */ - -+#ifndef REGION_NULL -+#define REGION_NULL(_pScreen, _pReg) \ -+ REGION_INIT(_pScreen, _pReg, NullBox, 1) -+#endif -+ - /* moved from mi.h */ - - extern RegionPtr miRegionCreate( Copied: trunk/debian/patches/030_Xserver_and_driver_region_primitive_fixups.diff (from rev 1368, trunk/debian/patches/030_Xserver_and_ati_region_primitive_fixups.diff) Copied: trunk/debian/patches/043_ati_r128_update_chip_identification.diff (from rev 1368, trunk/debian/patches/043_r128_correct_chip_names.diff) Deleted: trunk/debian/patches/043_r128_correct_chip_names.diff =================================================================== --- trunk/debian/patches/043_r128_correct_chip_names.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/043_r128_correct_chip_names.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,77 +0,0 @@ -$Id$ - -This patch from Mike A. Harris. - ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c.ati-r128-chip-names-touchup 2003-02-10 02:59:59.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c 2003-02-10 03:01:05.000000000 -0500 -@@ -83,43 +83,43 @@ - { PCI_CHIP_RAGE128LF, "ATI Rage 128 Mobility M3 LF (AGP)" }, - { PCI_CHIP_RAGE128MF, "ATI Rage 128 Mobility M4 MF (AGP)" }, - { PCI_CHIP_RAGE128ML, "ATI Rage 128 Mobility M4 ML (AGP)" }, -- { PCI_CHIP_RAGE128PA, "ATI Rage 128 Pro GL PA (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PB, "ATI Rage 128 Pro GL PB (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PC, "ATI Rage 128 Pro GL PC (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PA, "ATI Rage 128 Pro GL PA (AGP?)" }, -+ { PCI_CHIP_RAGE128PB, "ATI Rage 128 Pro GL PB (AGP?)" }, -+ { PCI_CHIP_RAGE128PC, "ATI Rage 128 Pro GL PC (AGP?)" }, - { PCI_CHIP_RAGE128PD, "ATI Rage 128 Pro GL PD (PCI)" }, -- { PCI_CHIP_RAGE128PE, "ATI Rage 128 Pro GL PE (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PE, "ATI Rage 128 Pro GL PE (AGP?)" }, - { PCI_CHIP_RAGE128PF, "ATI Rage 128 Pro GL PF (AGP)" }, -- { PCI_CHIP_RAGE128PG, "ATI Rage 128 Pro VR PG (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PH, "ATI Rage 128 Pro VR PH (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PI, "ATI Rage 128 Pro VR PI (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PJ, "ATI Rage 128 Pro VR PJ (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PK, "ATI Rage 128 Pro VR PK (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PL, "ATI Rage 128 Pro VR PL (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PM, "ATI Rage 128 Pro VR PM (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PN, "ATI Rage 128 Pro VR PN (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PO, "ATI Rage 128 Pro VR PO (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PG, "ATI Rage 128 Pro VR PG (AGP?)" }, -+ { PCI_CHIP_RAGE128PH, "ATI Rage 128 Pro VR PH (AGP?)" }, -+ { PCI_CHIP_RAGE128PI, "ATI Rage 128 Pro VR PI (AGP?)" }, -+ { PCI_CHIP_RAGE128PJ, "ATI Rage 128 Pro VR PJ (AGP?)" }, -+ { PCI_CHIP_RAGE128PK, "ATI Rage 128 Pro VR PK (AGP?)" }, -+ { PCI_CHIP_RAGE128PL, "ATI Rage 128 Pro VR PL (AGP?)" }, -+ { PCI_CHIP_RAGE128PM, "ATI Rage 128 Pro VR PM (AGP?)" }, -+ { PCI_CHIP_RAGE128PN, "ATI Rage 128 Pro VR PN (AGP?)" }, -+ { PCI_CHIP_RAGE128PO, "ATI Rage 128 Pro VR PO (AGP?)" }, - { PCI_CHIP_RAGE128PP, "ATI Rage 128 Pro VR PP (PCI)" }, -- { PCI_CHIP_RAGE128PQ, "ATI Rage 128 Pro VR PQ (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PQ, "ATI Rage 128 Pro VR PQ (AGP?)" }, - { PCI_CHIP_RAGE128PR, "ATI Rage 128 Pro VR PR (PCI)" }, -- { PCI_CHIP_RAGE128PS, "ATI Rage 128 Pro VR PS (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PT, "ATI Rage 128 Pro VR PT (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PU, "ATI Rage 128 Pro VR PU (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PV, "ATI Rage 128 Pro VR PV (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PW, "ATI Rage 128 Pro VR PW (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PX, "ATI Rage 128 Pro VR PX (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PS, "ATI Rage 128 Pro VR PS (AGP?)" }, -+ { PCI_CHIP_RAGE128PT, "ATI Rage 128 Pro VR PT (AGP?)" }, -+ { PCI_CHIP_RAGE128PU, "ATI Rage 128 Pro VR PU (AGP?)" }, -+ { PCI_CHIP_RAGE128PV, "ATI Rage 128 Pro VR PV (AGP?)" }, -+ { PCI_CHIP_RAGE128PW, "ATI Rage 128 Pro VR PW (AGP?)" }, -+ { PCI_CHIP_RAGE128PX, "ATI Rage 128 Pro VR PX (AGP?)" }, - { PCI_CHIP_RAGE128RE, "ATI Rage 128 GL RE (PCI)" }, - { PCI_CHIP_RAGE128RF, "ATI Rage 128 GL RF (AGP)" }, - { PCI_CHIP_RAGE128RG, "ATI Rage 128 RG (AGP)" }, - { PCI_CHIP_RAGE128RK, "ATI Rage 128 VR RK (PCI)" }, - { PCI_CHIP_RAGE128RL, "ATI Rage 128 VR RL (AGP)" }, -- { PCI_CHIP_RAGE128SE, "ATI Rage 128 4X SE (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SF, "ATI Rage 128 4X SF (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SG, "ATI Rage 128 4X SG (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SH, "ATI Rage 128 4X SH (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SK, "ATI Rage 128 4X SK (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SL, "ATI Rage 128 4X SL (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128SE, "ATI Rage 128 4X SE (AGP?)" }, -+ { PCI_CHIP_RAGE128SF, "ATI Rage 128 4X SF (AGP?)" }, -+ { PCI_CHIP_RAGE128SG, "ATI Rage 128 4X SG (AGP?)" }, -+ { PCI_CHIP_RAGE128SH, "ATI Rage 128 4X SH (AGP?)" }, -+ { PCI_CHIP_RAGE128SK, "ATI Rage 128 4X SK (AGP?)" }, -+ { PCI_CHIP_RAGE128SL, "ATI Rage 128 4X SL (AGP?)" }, - { PCI_CHIP_RAGE128SM, "ATI Rage 128 4X SM (AGP)" }, -- { PCI_CHIP_RAGE128SN, "ATI Rage 128 4X SN (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128SN, "ATI Rage 128 4X SN (AGP?)" }, - { PCI_CHIP_RAGE128TF, "ATI Rage 128 Pro ULTRA TF (AGP)" }, - { PCI_CHIP_RAGE128TL, "ATI Rage 128 Pro ULTRA TL (AGP)" }, - { PCI_CHIP_RAGE128TR, "ATI Rage 128 Pro ULTRA TR (AGP)" }, Copied: trunk/debian/patches/069_ati_r128_fix_ugly_warning.diff (from rev 1368, trunk/debian/patches/069_fix_ugly_r128_driver_warning.diff) Deleted: trunk/debian/patches/069_fix_ugly_r128_driver_warning.diff =================================================================== --- trunk/debian/patches/069_fix_ugly_r128_driver_warning.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/069_fix_ugly_r128_driver_warning.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,22 +0,0 @@ -$Id$ - -Fix ugly diagnostic string. Get rid of the multiline string literal while -we're at it. - -This patch by Branden Robinson. - -Not submitted to XFree86. - ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c~ 2004-05-03 17:41:01.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2004-05-03 17:41:41.000000000 -0500 -@@ -649,8 +649,8 @@ - if (!info->PanelXRes || !info->PanelYRes) { - info->HasPanelRegs = FALSE; - xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- "Can't determine panel dimensions, and none specified. \ -- Disabling programming of FP registers.\n"); -+ "Can't determine panel dimensions, and none specified.\n" -+ "\tDisabling programming of FP registers.\n"); - } - - return TRUE; Copied: trunk/debian/patches/079_ati_radeon_fix_power_resume.diff (from rev 1368, trunk/debian/patches/079_radeon_resume_fix.diff) Deleted: trunk/debian/patches/079_radeon_resume_fix.diff =================================================================== --- trunk/debian/patches/079_radeon_resume_fix.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/079_radeon_resume_fix.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,43 +0,0 @@ -$Id$ - -This enables resume from suspend level S3 by asking the Radeon chip if it -thinks it has no memory. If so, the card is re-POSTed via the int10 -interface. Reportedly enables the driver to work for this type of -suspend/resume cycle on Dell D600 laptops (Dell D800s as well, if the video -BIOS is patched to 4.28.20.31.C1 or later). See Debian Bug #234575. - -This patch by Emmanuel Thomé and Ole Rohne. - ---- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c~ 2004-03-26 16:31:43.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 2004-03-26 16:42:21.000000000 -0500 -@@ -336,6 +336,7 @@ - "xf86InitInt10", - "xf86FreeInt10", - "xf86int10Addr", -+ "xf86ExecX86int10", - NULL - }; - -@@ -6927,9 +6928,22 @@ - { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - RADEONInfoPtr info = RADEONPTR(pScrn); -+ unsigned char *RADEONMMIO = info->MMIO; - - RADEONTRACE(("RADEONEnterVT\n")); - -+ if (INREG(RADEON_CONFIG_MEMSIZE) == 0) { /* Softboot V_BIOS */ -+ xf86Int10InfoPtr pInt; -+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -+ "zero MEMSIZE, probably at D3cold. Re-POSTing via int10.\n"); -+ pInt = xf86InitInt10 (info->pEnt->index); -+ if (pInt) { -+ pInt->num = 0xe6; -+ xf86ExecX86int10 (pInt); -+ xf86FreeInt10 (pInt); -+ } -+ } -+ - if (info->FBDev) { - unsigned char *RADEONMMIO = info->MMIO; - if (!fbdevHWEnterVT(scrnIndex,flags)) return FALSE; Copied: trunk/debian/patches/451_ia64_ati_r128_and_radeon_generalize_pagesize.diff (from rev 1368, trunk/debian/patches/451_ia64_radeon_pagesize.diff) Deleted: trunk/debian/patches/451_ia64_radeon_pagesize.diff =================================================================== --- trunk/debian/patches/451_ia64_radeon_pagesize.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/451_ia64_radeon_pagesize.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,116 +0,0 @@ -$Id$ - -Patch by Chris Ahna: - -Fixes critical page size problems on ia64 architecture. See following URL for -details: - -https://external-lists.valinux.com/archives/linux-ia64/2001-August/002037.html - -Comment by [EMAIL PROTECTED]: - -This probably should be rewritten to be outside of the drivers themselves so -that it doesn't have to be done per-driver. I'm applying this to our -XFree86 for now however until I've got time to investigate doing it more -generically. - -diff -u xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_dri.c xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c ---- xc/programs/Xserver/hw/xfree86/drivers/ati~/r128_dri.c 2004-05-03 18:02:28.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c 2004-05-03 18:04:19.000000000 -0500 -@@ -55,15 +55,7 @@ - #include "GL/glxtokens.h" - #include "sarea.h" - --/* ?? HACK - for now, put this here... */ --/* ?? Alpha - this may need to be a variable to handle UP1x00 vs TITAN */ --#if defined(__alpha__) --# define DRM_PAGE_SIZE 8192 --#elif defined(__ia64__) --# define DRM_PAGE_SIZE getpagesize() --#else --# define DRM_PAGE_SIZE 4096 --#endif -+static size_t r128_drm_page_size; - - static void R128DRITransitionTo2d(ScreenPtr pScreen); - static void R128DRITransitionTo3d(ScreenPtr pScreen); -@@ -501,11 +493,11 @@ - - /* Initialize the CCE ring buffer data */ - info->ringStart = info->agpOffset; -- info->ringMapSize = info->ringSize*1024*1024 + DRM_PAGE_SIZE; -+ info->ringMapSize = info->ringSize*1024*1024 + r128_drm_page_size; - info->ringSizeLog2QW = R128MinBits(info->ringSize*1024*1024/8) - 1; - - info->ringReadOffset = info->ringStart + info->ringMapSize; -- info->ringReadMapSize = DRM_PAGE_SIZE; -+ info->ringReadMapSize = r128_drm_page_size; - - /* Reserve space for vertex/indirect buffers */ - info->bufStart = info->ringReadOffset + info->ringReadMapSize; -@@ -654,11 +646,11 @@ - - /* Initialize the CCE ring buffer data */ - info->ringStart = info->agpOffset; -- info->ringMapSize = info->ringSize*1024*1024 + DRM_PAGE_SIZE; -+ info->ringMapSize = info->ringSize*1024*1024 + r128_drm_page_size; - info->ringSizeLog2QW = R128MinBits(info->ringSize*1024*1024/8) - 1; - - info->ringReadOffset = info->ringStart + info->ringMapSize; -- info->ringReadMapSize = DRM_PAGE_SIZE; -+ info->ringReadMapSize = r128_drm_page_size; - - /* Reserve space for vertex/indirect buffers */ - info->bufStart = info->ringReadOffset + info->ringReadMapSize; -@@ -1015,6 +1007,8 @@ - break; - } - -+ r128_drm_page_size = getpagesize(); -+ - /* Create the DRI data structure, and fill it in before calling the - DRIScreenInit(). */ - if (!(pDRIInfo = DRICreateInfoRec())) return FALSE; -diff -u xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_dri.c xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c ---- xc/programs/Xserver/hw/xfree86/drivers/ati~/radeon_dri.c 2004-05-03 18:02:28.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c 2004-05-03 18:06:18.000000000 -0500 -@@ -56,15 +56,7 @@ - #include "sarea.h" - #include "radeon_sarea.h" - --/* HACK - for now, put this here... */ --/* Alpha - this may need to be a variable to handle UP1x00 vs TITAN */ --#if defined(__alpha__) --# define DRM_PAGE_SIZE 8192 --#elif defined(__ia64__) --# define DRM_PAGE_SIZE getpagesize() --#else --# define DRM_PAGE_SIZE 4096 --#endif -+static size_t radeon_drm_page_size; - - - static Bool RADEONDRICloseFullScreen(ScreenPtr pScreen); -@@ -692,11 +684,11 @@ - - /* Initialize the CP ring buffer data */ - info->ringStart = info->gartOffset; -- info->ringMapSize = info->ringSize*1024*1024 + DRM_PAGE_SIZE; -+ info->ringMapSize = info->ringSize*1024*1024 + radeon_drm_page_size; - info->ringSizeLog2QW = RADEONMinBits(info->ringSize*1024*1024/8)-1; - - info->ringReadOffset = info->ringStart + info->ringMapSize; -- info->ringReadMapSize = DRM_PAGE_SIZE; -+ info->ringReadMapSize = radeon_drm_page_size; - - /* Reserve space for vertex/indirect buffers */ - info->bufStart = info->ringReadOffset + info->ringReadMapSize; -@@ -1227,6 +1219,8 @@ - break; - } - -+ radeon_drm_page_size = getpagesize(); -+ - /* Create the DRI data structure, and fill it in before calling the - * DRIScreenInit(). - */ Deleted: trunk/debian/patches/600_amd64_Xlib_support.diff =================================================================== --- trunk/debian/patches/600_amd64_Xlib_support.diff 2004-05-07 19:22:32 UTC (rev 1369) +++ trunk/debian/patches/600_amd64_Xlib_support.diff 2004-05-07 19:37:27 UTC (rev 1370) @@ -1,35 +0,0 @@ -# $Id$ - -Don't perform an UltraSPARC (SPARC64)-specific kludge on AMD64, just as we -don't on IA64. - -Also undo an upstream renaming of the x86-64 architecture that leaked into -a patch for the ATI driver. - -This patch by Andreas Jochens and Branden Robinson. - -Not submitted to XFree86. - -diff -urN xc/lib/X11/XlcDL.c xc/lib/X11/XlcDL.c ---- xc/lib/X11/XlcDL.c 2002-11-25 08:04:53.000000000 -0600 -+++ xc/lib/X11/XlcDL.c 2004-04-15 05:10:31.325361544 -0500 -@@ -58,7 +58,7 @@ - #ifdef _LP64 - # if defined(__sparcv9) - # define _MACH64_NAME "sparcv9" --# elif defined(__ia64__) -+# elif defined(__ia64__) || defined(__amd64__) - # undef MACH64_NAME - # else - # error "Unknown architecture" ---- xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile~ 2004-05-03 17:51:07.000000000 -0500 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/Imakefile 2004-05-03 17:57:15.000000000 -0500 -@@ -82,7 +82,7 @@ - * ATIAvoidNonPCI necessarily implies ATIAvoidCPIO. - */ - #if defined(i386Architecture) || \ -- defined(AMD64Architecture) || \ -+ defined(x86_64Architecture) || \ - defined(AlphaArchitecture) - # ifndef ATIAvoidCPIO - # define ATIAvoidCPIO NO Copied: trunk/debian/patches/600_amd64_Xlib_support_and_ati_fix.diff (from rev 1368, trunk/debian/patches/600_amd64_Xlib_support.diff)