mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
intel/ppgtt: memory address alignment
Kernel (for ppgtt) requires memory address to be aligned to page size (4096). -v2: added marking that also fixes initial commit01058a5522. -v3: numbers replaced by PAGE_SIZE; buffer-object size is aligned instead of alignment of offsets (Chris Wilson). -v4: changes related to PAGE_SIZE moved to separate commit -v5: restored alignment to page-size for 0-size. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106997 Fixes:a363bb2cd0(i965: Allocate VMA in userspace for full-PPGTT systems.) Fixes:01058a5522(i965: Add virtual memory allocator infrastructure to brw_bufmgr.) Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit24839663a4)
This commit is contained in:
parent
586ac9c237
commit
dbb5396667
1 changed files with 3 additions and 4 deletions
|
|
@ -496,7 +496,6 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
|
|||
uint32_t stride)
|
||||
{
|
||||
struct brw_bo *bo;
|
||||
unsigned int page_size = getpagesize();
|
||||
int ret;
|
||||
struct bo_cache_bucket *bucket;
|
||||
bool alloc_from_cache;
|
||||
|
|
@ -522,12 +521,12 @@ bo_alloc_internal(struct brw_bufmgr *bufmgr,
|
|||
* allocation up.
|
||||
*/
|
||||
if (bucket == NULL) {
|
||||
bo_size = size;
|
||||
if (bo_size < page_size)
|
||||
bo_size = page_size;
|
||||
unsigned int page_size = getpagesize();
|
||||
bo_size = size == 0 ? page_size : ALIGN(size, page_size);
|
||||
} else {
|
||||
bo_size = bucket->size;
|
||||
}
|
||||
assert(bo_size);
|
||||
|
||||
mtx_lock(&bufmgr->lock);
|
||||
/* Get a buffer out of the cache if available */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue