Skip to content
Snippets Groups Projects
Commit d794d7ea authored by Lingfeng Yang's avatar Lingfeng Yang
Browse files

[vulkan] Add counting stream

bug: 111137294

Great for figuring out byte sizes while still
using the same stream-like interface.

Change-Id: Iae328eb2531b271f68592d2745f4a19acb317b97
parent 75b14c1d
No related branches found
No related tags found
No related merge requests found
......@@ -145,4 +145,22 @@ ssize_t VulkanStream::write(const void *buffer, size_t size) {
return mImpl->write(buffer, size);
}
VulkanCountingStream::VulkanCountingStream() : VulkanStream(nullptr) { }
VulkanCountingStream::~VulkanCountingStream() = default;
ssize_t VulkanCountingStream::read(void *buffer, size_t size) {
m_read += size;
return size;
}
ssize_t VulkanCountingStream::write(const void *buffer, size_t size) {
m_written += size;
return size;
}
void VulkanCountingStream::rewind() {
m_written = 0;
m_read = 0;
}
} // namespace goldfish_vk
\ No newline at end of file
......@@ -46,4 +46,21 @@ private:
std::unique_ptr<Impl> mImpl;
};
class VulkanCountingStream : public VulkanStream {
public:
VulkanCountingStream();
~VulkanCountingStream();
ssize_t read(void *buffer, size_t size) override;
ssize_t write(const void *buffer, size_t size) override;
size_t bytesWritten() const { return m_written; }
size_t bytesRead() const { return m_read; }
void rewind();
private:
size_t m_written = 0;
size_t m_read = 0;
};
} // namespace goldfish_vk
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment