# GPURenderPipelineDescriptor

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

*** ** * ** ***


```
public final class GPURenderPipelineDescriptor
```

<br />

*** ** * ** ***

Describes a render pipeline.

## Summary

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

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#GPURenderPipelineDescriptor(androidx.webgpu.GPUVertexState,kotlin.String,androidx.webgpu.GPUPipelineLayout,androidx.webgpu.GPUPrimitiveState,androidx.webgpu.GPUDepthStencilState,androidx.webgpu.GPUMultisampleState,androidx.webgpu.GPUFragmentState)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUVertexState vertex, https://developer.android.com/reference/java/lang/String.html label, https://developer.android.com/reference/androidx/webgpu/GPUPipelineLayout layout, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUPrimitiveState primitive, https://developer.android.com/reference/androidx/webgpu/GPUDepthStencilState depthStencil, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUMultisampleState multisample, https://developer.android.com/reference/androidx/webgpu/GPUFragmentState fragment )` |

| ### Public methods |
|---|---|
| `final https://developer.android.com/reference/androidx/webgpu/GPUDepthStencilState` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getDepthStencil()()` |
| `final https://developer.android.com/reference/androidx/webgpu/GPUFragmentState` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getFragment()()` The fragment shader stage configuration. |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getLabel()()` A human-readable label for debugging. |
| `final https://developer.android.com/reference/androidx/webgpu/GPUPipelineLayout` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getLayout()()` The pipeline layout. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUMultisampleState` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getMultisample()()` The multisampling state. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUPrimitiveState` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getPrimitive()()` The primitive assembly and rasterization state. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUVertexState` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#getVertex()()` The vertex shader stage configuration. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#setDepthStencil(androidx.webgpu.GPUDepthStencilState)(https://developer.android.com/reference/androidx/webgpu/GPUDepthStencilState value)` |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#setFragment(androidx.webgpu.GPUFragmentState)(https://developer.android.com/reference/androidx/webgpu/GPUFragmentState value)` The fragment shader stage configuration. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#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/GPURenderPipelineDescriptor#setLayout(androidx.webgpu.GPUPipelineLayout)(https://developer.android.com/reference/androidx/webgpu/GPUPipelineLayout value)` The pipeline layout. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#setMultisample(androidx.webgpu.GPUMultisampleState)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUMultisampleState value)` The multisampling state. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#setPrimitive(androidx.webgpu.GPUPrimitiveState)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUPrimitiveState value)` The primitive assembly and rasterization state. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPURenderPipelineDescriptor#setVertex(androidx.webgpu.GPUVertexState)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUVertexState value)` The vertex shader stage configuration. |

## Public constructors

### GPURenderPipelineDescriptor

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

```
public GPURenderPipelineDescriptor(
    @NonNull GPUVertexState vertex,
    String label,
    GPUPipelineLayout layout,
    @NonNull GPUPrimitiveState primitive,
    GPUDepthStencilState depthStencil,
    @NonNull GPUMultisampleState multisample,
    GPUFragmentState fragment
)
```

## Public methods

### getDepthStencil

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

```
public final GPUDepthStencilState getDepthStencil()
```

### getFragment

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

```
public final GPUFragmentState getFragment()
```

The fragment shader stage configuration.

### 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.

### getLayout

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

```
public final GPUPipelineLayout getLayout()
```

The pipeline layout. If {@code null}, a default layout is inferred.

### getMultisample

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

```
public final @NonNull GPUMultisampleState getMultisample()
```

The multisampling state.

### getPrimitive

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

```
public final @NonNull GPUPrimitiveState getPrimitive()
```

The primitive assembly and rasterization state.

### getVertex

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

```
public final @NonNull GPUVertexState getVertex()
```

The vertex shader stage configuration.

### setDepthStencil

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

```
public final void setDepthStencil(GPUDepthStencilState value)
```

### setFragment

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

```
public final void setFragment(GPUFragmentState value)
```

The fragment shader stage configuration.

### 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.

### setLayout

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

```
public final void setLayout(GPUPipelineLayout value)
```

The pipeline layout. If {@code null}, a default layout is inferred.

### setMultisample

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

```
public final void setMultisample(@NonNull GPUMultisampleState value)
```

The multisampling state.

### setPrimitive

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

```
public final void setPrimitive(@NonNull GPUPrimitiveState value)
```

The primitive assembly and rasterization state.

### setVertex

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

```
public final void setVertex(@NonNull GPUVertexState value)
```

The vertex shader stage configuration.