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 <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28652>
(cherry picked from commit 7f608fc206)
This commit is contained in:
Samuel Pitoiset 2024-04-09 16:19:45 +02:00 committed by Eric Engestrom
parent 881f4d6036
commit b0c7292db5
2 changed files with 2 additions and 2 deletions

View file

@ -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

View file

@ -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 */
};