# GpuSurfaceCapabilities

`import { GpuSurfaceCapabilities } from "destack:gpu/binding";`

Present surface capabilities.

```ds title="GpuSurfaceCapabilities"
export struct GpuSurfaceCapabilities {
    usages: GpuTextureUsage;
    formats: [GpuTextureFormat];
    presentModes: [GpuPresentMode];
    alphaModes: [GpuCompositeAlphaMode];
    colorSpaces: [DisplayColorSpace];
    hdrModes: [DisplayHdrMode];
    timing: GpuSurfaceTimingFlags;
    minFrameLatency: uint32;
    maxFrameLatency: uint32;
}
```

[language/library/src/gpu/binding/present.ds:66:85](https://github.com/destack-sh/destack/blob/main/language/library/src/gpu/binding/present.ds#L66-L85)

## Members

### `usages: GpuTextureUsage`

Supported texture usages.

### `formats: [GpuTextureFormat]`

Supported texture formats.

### `presentModes: [GpuPresentMode]`

Supported present modes.

### `alphaModes: [GpuCompositeAlphaMode]`

Supported composite alpha modes.

### `colorSpaces: [DisplayColorSpace]`

Supported output color spaces.

### `hdrModes: [DisplayHdrMode]`

Supported output HDR modes.

### `timing: GpuSurfaceTimingFlags`

Supported presentation timing flags.

### `minFrameLatency: uint32`

Minimum frame latency in refresh intervals.

### `maxFrameLatency: uint32`

Maximum frame latency in refresh intervals.
