aboutsummaryrefslogtreecommitdiff
path: root/src/vulkan/buffer_descriptor.h
diff options
context:
space:
mode:
authorPaul Thomson <paulthomson@google.com>2021-10-12 13:38:21 +0100
committerPaul Thomson <paulthomson@google.com>2021-10-12 13:38:42 +0100
commitf3b1d8fd9a3dfb99df5b8ba7900b3493ee0329a8 (patch)
tree17024a345cc88eba5ba0a838d8fd11af3aef8350 /src/vulkan/buffer_descriptor.h
parent69207cd4d09b81e2b6d350d8a7a929904e4aa66f (diff)
parent8797ee109e7a6ea4d1f58f387f757545fa35325b (diff)
downloadamber-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.h22
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