sna: Replace the open-coded bubble sort of the partial list

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-01-12 10:47:19 +00:00
parent 7290ced579
commit 1e4080318f
1 changed files with 1 additions and 27 deletions

View File

@ -3091,7 +3091,6 @@ struct kgem_bo *kgem_create_buffer_2d(struct kgem *kgem,
if (height & 1) {
struct kgem_partial_bo *io = (struct kgem_partial_bo *)bo->proxy;
int remain;
/* Having padded this surface to ensure that accesses to
* the last pair of rows is valid, remove the padding so
@ -3099,32 +3098,7 @@ struct kgem_bo *kgem_create_buffer_2d(struct kgem *kgem,
*/
io->used -= stride;
bo->size -= stride;
/* And bubble-sort the partial back into place */
remain = io->base.size - io->used;
while (io->base.list.prev != &kgem->partial) {
struct kgem_partial_bo *p;
p = list_entry(io->base.list.prev,
struct kgem_partial_bo,
base.list);
if (remain <= p->base.size - p->used)
break;
assert(p->base.list.next == &io->base.list);
io->base.list.prev = p->base.list.prev;
p->base.list.prev->next = &io->base.list;
p->base.list.prev = &io->base.list;
p->base.list.next = io->base.list.next;
io->base.list.next->prev = &p->base.list;
io->base.list.next = &p->base.list;
assert(p->base.list.next->prev == &p->base.list);
assert(io->base.list.prev->next == &io->base.list);
}
assert(validate_partials(kgem));
bubble_sort_partial(kgem, io);
}
bo->pitch = stride;