mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 13:38:00 +00:00
Introduce Begin/EndComputePass (#70)
This commit is contained in:
@@ -264,11 +264,13 @@ void initCommandBuffers() {
|
||||
auto& bufferSrc = particleBuffers[i];
|
||||
auto& bufferDst = particleBuffers[(i + 1) % 2];
|
||||
commandBuffers[i] = device.CreateCommandBufferBuilder()
|
||||
.SetPipeline(updatePipeline)
|
||||
.TransitionBufferUsage(bufferSrc, nxt::BufferUsageBit::Storage)
|
||||
.TransitionBufferUsage(bufferDst, nxt::BufferUsageBit::Storage)
|
||||
.SetBindGroup(0, updateBGs[i])
|
||||
.Dispatch(kNumParticles, 1, 1)
|
||||
.BeginComputePass()
|
||||
.SetPipeline(updatePipeline)
|
||||
.TransitionBufferUsage(bufferSrc, nxt::BufferUsageBit::Storage)
|
||||
.TransitionBufferUsage(bufferDst, nxt::BufferUsageBit::Storage)
|
||||
.SetBindGroup(0, updateBGs[i])
|
||||
.Dispatch(kNumParticles, 1, 1)
|
||||
.EndComputePass()
|
||||
|
||||
.BeginRenderPass(renderpass, framebuffer)
|
||||
.BeginRenderSubpass()
|
||||
|
||||
@@ -126,10 +126,12 @@ void init() {
|
||||
|
||||
void frame() {
|
||||
nxt::CommandBuffer commands = device.CreateCommandBufferBuilder()
|
||||
.SetPipeline(computePipeline)
|
||||
.TransitionBufferUsage(buffer, nxt::BufferUsageBit::Storage)
|
||||
.SetBindGroup(0, computeBindGroup)
|
||||
.Dispatch(1, 1, 1)
|
||||
.BeginComputePass()
|
||||
.SetPipeline(computePipeline)
|
||||
.TransitionBufferUsage(buffer, nxt::BufferUsageBit::Storage)
|
||||
.SetBindGroup(0, computeBindGroup)
|
||||
.Dispatch(1, 1, 1)
|
||||
.EndComputePass()
|
||||
|
||||
.BeginRenderPass(renderpass, framebuffer)
|
||||
.BeginRenderSubpass()
|
||||
|
||||
Reference in New Issue
Block a user