#10148·wgpu

RenderPipeline input attachments

Author: Oliver-makes-codeCreated Aug 22, 2026Updated Sep 18, 2026

Is your feature request related to a problem? Please describe. Input attachments are ways the shader can read from data written to in previous subpasses, which can utilize TextureUses::TRANSIENT to fully get rid of reads and writes to main memory on tile based GPUs.

Describe the solution you'd like When declaring a RenderPipeline, there would be a list of input_targets, that act as the input attachments for that stage. When starting a RenderPass, it would describe attachments like normal.

On Metal, nothing really would need to be changed, since it allows attachments to be both input and output. On Vulkan, when creating the render pass in DeviceShared::make_render_pass, it would need to declare the input attachments when creating the vk::SubpassDescription. DirectX12 and glES don't have this as a concept, so they'd need to emulate the feature, if supported at all

Additional context Naga support isn't implemented, #5233 The final API might end up being different than Vulkan's, my suggestion for it was based off of the observation that Vulkan's API for the underlying feature is stricter.