# GPUSurfaceConfiguration.Builder

Artifact: [androidx.webgpu:webgpu](https://developer.android.com/jetpack/androidx/releases/webgpu) [View Source](https://cs.android.com/search?q=file:androidx/webgpu/GPUSurfaceConfiguration.kt+class:androidx.webgpu.GPUSurfaceConfiguration.Builder) Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

*** ** * ** ***


```
public final class GPUSurfaceConfiguration.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#Builder(androidx.webgpu.GPUDevice,kotlin.Int,kotlin.Int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUDevice device, int width, int height)` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#setAlphaMode(kotlin.Int)(int alphaMode)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#setFormat(kotlin.Int)(int format)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#setPresentMode(kotlin.Int)(int presentMode)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#setUsage(kotlin.Int)(int usage)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration.Builder#setViewFormats(kotlin.IntArray)(@https://developer.android.com/reference/androidx/annotation/NonNull int[] viewFormats)` |

## Public constructors

### Builder

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public Builder(@NonNull GPUDevice device, int width, int height)
```

## Public methods

### build

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration build()
```

Builds the `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceConfiguration`.

### setAlphaMode

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration.Builder setAlphaMode(int alphaMode)
```

### setFormat

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration.Builder setFormat(int format)
```

### setPresentMode

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration.Builder setPresentMode(int presentMode)
```

### setUsage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration.Builder setUsage(int usage)
```

### setViewFormats

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
public final @NonNull GPUSurfaceConfiguration.Builder setViewFormats(@NonNull int[] viewFormats)
```