diff options
author | James Simmons <jsimmons@infradead.org> | 2011-12-17 13:35:42 +0000 |
---|---|---|
committer | James Simmons <jsimmons@infradead.org> | 2011-12-17 13:35:42 +0000 |
commit | f5e6f4683b84ca958288adc432f68ac053b9f077 (patch) | |
tree | f29cfd3684fab3cd1d7b5cb7a3e43e971b621fa4 /src/via_ums.c | |
parent | e563a2610fd75553d39a39eb79e1b414678323e3 (diff) |
Always give only have of the vram space to the DRI1 layer for allocation. The other half can be used for EXA.
Diffstat (limited to 'src/via_ums.c')
-rw-r--r-- | src/via_ums.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/via_ums.c b/src/via_ums.c index 7ea8193..3aa2e8a 100644 --- a/src/via_ums.c +++ b/src/via_ums.c @@ -319,17 +319,16 @@ ums_create(ScrnInfoPtr pScrn) #ifdef XF86DRI if (pVia->directRenderingType == DRI_1) { - /* In the case of DRI with EXA we handle all VRAM by the DRI ioctls */ - if (pVia->useEXA) { - pVia->driSize = (pVia->FBFreeEnd - pVia->FBFreeStart - pVia->Bpl); + pVia->driSize = (pVia->FBFreeEnd - pVia->FBFreeStart) / 2; + if ((pVia->driSize > (pVia->maxDriSize * 1024)) && pVia->maxDriSize > 0) + pVia->driSize = pVia->maxDriSize * 1024; + + /* In the case of DRI we handle all VRAM by the DRI ioctls */ + if (pVia->useEXA) return TRUE; - } else { - /* XAA has to use FBManager so we have to split the space with DRI */ - pVia->driSize = (pVia->FBFreeEnd - pVia->FBFreeStart) / 2; - if ((pVia->driSize > (pVia->maxDriSize * 1024)) && pVia->maxDriSize > 0) - pVia->driSize = pVia->maxDriSize * 1024; - maxY = pScrn->virtualY + (pVia->driSize / pVia->Bpl); - } + + /* XAA has to use FBManager so we have to split the space with DRI */ + maxY = pScrn->virtualY + (pVia->driSize / pVia->Bpl); } else #endif maxY = pVia->FBFreeEnd / pVia->Bpl; |