diff --git a/src/amd/vulkan/radv_check_va.py b/src/amd/vulkan/radv_check_va.py index d341691a0db..d9002740ac8 100644 --- a/src/amd/vulkan/radv_check_va.py +++ b/src/amd/vulkan/radv_check_va.py @@ -15,16 +15,28 @@ def main(): with open(bo_history) as f: for line in f: p = re.compile('timestamp=(.*), VA=(.*)-(.*), destroyed=(.*), is_virtual=(.*)') + mapped_p = re.compile('timestamp=(.*), VA=(.*)-(.*), mapped_to=(.*)') m = p.match(line) - if m == None: + mapped_m = mapped_p.match(line) + if m: + va_start = int(m.group(2), 16) + va_end = int(m.group(3), 16) + mapped_va = 0 + elif mapped_m: + va_start = int(mapped_m.group(2), 16) + va_end = int(mapped_m.group(3), 16) + mapped_va = int(mapped_m.group(4), 16) + else: continue - va_start = int(m.group(2), 16) - va_end = int(m.group(3), 16) - # Check if the given VA was ever valid and print info. if va >= va_start and va < va_end: print("VA found: %s" % line, end='') + if mapped_m: + effective_va = (va - va_start) + mapped_va + if mapped_va == 0: + effective_va = 0 + print(" Virtual mapping: %016x -> %016x" % (va, effective_va)) va_found = True if not va_found: print("VA not found!")