# GpuBindBinding

`import { GpuBindBinding } from "destack:gpu/binding";`

Bind binding family.

```ds title="GpuBindBinding"
export interface GpuBindBinding {
    createBindGroupLayout(device: GpuDeviceHandle, entries: &'a readonly [GpuBindGroupLayoutEntry], descriptor: &'b readonly GpuBindGroupLayoutDescriptor): Result<GpuBindGroupLayoutHandle, HostError>;
    destroyBindGroupLayout(layout: GpuBindGroupLayoutHandle): Result<void, HostError>;
    createPipelineLayout(device: GpuDeviceHandle, descriptor: &'a readonly GpuPipelineLayoutDescriptor): Result<GpuPipelineLayoutHandle, HostError>;
    destroyPipelineLayout(layout: GpuPipelineLayoutHandle): Result<void, HostError>;
    createBindGroup(device: GpuDeviceHandle, layout: GpuBindGroupLayoutHandle, entries: &'a readonly [GpuBindGroupEntry], descriptor: &'b readonly GpuBindGroupDescriptor): Result<GpuBindGroupHandle, HostError>;
    destroyBindGroup(bindGroup: GpuBindGroupHandle): Result<void, HostError>;
}
```

[language/library/src/gpu/binding/bind.ds:217:283](https://github.com/destack-sh/destack/blob/main/language/library/src/gpu/binding/bind.ds#L217-L283)

## Members

### `createBindGroupLayout(device: GpuDeviceHandle, entries: &'a readonly [GpuBindGroupLayoutEntry], descriptor: &'b readonly GpuBindGroupLayoutDescriptor): Result<GpuBindGroupLayoutHandle, HostError>`

Create a bind group layout.

### `destroyBindGroupLayout(layout: GpuBindGroupLayoutHandle): Result<void, HostError>`

Destroy a bind group layout.

### `createPipelineLayout(device: GpuDeviceHandle, descriptor: &'a readonly GpuPipelineLayoutDescriptor): Result<GpuPipelineLayoutHandle, HostError>`

Create a pipeline layout.

### `destroyPipelineLayout(layout: GpuPipelineLayoutHandle): Result<void, HostError>`

Destroy a pipeline layout.

### `createBindGroup(device: GpuDeviceHandle, layout: GpuBindGroupLayoutHandle, entries: &'a readonly [GpuBindGroupEntry], descriptor: &'b readonly GpuBindGroupDescriptor): Result<GpuBindGroupHandle, HostError>`

Create a bind group.

### `destroyBindGroup(bindGroup: GpuBindGroupHandle): Result<void, HostError>`

Destroy a bind group.
