Capture: simplify buffer creation in tests.
Bug: 451338754
Change-Id: I6a6a6964d57a9bd7bb34ffe574e50389aa3fa6a4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/270275
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
diff --git a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
index 5f9d9fb..92b9847 100644
--- a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
+++ b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
@@ -95,6 +95,18 @@
std::ostringstream mContentStream;
};
+ wgpu::Buffer CreateBuffer(const char* label,
+ uint64_t size,
+ wgpu::BufferUsage usage,
+ bool mappedAtCreation = false) {
+ wgpu::BufferDescriptor descriptor;
+ descriptor.label = label;
+ descriptor.size = size;
+ descriptor.usage = usage;
+ descriptor.mappedAtCreation = mappedAtCreation;
+ return device.CreateBuffer(&descriptor);
+ }
+
template <typename T>
void ExpectBufferEQ(replay::Replay* replay, const char* label, const T& expected) {
ASSERT_TRUE(sizeof(expected) > 0);
@@ -113,15 +125,8 @@
auto recorder = Recorder::CreateAndStart(device);
- {
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
-
- queue.WriteBuffer(buffer, 0, &myData, sizeof(myData));
- }
+ wgpu::Buffer buffer = CreateBuffer(label, 4, wgpu::BufferUsage::CopyDst);
+ queue.WriteBuffer(buffer, 0, &myData, sizeof(myData));
auto capture = recorder.Finish();
auto replay = capture.Replay(device);
@@ -139,15 +144,8 @@
// --- capture ---
auto recorder = Recorder::CreateAndStart(device);
- {
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
-
- queue.WriteBuffer(buffer, 0, &myData, sizeof(myData));
- }
+ wgpu::Buffer buffer = CreateBuffer(label, 4, wgpu::BufferUsage::CopyDst);
+ queue.WriteBuffer(buffer, 0, &myData, sizeof(myData));
// --- replay ---
auto capture = recorder.Finish();
@@ -164,12 +162,7 @@
const uint8_t myData0[] = {0x11, 0x22, 0x33, 0x44};
const uint8_t myData1[] = {0x55, 0x66, 0x77, 0x88};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
-
+ wgpu::Buffer buffer = CreateBuffer(label, 8, wgpu::BufferUsage::CopyDst);
queue.WriteBuffer(buffer, 0, &myData0, sizeof(myData0));
// --- capture ---
@@ -193,13 +186,7 @@
const uint8_t myData0[] = {0x11, 0x22, 0x33, 0x44};
const uint8_t myData1[] = {0x55, 0x66, 0x77, 0x88};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- descriptor.mappedAtCreation = true;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
-
+ wgpu::Buffer buffer = CreateBuffer(label, 8, wgpu::BufferUsage::CopyDst, true);
std::memcpy(buffer.GetMappedRange(), myData0, sizeof(myData0));
buffer.Unmap();
@@ -222,11 +209,8 @@
TEST_P(CaptureAndReplayTests, StartCaptureAfterBufferCreationComputeShader) {
const char* label = "MyBuffer";
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer(label, 8, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -280,15 +264,9 @@
const char* srcLabel = "SrcBuffer";
const char* dstLabel = "DstBuffer";
- wgpu::BufferDescriptor descriptor;
- descriptor.label = dstLabel;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- wgpu::Buffer dstBuffer = device.CreateBuffer(&descriptor);
-
- descriptor.usage = wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::CopyDst;
- descriptor.label = srcLabel;
- wgpu::Buffer srcBuffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer dstBuffer = CreateBuffer(dstLabel, 8, wgpu::BufferUsage::CopyDst);
+ wgpu::Buffer srcBuffer =
+ CreateBuffer(srcLabel, 8, wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::CopyDst);
const uint8_t myData1[] = {0x11, 0x22, 0x33, 0x44};
queue.WriteBuffer(srcBuffer, 0, &myData1, sizeof(myData1));
@@ -327,12 +305,7 @@
{
auto recorder = Recorder::CreateAndStart(device);
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- buffer = device.CreateBuffer(&descriptor);
-
+ buffer = CreateBuffer(label, 8, wgpu::BufferUsage::CopyDst);
queue.WriteBuffer(buffer, 0, &myData1, sizeof(myData1));
recorder.Finish();
@@ -357,11 +330,8 @@
const char* label = "myBuffer";
const uint8_t myData[] = {0x11, 0x22, 0x33, 0x44};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::MapWrite | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer(label, 4, wgpu::BufferUsage::MapWrite | wgpu::BufferUsage::CopySrc);
auto recorder = Recorder::CreateAndStart(device);
@@ -384,17 +354,12 @@
const uint8_t myData1[] = {0x11, 0x22, 0x33, 0x44};
const uint8_t myData2[] = {0x55, 0x66, 0x77, 0x88};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = dstLabel;
- descriptor.size = 8;
- descriptor.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer dstBuffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer dstBuffer =
+ CreateBuffer(dstLabel, 8, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc);
queue.WriteBuffer(dstBuffer, 0, &myData1, sizeof(myData1));
- descriptor.label = srcLabel;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::MapWrite | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer srcBuffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer srcBuffer =
+ CreateBuffer(srcLabel, 4, wgpu::BufferUsage::MapWrite | wgpu::BufferUsage::CopySrc);
auto recorder = Recorder::CreateAndStart(device);
@@ -421,17 +386,11 @@
TEST_P(CaptureAndReplayTests, CaptureCopyBufferToBuffer) {
const uint8_t myData[] = {0x11, 0x22, 0x33, 0x44};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = "srcBuffer";
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer srcBuffer = device.CreateBuffer(&descriptor);
-
+ wgpu::Buffer srcBuffer =
+ CreateBuffer("srcBuffer", 4, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc);
queue.WriteBuffer(srcBuffer, 0, &myData, sizeof(myData));
- descriptor.label = "dstBuffer";
- descriptor.usage = wgpu::BufferUsage::CopyDst;
- wgpu::Buffer dstBuffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer dstBuffer = CreateBuffer("dstBuffer", 4, wgpu::BufferUsage::CopyDst);
wgpu::CommandBuffer commands;
{
@@ -485,12 +444,8 @@
TEST_P(CaptureAndReplayTests, CaptureCopyBufferToTexture) {
const uint8_t myData[] = {0x11, 0x22, 0x33, 0x44};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = "srcBuffer";
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer srcBuffer = device.CreateBuffer(&descriptor);
-
+ wgpu::Buffer srcBuffer =
+ CreateBuffer("srcBuffer", 4, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc);
queue.WriteBuffer(srcBuffer, 0, &myData, sizeof(myData));
wgpu::TextureDescriptor textureDesc;
@@ -548,11 +503,8 @@
&extent);
}
- wgpu::BufferDescriptor descriptor;
- descriptor.label = "dstBuffer";
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer dstBuffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer dstBuffer =
+ CreateBuffer("dstBuffer", 4, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc);
wgpu::CommandBuffer commands;
{
@@ -857,11 +809,8 @@
TEST_P(CaptureAndReplayTests, CaptureComputeShaderBasic) {
const char* label = "MyBuffer";
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer(label, 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -911,11 +860,8 @@
TEST_P(CaptureAndReplayTests, CaptureComputeShaderBasicSetBindGroupFirst) {
const char* label = "MyBuffer";
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer(label, 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -970,13 +916,10 @@
// being separately associated with one of the 2 BindGroupLayout objects.
// This is a regression test for crbug.com/455605671
TEST_P(CaptureAndReplayTests, CaptureTwoMatchingAutoLayoutComputePipelines) {
- wgpu::BufferDescriptor descriptor;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- descriptor.label = "buffer1";
- wgpu::Buffer buffer1 = device.CreateBuffer(&descriptor);
- descriptor.label = "buffer2";
- wgpu::Buffer buffer2 = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer1 =
+ CreateBuffer("buffer1", 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
+ wgpu::Buffer buffer2 =
+ CreateBuffer("buffer2", 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -1049,11 +992,8 @@
// call was actually serialized it would reference a bindGroupLayout that does not
// exist.
TEST_P(CaptureAndReplayTests, CaptureTwoAutoLayoutComputePipelinesOneIsBoundButUnused) {
- wgpu::BufferDescriptor descriptor;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- descriptor.label = "buffer";
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer("buffer", 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -1240,12 +1180,8 @@
-1, -1, 3, -1, -1, 3,
};
- wgpu::BufferDescriptor descriptor;
- descriptor.label = "vertexBuffer";
- descriptor.size = sizeof(myVertices);
- descriptor.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Vertex;
- wgpu::Buffer vertexBuffer = device.CreateBuffer(&descriptor);
-
+ wgpu::Buffer vertexBuffer = CreateBuffer(
+ "vertexBuffer", sizeof(myVertices), wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Vertex);
queue.WriteBuffer(vertexBuffer, 0, &myVertices, sizeof(myVertices));
wgpu::TextureDescriptor textureDesc;
@@ -1330,12 +1266,8 @@
wgpu::PipelineLayout pipelineLayout = device.CreatePipelineLayout(&plDesc);
const char* label = "MyBuffer";
-
- wgpu::BufferDescriptor descriptor;
- descriptor.label = label;
- descriptor.size = 4;
- descriptor.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer =
+ CreateBuffer(label, 4, wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst);
const char* shader = R"(
@group(0) @binding(0) var<storage, read_write> result : u32;
@@ -1494,12 +1426,9 @@
&extent);
}
- wgpu::BufferDescriptor descriptor;
- descriptor.label = "myBuffer";
- descriptor.size = 4;
- descriptor.usage =
- wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc;
- wgpu::Buffer buffer = device.CreateBuffer(&descriptor);
+ wgpu::Buffer buffer = CreateBuffer(
+ "myBuffer", 4,
+ wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::CopySrc);
const char* shader = R"(
@group(0) @binding(2) var tex: texture_2d<u32>;