# GPUBindGroupLayoutEntry.Builder

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

*** ** * ** ***


```
public final class GPUBindGroupLayoutEntry.Builder
```

<br />

*** ** * ** ***

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

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#Builder(kotlin.Int,kotlin.Int)(int binding, int visibility)` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#build()()` Builds the `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setBindingArraySize(kotlin.Int)(int bindingArraySize)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setBuffer(androidx.webgpu.GPUBufferBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBufferBindingLayout buffer)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setExternalTextureBindingLayout(androidx.webgpu.GPUExternalTextureBindingLayout)( https://developer.android.com/reference/androidx/webgpu/GPUExternalTextureBindingLayout externalTextureBindingLayout )` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setSampler(androidx.webgpu.GPUSamplerBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSamplerBindingLayout sampler)` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setStorageTexture(androidx.webgpu.GPUStorageTextureBindingLayout)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUStorageTextureBindingLayout storageTexture )` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry.Builder#setTexture(androidx.webgpu.GPUTextureBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUTextureBindingLayout texture)` |

## Public constructors

### Builder

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

```
public Builder(int binding, int visibility)
```

## Public methods

### build

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

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

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

### setBindingArraySize

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setBindingArraySize(int bindingArraySize)
```

### setBuffer

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setBuffer(@NonNull GPUBufferBindingLayout buffer)
```

### setExternalTextureBindingLayout

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setExternalTextureBindingLayout(
    GPUExternalTextureBindingLayout externalTextureBindingLayout
)
```

### setSampler

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setSampler(@NonNull GPUSamplerBindingLayout sampler)
```

### setStorageTexture

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setStorageTexture(
    @NonNull GPUStorageTextureBindingLayout storageTexture
)
```

### setTexture

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

```
public final @NonNull GPUBindGroupLayoutEntry.Builder setTexture(@NonNull GPUTextureBindingLayout texture)
```