diff options
author | Eric Anholt <eric@anholt.net> | 2007-10-05 15:52:56 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-10-11 12:17:15 -0700 |
commit | 6c485ff5bd25e9aa6a3c1eb669843e6b969d94df (patch) | |
tree | 725dc984518a5f0c745dd92576d8d1b44352ed01 | |
parent | d47cf148776d74f9035863b23eefdc2b5893af08 (diff) |
Update memory manager sizing for the current set of LIFETIME_FIXED bufffers.
-rw-r--r-- | src/i830_memory.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/i830_memory.c b/src/i830_memory.c index 277f698c..0b046f6d 100644 --- a/src/i830_memory.c +++ b/src/i830_memory.c @@ -403,7 +403,18 @@ i830_allocator_init(ScrnInfoPtr pScrn, unsigned long offset, unsigned long size) * physical-address allocations of cursor/overlay registers. */ mmsize = size; - /* Overlay is always set up as fixed, currently. */ + + /* EXA area is fixed. */ + if (pI830->useEXA) { + mmsize -= ROUND_TO_PAGE(3 * pScrn->displayWidth * pI830->cpp * + pScrn->virtualY); + } + /* Classic textures are fixed. */ + if (pI830->allocate_classic_textures) + mmsize -= MB(32); + /* Overlay and cursors, if physical, need to be allocated outside + * of the kernel memory manager. + */ if (!OVERLAY_NOPHYSICAL(pI830) && !IS_I965G(pI830)) { mmsize -= ROUND_TO(OVERLAY_SIZE, GTT_PAGE_SIZE); } |