Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 41da00a

Browse files
[Impeller] cleanup auto usage in host_buffer (#51875)
Remove some autos, make some things const refs, move some shared_ptrs.
1 parent 6926e7c commit 41da00a

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

impeller/core/host_buffer.cc

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,16 @@ std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
9999
DeviceBufferDescriptor desc;
100100
desc.size = length;
101101
desc.storage_mode = StorageMode::kHostVisible;
102-
auto device_buffer = allocator_->CreateBuffer(desc);
102+
std::shared_ptr<DeviceBuffer> device_buffer =
103+
allocator_->CreateBuffer(desc);
103104
if (!device_buffer) {
104105
return {};
105106
}
106107
if (cb) {
107108
cb(device_buffer->OnGetContents());
108109
device_buffer->Flush(Range{0, length});
109110
}
110-
return std::make_tuple(Range{0, length}, device_buffer);
111+
return std::make_tuple(Range{0, length}, std::move(device_buffer));
111112
}
112113

113114
size_t padding = 0;
@@ -120,14 +121,14 @@ std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
120121
offset_ += padding;
121122
}
122123

123-
auto current_buffer = GetCurrentBuffer();
124+
const std::shared_ptr<DeviceBuffer>& current_buffer = GetCurrentBuffer();
124125
auto contents = current_buffer->OnGetContents();
125126
cb(contents + offset_);
126127
Range output_range(offset_, length);
127128
current_buffer->Flush(output_range);
128129

129130
offset_ += length;
130-
return std::make_tuple(output_range, std::move(current_buffer));
131+
return std::make_tuple(output_range, current_buffer);
131132
}
132133

133134
std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
@@ -139,7 +140,8 @@ std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
139140
DeviceBufferDescriptor desc;
140141
desc.size = length;
141142
desc.storage_mode = StorageMode::kHostVisible;
142-
auto device_buffer = allocator_->CreateBuffer(desc);
143+
std::shared_ptr<DeviceBuffer> device_buffer =
144+
allocator_->CreateBuffer(desc);
143145
if (!device_buffer) {
144146
return {};
145147
}
@@ -149,7 +151,7 @@ std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
149151
return {};
150152
}
151153
}
152-
return std::make_tuple(Range{0, length}, device_buffer);
154+
return std::make_tuple(Range{0, length}, std::move(device_buffer));
153155
}
154156

155157
auto old_length = GetLength();
@@ -158,14 +160,14 @@ std::tuple<Range, std::shared_ptr<DeviceBuffer>> HostBuffer::EmplaceInternal(
158160
}
159161
old_length = GetLength();
160162

161-
auto current_buffer = GetCurrentBuffer();
163+
const std::shared_ptr<DeviceBuffer>& current_buffer = GetCurrentBuffer();
162164
auto contents = current_buffer->OnGetContents();
163165
if (buffer) {
164166
::memmove(contents + old_length, buffer, length);
165167
current_buffer->Flush(Range{old_length, length});
166168
}
167169
offset_ += length;
168-
return std::make_tuple(Range{old_length, length}, std::move(current_buffer));
170+
return std::make_tuple(Range{old_length, length}, current_buffer);
169171
}
170172

171173
std::tuple<Range, std::shared_ptr<DeviceBuffer>>
@@ -186,6 +188,10 @@ HostBuffer::EmplaceInternal(const void* buffer, size_t length, size_t align) {
186188
return EmplaceInternal(buffer, length);
187189
}
188190

191+
const std::shared_ptr<DeviceBuffer>& HostBuffer::GetCurrentBuffer() const {
192+
return device_buffers_[frame_index_][current_buffer_];
193+
}
194+
189195
void HostBuffer::Reset() {
190196
// When resetting the host buffer state at the end of the frame, check if
191197
// there are any unused buffers and remove them.

impeller/core/host_buffer.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ class HostBuffer {
147147

148148
void MaybeCreateNewBuffer();
149149

150-
std::shared_ptr<DeviceBuffer>& GetCurrentBuffer() {
151-
return device_buffers_[frame_index_][current_buffer_];
152-
}
150+
const std::shared_ptr<DeviceBuffer>& GetCurrentBuffer() const;
153151

154152
[[nodiscard]] BufferView Emplace(const void* buffer, size_t length);
155153

0 commit comments

Comments
 (0)