# GPUDeviceDescriptor

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) Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

*** ** * ** ***


```
class GPUDeviceDescriptor
```

<br />

*** ** * ** ***

Describes a device to be created.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor.Builder` Builder for `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#GPUDeviceDescriptor(java.util.concurrent.Executor,java.util.concurrent.Executor,kotlin.String,kotlin.IntArray,androidx.webgpu.GPULimits,androidx.webgpu.GPUQueueDescriptor,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, label: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, requiredFeatures: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html, requiredLimits: https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits?, defaultQueue: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUQueueDescriptor, deviceLostCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/DeviceLostCallback?, uncapturedErrorCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/UncapturedErrorCallback? )` |
| `@https://developer.android.com/reference/kotlin/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#GPUDeviceDescriptor(java.util.concurrent.Executor,java.util.concurrent.Executor,kotlin.String,kotlin.IntArray,androidx.webgpu.GPULimits,androidx.webgpu.GPUQueueDescriptor,androidx.webgpu.DeviceLostCallback,androidx.webgpu.UncapturedErrorCallback,androidx.webgpu.GPUDawnTogglesDescriptor)( deviceLostCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, uncapturedErrorCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, label: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, requiredFeatures: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html, requiredLimits: https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits?, defaultQueue: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUQueueDescriptor, deviceLostCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/DeviceLostCallback?, uncapturedErrorCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/UncapturedErrorCallback?, dawnTogglesDescriptor: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDawnTogglesDescriptor? )` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#setDeviceLostCallback(java.util.concurrent.Executor,androidx.webgpu.DeviceLostCallback)( deviceLostCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, deviceLostCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/DeviceLostCallback? )` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#setUncapturedErrorCallback(java.util.concurrent.Executor,androidx.webgpu.UncapturedErrorCallback)( uncapturedErrorCallbackExecutor: https://developer.android.com/reference/java/util/concurrent/Executor.html, uncapturedErrorCallback: https://developer.android.com/reference/kotlin/androidx/webgpu/UncapturedErrorCallback? )` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDawnTogglesDescriptor?` | `@https://developer.android.com/reference/kotlin/androidx/webgpu/ExperimentalWebGpuApi https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#dawnTogglesDescriptor()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUQueueDescriptor` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#defaultQueue()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/DeviceLostCallback?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#deviceLostCallback()` |
| `https://developer.android.com/reference/java/util/concurrent/Executor.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#deviceLostCallbackExecutor()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#label()` A human-readable label for debugging. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#requiredFeatures()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#requiredLimits()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/UncapturedErrorCallback?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#uncapturedErrorCallback()` |
| `https://developer.android.com/reference/java/util/concurrent/Executor.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUDeviceDescriptor#uncapturedErrorCallbackExecutor()` |

## Public constructors

### GPUDeviceDescriptor

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

```
GPUDeviceDescriptor(
    deviceLostCallbackExecutor: Executor,
    uncapturedErrorCallbackExecutor: Executor,
    label: String? = null,
    requiredFeatures: IntArray = intArrayOf(),
    requiredLimits: GPULimits? = null,
    defaultQueue: GPUQueueDescriptor = GPUQueueDescriptor(),
    deviceLostCallback: DeviceLostCallback?,
    uncapturedErrorCallback: UncapturedErrorCallback?
)
```

### GPUDeviceDescriptor

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

```
@ExperimentalWebGpuApi
GPUDeviceDescriptor(
    deviceLostCallbackExecutor: Executor,
    uncapturedErrorCallbackExecutor: Executor,
    label: String? = null,
    requiredFeatures: IntArray = intArrayOf(),
    requiredLimits: GPULimits? = null,
    defaultQueue: GPUQueueDescriptor = GPUQueueDescriptor(),
    deviceLostCallback: DeviceLostCallback?,
    uncapturedErrorCallback: UncapturedErrorCallback?,
    dawnTogglesDescriptor: GPUDawnTogglesDescriptor?
)
```

## Public functions

### setDeviceLostCallback

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

```
fun setDeviceLostCallback(
    deviceLostCallbackExecutor: Executor,
    deviceLostCallback: DeviceLostCallback?
): Unit
```

### setUncapturedErrorCallback

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

```
fun setUncapturedErrorCallback(
    uncapturedErrorCallbackExecutor: Executor,
    uncapturedErrorCallback: UncapturedErrorCallback?
): Unit
```

## Public properties

### dawnTogglesDescriptor

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

```
@ExperimentalWebGpuApi
var dawnTogglesDescriptor: GPUDawnTogglesDescriptor?
```

### defaultQueue

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

```
var defaultQueue: GPUQueueDescriptor
```

### deviceLostCallback

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

```
var deviceLostCallback: DeviceLostCallback?
```

### deviceLostCallbackExecutor

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

```
var deviceLostCallbackExecutor: Executor
```

### label

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

```
var label: String?
```

A human-readable label for debugging.

### requiredFeatures

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

```
var requiredFeatures: IntArray
```

Value is one of the following:

- `1`
- `2`
- `3`
- `4`
- `5`
- `6`
- `7`
- `8`
- `9`
- `10`
- `11`
- `12`
- `13`
- `14`
- `15`
- `16`
- `17`
- `18`
- `19`
- `20`
- `21`
- `22`
- `23`
- `327710`
- `327719`
- `327725`
- `327741`

<br />

### requiredLimits

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

```
var requiredLimits: GPULimits?
```

### uncapturedErrorCallback

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

```
var uncapturedErrorCallback: UncapturedErrorCallback?
```

### uncapturedErrorCallbackExecutor

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

```
var uncapturedErrorCallbackExecutor: Executor
```