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

*** ** * ** ***


```
class GPUBindGroupLayoutEntry
```

<br />

*** ** * ** ***

Describes a single binding within a bind group layout.

## Summary

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

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/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)( binding: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, visibility: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, bindingArraySize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, buffer: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBufferBindingLayout, sampler: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUSamplerBindingLayout, texture: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUTextureBindingLayout, storageTexture: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUStorageTextureBindingLayout, externalTextureBindingLayout: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUExternalTextureBindingLayout? )` |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#binding()` The binding index. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#bindingArraySize()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBufferBindingLayout` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#buffer()` The buffer binding layout. |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUExternalTextureBindingLayout?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#externalTextureBindingLayout()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUSamplerBindingLayout` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#sampler()` The sampler binding layout. |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUStorageTextureBindingLayout` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#storageTexture()` |
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUTextureBindingLayout` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#texture()` The texture binding layout. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUBindGroupLayoutEntry#visibility()` 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)

```
GPUBindGroupLayoutEntry(
    binding: Int,
    visibility: Int,
    bindingArraySize: Int = 0,
    buffer: GPUBufferBindingLayout = GPUBufferBindingLayout(type = BufferBindingType.BindingNotUsed),
    sampler: GPUSamplerBindingLayout = GPUSamplerBindingLayout(type = SamplerBindingType.BindingNotUsed),
    texture: GPUTextureBindingLayout = GPUTextureBindingLayout(
            sampleType = TextureSampleType.BindingNotUsed,
            viewDimension = TextureViewDimension.Undefined,
        ),
    storageTexture: GPUStorageTextureBindingLayout = GPUStorageTextureBindingLayout(
            access = StorageTextureAccess.BindingNotUsed,
            format = TextureFormat.Undefined,
            viewDimension = TextureViewDimension.Undefined,
        ),
    externalTextureBindingLayout: GPUExternalTextureBindingLayout? = null
)
```

## Public properties

### binding

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

```
var binding: Int
```

The binding index.

### bindingArraySize

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

```
var bindingArraySize: Int
```

### buffer

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

```
var buffer: GPUBufferBindingLayout
```

The buffer binding layout.

### externalTextureBindingLayout

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

```
var externalTextureBindingLayout: GPUExternalTextureBindingLayout?
```

### sampler

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

```
var sampler: GPUSamplerBindingLayout
```

The sampler binding layout.

### storageTexture

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

```
var storageTexture: GPUStorageTextureBindingLayout
```

### texture

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

```
var texture: GPUTextureBindingLayout
```

The texture binding layout.

### visibility

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

```
var visibility: Int
```

The shader stages in which the binding is visible.

Value is either `0` or a combination of the following:

- `0`
- `1`
- `2`
- `4`

<br />