nvk/buffer: Take an offset in nvk_buffer_address
authorFaith Ekstrand <faith.ekstrand@collabora.com>
Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)
committerMarge Bot <emma+marge@anholt.net>
Fri, 4 Aug 2023 21:31:53 +0000 (21:31 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

src/nouveau/vulkan/nvk_buffer.h
src/nouveau/vulkan/nvk_descriptor_set.c

index 0628d62..4043705 100644 (file)
@@ -18,9 +18,9 @@ struct nvk_buffer {
 VK_DEFINE_HANDLE_CASTS(nvk_buffer, vk.base, VkBuffer, VK_OBJECT_TYPE_BUFFER)
 
 static inline uint64_t
-nvk_buffer_address(struct nvk_buffer *buffer)
+nvk_buffer_address(struct nvk_buffer *buffer, uint64_t offset)
 {
-   return buffer->mem->bo->offset + buffer->offset;
+   return buffer->mem->bo->offset + buffer->offset + offset;
 }
 
 #endif
index 52dd43e..03ee118 100644 (file)
@@ -65,7 +65,7 @@ write_buffer_desc(struct nvk_descriptor_set *set,
 
    struct nvk_buffer_address *desc = desc_ubo_data(set, binding, elem);
    *desc = (struct nvk_buffer_address){
-      .base_addr = nvk_buffer_address(buffer) + info->offset,
+      .base_addr = nvk_buffer_address(buffer, info->offset),
       .size = vk_buffer_range(&buffer->vk, info->offset, info->range),
    };
 }