Transient attachments allow render pass operations to stay in tile memory, avoiding VRAM traffic and potentially avoiding VRAM allocation for the textures.
Presence of the transient-attachments feature on an Adapter is a hint indicating that the TransientAttachment usage will be used by the backend. If it‘s not present, the usage is allowed, but it is a no-op. Enabling this feature on a Device doesn’t do anything.
Example Usage:
wgpu::TextureDescriptor desc; desc.format = wgpu::TextureFormat::RGBA8Unorm; desc.size = {1, 1, 1}; desc.usage = wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::TransientAttachment; auto transientTexture = device.CreateTexture(&desc); // Can now create views from the texture to serve as transient attachments, e.g. // as color attachments in a render pipeline.
Textures with the TransientAttachment usage:
RenderAttachment | TransientAttachment.load/store in render passes.