summaryrefslogtreecommitdiff
path: root/src/via_memmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/via_memmgr.c')
-rw-r--r--src/via_memmgr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/via_memmgr.c b/src/via_memmgr.c
index 7e7b93f..bc085ea 100644
--- a/src/via_memmgr.c
+++ b/src/via_memmgr.c
@@ -64,7 +64,7 @@ viaOffScreenLinear(struct buffer_object *obj, ScrnInfoPtr pScrn,
return BadAlloc;
obj->offset = linear->offset * depth;
obj->handle = (unsigned long) linear;
- obj->domain = TTM_PL_FLAG_SYSTEM;
+ obj->domain = TTM_PL_FLAG_VRAM;
obj->size = size;
return Success;
}
@@ -117,6 +117,8 @@ drm_bo_alloc(ScrnInfoPtr pScrn, unsigned int size, unsigned int alignment, int d
ret = drmCommandWriteRead(pVia->drmmode.fd, DRM_VIA_ALLOCMEM,
&drm, sizeof(drm_via_mem_t));
if (!ret && (size == drm.size)) {
+ if (domain == TTM_PL_FLAG_VRAM)
+ drm.offset -= pVia->FBFreeStart;
obj->offset = ALIGN_TO(drm.offset, alignment);
obj->handle = drm.index;
obj->domain = domain;