mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 13:50:11 +01:00
radv: Use radv_buffer_map for parsing IBs
We need matching pointers pointers for annotations to work. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27549>
This commit is contained in:
parent
a78cbc98cc
commit
00dec03438
1 changed files with 6 additions and 5 deletions
|
|
@ -1356,7 +1356,6 @@ static void
|
|||
radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *info)
|
||||
{
|
||||
struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs;
|
||||
void *ret = NULL;
|
||||
|
||||
memset(info, 0, sizeof(struct ac_addr_info));
|
||||
|
||||
|
|
@ -1381,8 +1380,9 @@ radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *i
|
|||
struct radv_amdgpu_winsys_bo *bo = (struct radv_amdgpu_winsys_bo *)ib->bo;
|
||||
|
||||
if (addr >= bo->base.va && addr - bo->base.va < bo->size) {
|
||||
if (amdgpu_bo_cpu_map(bo->bo, &ret) == 0) {
|
||||
info->cpu_addr = (char *)ret + (addr - bo->base.va);
|
||||
void *map = radv_buffer_map(&cs->ws->base, &bo->base);
|
||||
if (map) {
|
||||
info->cpu_addr = (char *)map + (addr - bo->base.va);
|
||||
info->valid = true;
|
||||
return;
|
||||
}
|
||||
|
|
@ -1392,10 +1392,11 @@ radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *i
|
|||
for (uint32_t i = 0; i < cs->ws->global_bo_list.count; i++) {
|
||||
struct radv_amdgpu_winsys_bo *bo = cs->ws->global_bo_list.bos[i];
|
||||
if (addr >= bo->base.va && addr - bo->base.va < bo->size) {
|
||||
if (amdgpu_bo_cpu_map(bo->bo, &ret) == 0) {
|
||||
void *map = radv_buffer_map(&cs->ws->base, &bo->base);
|
||||
if (map) {
|
||||
u_rwlock_rdunlock(&cs->ws->global_bo_list.lock);
|
||||
info->valid = true;
|
||||
info->cpu_addr = (char *)ret + (addr - bo->base.va);
|
||||
info->cpu_addr = (char *)map + (addr - bo->base.va);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue