mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 21:40:20 +01:00
pipebuffer: slab: if size < alignment, use alignment to find bucket
If the size is lower than the alignment, we must use the alignment to select the bucket. Otherwise, the selected bucket won't be able to satisfy our request and will fail. Signed-off-by: José Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
c36b912e09
commit
2f5beb4b53
1 changed files with 5 additions and 1 deletions
|
|
@ -483,11 +483,15 @@ pb_slab_range_manager_create_buffer(struct pb_manager *_mgr,
|
|||
{
|
||||
struct pb_slab_range_manager *mgr = pb_slab_range_manager(_mgr);
|
||||
pb_size bufSize;
|
||||
pb_size reqSize = size;
|
||||
unsigned i;
|
||||
|
||||
if(desc->alignment > reqSize)
|
||||
reqSize = desc->alignment;
|
||||
|
||||
bufSize = mgr->minBufSize;
|
||||
for (i = 0; i < mgr->numBuckets; ++i) {
|
||||
if(bufSize >= size)
|
||||
if(bufSize >= reqSize)
|
||||
return mgr->buckets[i]->create_buffer(mgr->buckets[i], size, desc);
|
||||
bufSize *= 2;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue