From b0c7292db50dad487ccf061d8797fc563456f8ad Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 9 Apr 2024 16:19:45 +0200 Subject: [PATCH] radv: use canonicalized VA for VM fault reports Otherwise, the returned VA from vkGetBufferDeviceAddress() or via VK_EXT_device_address_binding_report doesn't match and applications would have to mask out. Cc: mesa-stable Signed-off-by: Samuel Pitoiset Part-of: (cherry picked from commit 7f608fc206e8f6ad0d4fdf7992ac211d9f64144e) --- .pick_status.json | 2 +- src/amd/vulkan/radv_debug.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 8245fb62f49..47e6f4d7abb 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2564,7 +2564,7 @@ "description": "radv: use canonicalized VA for VM fault reports", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c index 34433384062..97322bbd5e9 100644 --- a/src/amd/vulkan/radv_debug.c +++ b/src/amd/vulkan/radv_debug.c @@ -1081,7 +1081,7 @@ radv_GetDeviceFaultInfoEXT(VkDevice _device, VkDeviceFaultCountsEXT *pFaultCount if (vm_fault_occurred) { VkDeviceFaultAddressInfoEXT addr_fault_info = { - .reportedAddress = fault_info.addr, + .reportedAddress = ((int64_t)fault_info.addr << 16) >> 16, .addressPrecision = 4096, /* 4K page granularity */ };