diff options
author | Jerome Glisse <[email protected]> | 2012-02-21 12:34:54 -0500 |
---|---|---|
committer | Jerome Glisse <[email protected]> | 2012-02-21 12:34:54 -0500 |
commit | e372e53ee0ed57072322003e508b3ca4c58076be (patch) | |
tree | 97cf4db9fb3f3ce60a170e3cdc37d2343cb75126 /src/gallium/winsys | |
parent | 6fd62c998a178dcb4f1fddb6b1b46705f09ef8d9 (diff) |
radeon/r600g: fix virtual address space allocation
Signed-off-by: Jerome Glisse <[email protected]>
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c index 8e73e6f6e7e..31a47c6f14c 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c @@ -211,6 +211,9 @@ static uint64_t radeon_bomgr_find_va(struct radeon_bomgr *mgr, uint64_t size, ui waste = waste ? alignment - waste : 0; } offset += waste; + if (offset >= (hole->offset + hole->size)) { + continue; + } if (!waste && hole->size == size) { offset = hole->offset; list_del(&hole->list); |