# GPUDeviceDescriptor.Builder

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

*** ** * ** ***


```
class GPUDeviceDescriptor.Builder
```

<br />

*** ** * ** ***

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

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#Builder(java.util.concurrent.Executor,java.util.concurrent.Executor,androidx.webgpu.DeviceLostCallback,androidx.webgpu.UncapturedErrorCallback)( deviceLostCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, uncapturedErrorCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, deviceLostCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/DeviceLostCallback?, uncapturedErrorCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/UncapturedErrorCallback? )` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#build()()` Builds the `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor`. |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` | `@https://developer.android.com/reference/kotlin/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#setDawnTogglesDescriptor(androidx.webgpu.GPUDawnTogglesDescriptor)( dawnTogglesDescriptor: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDawnTogglesDescriptor? )` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#setDefaultQueue(androidx.webgpu.GPUQueueDescriptor)(defaultQueue: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUQueueDescriptor)` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#setLabel(kotlin.String)(label: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#setRequiredFeatures(kotlin.IntArray)(requiredFeatures: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html)` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder#setRequiredLimits(androidx.webgpu.GPULimits)(requiredLimits: https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits?)` |

## Public constructors

### Builder

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

```
Builder(
    deviceLostCallbackExecutor: Executor,
    uncapturedErrorCallbackExecutor: Executor,
    deviceLostCallback: DeviceLostCallback?,
    uncapturedErrorCallback: UncapturedErrorCallback?
)
```

## Public functions

### build

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

```
fun build(): GPUDeviceDescriptor
```

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

### setDawnTogglesDescriptor

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

```
@ExperimentalWebGpuApi
fun setDawnTogglesDescriptor(
    dawnTogglesDescriptor: GPUDawnTogglesDescriptor?
): GPUDeviceDescriptor.Builder
```

### setDefaultQueue

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

```
fun setDefaultQueue(defaultQueue: GPUQueueDescriptor): GPUDeviceDescriptor.Builder
```

### setLabel

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

```
fun setLabel(label: String?): GPUDeviceDescriptor.Builder
```

### setRequiredFeatures

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

```
fun setRequiredFeatures(requiredFeatures: IntArray): GPUDeviceDescriptor.Builder
```

### setRequiredLimits

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

```
fun setRequiredLimits(requiredLimits: GPULimits?): GPUDeviceDescriptor.Builder
```