# GpuExternalTextureDescriptor

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

External texture descriptor.

```ds title="GpuExternalTextureDescriptor"
export struct GpuExternalTextureDescriptor {
    label: string;
    width: uint32;
    height: uint32;
    format: GpuExternalTextureFormat;
    yuvConversionMatrix: [float32; 16];
    gamutConversionMatrix: [float32; 9];
    sourceTransferFunction: GpuExternalTextureTransferFunction;
    destinationTransferFunction: GpuExternalTextureTransferFunction;
    sampleTransform: [float32; 6];
    loadTransform: [float32; 6];
}
```

[language/library/src/gpu/binding/resource.ds:675:696](https://github.com/destack-sh/destack/blob/main/language/library/src/gpu/binding/resource.ds#L675-L696)

## Members

### `label: string`

Debug label.

### `width: uint32`

External-texture width visible to shaders.

### `height: uint32`

External-texture height visible to shaders.

### `format: GpuExternalTextureFormat`

External-texture format selector.

### `yuvConversionMatrix: [float32; 16]`

YUV-to-RGBA conversion matrix in column-major order.

### `gamutConversionMatrix: [float32; 9]`

Gamut-conversion matrix in column-major order.

### `sourceTransferFunction: GpuExternalTextureTransferFunction`

Source transfer-function parameters.

### `destinationTransferFunction: GpuExternalTextureTransferFunction`

Destination transfer-function parameters.

### `sampleTransform: [float32; 6]`

Sample-coordinate transform in column-major order.

### `loadTransform: [float32; 6]`

Load-coordinate transform in column-major order.
