amdgpu: increase cpu_map_count storage size

Mesa expects to be able to map the same buffer, without unmapping it.
This leads to problem on long-running program.

On the other hand, libdrm uses cpu_map_count as a refcount and expects
its value to decrease so it can unmap buffers.

The previoulsy proprosed fix (https://patchwork.freedesktop.org/patch/258005/)
stopped increased the counter when it went past INT_MAX.

This commit instead proposes to use a larger type to store cpu_map_count.
The outcome is the same: long running apps will not crash, only the
implementation differs.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1423
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
main
Pierre-Eric Pelloux-Prayer 2020-03-17 16:50:56 +01:00
parent bb4e154d3d
commit b9bf42d3e1
1 changed files with 1 additions and 1 deletions

View File

@ -102,7 +102,7 @@ struct amdgpu_bo {
pthread_mutex_t cpu_access_mutex; pthread_mutex_t cpu_access_mutex;
void *cpu_ptr; void *cpu_ptr;
int cpu_map_count; int64_t cpu_map_count;
}; };
struct amdgpu_bo_list { struct amdgpu_bo_list {