nvk: Use the new buffer device address infrastructure
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33897>
This commit is contained in:
committed by
Marge Bot
parent
73da18b956
commit
7900ff5c56
@@ -128,7 +128,7 @@ nvk_CreateBuffer(VkDevice device,
|
||||
return result;
|
||||
}
|
||||
|
||||
buffer->addr = buffer->va->addr;
|
||||
buffer->vk.device_address = buffer->va->addr;
|
||||
}
|
||||
|
||||
*pBuffer = nvk_buffer_to_handle(buffer);
|
||||
@@ -253,7 +253,8 @@ nvk_bind_buffer_memory(struct nvk_device *dev,
|
||||
mem->mem, info->memoryOffset,
|
||||
buffer->va->size_B);
|
||||
} else {
|
||||
buffer->addr = mem->mem->va->addr + info->memoryOffset;
|
||||
assert(buffer->vk.device_address == 0);
|
||||
buffer->vk.device_address = mem->mem->va->addr + info->memoryOffset;
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -282,15 +283,6 @@ nvk_BindBufferMemory2(VkDevice device,
|
||||
return first_error_or_success;
|
||||
}
|
||||
|
||||
VKAPI_ATTR VkDeviceAddress VKAPI_CALL
|
||||
nvk_GetBufferDeviceAddress(UNUSED VkDevice device,
|
||||
const VkBufferDeviceAddressInfo *pInfo)
|
||||
{
|
||||
VK_FROM_HANDLE(nvk_buffer, buffer, pInfo->buffer);
|
||||
|
||||
return nvk_buffer_address(buffer, 0);
|
||||
}
|
||||
|
||||
VKAPI_ATTR uint64_t VKAPI_CALL
|
||||
nvk_GetBufferOpaqueCaptureAddress(UNUSED VkDevice device,
|
||||
const VkBufferDeviceAddressInfo *pInfo)
|
||||
|
||||
@@ -17,7 +17,6 @@ struct nvkmd_va;
|
||||
|
||||
struct nvk_buffer {
|
||||
struct vk_buffer vk;
|
||||
uint64_t addr;
|
||||
|
||||
/** Reserved VA for sparse buffers, NULL otherwise. */
|
||||
struct nvkmd_va *va;
|
||||
@@ -29,7 +28,7 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(nvk_buffer, vk.base, VkBuffer,
|
||||
static inline uint64_t
|
||||
nvk_buffer_address(const struct nvk_buffer *buffer, uint64_t offset)
|
||||
{
|
||||
return buffer->addr + offset;
|
||||
return vk_buffer_address(&buffer->vk, offset);
|
||||
}
|
||||
|
||||
static inline struct nvk_addr_range
|
||||
@@ -40,7 +39,7 @@ nvk_buffer_addr_range(const struct nvk_buffer *buffer,
|
||||
return (struct nvk_addr_range) { .range = 0 };
|
||||
|
||||
return (struct nvk_addr_range) {
|
||||
.addr = nvk_buffer_address(buffer, offset),
|
||||
.addr = vk_buffer_address(&buffer->vk, offset),
|
||||
.range = vk_buffer_range(&buffer->vk, offset, range),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ nvk_cmd_bind_map_buffer(struct vk_command_buffer *vk_cmd,
|
||||
if (unlikely(result != VK_SUCCESS))
|
||||
return result;
|
||||
|
||||
buffer->addr = addr;
|
||||
assert(buffer->vk.device_address == 0);
|
||||
buffer->vk.device_address = addr;
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user