Dawn: submit all command buffers in a single call.
All command buffers are now appended to a single vector, and submitted
submitted in onFinishFlush() in a single submit.
In order to do this, implement a centralized command encoder for copies.
This command encoder is used for buffer-to-buffer, buffer-to-texture and
texture-to-buffer copies.
Change-Id: If1092ae4edbe03c995d4cb80e0dc124516d63dad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235826
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/gpu/dawn/GrDawnOpsRenderPass.cpp b/src/gpu/dawn/GrDawnOpsRenderPass.cpp
index dc17108..d14a88c 100644
--- a/src/gpu/dawn/GrDawnOpsRenderPass.cpp
+++ b/src/gpu/dawn/GrDawnOpsRenderPass.cpp
@@ -98,10 +98,7 @@
}
void GrDawnOpsRenderPass::submit() {
- dawn::CommandBuffer commandBuffer = fEncoder.Finish();
- if (commandBuffer) {
- fGpu->queue().Submit(1, &commandBuffer);
- }
+ fGpu->appendCommandBuffer(fEncoder.Finish());
}
void GrDawnOpsRenderPass::insertEventMarker(const char* msg) {