Dawn: implement staging buffer manager.

Use managed staging buffers for texture uploads, uniforms and buffers.

Change-Id: I063707c160236725d27a1d1bfb197d3096a07b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238120
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/dawn/GrDawnProgramDataManager.h b/src/gpu/dawn/GrDawnProgramDataManager.h
index d74f1ee..b77d5ff 100644
--- a/src/gpu/dawn/GrDawnProgramDataManager.h
+++ b/src/gpu/dawn/GrDawnProgramDataManager.h
@@ -58,7 +58,8 @@
         SK_ABORT("Only supported in NVPR, which is not in Dawn");
     }
 
-    void uploadUniformBuffers(GrDawnRingBuffer::Slice geometryBuffer,
+    void uploadUniformBuffers(GrDawnGpu* gpu,
+                              GrDawnRingBuffer::Slice geometryBuffer,
                               GrDawnRingBuffer::Slice fragmentBuffer) const;
 
     uint32_t geometryUniformSize() const { return fGeometryUniformSize; }