# GPUSurfaceDescriptor

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

*** ** * ** ***


```
public final class GPUSurfaceDescriptor
```

<br />

*** ** * ** ***

Describes a surface to be created.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor.Builder` Builder for `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#GPUSurfaceDescriptor(kotlin.String,androidx.webgpu.GPUSurfaceColorManagement,androidx.webgpu.GPUSurfaceSourceAndroidNativeWindow)( https://developer.android.com/reference/java/lang/String.html label, https://developer.android.com/reference/androidx/webgpu/GPUSurfaceColorManagement surfaceColorManagement, https://developer.android.com/reference/androidx/webgpu/GPUSurfaceSourceAndroidNativeWindow surfaceSourceAndroidNativeWindow )` |

| ### Public methods |
|---|---|
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#getLabel()()` A human-readable label for debugging. |
| `final https://developer.android.com/reference/androidx/webgpu/GPUSurfaceColorManagement` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#getSurfaceColorManagement()()` Extension for configuring color space and tone mapping for a surface. |
| `final https://developer.android.com/reference/androidx/webgpu/GPUSurfaceSourceAndroidNativeWindow` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#getSurfaceSourceAndroidNativeWindow()()` Extension for creating a surface from an Android ANativeWindow. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#setLabel(kotlin.String)(https://developer.android.com/reference/java/lang/String.html value)` A human-readable label for debugging. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#setSurfaceColorManagement(androidx.webgpu.GPUSurfaceColorManagement)(https://developer.android.com/reference/androidx/webgpu/GPUSurfaceColorManagement value)` Extension for configuring color space and tone mapping for a surface. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUSurfaceDescriptor#setSurfaceSourceAndroidNativeWindow(androidx.webgpu.GPUSurfaceSourceAndroidNativeWindow)( https://developer.android.com/reference/androidx/webgpu/GPUSurfaceSourceAndroidNativeWindow value )` Extension for creating a surface from an Android ANativeWindow. |

## Public constructors

### GPUSurfaceDescriptor

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

```
public GPUSurfaceDescriptor(
    String label,
    GPUSurfaceColorManagement surfaceColorManagement,
    GPUSurfaceSourceAndroidNativeWindow surfaceSourceAndroidNativeWindow
)
```

## Public methods

### getLabel

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

```
public final String getLabel()
```

A human-readable label for debugging.

### getSurfaceColorManagement

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

```
public final GPUSurfaceColorManagement getSurfaceColorManagement()
```

Extension for configuring color space and tone mapping for a surface.

### getSurfaceSourceAndroidNativeWindow

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

```
public final GPUSurfaceSourceAndroidNativeWindow getSurfaceSourceAndroidNativeWindow()
```

Extension for creating a surface from an Android ANativeWindow.

### setLabel

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

```
public final void setLabel(String value)
```

A human-readable label for debugging.

### setSurfaceColorManagement

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

```
public final void setSurfaceColorManagement(GPUSurfaceColorManagement value)
```

Extension for configuring color space and tone mapping for a surface.

### setSurfaceSourceAndroidNativeWindow

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

```
public final void setSurfaceSourceAndroidNativeWindow(
    GPUSurfaceSourceAndroidNativeWindow value
)
```

Extension for creating a surface from an Android ANativeWindow.