Fix compilation error when doing const iteration on SerialStorage
This patch fixes the compilation error when doing const iteration
on SerialStorage by explicitly calling the constructor of
SerialStorage::ConstBeginEnd() as the constructor is declared as
`explicit`.
Bug: 42241516
Change-Id: I4370a88d4a0ce44783159b9d1de60fa32a621d6d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/221874
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/common/SerialStorage.h b/src/dawn/common/SerialStorage.h
index f7dc526..c6d75cf 100644
--- a/src/dawn/common/SerialStorage.h
+++ b/src/dawn/common/SerialStorage.h
@@ -276,12 +276,12 @@
template <typename Derived>
typename SerialStorage<Derived>::ConstIterator SerialStorage<Derived>::ConstBeginEnd::begin()
const {
- return {mStartIt};
+ return SerialStorage::ConstIterator(mStartIt);
}
template <typename Derived>
typename SerialStorage<Derived>::ConstIterator SerialStorage<Derived>::ConstBeginEnd::end() const {
- return {mEndIt};
+ return SerialStorage::ConstIterator(mEndIt);
}
// SerialStorage::ConstIterator
diff --git a/src/dawn/native/DynamicUploader.cpp b/src/dawn/native/DynamicUploader.cpp
index 7c3693a..f44af4a 100644
--- a/src/dawn/native/DynamicUploader.cpp
+++ b/src/dawn/native/DynamicUploader.cpp
@@ -150,14 +150,14 @@
return AllocateInternal(allocationSize, serial, offsetAlignment);
}
-bool DynamicUploader::ShouldFlush() {
+bool DynamicUploader::ShouldFlush() const {
uint64_t kTotalAllocatedSizeThreshold = 64 * 1024 * 1024;
// We use total allocated size instead of pending-upload size to prevent Dawn from allocating
// too much GPU memory so that the risk of OOM can be minimized.
return GetTotalAllocatedSize() > kTotalAllocatedSizeThreshold;
}
-uint64_t DynamicUploader::GetTotalAllocatedSize() {
+uint64_t DynamicUploader::GetTotalAllocatedSize() const {
uint64_t size = 0;
for (const auto& buffer : mReleasedStagingBuffers.IterateAll()) {
size += buffer->GetSize();
diff --git a/src/dawn/native/DynamicUploader.h b/src/dawn/native/DynamicUploader.h
index c3adbe3..ac73941 100644
--- a/src/dawn/native/DynamicUploader.h
+++ b/src/dawn/native/DynamicUploader.h
@@ -66,11 +66,11 @@
uint64_t offsetAlignment);
void Deallocate(ExecutionSerial lastCompletedSerial, bool freeAll = false);
- bool ShouldFlush();
+ bool ShouldFlush() const;
private:
static constexpr uint64_t kRingBufferSize = 4 * 1024 * 1024;
- uint64_t GetTotalAllocatedSize();
+ uint64_t GetTotalAllocatedSize() const;
struct RingBuffer {
Ref<BufferBase> mStagingBuffer;