summaryrefslogtreecommitdiff
path: root/src/via_ums.c
diff options
context:
space:
mode:
authorJames Simmons <jsimmons@infradead.org>2011-12-17 13:35:42 +0000
committerJames Simmons <jsimmons@infradead.org>2011-12-17 13:35:42 +0000
commitf5e6f4683b84ca958288adc432f68ac053b9f077 (patch)
treef29cfd3684fab3cd1d7b5cb7a3e43e971b621fa4 /src/via_ums.c
parente563a2610fd75553d39a39eb79e1b414678323e3 (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.c19
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;