# GPUBindGroupLayoutEntry

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

*** ** * ** ***


```
public final class GPUBindGroupLayoutEntry
```

<br />

*** ** * ** ***

Describes a single binding within a bind group layout.

## Summary

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

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#GPUBindGroupLayoutEntry(kotlin.Int,kotlin.Int,kotlin.Int,androidx.webgpu.GPUBufferBindingLayout,androidx.webgpu.GPUSamplerBindingLayout,androidx.webgpu.GPUTextureBindingLayout,androidx.webgpu.GPUStorageTextureBindingLayout,androidx.webgpu.GPUExternalTextureBindingLayout)( int binding, int visibility, int bindingArraySize, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBufferBindingLayout buffer, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSamplerBindingLayout sampler, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUTextureBindingLayout texture, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUStorageTextureBindingLayout storageTexture, https://developer.android.com/reference/androidx/webgpu/GPUExternalTextureBindingLayout externalTextureBindingLayout )` |

| ### Public methods |
|---|---|
| `final int` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getBinding()()` The binding index. |
| `final int` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getBindingArraySize()()` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBufferBindingLayout` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getBuffer()()` The buffer binding layout. |
| `final https://developer.android.com/reference/androidx/webgpu/GPUExternalTextureBindingLayout` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getExternalTextureBindingLayout()()` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSamplerBindingLayout` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getSampler()()` The sampler binding layout. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUStorageTextureBindingLayout` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getStorageTexture()()` |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUTextureBindingLayout` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getTexture()()` The texture binding layout. |
| `final int` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#getVisibility()()` The shader stages in which the binding is visible. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setBinding(kotlin.Int)(int value)` The binding index. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setBindingArraySize(kotlin.Int)(int value)` |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setBuffer(androidx.webgpu.GPUBufferBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUBufferBindingLayout value)` The buffer binding layout. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setExternalTextureBindingLayout(androidx.webgpu.GPUExternalTextureBindingLayout)(https://developer.android.com/reference/androidx/webgpu/GPUExternalTextureBindingLayout value)` |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setSampler(androidx.webgpu.GPUSamplerBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUSamplerBindingLayout value)` The sampler binding layout. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setStorageTexture(androidx.webgpu.GPUStorageTextureBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUStorageTextureBindingLayout value)` |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setTexture(androidx.webgpu.GPUTextureBindingLayout)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/webgpu/GPUTextureBindingLayout value)` The texture binding layout. |
| `final void` | `https://developer.android.com/reference/androidx/webgpu/GPUBindGroupLayoutEntry#setVisibility(kotlin.Int)(int value)` The shader stages in which the binding is visible. |

## Public constructors

### GPUBindGroupLayoutEntry

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

```
public GPUBindGroupLayoutEntry(
    int binding,
    int visibility,
    int bindingArraySize,
    @NonNull GPUBufferBindingLayout buffer,
    @NonNull GPUSamplerBindingLayout sampler,
    @NonNull GPUTextureBindingLayout texture,
    @NonNull GPUStorageTextureBindingLayout storageTexture,
    GPUExternalTextureBindingLayout externalTextureBindingLayout
)
```

## Public methods

### getBinding

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

```
public final int getBinding()
```

The binding index.

### getBindingArraySize

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

```
public final int getBindingArraySize()
```

### getBuffer

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

```
public final @NonNull GPUBufferBindingLayout getBuffer()
```

The buffer binding layout.

### getExternalTextureBindingLayout

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

```
public final GPUExternalTextureBindingLayout getExternalTextureBindingLayout()
```

### getSampler

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

```
public final @NonNull GPUSamplerBindingLayout getSampler()
```

The sampler binding layout.

### getStorageTexture

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

```
public final @NonNull GPUStorageTextureBindingLayout getStorageTexture()
```

### getTexture

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

```
public final @NonNull GPUTextureBindingLayout getTexture()
```

The texture binding layout.

### getVisibility

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

```
public final int getVisibility()
```

The shader stages in which the binding is visible.

### setBinding

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

```
public final void setBinding(int value)
```

The binding index.

### setBindingArraySize

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

```
public final void setBindingArraySize(int value)
```

### setBuffer

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

```
public final void setBuffer(@NonNull GPUBufferBindingLayout value)
```

The buffer binding layout.

### setExternalTextureBindingLayout

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

```
public final void setExternalTextureBindingLayout(GPUExternalTextureBindingLayout value)
```

### setSampler

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

```
public final void setSampler(@NonNull GPUSamplerBindingLayout value)
```

The sampler binding layout.

### setStorageTexture

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

```
public final void setStorageTexture(@NonNull GPUStorageTextureBindingLayout value)
```

### setTexture

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

```
public final void setTexture(@NonNull GPUTextureBindingLayout value)
```

The texture binding layout.

### setVisibility

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

```
public final void setVisibility(int value)
```

The shader stages in which the binding is visible.