Change setVertexBuffers to setVertexBuffer

Following WebGPU spec change at
https://github.com/gpuweb/gpuweb/pull/468, this CL changes all
occurrences of setVertexBuffers to setVertexBuffer.

Bug: dawn:22
Change-Id: I48b551a89dc0934dfa61e661e9546a2b7eafd2fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/12020
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
François Beaufort
2019-10-10 07:29:58 +00:00
committed by Commit Bot service account
parent e16a901fb8
commit 91b2142ee4
28 changed files with 137 additions and 234 deletions

View File

@@ -191,12 +191,11 @@ TEST_F(CommandBufferValidationTest, BufferWithMultipleReadUsage) {
dawn::Buffer buffer = device.CreateBuffer(&bufferDescriptor);
// Use the buffer as both index and vertex in the same pass
uint64_t zero = 0;
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
DummyRenderPass dummyRenderPass(device);
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&dummyRenderPass);
pass.SetIndexBuffer(buffer, 0);
pass.SetVertexBuffers(0, 1, &buffer, &zero);
pass.SetVertexBuffer(0, buffer);
pass.EndPass();
encoder.Finish();
}

View File

@@ -111,7 +111,6 @@ namespace {
dawn::RenderPipeline pipeline;
dawn::Buffer vertexBuffer;
dawn::Buffer vertexStorageBuffer;
const uint64_t zeroOffset = 0;
dawn::BindGroup bg0;
dawn::BindGroup bg1;
dawn::BindGroup bg1Vertex;
@@ -160,7 +159,7 @@ TEST_F(RenderBundleValidationTest, SimpleSuccess) {
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
dawn::RenderBundle renderBundle = renderBundleEncoder.Finish();
@@ -248,7 +247,7 @@ TEST_F(RenderBundleValidationTest, StateInheritance) {
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
ASSERT_DEVICE_ERROR(dawn::RenderBundle renderBundle = renderBundleEncoder.Finish());
@@ -267,7 +266,7 @@ TEST_F(RenderBundleValidationTest, StateInheritance) {
pass.SetBindGroup(1, bg1);
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
ASSERT_DEVICE_ERROR(dawn::RenderBundle renderBundle = renderBundleEncoder.Finish());
@@ -286,7 +285,7 @@ TEST_F(RenderBundleValidationTest, StateInheritance) {
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
ASSERT_DEVICE_ERROR(dawn::RenderBundle renderBundle = renderBundleEncoder.Finish());
@@ -301,7 +300,7 @@ TEST_F(RenderBundleValidationTest, StateInheritance) {
dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
dawn::RenderBundleEncoder renderBundleEncoder = device.CreateRenderBundleEncoder(&desc);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
@@ -335,7 +334,7 @@ TEST_F(RenderBundleValidationTest, StatePersistence) {
pass.ExecuteBundles(1, &renderBundle);
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -354,7 +353,7 @@ TEST_F(RenderBundleValidationTest, StatePersistence) {
pass.ExecuteBundles(1, &renderBundle);
pass.SetPipeline(pipeline);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -373,7 +372,7 @@ TEST_F(RenderBundleValidationTest, StatePersistence) {
dawn::RenderBundle renderBundle = renderBundleEncoder.Finish();
pass.ExecuteBundles(1, &renderBundle);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -386,7 +385,7 @@ TEST_F(RenderBundleValidationTest, StatePersistence) {
dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
dawn::RenderBundleEncoder renderBundleEncoder = device.CreateRenderBundleEncoder(&desc);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
dawn::RenderBundle renderBundle = renderBundleEncoder.Finish();
pass.ExecuteBundles(1, &renderBundle);
@@ -420,7 +419,7 @@ TEST_F(RenderBundleValidationTest, ClearsState) {
pass.ExecuteBundles(1, &renderBundle);
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -436,7 +435,7 @@ TEST_F(RenderBundleValidationTest, ClearsState) {
pass.SetBindGroup(1, bg1);
pass.ExecuteBundles(1, &renderBundle);
pass.SetPipeline(pipeline);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -452,7 +451,7 @@ TEST_F(RenderBundleValidationTest, ClearsState) {
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
pass.ExecuteBundles(1, &renderBundle);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();
@@ -464,7 +463,7 @@ TEST_F(RenderBundleValidationTest, ClearsState) {
dawn::CommandEncoder commandEncoder = device.CreateCommandEncoder();
dawn::RenderPassEncoder pass = commandEncoder.BeginRenderPass(&renderPass);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.ExecuteBundles(1, &renderBundle);
pass.SetPipeline(pipeline);
pass.SetBindGroup(0, bg0);
@@ -483,7 +482,7 @@ TEST_F(RenderBundleValidationTest, ClearsState) {
pass.SetPipeline(pipeline);
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.ExecuteBundles(0, nullptr);
pass.Draw(3, 0, 0, 0);
@@ -506,7 +505,7 @@ TEST_F(RenderBundleValidationTest, MultipleBundles) {
renderBundleEncoder0.SetPipeline(pipeline);
renderBundleEncoder0.SetBindGroup(0, bg0);
renderBundleEncoder0.SetBindGroup(1, bg1);
renderBundleEncoder0.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder0.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder0.Draw(3, 1, 0, 0);
renderBundles[0] = renderBundleEncoder0.Finish();
@@ -514,7 +513,7 @@ TEST_F(RenderBundleValidationTest, MultipleBundles) {
renderBundleEncoder1.SetPipeline(pipeline);
renderBundleEncoder1.SetBindGroup(0, bg0);
renderBundleEncoder1.SetBindGroup(1, bg1);
renderBundleEncoder1.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder1.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder1.Draw(3, 1, 0, 0);
renderBundles[1] = renderBundleEncoder1.Finish();
@@ -537,7 +536,7 @@ TEST_F(RenderBundleValidationTest, ExecuteMultipleTimes) {
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 1, 0, 0);
dawn::RenderBundle renderBundle = renderBundleEncoder.Finish();
@@ -617,7 +616,7 @@ TEST_F(RenderBundleValidationTest, UsageTracking) {
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1Vertex);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
renderBundle0 = renderBundleEncoder.Finish();
}
@@ -628,7 +627,7 @@ TEST_F(RenderBundleValidationTest, UsageTracking) {
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexStorageBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexStorageBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
renderBundle1 = renderBundleEncoder.Finish();
}
@@ -640,7 +639,7 @@ TEST_F(RenderBundleValidationTest, UsageTracking) {
renderBundleEncoder.SetPipeline(pipeline);
renderBundleEncoder.SetBindGroup(0, bg0);
renderBundleEncoder.SetBindGroup(1, bg1Vertex);
renderBundleEncoder.SetVertexBuffers(0, 1, &vertexStorageBuffer, &zeroOffset);
renderBundleEncoder.SetVertexBuffer(0, vertexStorageBuffer);
renderBundleEncoder.Draw(3, 0, 0, 0);
ASSERT_DEVICE_ERROR(renderBundleEncoder.Finish());
}
@@ -668,7 +667,7 @@ TEST_F(RenderBundleValidationTest, UsageTracking) {
pass.SetPipeline(pipeline);
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1Vertex);
pass.SetVertexBuffers(0, 1, &vertexBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexBuffer);
pass.Draw(3, 0, 0, 0);
pass.ExecuteBundles(1, &renderBundle1);
@@ -688,7 +687,7 @@ TEST_F(RenderBundleValidationTest, UsageTracking) {
pass.SetPipeline(pipeline);
pass.SetBindGroup(0, bg0);
pass.SetBindGroup(1, bg1);
pass.SetVertexBuffers(0, 1, &vertexStorageBuffer, &zeroOffset);
pass.SetVertexBuffer(0, vertexStorageBuffer);
pass.Draw(3, 0, 0, 0);
pass.EndPass();

View File

@@ -32,17 +32,12 @@ class VertexBufferValidationTest : public ValidationTest {
})");
}
template <unsigned int N>
std::array<dawn::Buffer, N> MakeVertexBuffers() {
std::array<dawn::Buffer, N> buffers;
for (auto& buffer : buffers) {
dawn::BufferDescriptor descriptor;
descriptor.size = 256;
descriptor.usage = dawn::BufferUsage::Vertex;
dawn::Buffer MakeVertexBuffer() {
dawn::BufferDescriptor descriptor;
descriptor.size = 256;
descriptor.usage = dawn::BufferUsage::Vertex;
buffer = device.CreateBuffer(&descriptor);
}
return buffers;
return device.CreateBuffer(&descriptor);
}
dawn::ShaderModule MakeVertexShader(unsigned int bufferCount) {
@@ -97,8 +92,8 @@ TEST_F(VertexBufferValidationTest, VertexBuffersInheritedBetweenPipelines) {
auto pipeline2 = MakeRenderPipeline(vsModule2, 2);
auto pipeline1 = MakeRenderPipeline(vsModule1, 1);
auto vertexBuffers = MakeVertexBuffers<2>();
uint64_t offsets[] = { 0, 0 };
auto vertexBuffer1 = MakeVertexBuffer();
auto vertexBuffer2 = MakeVertexBuffer();
// Check failure when vertex buffer is not set
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
@@ -115,7 +110,8 @@ TEST_F(VertexBufferValidationTest, VertexBuffersInheritedBetweenPipelines) {
{
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
pass.SetPipeline(pipeline2);
pass.SetVertexBuffers(0, 2, vertexBuffers.data(), offsets);
pass.SetVertexBuffer(0, vertexBuffer1);
pass.SetVertexBuffer(1, vertexBuffer2);
pass.Draw(3, 1, 0, 0);
pass.SetPipeline(pipeline1);
pass.Draw(3, 1, 0, 0);
@@ -132,22 +128,23 @@ TEST_F(VertexBufferValidationTest, VertexBuffersNotInheritedBetweenRendePasses)
auto pipeline2 = MakeRenderPipeline(vsModule2, 2);
auto pipeline1 = MakeRenderPipeline(vsModule1, 1);
auto vertexBuffers = MakeVertexBuffers<2>();
uint64_t offsets[] = { 0, 0 };
auto vertexBuffer1 = MakeVertexBuffer();
auto vertexBuffer2 = MakeVertexBuffer();
// Check success when vertex buffer is set for each render pass
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
{
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
pass.SetPipeline(pipeline2);
pass.SetVertexBuffers(0, 2, vertexBuffers.data(), offsets);
pass.SetVertexBuffer(0, vertexBuffer1);
pass.SetVertexBuffer(1, vertexBuffer2);
pass.Draw(3, 1, 0, 0);
pass.EndPass();
}
{
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
pass.SetPipeline(pipeline1);
pass.SetVertexBuffers(0, 1, vertexBuffers.data(), offsets);
pass.SetVertexBuffer(0, vertexBuffer1);
pass.Draw(3, 1, 0, 0);
pass.EndPass();
}
@@ -158,7 +155,8 @@ TEST_F(VertexBufferValidationTest, VertexBuffersNotInheritedBetweenRendePasses)
{
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(&renderPass);
pass.SetPipeline(pipeline2);
pass.SetVertexBuffers(0, 2, vertexBuffers.data(), offsets);
pass.SetVertexBuffer(0, vertexBuffer1);
pass.SetVertexBuffer(1, vertexBuffer2);
pass.Draw(3, 1, 0, 0);
pass.EndPass();
}