diff options
author | James Simmons <jsimmons@infradead.org> | 2012-03-11 14:04:57 -0400 |
---|---|---|
committer | James Simmons <jsimmons@infradead.org> | 2012-03-11 14:04:57 -0400 |
commit | 56121453116cd9144ed4b3f2461f142227d94db7 (patch) | |
tree | 23db8b658f9a8f7964c706d4fd8b39e99e4abf80 | |
parent | a41b79a8fdd7b8287b187e35f32865603673cd04 (diff) |
drm.offset from api one gives the absolute address instead of the relative address to the vram start. Also fix the default source for non acclerated mode
-rw-r--r-- | src/via_memmgr.c | 4 |
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; |