Mesa (master): radv/amdgpu: Enable dumping of all IBs with RADV_DEBUG= allbos.

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Tue Aug 29 21:08:17 UTC 2017


Module: Mesa
Branch: master
Commit: 43eb761cad8a7941788735d2d7a5f10a36a25148
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=43eb761cad8a7941788735d2d7a5f10a36a25148

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Fri Mar 17 01:04:03 2017 +0100

radv/amdgpu: Enable dumping of all IBs with RADV_DEBUG=allbos.

Signed-off-by: Bas Nieuwenhuizen <basni at google.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
index ad4b0b3f9d..adb855f97d 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c
@@ -969,6 +969,19 @@ static void *radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr)
 				return (char *)ret + (addr - bo->va);
 		}
 	}
+	if(cs->ws->debug_all_bos) {
+		pthread_mutex_lock(&cs->ws->global_bo_list_lock);
+		list_for_each_entry(struct radv_amdgpu_winsys_bo, bo,
+		                    &cs->ws->global_bo_list, global_list_item) {
+			if (addr >= bo->va && addr - bo->va < bo->size) {
+				if (amdgpu_bo_cpu_map(bo->bo, &ret) == 0) {
+					pthread_mutex_unlock(&cs->ws->global_bo_list_lock);
+					return (char *)ret + (addr - bo->va);
+				}
+			}
+		}
+		pthread_mutex_unlock(&cs->ws->global_bo_list_lock);
+	}
 	return ret;
 }
 




More information about the mesa-commit mailing list