Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 33353 | Differences between
and this patch

Collapse All | Expand All

(-)xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c.agriffis (-13 / +7 lines)
Lines 54-68 Link Here
54
#include "GL/glxtokens.h"
54
#include "GL/glxtokens.h"
55
#include "sarea.h"
55
#include "sarea.h"
56
56
57
/* ?? HACK - for now, put this here... */
57
static size_t r128_drm_page_size;
58
/* ?? Alpha - this may need to be a variable to handle UP1x00 vs TITAN */
59
#if defined(__alpha__)
60
# define DRM_PAGE_SIZE 8192
61
#elif defined(__ia64__)
62
# define DRM_PAGE_SIZE getpagesize()
63
#else
64
# define DRM_PAGE_SIZE 4096
65
#endif
66
58
67
/* Initialize the visual configs that are supported by the hardware.
59
/* Initialize the visual configs that are supported by the hardware.
68
   These are combined with the visual configs that the indirect
60
   These are combined with the visual configs that the indirect
Lines 489-499 Link Here
489
481
490
				/* Initialize the CCE ring buffer data */
482
				/* Initialize the CCE ring buffer data */
491
    info->ringStart       = info->agpOffset;
483
    info->ringStart       = info->agpOffset;
492
    info->ringMapSize     = info->ringSize*1024*1024 + DRM_PAGE_SIZE;
484
    info->ringMapSize     = info->ringSize*1024*1024 + r128_drm_page_size;
493
    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;
485
    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;
494
486
495
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
487
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
496
    info->ringReadMapSize = DRM_PAGE_SIZE;
488
    info->ringReadMapSize = r128_drm_page_size;
497
489
498
				/* Reserve space for vertex/indirect buffers */
490
				/* Reserve space for vertex/indirect buffers */
499
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
491
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
Lines 642-652 Link Here
642
634
643
				/* Initialize the CCE ring buffer data */
635
				/* Initialize the CCE ring buffer data */
644
    info->ringStart       = info->agpOffset;
636
    info->ringStart       = info->agpOffset;
645
    info->ringMapSize     = info->ringSize*1024*1024 + DRM_PAGE_SIZE;
637
    info->ringMapSize     = info->ringSize*1024*1024 + r128_drm_page_size;
646
    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;
638
    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;
647
639
648
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
640
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
649
    info->ringReadMapSize = DRM_PAGE_SIZE;
641
    info->ringReadMapSize = r128_drm_page_size;
650
642
651
				/* Reserve space for vertex/indirect buffers */
643
				/* Reserve space for vertex/indirect buffers */
652
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
644
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
Lines 1003-1008 Link Here
1003
	break;
995
	break;
1004
    }
996
    }
1005
997
998
    r128_drm_page_size = getpagesize();
999
1006
    /* Create the DRI data structure, and fill it in before calling the
1000
    /* Create the DRI data structure, and fill it in before calling the
1007
       DRIScreenInit(). */
1001
       DRIScreenInit(). */
1008
    if (!(pDRIInfo = DRICreateInfoRec())) return FALSE;
1002
    if (!(pDRIInfo = DRICreateInfoRec())) return FALSE;
(-)xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c.agriffis (-13 / +7 lines)
Lines 56-70 Link Here
56
#include "sarea.h"
56
#include "sarea.h"
57
#include "radeon_sarea.h"
57
#include "radeon_sarea.h"
58
58
59
/* HACK - for now, put this here... */
59
static size_t radeon_drm_page_size;
60
/* Alpha - this may need to be a variable to handle UP1x00 vs TITAN */
61
#if defined(__alpha__)
62
# define DRM_PAGE_SIZE 8192
63
#elif defined(__ia64__)
64
# define DRM_PAGE_SIZE getpagesize()
65
#else
66
# define DRM_PAGE_SIZE 4096
67
#endif
68
60
69
61
70
static Bool RADEONDRICloseFullScreen(ScreenPtr pScreen);
62
static Bool RADEONDRICloseFullScreen(ScreenPtr pScreen);
Lines 774-784 Link Here
774
766
775
				/* Initialize the CP ring buffer data */
767
				/* Initialize the CP ring buffer data */
776
    info->ringStart       = info->agpOffset;
768
    info->ringStart       = info->agpOffset;
777
    info->ringMapSize     = info->ringSize*1024*1024 + DRM_PAGE_SIZE;
769
    info->ringMapSize     = info->ringSize*1024*1024 + radeon_drm_page_size;
778
    info->ringSizeLog2QW  = RADEONMinBits(info->ringSize*1024*1024/8)-1;
770
    info->ringSizeLog2QW  = RADEONMinBits(info->ringSize*1024*1024/8)-1;
779
771
780
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
772
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
781
    info->ringReadMapSize = DRM_PAGE_SIZE;
773
    info->ringReadMapSize = radeon_drm_page_size;
782
774
783
				/* Reserve space for vertex/indirect buffers */
775
				/* Reserve space for vertex/indirect buffers */
784
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
776
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
Lines 900-910 Link Here
900
892
901
				/* Initialize the CCE ring buffer data */
893
				/* Initialize the CCE ring buffer data */
902
    info->ringStart       = info->agpOffset;
894
    info->ringStart       = info->agpOffset;
903
    info->ringMapSize     = info->ringSize*1024*1024 + DRM_PAGE_SIZE;
895
    info->ringMapSize     = info->ringSize*1024*1024 + radeon_drm_page_size;
904
    info->ringSizeLog2QW  = RADEONMinBits(info->ringSize*1024*1024/8)-1;
896
    info->ringSizeLog2QW  = RADEONMinBits(info->ringSize*1024*1024/8)-1;
905
897
906
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
898
    info->ringReadOffset  = info->ringStart + info->ringMapSize;
907
    info->ringReadMapSize = DRM_PAGE_SIZE;
899
    info->ringReadMapSize = radeon_drm_page_size;
908
900
909
				/* Reserve space for vertex/indirect buffers */
901
				/* Reserve space for vertex/indirect buffers */
910
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
902
    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;
Lines 1218-1223 Link Here
1218
	break;
1210
	break;
1219
    }
1211
    }
1220
1212
1213
    radeon_drm_page_size = getpagesize();
1214
1221
    /* Create the DRI data structure, and fill it in before calling the
1215
    /* Create the DRI data structure, and fill it in before calling the
1222
     * DRIScreenInit().
1216
     * DRIScreenInit().
1223
     */
1217
     */

Return to bug 33353