Surface Capabilities

The surface-capabilities feature allows querying a surface's capabilities and creating a swap chain with additional usage flags.

Additional functionality:

  • Adds wgpu::Device::GetSupportedSurfaceUsage(wgpu::Surface) method for querying the surface's supported usage flags. One or the combination of these flags can be used to create a swap chain.

Example Usage:

wgpu::TextureUsage supportedUsage = device.GetSupportedSurfaceUsage(surface);

wgpu::SwapChainDescriptor desc = {};
// set usage flags.
desc.usage = supportedUsage;

device.CreateSwapChain(surface, &desc);


  • If this feature is not enabled, only wgpu::TextureUsage::RenderAttachment flag is allowed to be used in wgpu::SwapChainDescriptor::usage.