From 4e704ff91df10866224f6a0b982f43968fd6d57d Mon Sep 17 00:00:00 2001 From: Jorge Pineda Date: Tue, 2 Jul 2024 09:34:12 -0700 Subject: [PATCH] [ET-VK] Move `ParamsBindList` to `Descriptor.*` `ParamsBindList` wraps a list of `BufferBindInfo`s, which is closely associated to Vulkan descriptor sets. Differential Revision: [D59281547](https://our.internmc.facebook.com/intern/diff/D59281547/) [ghstack-poisoned] --- backends/vulkan/runtime/api/Context.cpp | 11 ----------- backends/vulkan/runtime/api/Context.h | 8 -------- backends/vulkan/runtime/api/Descriptor.cpp | 17 ++++++++++++++++- backends/vulkan/runtime/api/Descriptor.h | 8 ++++++++ 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/backends/vulkan/runtime/api/Context.cpp b/backends/vulkan/runtime/api/Context.cpp index 6a664de8ae7..9407cf76f5b 100644 --- a/backends/vulkan/runtime/api/Context.cpp +++ b/backends/vulkan/runtime/api/Context.cpp @@ -274,16 +274,5 @@ UniformParamsBuffer& UniformParamsBuffer::operator=( return *this; } -ParamsBindList::ParamsBindList( - std::initializer_list init_list) { - bind_infos.resize(init_list.size()); - std::copy(init_list.begin(), init_list.end(), bind_infos.begin()); -} - -void ParamsBindList::append(const ParamsBindList& other) { - bind_infos.insert( - bind_infos.end(), other.bind_infos.begin(), other.bind_infos.end()); -} - } // namespace api } // namespace vkcompute diff --git a/backends/vulkan/runtime/api/Context.h b/backends/vulkan/runtime/api/Context.h index bdbabf82f48..fc986b83eb0 100644 --- a/backends/vulkan/runtime/api/Context.h +++ b/backends/vulkan/runtime/api/Context.h @@ -266,14 +266,6 @@ class UniformParamsBuffer final { } }; -struct ParamsBindList final { - std::vector bind_infos; - - ParamsBindList(std::initializer_list init_list); - - void append(const ParamsBindList& other); -}; - class StorageBuffer final { private: Context* context_p_; diff --git a/backends/vulkan/runtime/api/Descriptor.cpp b/backends/vulkan/runtime/api/Descriptor.cpp index 99ca6978594..ef7188ff279 100644 --- a/backends/vulkan/runtime/api/Descriptor.cpp +++ b/backends/vulkan/runtime/api/Descriptor.cpp @@ -16,7 +16,7 @@ namespace vkcompute { namespace api { // -// BufferBinding +// BufferBindInfo // BufferBindInfo::BufferBindInfo() @@ -27,6 +27,21 @@ BufferBindInfo::BufferBindInfo(const VulkanBuffer& buffer_p) offset(buffer_p.mem_offset()), range(buffer_p.mem_range()) {} +// +// ParamsBindList +// + +ParamsBindList::ParamsBindList( + std::initializer_list init_list) { + bind_infos.resize(init_list.size()); + std::copy(init_list.begin(), init_list.end(), bind_infos.begin()); +} + +void ParamsBindList::append(const ParamsBindList& other) { + bind_infos.insert( + bind_infos.end(), other.bind_infos.begin(), other.bind_infos.end()); +} + // // DescriptorSet // diff --git a/backends/vulkan/runtime/api/Descriptor.h b/backends/vulkan/runtime/api/Descriptor.h index e1b40fbd173..9b872780e00 100644 --- a/backends/vulkan/runtime/api/Descriptor.h +++ b/backends/vulkan/runtime/api/Descriptor.h @@ -36,6 +36,14 @@ struct BufferBindInfo final { BufferBindInfo(const VulkanBuffer& buffer_p); }; +struct ParamsBindList final { + std::vector bind_infos; + + ParamsBindList(std::initializer_list init_list); + + void append(const ParamsBindList& other); +}; + class DescriptorSet final { public: explicit DescriptorSet(VkDevice, VkDescriptorSet, ShaderLayout::Signature);