Revert "D3D12: Upload data from `mStagingBuffer` with `CopyResource()`"

This reverts commit b355a39819d6ba788308926b58e3b23a365029d1.

Reason for revert: Causing crash in 378567679

Original change's description:
> D3D12: Upload data from `mStagingBuffer` with `CopyResource()`
>
> This patch uses `CopyResource()` in the code that uploads data from
> staging buffer to the destination buffer when handling
> `mappedAtCreation`.
>
> Bug: chromium:42242066
> Test: dawn_end2end_tests
> Change-Id: I60b845507792c682ab2cf33da9ed368f52700143
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213001
> Reviewed-by: Loko Kung <lokokung@google.com>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 378567679
Change-Id: Ia6a086e4f3b954d9060519086b729e0254aeb273
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/214774
Auto-Submit: Loko Kung <lokokung@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/native/d3d12/CommandBufferD3D12.cpp b/src/dawn/native/d3d12/CommandBufferD3D12.cpp
index 2e0f32c..b422f40 100644
--- a/src/dawn/native/d3d12/CommandBufferD3D12.cpp
+++ b/src/dawn/native/d3d12/CommandBufferD3D12.cpp
@@ -104,6 +104,12 @@
            copySize.depthOrArrayLayers == srcSize.depthOrArrayLayers;
 }
 
+bool CanUseCopyResource(CopyBufferToBufferCmd* copy) {
+    return copy->sourceOffset == 0 && copy->destinationOffset == 0 &&
+           copy->size == copy->source->GetSize() && copy->size == copy->destination->GetSize() &&
+           copy->source->GetAllocatedSize() == copy->destination->GetAllocatedSize();
+}
+
 void RecordWriteTimestampCmd(ID3D12GraphicsCommandList* commandList,
                              QuerySetBase* querySet,
                              uint32_t queryIndex) {
@@ -856,8 +862,7 @@
                 srcBuffer->TrackUsageAndTransitionNow(commandContext, wgpu::BufferUsage::CopySrc);
                 dstBuffer->TrackUsageAndTransitionNow(commandContext, wgpu::BufferUsage::CopyDst);
 
-                if (CanCopyBufferToBufferWithCopyResource(srcBuffer, copy->sourceOffset, dstBuffer,
-                                                          copy->destinationOffset, copy->size)) {
+                if (CanUseCopyResource(copy)) {
                     commandList->CopyResource(dstBuffer->GetD3D12Resource(),
                                               srcBuffer->GetD3D12Resource());
                 } else {
diff --git a/src/dawn/native/d3d12/DeviceD3D12.cpp b/src/dawn/native/d3d12/DeviceD3D12.cpp
index 789f6d7..7929842 100644
--- a/src/dawn/native/d3d12/DeviceD3D12.cpp
+++ b/src/dawn/native/d3d12/DeviceD3D12.cpp
@@ -517,15 +517,9 @@
     Buffer* srcBuffer = ToBackend(source);
     dstBuffer->TrackUsageAndTransitionNow(commandContext, wgpu::BufferUsage::CopyDst);
 
-    if (CanCopyBufferToBufferWithCopyResource(srcBuffer, sourceOffset, dstBuffer, destinationOffset,
-                                              size)) {
-        commandContext->GetCommandList()->CopyResource(dstBuffer->GetD3D12Resource(),
-                                                       srcBuffer->GetD3D12Resource());
-    } else {
-        commandContext->GetCommandList()->CopyBufferRegion(
-            dstBuffer->GetD3D12Resource(), destinationOffset, srcBuffer->GetD3D12Resource(),
-            sourceOffset, size);
-    }
+    commandContext->GetCommandList()->CopyBufferRegion(
+        dstBuffer->GetD3D12Resource(), destinationOffset, srcBuffer->GetD3D12Resource(),
+        sourceOffset, size);
 }
 
 MaybeError Device::CopyFromStagingToTextureImpl(const BufferBase* source,
diff --git a/src/dawn/native/d3d12/UtilsD3D12.cpp b/src/dawn/native/d3d12/UtilsD3D12.cpp
index 6b14e58..f2b55c5 100644
--- a/src/dawn/native/d3d12/UtilsD3D12.cpp
+++ b/src/dawn/native/d3d12/UtilsD3D12.cpp
@@ -344,14 +344,4 @@
     object->SetPrivateData(WKPDID_D3DDebugObjectName, objectName.length(), objectName.c_str());
 }
 
-bool CanCopyBufferToBufferWithCopyResource(Buffer* sourceBuffer,
-                                           uint64_t sourceOffset,
-                                           Buffer* destinationBuffer,
-                                           uint64_t destinationOffset,
-                                           uint64_t copySize) {
-    return sourceOffset == 0 && destinationOffset == 0 && sourceBuffer->GetSize() == copySize &&
-           destinationBuffer->GetSize() == copySize &&
-           sourceBuffer->GetAllocatedSize() == destinationBuffer->GetAllocatedSize();
-}
-
 }  // namespace dawn::native::d3d12
diff --git a/src/dawn/native/d3d12/UtilsD3D12.h b/src/dawn/native/d3d12/UtilsD3D12.h
index 10b902a..ec0b7c8 100644
--- a/src/dawn/native/d3d12/UtilsD3D12.h
+++ b/src/dawn/native/d3d12/UtilsD3D12.h
@@ -72,12 +72,6 @@
 
 void SetDebugName(Device* device, ID3D12Object* object, const char* prefix, std::string label = "");
 
-bool CanCopyBufferToBufferWithCopyResource(Buffer* sourceBuffer,
-                                           uint64_t sourceOffset,
-                                           Buffer* destinationBuffer,
-                                           uint64_t destinationOffset,
-                                           uint64_t copySize);
-
 }  // namespace dawn::native::d3d12
 
 #endif  // SRC_DAWN_NATIVE_D3D12_UTILSD3D12_H_