This is good for about 5% on ipers on 965, and should help any cpu-bound app.
struct dri_gem_bo_bucket_entry {
uint32_t gem_handle;
+ uint32_t last_offset;
struct dri_gem_bo_bucket_entry *next;
};
bucket->num_entries--;
bo_gem->gem_handle = entry->gem_handle;
+ bo_gem->bo.offset = entry->last_offset;
free(entry);
}
}
}
}
- bo_gem->bo.offset = 0;
bo_gem->bo.virtual = NULL;
bo_gem->bo.bufmgr = bufmgr;
bo_gem->name = name;
entry = calloc(1, sizeof(*entry));
entry->gem_handle = bo_gem->gem_handle;
+ entry->last_offset = bo->offset;
entry->next = NULL;
*bucket->tail = entry;