← Back to context

Comment by CupricTea

1 day ago

>Some stuff that became optional in Vulkan (render passes) are still mandatory on WebGPU

I'd like to call out that a render pass in WebGPU is not like a VkRenderPass. In Vulkan pre-1.3, a VkPipeline and VkFramebuffer are tightly coupled to a VkRenderPass. In WebGPU the pipeline is independent and there is no framebuffer object. Render targets are specified at the start of rendering commands like they are in Vulkan 1.3's dynamic rendering.

>you can't easily transfer from host to a buffer subregion and need staging buffers

For what it's worth, WebGPU has [0] GPUQueue.writeBuffer() and GPUQueue.writeTexture() which do not require an (exposed) staging buffer. They're about as straightforward to use as cudaMemcpy().

[0]: https://developer.mozilla.org/en-US/docs/Web/API/GPUQueue