diff options
author | Paul Thomson <paulthomson@google.com> | 2021-10-12 13:38:21 +0100 |
---|---|---|
committer | Paul Thomson <paulthomson@google.com> | 2021-10-12 13:38:42 +0100 |
commit | f3b1d8fd9a3dfb99df5b8ba7900b3493ee0329a8 (patch) | |
tree | 17024a345cc88eba5ba0a838d8fd11af3aef8350 /src/vulkan/buffer_descriptor.h | |
parent | 69207cd4d09b81e2b6d350d8a7a929904e4aa66f (diff) | |
parent | 8797ee109e7a6ea4d1f58f387f757545fa35325b (diff) | |
download | amber-f3b1d8fd9a3dfb99df5b8ba7900b3493ee0329a8.tar.gz |
Merge commit '8797ee109e7a6ea4d1f58f387f757545fa35325b' into master
Bug: b/201652781
Change-Id: Ibb8fbe9137d18fa6f6109ad5f51ec8e7c5f9cfbb
Diffstat (limited to 'src/vulkan/buffer_descriptor.h')
-rw-r--r-- | src/vulkan/buffer_descriptor.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/vulkan/buffer_descriptor.h b/src/vulkan/buffer_descriptor.h index d481ae5..2c3f390 100644 --- a/src/vulkan/buffer_descriptor.h +++ b/src/vulkan/buffer_descriptor.h @@ -16,6 +16,8 @@ #define SRC_VULKAN_BUFFER_DESCRIPTOR_H_ #include <memory> +#include <unordered_map> +#include <utility> #include <vector> #include "amber/result.h" @@ -50,14 +52,30 @@ class BufferDescriptor : public BufferBackedDescriptor { return dynamic_offsets_; } void AddDynamicOffset(uint32_t offset) { dynamic_offsets_.push_back(offset); } + std::vector<uint64_t> GetDescriptorOffsets() override { + return descriptor_offsets_; + } + void AddDescriptorOffset(uint64_t descriptor_offset) { + descriptor_offsets_.push_back(descriptor_offset); + } + std::vector<uint64_t> GetDescriptorRanges() override { + return descriptor_ranges_; + } + void AddDescriptorRange(uint64_t descriptor_range) { + descriptor_ranges_.push_back(descriptor_range); + } + BufferDescriptor* AsBufferDescriptor() override { return this; } protected: - std::vector<Resource*> GetResources() override; + std::vector<std::pair<Buffer*, Resource*>> GetResources() override; private: - std::vector<std::unique_ptr<TransferBuffer>> transfer_buffers_; + std::unordered_map<Buffer*, std::unique_ptr<TransferBuffer>> + transfer_buffers_; std::vector<uint32_t> dynamic_offsets_; + std::vector<VkDeviceSize> descriptor_offsets_; + std::vector<VkDeviceSize> descriptor_ranges_; }; } // namespace vulkan |