vulkan/meta: Use vk_buffer.device_address directly

This saves us jumping through an entrypoing just to fetch a uint64_t.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33897>
This commit is contained in:
Faith Ekstrand 2025-03-05 09:51:25 -06:00 committed by Marge Bot
parent b808277d09
commit c99039e189

View file

@ -563,20 +563,14 @@ vk_meta_create_buffer_view(struct vk_command_buffer *cmd,
}
VkDeviceAddress
vk_meta_buffer_address(struct vk_device *device, VkBuffer buffer,
vk_meta_buffer_address(struct vk_device *device, VkBuffer _buffer,
uint64_t offset, uint64_t range)
{
const VkBufferDeviceAddressInfo info = {
.sType = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
.buffer = buffer,
};
VkDeviceAddress base = device->dispatch_table.GetBufferDeviceAddress(
vk_device_to_handle(device), &info);
VK_FROM_HANDLE(vk_buffer, buffer, _buffer);
/* Only called for the assert()s in vk_buffer_range(), we don't care about
* the result.
*/
vk_buffer_range(vk_buffer_from_handle(buffer), offset, range);
return base + offset;
vk_buffer_range(buffer, offset, range);
return vk_buffer_address(buffer, offset);
}