---
title: MTLTextureSwizzle
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtltextureswizzle
---

# MTLTextureSwizzle

A set of options to choose from when creating a texture swizzle pattern.

## Declaration

```swift
enum MTLTextureSwizzle
```

## Topics

### Specifying swizzle channels

- [MTLTextureSwizzle.alpha](metal/mtltextureswizzle/alpha.md)
- [MTLTextureSwizzle.blue](metal/mtltextureswizzle/blue.md)
- [MTLTextureSwizzle.green](metal/mtltextureswizzle/green.md)
- [MTLTextureSwizzle.red](metal/mtltextureswizzle/red.md)
- [MTLTextureSwizzle.one](metal/mtltextureswizzle/one.md)
- [MTLTextureSwizzle.zero](metal/mtltextureswizzle/zero.md)

### Initializers

- [init(rawValue:)](metal/mtltextureswizzle/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Specifying texture attributes

- [textureType](metal/mtltexturedescriptor/texturetype.md)
- [pixelFormat](metal/mtltexturedescriptor/pixelformat.md)
- [width](metal/mtltexturedescriptor/width.md)
- [height](metal/mtltexturedescriptor/height.md)
- [depth](metal/mtltexturedescriptor/depth.md)
- [mipmapLevelCount](metal/mtltexturedescriptor/mipmaplevelcount.md)
- [sampleCount](metal/mtltexturedescriptor/samplecount.md)
- [arrayLength](metal/mtltexturedescriptor/arraylength.md)
- [resourceOptions](metal/mtltexturedescriptor/resourceoptions.md)
- [cpuCacheMode](metal/mtltexturedescriptor/cpucachemode.md)
- [storageMode](metal/mtltexturedescriptor/storagemode.md)
- [hazardTrackingMode](metal/mtltexturedescriptor/hazardtrackingmode.md)
- [allowGPUOptimizedContents](metal/mtltexturedescriptor/allowgpuoptimizedcontents.md)
- [usage](metal/mtltexturedescriptor/usage.md)
- [swizzle](metal/mtltexturedescriptor/swizzle.md)
