Commit fdd20be3 authored by Tapani Pälli's avatar Tapani Pälli
Browse files

iris: fix aux buf map failure in 32bits app on Android



Cc: mesa-stable@lists.freedesktop.org
Reported-by: Long, Zhifang's avatarZhifang Long <zhifang.long@intel.com>
Signed-off-by: Tapani Pälli's avatarTapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
Tested-by: Marge Bot <mesa/mesa!3784>
Part-of: <mesa/mesa!3784>
parent b9e0947a
......@@ -57,6 +57,7 @@
#include "common/gen_gem.h"
#include "dev/gen_device_info.h"
#include "main/macros.h"
#include "os/os_mman.h"
#include "util/debug.h"
#include "util/macros.h"
#include "util/hash_table.h"
......@@ -750,15 +751,15 @@ bo_free(struct iris_bo *bo)
if (bo->map_cpu && !bo->userptr) {
VG_NOACCESS(bo->map_cpu, bo->size);
munmap(bo->map_cpu, bo->size);
os_munmap(bo->map_cpu, bo->size);
}
if (bo->map_wc) {
VG_NOACCESS(bo->map_wc, bo->size);
munmap(bo->map_wc, bo->size);
os_munmap(bo->map_wc, bo->size);
}
if (bo->map_gtt) {
VG_NOACCESS(bo->map_gtt, bo->size);
munmap(bo->map_gtt, bo->size);
os_munmap(bo->map_gtt, bo->size);
}
if (bo->idle) {
......@@ -921,7 +922,7 @@ iris_bo_map_cpu(struct pipe_debug_callback *dbg,
if (p_atomic_cmpxchg(&bo->map_cpu, NULL, map)) {
VG_NOACCESS(map, bo->size);
munmap(map, bo->size);
os_munmap(map, bo->size);
}
}
assert(bo->map_cpu);
......@@ -983,7 +984,7 @@ iris_bo_map_wc(struct pipe_debug_callback *dbg,
if (p_atomic_cmpxchg(&bo->map_wc, NULL, map)) {
VG_NOACCESS(map, bo->size);
munmap(map, bo->size);
os_munmap(map, bo->size);
}
}
assert(bo->map_wc);
......@@ -1041,8 +1042,8 @@ iris_bo_map_gtt(struct pipe_debug_callback *dbg,
}
/* and mmap it. */
void *map = mmap(0, bo->size, PROT_READ | PROT_WRITE,
MAP_SHARED, bufmgr->fd, mmap_arg.offset);
void *map = os_mmap(0, bo->size, PROT_READ | PROT_WRITE,
MAP_SHARED, bufmgr->fd, mmap_arg.offset);
if (map == MAP_FAILED) {
DBG("%s:%d: Error mapping buffer %d (%s): %s .\n",
__FILE__, __LINE__, bo->gem_handle, bo->name, strerror(errno));
......@@ -1058,7 +1059,7 @@ iris_bo_map_gtt(struct pipe_debug_callback *dbg,
if (p_atomic_cmpxchg(&bo->map_gtt, NULL, map)) {
VG_NOACCESS(map, bo->size);
munmap(map, bo->size);
os_munmap(map, bo->size);
}
}
assert(bo->map_gtt);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment