Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions onnxruntime/core/providers/webgpu/buffer_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -256,10 +256,10 @@ void BufferManager::Upload(void* src, WGPUBuffer dst, size_t size) {
memcpy(mapped_data, src, size);
staging_buffer.Unmap();

auto& command_encoder = context_.GetCommandEncoder();
context_.EndComputePass();
auto command_encoder = context_.Device().CreateCommandEncoder();
command_encoder.CopyBufferToBuffer(staging_buffer, 0, dst, 0, buffer_size);
pending_staging_buffers_.push_back(staging_buffer);
auto command_buffer = command_encoder.Finish();
context_.Device().GetQueue().Submit(1, &command_buffer);
}

void BufferManager::MemCpy(WGPUBuffer src, WGPUBuffer dst, size_t size) {
Expand Down Expand Up @@ -325,7 +325,6 @@ void BufferManager::Download(WGPUBuffer src, void* dst, size_t size) {
}

void BufferManager::RefreshPendingBuffers() {
pending_staging_buffers_.clear();
storage_cache_->OnRefresh();
uniform_cache_->OnRefresh();
query_resolve_cache_->OnRefresh();
Expand Down
2 changes: 0 additions & 2 deletions onnxruntime/core/providers/webgpu/buffer_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ class BufferManager {
std::unique_ptr<IBufferCacheManager> uniform_cache_;
std::unique_ptr<IBufferCacheManager> query_resolve_cache_;
std::unique_ptr<IBufferCacheManager> default_cache_;

std::vector<wgpu::Buffer> pending_staging_buffers_;
};

class BufferManagerFactory {
Expand Down
Loading