mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-13 15:16:16 +00:00
WebGPU error handling 2: CommandEncoder for samples and end2end tests
CommandEncoder is the replacement for CommandBufferBuilder. This commit adds the dawn.json definition for it and an initial implementation that wraps CommandBufferBuilder. This is done so that the code can be ported to CommandEncoder gradually, otherwise the commit would be too big and would risk many merge conflicts. This converts all samples and end2end tests to use CommandEncoder. BUG=dawn:8 Change-Id: If4ce86e6fb39ba4e0c2af6328d40e63be17d18c1 Reviewed-on: https://dawn-review.googlesource.com/c/4741 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
7be2a71f2b
commit
e1f0d4e639
@@ -280,10 +280,10 @@ void initSim() {
|
||||
dawn::CommandBuffer createCommandBuffer(const dawn::RenderPassDescriptor& renderPass, size_t i) {
|
||||
static const uint32_t zeroOffsets[1] = {0};
|
||||
auto& bufferDst = particleBuffers[(i + 1) % 2];
|
||||
dawn::CommandBufferBuilder builder = device.CreateCommandBufferBuilder();
|
||||
dawn::CommandEncoder encoder = device.CreateCommandEncoder();
|
||||
|
||||
{
|
||||
dawn::ComputePassEncoder pass = builder.BeginComputePass();
|
||||
dawn::ComputePassEncoder pass = encoder.BeginComputePass();
|
||||
pass.SetPipeline(updatePipeline);
|
||||
pass.SetBindGroup(0, updateBGs[i]);
|
||||
pass.Dispatch(kNumParticles, 1, 1);
|
||||
@@ -291,7 +291,7 @@ dawn::CommandBuffer createCommandBuffer(const dawn::RenderPassDescriptor& render
|
||||
}
|
||||
|
||||
{
|
||||
dawn::RenderPassEncoder pass = builder.BeginRenderPass(renderPass);
|
||||
dawn::RenderPassEncoder pass = encoder.BeginRenderPass(renderPass);
|
||||
pass.SetPipeline(renderPipeline);
|
||||
pass.SetVertexBuffers(0, 1, &bufferDst, zeroOffsets);
|
||||
pass.SetVertexBuffers(1, 1, &modelBuffer, zeroOffsets);
|
||||
@@ -299,7 +299,7 @@ dawn::CommandBuffer createCommandBuffer(const dawn::RenderPassDescriptor& render
|
||||
pass.EndPass();
|
||||
}
|
||||
|
||||
return builder.GetResult();
|
||||
return encoder.Finish();
|
||||
}
|
||||
|
||||
void init() {
|
||||
|
||||
Reference in New Issue
Block a user